/* epub-reader.css - Visualizzatore epub integrato (Strumenti): stessi tre
   temi grafici di Flashcard (Minimale/Moderno, Dark/Tech, Academy/Papiro,
   vedi flashcard.css) per coerenza visiva fra i "lettori" dell'app, più
   zoom del carattere. Nessuna libreria esterna: il testo viene già dal
   parser server-side (epub_reader_helpers.php).

   NON è più un vendoring verbatim di epub_viewer.css di CiaoSchoolPackage
   (08/08/2026) — la paginazione a colonne CSS della fonte produceva un
   bug reale e riproducibile (contenuto della "pagina" successiva visibile
   accanto a quella corrente, testo tagliato al bordo, mai risolto
   nonostante break-inside/break-before/contain:paint) — sostituita con
   scorrimento verticale continuo, vedi epub-reader.js. Vedi CLAUDE.md
   ("Lettore Epub") per i dettagli completi dell'indagine. */

.epub-reader {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: calc(100vh - var(--topbar-height, 0px) - 2rem);
    border-radius: 1rem;
    background: #ffffff;
}

/* Il display:flex sopra annullerebbe l'attributo hidden: il lettore resta nascosto finché non si carica un file. */
.epub-reader[hidden] {
    display: none;
}

.epub-toolbar {
    position: sticky;
    top: 0;
    z-index: 2;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    background: inherit;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
/* "A comparsa": un tocco/click al centro della pagina (vedi epub_viewer.js,
   terzo centrale del viewport) alterna questa classe invece di lasciare la
   barra sempre fissa in cima — richiesto esplicitamente per non coprire
   permanentemente spazio di lettura. */
.epub-toolbar.is-hidden {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
}

.epub-toolbar-group {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.epub-icon-btn {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: rgba(0, 0, 0, 0.03);
    color: inherit;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.epub-icon-btn:hover { filter: brightness(0.96); }

.epub-theme-btn {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
}
.epub-theme-btn-minimal { background: #ffffff; border: 2px solid #e2e8f0; }
.epub-theme-btn-dark { background: #0a0e1a; border: 2px solid #00e5ff; }
.epub-theme-btn-papyrus { background: #f3ede1; border: 2px solid #b8860b; }
.epub-theme-btn.is-active { box-shadow: 0 0 0 2px var(--teal-600, #1FB5B4); }

.epub-page-viewport {
    position: relative;
    width: 100%;
    max-width: 42rem;
    overflow-y: auto;
    overflow-x: hidden;
    height: calc(100vh - var(--topbar-height, 0px) - 9rem);
    min-height: 20rem;
    -webkit-overflow-scrolling: touch;
}
.epub-reader.epub-is-fullscreen .epub-page-viewport {
    height: calc(100vh - 5.5rem);
}

.epub-content {
    width: 100%;
    max-width: 42rem;
    padding: 2rem 1.5rem 4rem;
    line-height: 1.7;
    box-sizing: border-box;
    /* Scorrimento verticale continuo, non paginazione a colonne — vedi la
       nota in cima al file e in epub_viewer.js sul perché. */
}

.epub-page-indicator {
    text-align: center;
    padding: 0.6rem 0 0.2rem;
    font-size: 0.8rem;
    opacity: 0.6;
}

.epub-content h1, .epub-content h2, .epub-content h3 {
    line-height: 1.3;
}

.epub-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1rem auto;
}

.epub-chapter {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.epub-chapter:last-child {
    border-bottom: none;
}

/* ---- Tema Minimale/Moderno (default) ---- */
.epub-reader[data-theme="minimal"] {
    background: #ffffff;
    color: #1a202c;
    font-family: -apple-system, 'Segoe UI', Arial, sans-serif;
}
/* Il colore qui sopra è ereditato dai figli, ma la pagina ospitante (questo
   CMS) ha una propria regola globale ".block-col p { color: #444 }" (per i
   paragrafi del contenuto pubblico normale) con una specificità CSS più
   alta di una semplice eredità — vince sempre lei, non il tema scelto qui,
   rendendo il testo scarsamente leggibile nel tema Dark (testo quasi nero
   su sfondo quasi nero). Queste 3 regole esplicite (specificità più alta
   della regola del sito) lo correggono per ciascun tema. */
.epub-reader[data-theme="minimal"] .epub-content p { color: #1a202c; }
.epub-reader[data-theme="dark"] .epub-content p { color: #e7fbff; }
.epub-reader[data-theme="papyrus"] .epub-content p { color: #2b2015; }

/* ---- Tema Dark/Tech ---- */
.epub-reader[data-theme="dark"] {
    background: #0a0e1a;
    color: #e7fbff;
    font-family: 'Courier New', Courier, monospace;
}
.epub-reader[data-theme="dark"] .epub-toolbar {
    border-bottom-color: rgba(0, 229, 255, 0.25);
}
.epub-reader[data-theme="dark"] .epub-icon-btn {
    background: rgba(0, 229, 255, 0.12);
    border-color: #00e5ff;
    color: #7fd8ff;
}
.epub-reader[data-theme="dark"] .epub-chapter {
    border-bottom-color: rgba(0, 229, 255, 0.15);
}
/* ---- Tema Academy/Papiro (come .lg-lettura dei libri-gioco) ---- */
.epub-reader[data-theme="papyrus"] {
    background: #f3ede1;
    color: #2b2015;
    font-family: Georgia, 'Times New Roman', serif;
}
.epub-reader[data-theme="papyrus"] .epub-toolbar {
    border-bottom-color: rgba(184, 134, 11, 0.3);
}
.epub-reader[data-theme="papyrus"] .epub-icon-btn {
    background: rgba(184, 134, 11, 0.12);
    border-color: #b8860b;
    color: #6b5a3f;
}
.epub-reader[data-theme="papyrus"] .epub-chapter {
    border-bottom-color: rgba(184, 134, 11, 0.2);
}
.epub-error {
    padding: 3rem 1.5rem;
    text-align: center;
}

@media (max-width: 40rem) {
    .epub-content { padding: 1.5rem 1rem 3rem; }
}

/* Indice: sotto il titolo/autore, allineato a sinistra, chiuso finché non lo si apre (fa parte della barra "a comparsa"). */
.epub-toc {
    flex: 0 0 100%;
    text-align: left;
    position: relative;
}
.epub-toc summary {
    display: inline-block;
    cursor: pointer;
    font-weight: 600;
    padding: 0.2rem 0;
}
.epub-toc ol {
    margin: 0.4rem 0 0;
    padding: 0.4rem 0.5rem 0.4rem 1.6rem;
    max-height: 50vh;
    overflow-y: auto;
    text-align: left;
    background: inherit;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 0.6rem;
}
.epub-toc li { margin: 0.1rem 0; }
.epub-toc li button {
    background: none;
    border: 0;
    padding: 0.15rem 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.epub-toc li button:hover { text-decoration: underline; }
