/*
 * CPOOL MODEL CARDS V10.3.5
 *
 * Uniforma i riquadri:
 * - Modello stile Word
 * - Modello PDF
 */

.cpool-model-entry-grid {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
  gap: 20px !important;
}

.cpool-model-entry-card,
.cpool-model-entry-card.cpool-ui-model-card,
.cpool-model-entry-card.cpool-ui-model-card.is-dynamic,
.cpool-model-entry-card.cpool-ui-model-card.is-pdf {
  display: flex !important;
  height: 100% !important;
  min-height: 220px !important;
  flex-direction: column !important;

  padding: 24px !important;

  border: 1px solid #d9e1ee !important;
  border-radius: 14px !important;

  background: #ffffff !important;
  background-image: none !important;

  box-shadow:
    0 8px 24px
    rgba(20, 33, 61, 0.045) !important;

  transform: none !important;

  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease !important;
}

.cpool-model-entry-card:hover,
.cpool-model-entry-card.cpool-ui-model-card:hover {
  border-color: #bdcaff !important;

  box-shadow:
    0 12px 28px
    rgba(20, 33, 61, 0.075) !important;

  transform: none !important;
}

/*
 * Etichetta superiore.
 */

.cpool-model-entry-card > .text-sm.uppercase {
  min-height: 20px !important;
  margin: 0 !important;

  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
}

/*
 * Titolo.
 */

.cpool-model-entry-card > h2 {
  min-height: 30px !important;
  margin-top: 6px !important;
  margin-bottom: 0 !important;

  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

/*
 * Descrizione.
 */

.cpool-model-entry-card > p {
  flex: 1 1 auto !important;

  min-height: 48px !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;

  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

/*
 * Area azioni comune.
 */

.cpool-model-entry-actions {
  display: flex !important;
  width: 100% !important;
  min-height: 72px !important;

  align-items: flex-end !important;
  justify-content: stretch !important;

  margin-top: auto !important;
  padding-top: 24px !important;
}

/*
 * Annulla la vecchia regola che applicava padding-top
 * direttamente al pulsante.
 */

.cpool-model-entry-card > .btn,
.cpool-model-entry-card > div:last-child {
  padding-top: 0 !important;
}

.cpool-model-entry-actions > a,
.cpool-model-entry-actions > form,
.cpool-model-entry-actions form {
  display: block !important;
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

/*
 * Entrambi i pulsanti hanno la stessa geometria.
 */

.cpool-model-entry-actions .btn,
.cpool-model-entry-actions label.btn,
.cpool-model-entry-actions #templates_upload_button {
  display: flex !important;
  box-sizing: border-box !important;

  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 8px !important;

  margin: 0 !important;
  padding: 0 18px !important;

  border: 1px solid transparent !important;
  border-radius: 12px !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/*
 * Evita spostamenti verticali prodotti dagli span interni
 * del pulsante di caricamento PDF.
 */

.cpool-model-entry-actions #templates_upload_button > span,
.cpool-model-entry-actions #templates_upload_button > span > span,
.cpool-model-entry-actions #templates_upload_button .flex {
  display: flex !important;

  height: 100% !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 8px !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 1 !important;
}

.cpool-model-entry-actions #templates_upload_button svg {
  flex: 0 0 auto !important;

  width: 20px !important;
  height: 20px !important;

  margin: 0 !important;
}

/*
 * Stesso trattamento visivo per le due azioni principali.
 */

.cpool-model-entry-actions-dynamic .btn,
.cpool-model-entry-actions-pdf #templates_upload_button {
  color: #ffffff !important;

  border-color: #5265f6 !important;

  background:
    linear-gradient(
      100deg,
      #3768f5 0%,
      #6b55f6 100%
    ) !important;

  box-shadow:
    0 10px 22px
    rgba(76, 91, 238, 0.18) !important;
}

.cpool-model-entry-actions-dynamic .btn:hover,
.cpool-model-entry-actions-pdf #templates_upload_button:hover {
  color: #ffffff !important;

  border-color: #4659eb !important;

  background:
    linear-gradient(
      100deg,
      #315fe6 0%,
      #604be7 100%
    ) !important;

  box-shadow:
    0 12px 26px
    rgba(76, 91, 238, 0.24) !important;
}

/*
 * Il testo Carica deve essere visibile anche su desktop
 * e non dipendere dalle classi responsive del partial.
 */

.cpool-model-entry-actions-pdf
#templates_upload_button
span.hidden.md\:block {
  display: block !important;
}

/*
 * Smartphone.
 */

@media (max-width: 767px) {
  .cpool-model-entry-grid {
    gap: 16px !important;
  }

  .cpool-model-entry-card,
  .cpool-model-entry-card.cpool-ui-model-card {
    min-height: 0 !important;
    padding: 20px !important;
  }

  .cpool-model-entry-card > p {
    min-height: 0 !important;
  }

  .cpool-model-entry-actions {
    min-height: 68px !important;
    padding-top: 20px !important;
  }

  .cpool-model-entry-actions .btn,
  .cpool-model-entry-actions label.btn,
  .cpool-model-entry-actions #templates_upload_button {
    min-height: 46px !important;
    height: 46px !important;
  }
}
