/* Stili dedicati per CAA Lesson Planner */

@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@400;500;600;700&display=swap');

:root {
  --fitzgerald-person: #FACC15;    /* Giallo: Persone e Pronomi */
  --fitzgerald-verb: #22C55E;      /* Verde: Verbi e Azioni */
  --fitzgerald-noun: #F97316;      /* Arancione: Sostantivi e Oggetti */
  --fitzgerald-adjective: #3B82F6; /* Blu: Aggettivi e Descrittori */
  --fitzgerald-social: #EC4899;    /* Rosa: Sociale, Cortesia, Sì/No */
  --fitzgerald-misc: #94A3B8;      /* Grigio/Bianco: Preposizioni e Altro */
}

body {
  font-family: 'Lexend', system-ui, -apple-system, sans-serif;
}

/* Tessere CAA */
.caa-card {
  transition: all 0.2s ease-in-out;
  border-width: 3px;
  border-style: solid;
  background-color: #ffffff;
}

.caa-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

/* Classi Fitzgerald Key per i bordi */
.border-cat-person { border-color: var(--fitzgerald-person) !important; }
.border-cat-verb { border-color: var(--fitzgerald-verb) !important; }
.border-cat-noun { border-color: var(--fitzgerald-noun) !important; }
.border-cat-adjective { border-color: var(--fitzgerald-adjective) !important; }
.border-cat-social { border-color: var(--fitzgerald-social) !important; }
.border-cat-misc { border-color: var(--fitzgerald-misc) !important; }

/* Modalità senza colori per stampa in bianco e nero */
.monochrome-mode .caa-card {
  border-color: #334155 !important;
}

/* Standard CAA: Testo e parole sempre in Stampatello Maiuscolo ad alta leggibilità */
.caa-word-label, .caa-text {
  text-transform: uppercase !important;
  letter-spacing: 0.04em;
}

/* Etichetta testuale CAA con ridimensionamento automatico dinamico (MAI troncata con '..') */
.caa-word-label {
  width: 100%;
  text-align: center;
  font-weight: 700;
  color: #1e293b;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.2rem;
  max-height: 2.6rem;
  line-height: 1.15;
  padding: 0 2px;
}

/* Classi visibilità per la stampa */
.print-only {
  display: none !important;
}

/* Striscia di lettura CAA continua */
.reading-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: stretch;
  background-color: #F8FAFC;
  padding: 0.75rem;
  border-radius: 0.75rem;
  border: 1px dashed #CBD5E1;
}

/* Configurazione Pagina per Stampa e PDF */
@page {
  size: A4 portrait;
  margin: 1.2cm 1cm 1.2cm 1cm;
}

/* Stili specifici per la Stampa e il Salvataggio in PDF */
@media print {
  body {
    background-color: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Nascondi tutti i controlli non pertinenti alla stampa */
  .no-print,
  nav,
  header,
  footer,
  aside,
  button,
  input,
  textarea,
  select,
  .print-controls,
  #toastNotification,
  .toast,
  [role="alert"],
  #settingsModal,
  #searchModal,
  #projectsModal {
    display: none !important;
  }

  /* Il contenitore stampabile occupa l'intera larghezza della pagina */
  #printableArea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .print-sheet {
    page-break-after: auto !important;
    page-break-inside: auto !important;
    break-after: auto !important;
    break-inside: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
    width: 100% !important;
    min-height: auto !important;
    border: none !important;
    box-shadow: none !important;
  }

  /* Intestazione della lezione / titolo */
  .lesson-header-print {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    break-after: auto !important;
    margin-bottom: 1.5rem !important;
  }

  /* Banner intestazione di fase/sezione: non separare mai dal primo punto successivo */
  .caa-section-header {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0.75rem !important;
  }

  /* PUNTO DELLA STORIA / PASSAGGIO:
     Compatto e proporzionato per foglio A4.
     Non deve MAI essere spezzato a metà tra due pagine.
     Se non entra nello spazio rimasto nella pagina corrente, il motore di stampa
     deve passare interamente all'inizio della pagina successiva, lasciando lo spazio vuoto.
  */
  .caa-step-card {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    break-before: auto !important;
    page-break-before: auto !important;
    margin-bottom: 0.8rem !important;
    padding: 0.6rem 0.8rem !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 0.5rem !important;
    box-shadow: none !important;
    display: block !important;
    overflow: visible !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* La striscia di simboli all'interno del punto: compatta per accogliere 6-7 simboli per riga */
  .reading-strip {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.35rem !important;
    background-color: #f8fafc !important;
    border: 1px dashed #cbd5e1 !important;
    padding: 0.35rem !important;
    border-radius: 0.4rem !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Singola tessera CAA: formato figurina da album (~4.3cm x ~5.5cm) */
  .caa-card {
    width: 4.3cm !important;
    min-width: 4.3cm !important;
    max-width: 4.3cm !important;
    height: 5.5cm !important;
    min-height: 5.5cm !important;
    max-height: 5.5cm !important;
    padding: 0.25cm 0.2cm !important;
    box-shadow: none !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    background-color: #ffffff !important;
    border-width: 2.5px !important;
    border-radius: 0.4cm !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Testo della parola stampata: leggibile formato figurina */
  .caa-card .caa-word-label {
    font-size: 10pt !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    max-height: 1.1cm !important;
    overflow: hidden !important;
    text-align: center !important;
    padding: 0 0.1cm !important;
    margin: 0 !important;
    letter-spacing: 0.02em !important;
  }

  /* Riquadro immagine simbolo: grande come figurina (~3.5cm x 3.5cm) */
  .caa-card .caa-picto-container {
    width: 3.5cm !important;
    height: 3.5cm !important;
    max-width: 3.5cm !important;
    max-height: 3.5cm !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .caa-card img {
    max-width: 3.5cm !important;
    max-height: 3.5cm !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Sezione Morale in stampa: evita salti pagina orfani e mantiene formato compatto */
  #moralSection {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
    padding: 0.6rem 0.8rem !important;
    background-color: #fffbeb !important;
    border: 1.5px solid #fcd34d !important;
    border-radius: 0.5rem !important;
    box-shadow: none !important;
    display: block !important;
  }

  /* Esclusione delle schede deselezionate dalla stampa o dal PDF */
  .card-excluded-print {
    display: none !important;
  }

  /* Rinumerazione sequenziale automatica dei passaggi stampati */
  #cardsContainer {
    counter-reset: print-step-counter;
  }

  .caa-step-card:not(.card-excluded-print) {
    counter-increment: print-step-counter;
  }

  .print-step-badge::before {
    content: counter(print-step-counter);
  }

  .print-only {
    display: inline-block !important;
  }
}
