/*
Theme Name: Trevi Sobrio
Theme URI: https://trevi.holdings
Author: Trevi Holding
Description: Tema istituzionale per la holding di famiglia Trevisani — stile editoriale navy, titoli serif, fotografie d'archivio in primo piano.
Version: 2.3.2
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: trevi-sobrio
*/

/* ======================================================================
   Variabili
   ====================================================================== */
:root{
  --tv-navy:    #0e2a47;   /* testata, bande scure */
  --tv-navy-2:  #0a1f36;   /* footer, overlay */
  --tv-accent:  #0076bd;   /* blu Trevi Group (RGB 0 118 189) */
  --tv-accent-2:#4ea3dc;   /* occhielli su fondo scuro */
  --tv-ink:     #14243a;   /* testo */
  --tv-muted:   #5e6c7c;
  --tv-paper:   #f3f5f8;   /* fondo pagine */
  --tv-white:   #ffffff;
  --tv-line:    #dbe2ea;
  --tv-serif:   "Playfair Display", Georgia, "Times New Roman", serif;
  --tv-sans:    "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
  --tv-maxw:    1180px;
  --tv-readw:   740px;
  /* compatibilità con classi precedenti */
  --tv-dark:    var(--tv-navy);
  --tv-darker:  var(--tv-navy-2);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--tv-paper);color:var(--tv-ink);
  font-family:var(--tv-sans);font-size:18px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--tv-accent);text-decoration:none}
a:hover{text-decoration:underline}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

h1,h2,h3,h4{font-family:var(--tv-serif);color:var(--tv-ink);line-height:1.15;font-weight:700;letter-spacing:.1px}
h1{font-size:2.7rem;margin:.1em 0 .45em}
h2{font-size:1.95rem;margin:1.7em 0 .5em}
h3{font-size:1.3rem;margin:1.4em 0 .4em}

/* Occhiello (kicker) */
.h-kicker{
  font-family:var(--tv-sans);font-size:.74rem;font-weight:700;letter-spacing:2.2px;
  text-transform:uppercase;color:var(--tv-accent);margin:0 0 .55em;
}
.h-kicker--light{color:#cfe3f3}

/* ======================================================================
   Testata
   ====================================================================== */
.tv-header{background:var(--tv-navy);color:#fff;position:relative;z-index:20}
.tv-header-inner{
  max-width:var(--tv-maxw);margin:0 auto;padding:16px 24px;
  display:flex;align-items:center;gap:24px;flex-wrap:nowrap;
}
.tv-nav{min-width:0}
.tv-nav ul{justify-content:flex-end}
.tv-brand{display:flex;flex-direction:column;text-decoration:none;margin-right:auto;line-height:1.1}
.tv-brand:hover{text-decoration:none}
.tv-name{font-family:var(--tv-serif);font-size:1.45rem;font-weight:700;color:#fff;letter-spacing:.6px;text-transform:uppercase}
.tv-tag{font-family:var(--tv-sans);font-size:.66rem;color:var(--tv-accent-2);letter-spacing:2px;text-transform:uppercase;margin-top:4px}
.tv-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 26px;margin:0;padding:0}
.tv-nav a{
  display:inline-block;color:rgba(255,255,255,.82);font-family:var(--tv-sans);font-weight:600;font-size:.74rem;
  text-transform:uppercase;letter-spacing:1.4px;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent;
}
.tv-nav a:hover,.tv-nav .current-menu-item>a,.tv-nav .current-page-ancestor>a,.tv-nav .current_page_parent>a{color:#fff;border-bottom-color:var(--tv-accent-2)}

/* Ricerca (details/summary, senza JavaScript) */
.tv-search{position:relative}
.tv-search summary{list-style:none;cursor:pointer;color:#fff;display:flex;align-items:center;padding:6px}
.tv-search summary::-webkit-details-marker{display:none}
.tv-search form{
  position:absolute;right:0;top:calc(100% + 12px);display:flex;gap:6px;background:#fff;
  padding:10px;box-shadow:0 12px 30px rgba(0,0,0,.25);border-radius:3px;width:320px;
}
.tv-search input{flex:1;border:1px solid var(--tv-line);padding:9px 10px;font:inherit;font-size:.95rem;color:var(--tv-ink)}
.tv-search button{background:var(--tv-accent);color:#fff;border:0;padding:0 14px;font-family:var(--tv-sans);font-weight:700;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer}

/* ======================================================================
   Layout pagine interne
   ====================================================================== */
.tv-main{max-width:var(--tv-maxw);margin:0 auto;padding:52px 24px 72px}
.tv-narrow{max-width:var(--tv-readw);margin-left:auto;margin-right:auto}
.tv-pagehead{margin-bottom:1.2em}
.tv-pagehead h1{margin-top:0}
.tv-article p{margin:0 0 1.15em}
.trevi-subtitle{color:var(--tv-muted);font-size:1.1rem;margin:-.2em 0 2em !important}
.trevi-subtitle em{font-family:var(--tv-serif);font-style:italic}
.tv-article figure{margin:2em 0}
.tv-article figure{text-align:center}
.tv-article figure img{border-radius:2px;display:block;margin:0 auto;max-width:100%;height:auto}
.tv-article figcaption,.wp-element-caption{text-align:center;color:var(--tv-muted);font-size:.9rem;font-style:italic;margin-top:.6em}
.wp-block-separator{border:0;border-top:1px solid var(--tv-line);max-width:120px;margin:2.4em auto}
.tv-postnav{display:flex;justify-content:space-between;gap:20px;margin-top:52px;padding-top:22px;border-top:1px solid var(--tv-line);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:1.3px}
.tv-pager{margin-top:36px;font-weight:700;font-size:.8rem;letter-spacing:1px;text-transform:uppercase}
main h2{border-bottom:1px solid var(--tv-line);padding-bottom:.3em}

/* ======================================================================
   Bottoni e link
   ====================================================================== */
.tv-btn,.wp-block-button__link{
  display:inline-flex;align-items:center;gap:10px;background:var(--tv-accent);color:#fff !important;
  font-family:var(--tv-sans);font-weight:700;text-transform:uppercase;letter-spacing:1.4px;
  font-size:.74rem;padding:15px 26px;border:1px solid var(--tv-accent);text-decoration:none;border-radius:2px;
  transition:background .2s,border-color .2s,color .2s;
}
.tv-btn:hover,.wp-block-button__link:hover{background:#005a92;border-color:#005a92;text-decoration:none}
.tv-btn--navy{background:var(--tv-navy);border-color:var(--tv-navy)}
.tv-btn--navy:hover{background:var(--tv-navy-2);border-color:var(--tv-navy-2)}
.tv-btn--ghost{background:transparent;color:var(--tv-navy) !important;border-color:var(--tv-navy)}
.tv-btn--ghost:hover{background:var(--tv-navy);color:#fff !important}
.tv-btn--ghost-light{background:transparent;border-color:rgba(255,255,255,.8)}
.tv-btn--ghost-light:hover{background:#fff;color:var(--tv-navy) !important;border-color:#fff}
.tv-btn svg{width:16px;height:16px}
.h-more{
  font-family:var(--tv-sans);font-weight:700;font-size:.72rem;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--tv-navy);border-bottom:2px solid var(--tv-accent);padding-bottom:4px;white-space:nowrap;
}
.h-more:hover{text-decoration:none;color:var(--tv-accent)}

/* ======================================================================
   Schede (libro, memorie, archivio)
   ====================================================================== */
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px;margin-top:22px}
.tv-card{background:#fff;border:1px solid var(--tv-line);overflow:hidden;border-radius:3px;transition:box-shadow .2s,transform .2s}
.tv-card:hover{box-shadow:0 14px 32px rgba(14,42,71,.12);transform:translateY(-2px)}
.tv-card .tv-thumb{margin:0}
.tv-card .thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--tv-navy)}
.tv-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.tv-card:hover .thumb img{transform:scale(1.03)}
.tv-card .thumb.cover{aspect-ratio:3/4;background:#0a66b0}
.tv-card .thumb.cover img{object-fit:contain}
.tv-card figcaption{padding:16px 20px 0;font-family:var(--tv-serif);font-weight:700;font-size:1.15rem;line-height:1.25}
.tv-card figcaption a{color:var(--tv-ink)}
.tv-card figcaption a:hover{color:var(--tv-accent);text-decoration:none}
.tv-card .body{padding:8px 20px 20px}
.tv-card h3{margin:.1em 0 .4em;font-size:1.15rem}
.tv-card h3 a{color:var(--tv-ink)}
.tv-card p{font-size:.93rem;color:var(--tv-muted);margin:0;line-height:1.5}

/* ======================================================================
   Galleria
   ====================================================================== */
.gallery{display:grid !important;grid-template-columns:repeat(4,1fr);gap:10px;margin:1em 0 2em}
.gallery-item{margin:0 !important;width:auto !important}
.gallery-item img{width:100%;height:190px;object-fit:cover;border:0 !important;border-radius:2px;transition:filter .2s}
.gallery-item a:hover img{filter:brightness(1.08)}
/* Didascalie lunghe: in griglia al massimo tre righe, il testo intero resta nel lightbox. */
.gallery-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:.45em 0 0;font-size:.8rem;line-height:1.4;color:var(--tv-muted)}
.tv-gal-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 2em}
.tv-gal-nav a{padding:6px 15px;border:1px solid var(--tv-line);border-radius:999px;background:#fff;font-size:.88rem;font-weight:600;color:var(--tv-navy);text-decoration:none}
.tv-gal-nav a:hover{border-color:var(--tv-accent);color:var(--tv-accent)}
.tv-main h2[id]{scroll-margin-top:90px}

/* ======================================================================
   Timeline (pagina)
   ====================================================================== */
.tv-timeline{position:relative;margin:2em 0}
.tv-timeline::before{content:"";position:absolute;left:130px;top:6px;bottom:6px;width:2px;background:var(--tv-line)}
.tv-tl-item{position:relative;display:grid;grid-template-columns:130px 1fr;gap:28px;padding:0 0 24px}
.tv-tl-item::before{content:"";position:absolute;left:123px;top:9px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--tv-navy);box-shadow:0 0 0 3px var(--tv-paper)}
.tv-tl-year{text-align:right;font-family:var(--tv-serif);font-weight:700;color:var(--tv-navy);font-size:1.25rem;padding-right:8px;line-height:1.35}
.tv-tl-body{padding-left:24px;color:var(--tv-ink)}

/* ======================================================================
   Libro / video / note
   ====================================================================== */
.tv-book{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:start;margin:1.5em 0}
.tv-book img{box-shadow:0 18px 40px rgba(14,42,71,.28)}
.tv-video{position:relative;padding-top:56.25%;margin:1.5em 0;background:#000}
.tv-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tv-note{background:#eaf2f9;border-left:4px solid var(--tv-accent);padding:18px 24px;margin:1.5em 0;font-size:.98rem;color:#33414d}
.tv-memoria{border:1px solid var(--tv-line);background:#fff;padding:22px 26px;margin:1.4em 0}

/* ======================================================================
   HOMEPAGE (mockup)
   ====================================================================== */
.tv-home{display:block}
.h-wrap{max-width:var(--tv-maxw);margin:0 auto;padding:0 24px;position:relative}
.h-sec{padding:64px 0}
.h-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.h-head h2{margin:0;border:0;padding:0;font-size:2.1rem}
.h-lead{margin:.35em 0 0;color:var(--tv-muted);font-size:1rem}

/* --- Hero --- */
.h-hero{position:relative;background:var(--tv-navy);color:#fff;overflow:hidden;min-height:560px;display:flex;align-items:center}
.h-hero-img{position:absolute;top:0;right:0;width:68%;height:100%;object-fit:cover;object-position:60% 40%;filter:grayscale(1) contrast(1.05)}
.h-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,var(--tv-navy) 0%,var(--tv-navy) 34%,rgba(14,42,71,.82) 52%,rgba(14,42,71,.35) 72%,rgba(14,42,71,.15) 100%);
}
.h-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(10,31,54,.35),rgba(10,31,54,0) 40%)}
.h-hero-inner{z-index:2;padding-top:72px;padding-bottom:72px;width:100%}
.h-hero h1{color:#fff;font-size:4.1rem;line-height:1.02;margin:.15em 0 .3em;max-width:560px}
.h-hero-sub{font-size:1.3rem;line-height:1.45;color:rgba(255,255,255,.9);max-width:460px;margin:0 0 34px}
.h-actions{display:flex;flex-wrap:wrap;gap:16px}
.h-play{display:inline-flex;align-items:center;gap:14px;margin-top:34px;color:#fff}
.h-play:hover{text-decoration:none}
.h-play-ico{width:48px;height:48px;border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}
.h-play:hover .h-play-ico{background:rgba(255,255,255,.15)}
.h-play-ico svg{width:16px;height:16px;margin-left:3px}
.h-play strong{display:block;font-size:.74rem;letter-spacing:1.4px;text-transform:uppercase}
.h-play small{display:block;font-size:.82rem;color:rgba(255,255,255,.75)}

/* --- Manifesto --- */
.h-intro{background:#fff;border-bottom:1px solid var(--tv-line)}
.h-intro-inner{max-width:940px;margin:0 auto;padding:64px 24px;text-align:center}
.h-intro p{font-family:var(--tv-serif);font-size:1.5rem;line-height:1.55;color:var(--tv-ink);margin:0 0 1em;text-align:justify;hyphens:manual;text-wrap:pretty}
.h-intro p:last-child{margin-bottom:0;font-family:var(--tv-sans);font-size:1.2rem;color:var(--tv-muted)}
.h-intro .h-kicker{font-family:var(--tv-sans);font-size:.74rem;line-height:1.4;color:var(--tv-accent);margin:0 0 1em;text-align:center;hyphens:manual}

/* --- Timeline orizzontale --- */
.h-tl{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.h-tl::before{content:"";position:absolute;left:8%;right:8%;top:48px;height:2px;background:linear-gradient(90deg,#9fb6cc,var(--tv-navy))}
.h-tl-item{position:relative;text-align:left}
.h-tl-year{display:block;text-align:center;font-family:var(--tv-serif);font-weight:700;font-size:1.25rem;color:var(--tv-navy);margin-bottom:10px}
.h-tl-dot{display:block;width:18px;height:18px;margin:0 auto 22px;border-radius:50%;background:#fff;border:4px solid var(--tv-navy);box-shadow:0 0 0 4px var(--tv-paper);position:relative;z-index:1}
.h-tl-img{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--tv-navy)}
.h-tl-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35);transition:transform .35s,filter .35s}
.h-tl-item:hover .h-tl-img img{transform:scale(1.05);filter:none}
.h-tl-item strong{display:block;margin-top:12px;font-weight:700;color:var(--tv-ink);font-size:1rem}
.h-tl-item small{display:block;color:var(--tv-muted);font-size:.86rem;line-height:1.4}

/* --- Mosaico fotografico --- */
.h-mosaic{display:grid;grid-template-columns:1.55fr 1fr 1.6fr 1fr 1fr;grid-template-rows:repeat(6,62px);gap:12px}
.h-mosaic a{display:block;overflow:hidden;border-radius:3px;background:var(--tv-navy)}
.h-mosaic img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2);transition:transform .4s,filter .4s}
.h-mosaic a:hover img{transform:scale(1.04);filter:none}
.h-mosaic .m1{grid-column:1;grid-row:1/7}
.h-mosaic .m2{grid-column:2;grid-row:1/3}
.h-mosaic .m3{grid-column:2;grid-row:3/5}
.h-mosaic .m4{grid-column:2;grid-row:5/7}
.h-mosaic .m5{grid-column:3;grid-row:1/7}
.h-mosaic .m6{grid-column:4;grid-row:1/3}
.h-mosaic .m7{grid-column:4;grid-row:3/5}
.h-mosaic .m8{grid-column:5;grid-row:1/5}
.h-mosaic .m9{grid-column:5;grid-row:5/7}
.h-mosaic .m-count{grid-column:4;grid-row:5/7;background:var(--tv-navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}
.h-mosaic .m-count:hover{text-decoration:none;background:var(--tv-accent)}
.m-count svg{width:26px;height:26px;margin-bottom:4px}
.m-count strong{font-family:var(--tv-serif);font-size:1.5rem;line-height:1}
.m-count span{font-size:.8rem;color:rgba(255,255,255,.8)}

/* --- Libro --- */
.h-book-sec{background:linear-gradient(180deg,#eef2f6,#f7f9fb)}
.h-book{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:center}
.h-book-visual{display:flex;justify-content:center;perspective:1400px}
.h-book3d{position:relative;width:340px;transform:rotateY(-18deg) rotateX(2deg);transform-style:preserve-3d;box-shadow:24px 30px 50px rgba(14,42,71,.35),4px 6px 12px rgba(14,42,71,.2);border-radius:2px 6px 6px 2px}
.h-book3d img{width:100%;border-radius:2px 6px 6px 2px}
.h-book3d::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.12) 45%,rgba(0,0,0,0));border-radius:2px 0 0 2px}
.h-book-text h2{margin:0 0 .4em;border:0;padding:0;font-size:2.5rem}
.h-lead-lg{font-size:1.2rem;line-height:1.5;color:var(--tv-ink);margin:0 0 .8em}
.h-book-text p{color:var(--tv-muted)}
.h-quote{background:#fff;border-left:3px solid var(--tv-accent);margin:26px 0 30px;padding:20px 26px;position:relative}
.h-quote::before{content:"\201C";position:absolute;left:16px;top:-6px;font-family:var(--tv-serif);font-size:3.2rem;color:var(--tv-accent);line-height:1}
.h-quote p{font-family:var(--tv-serif);font-style:italic;font-size:1.12rem;color:var(--tv-ink);margin:0 0 8px;padding-left:22px}
.h-quote cite{font-style:normal;font-weight:700;font-size:.85rem;color:var(--tv-navy);padding-left:22px}

/* --- Numeri --- */
.h-numbers{position:relative;background:var(--tv-navy);color:#fff;overflow:hidden;padding:64px 0}
.h-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.28}
.h-numbers::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,42,71,.96) 0%,rgba(14,42,71,.85) 55%,rgba(14,42,71,.55) 100%)}
.h-numbers .h-wrap,.h-cta .h-wrap{z-index:2}
.h-numbers h2{color:#fff;margin:0 0 40px;border:0;padding:0;font-size:2.1rem}
.h-stats{display:grid;grid-template-columns:repeat(4,1fr)}
.h-stat{text-align:center;padding:0 18px;border-left:1px solid rgba(255,255,255,.18)}
.h-stat:first-child{border-left:0}
.h-stat svg{width:30px;height:30px;color:#cfe3f3;margin:0 auto 12px}
.h-stat strong{display:block;font-family:var(--tv-serif);font-size:2.7rem;line-height:1.05}
.h-stat span{display:block;margin-top:8px;font-weight:700;font-size:.78rem;letter-spacing:1.6px;text-transform:uppercase}
.h-stat small{display:block;font-size:.85rem;color:rgba(255,255,255,.7)}
.h-src{margin:34px 0 0;font-size:.78rem;color:rgba(255,255,255,.55);font-style:italic}

/* --- Archivio multimediale --- */
.h-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.h-card{display:block;background:#fff;border:1px solid var(--tv-line);border-radius:3px;overflow:hidden;color:var(--tv-ink);transition:box-shadow .2s,transform .2s}
.h-card:hover{text-decoration:none;box-shadow:0 14px 32px rgba(14,42,71,.12);transform:translateY(-2px)}
.h-card-img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--tv-navy)}
.h-card-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25)}
.h-card-img .cover-fit{object-fit:contain;background:var(--tv-navy);filter:none;padding:10px 0}
.h-card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;border:2px solid #fff;background:rgba(14,42,71,.45);display:flex;align-items:center;justify-content:center}
.h-card-play svg{width:18px;height:18px;margin-left:3px;color:#fff}
.h-card-body{display:block;padding:16px 20px 18px}
.h-card-body strong{display:block;font-family:var(--tv-serif);font-size:1.2rem}
.h-card-body small{display:block;color:var(--tv-muted);font-size:.9rem}
.h-card-body em{display:flex;align-items:center;gap:6px;font-style:normal;font-weight:700;font-size:.8rem;margin-top:12px;color:var(--tv-navy)}
.h-card-body em svg{width:14px;height:14px}

/* --- Banda finale --- */
.h-cta{position:relative;background:var(--tv-navy);color:#fff;overflow:hidden;padding:58px 0}
.h-cta .h-bg{opacity:.4;object-position:50% 35%}
.h-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,42,71,.92) 0%,rgba(14,42,71,.6) 60%,rgba(14,42,71,.85) 100%)}
.h-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.h-cta-quote{font-family:var(--tv-serif);font-style:italic;font-size:2.3rem;line-height:1.2;margin:0;padding-bottom:18px;position:relative}
.h-cta-quote::after{content:"";position:absolute;left:0;bottom:0;width:180px;height:2px;background:rgba(255,255,255,.7)}
.h-cta-side{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.h-cta-credit{margin:0;max-width:19em;font-size:.95rem;line-height:1.4;text-align:right;color:rgba(255,255,255,.85);text-wrap:balance}

/* ======================================================================
   Footer
   ====================================================================== */
.tv-footer{background:var(--tv-navy-2);color:#b7c3d0}
.tv-footer-inner{max-width:var(--tv-maxw);margin:0 auto;padding:44px 24px 26px;display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:.92rem}
.tv-footer-brand{display:flex;flex-direction:column;line-height:1.1}
.tv-footer-label{display:block;font-weight:700;font-size:.7rem;letter-spacing:1.8px;text-transform:uppercase;color:#fff;margin-bottom:6px}
.tv-footer a{color:var(--tv-accent-2)}
.tv-fnote{max-width:var(--tv-maxw);margin:0 auto;padding:16px 24px 30px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:#7f8fa1;display:flex;justify-content:space-between;gap:10px 28px;flex-wrap:wrap}
.tv-fnote-link{color:#b7c3d0!important;text-decoration:underline}

/* ======================================================================
   Responsive
   ====================================================================== */
@media(max-width:1000px){
  .h-hero h1{font-size:3.2rem}
  .h-hero-img{width:100%;opacity:.55}
  .h-hero::before{background:linear-gradient(90deg,rgba(14,42,71,.95),rgba(14,42,71,.7))}
  .h-tl{grid-template-columns:repeat(3,1fr);row-gap:30px}
  .h-tl::before{display:none}
  .h-mosaic{grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:170px}
  .h-mosaic > *{grid-column:auto !important;grid-row:auto !important}
  .h-book{grid-template-columns:1fr;gap:40px}
  .h-cards{grid-template-columns:repeat(2,1fr)}
  .h-stats{grid-template-columns:repeat(2,1fr);row-gap:30px}
  .h-stat:nth-child(3){border-left:0}
}
@media(max-width:1100px){
  .tv-nav ul{gap:4px 18px}
  .tv-nav a{font-size:.7rem;letter-spacing:1.1px}
}
@media(max-width:680px){
  body{font-size:17px}
  .tv-header-inner{flex-wrap:wrap;gap:10px 16px}
  .tv-nav{order:3;width:100%;overflow-x:auto}
  .tv-nav ul{flex-wrap:nowrap;justify-content:flex-start;gap:18px}
  .tv-nav a{white-space:nowrap}
  h1{font-size:2.1rem}
  .h-hero{min-height:480px}
  .h-hero h1{font-size:2.6rem}
  .h-head{flex-direction:column;align-items:flex-start}
  .h-tl{grid-template-columns:repeat(2,1fr)}
  .h-cards{grid-template-columns:1fr}
  .h-book3d{width:240px}
  .h-cta-quote{font-size:1.7rem}
  .h-cta-side{flex-direction:column;align-items:flex-start;gap:14px}
  .h-cta-credit{text-align:left}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .tv-book{grid-template-columns:1fr}
  .tv-timeline::before{left:60px}
  .tv-tl-item{grid-template-columns:60px 1fr;gap:14px}
  .tv-tl-item::before{left:53px}
  .tv-tl-year{font-size:1rem}
  .tv-tl-body{padding-left:12px}
  .tv-search form{width:260px}
}

/* --- Hero: frase di Davide Trevisani in sovrimpressione alla foto (mail di Stefano Trevisani, 11/10/2026) --- */
/* Frase di Davide Trevisani: scritta direttamente sulla foto (senza riquadro), carattere light non corsivo (riunione 13/10/2026) */
.h-hero-quote{position:absolute;z-index:2;right:22%;bottom:40px;width:min(450px,35%);margin:0;padding:0}
.h-hero-quote::before{content:"";position:absolute;inset:-48px -56px -36px -48px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 45% 50%,rgba(8,26,46,.62),rgba(8,26,46,.38) 55%,rgba(8,26,46,0) 78%)}
.h-hero-quote blockquote{margin:0}
.h-hero-quote p{margin:0 0 14px;font-family:var(--tv-sans);font-weight:300;font-size:1.15rem;line-height:1.5;color:#fff;text-shadow:0 1px 3px rgba(5,18,32,.85),0 0 18px rgba(5,18,32,.55)}
.h-hero-quote strong{font-weight:600}
.h-hero-quote figcaption{font-size:.72rem;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--tv-accent-2);text-shadow:0 1px 3px rgba(5,18,32,.85)}

/* --- Nota IOR (logo + devoluzione dei proventi del libro) --- */
.tv-ior{display:flex;align-items:center;gap:20px;margin:28px 0 0;padding:16px 22px;background:#fff;border:1px solid var(--tv-line);border-left:3px solid var(--tv-accent);border-radius:2px}
.tv-ior-logo{flex:0 0 auto;display:block;line-height:0}
.tv-ior-logo img{width:118px;height:auto;display:block;box-shadow:none}
.tv-ior p{margin:0;font-size:.95rem;line-height:1.5;color:var(--tv-ink)}

/* --- Serata di presentazione + invito all'acquisto a fine capitolo --- */
.tv-poster{margin:0 0 1.6em;text-align:center}
.tv-poster img{max-width:100%;height:auto;box-shadow:0 18px 40px rgba(14,42,71,.22)}
.tv-card--event{border-top:3px solid var(--tv-accent)}

/* --- Riconoscimenti e onorificenze (usa la struttura della timeline) --- */
.tv-aw-title{margin:0 0 .15em;font-size:1.35rem;line-height:1.25}
.tv-aw-meta{margin:0 0 .7em !important;font-size:.78rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--tv-accent)}
.tv-aw-quote{margin:1em 0;padding:16px 22px;background:#fff;border-left:3px solid var(--tv-accent)}
.tv-aw-quote p{margin:0 0 8px;font-family:var(--tv-serif);font-style:italic;font-size:1.02rem;line-height:1.55;color:var(--tv-ink)}
.tv-aw-quote cite{font-style:normal;font-weight:700;font-size:.8rem;color:var(--tv-navy)}
.tv-aw-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:1.1em 0 0;align-items:start}
.tv-aw-photos figure{margin:0}
.tv-aw-photos img{display:block;width:100%;height:auto;border-radius:2px;transition:filter .2s}
.tv-aw-photos a:hover img{filter:brightness(1.08)}
.tv-aw-pcap{margin:.5em 0 0 !important;font-size:.8rem;color:var(--tv-muted)}
.tv-aw-src{margin:.9em 0 0 !important;font-size:.84rem;color:var(--tv-muted)}
.tv-aw-note{margin-top:1.4em;font-size:.92rem;color:var(--tv-muted)}
@media(max-width:680px){.tv-aw-photos{grid-template-columns:1fr}}
.tv-buy{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin:2.6em 0 0;padding:22px 26px;background:#fff;border:1px solid var(--tv-line);border-left:3px solid var(--tv-accent)}
.tv-buy p{margin:0;flex:1 1 320px;font-size:.98rem;line-height:1.5;color:var(--tv-ink)}

@media(max-width:1240px){
  .h-hero{flex-wrap:wrap}
  .h-hero-quote{position:relative;right:auto;bottom:auto;flex:1 1 100%;width:auto;max-width:640px;margin:0 24px 44px max(24px,calc((100% - var(--tv-maxw)) / 2 + 24px))}
  .h-hero-quote::before{display:none}
  .h-hero-quote p{font-size:1.12rem}
}
@media(max-width:680px){
  .h-intro p{font-size:1.25rem;hyphens:auto}
  .h-intro p:last-child{font-size:1.08rem}
  .tv-ior{flex-direction:column;align-items:flex-start;gap:12px}
}

/* --- Citazione lunga nel blocco «Il libro» della home (dichiarazione di Gianluigi Trevisani, 19/10/2026) --- */
.h-quote--long p{font-size:1.02rem;line-height:1.6}
.h-quote cite span{display:block;margin-top:2px;font-weight:400;font-size:.82rem;color:var(--tv-muted)}

/* --- Riquadro «Contribuisci»: invito a inviare storie, fotografie e video alla segreteria --- */
.tv-contribute{display:grid;grid-template-columns:1fr auto;gap:10px 32px;align-items:center;margin:0 0 36px;padding:20px 26px;background:#fff;border:1px solid var(--tv-line);border-left:3px solid var(--tv-accent);border-radius:2px}
.tv-contribute h2{margin:0 0 .3em;padding:0;border:0;font-size:1.3rem;line-height:1.25}
.tv-contribute p{margin:0;font-size:.98rem;line-height:1.55;color:var(--tv-muted)}
.tv-contribute .tv-btn{grid-row:1;grid-column:2;white-space:nowrap}
.tv-contribute .tv-contribute-mail{grid-column:2;margin:0;text-align:center;font-size:.82rem;color:var(--tv-muted)}

/* --- Lightbox delle gallerie (js/lightbox.js) --- */
html.tv-lb-open{overflow:hidden}
.tv-lb{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(8,20,34,.98)}
.tv-lb[hidden]{display:none}
.tv-lb-fig{margin:0;max-width:min(94vw,1500px);display:flex;flex-direction:column;align-items:center}
.tv-lb-img{display:block;max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;box-shadow:0 12px 40px rgba(0,0,0,.45);transition:opacity .2s}
.tv-lb.is-loading .tv-lb-img{opacity:.25}
.tv-lb-cap{min-height:1.4em;margin-top:12px;max-width:760px;text-align:center;font-size:.92rem;line-height:1.45;color:#d5dde6}
.tv-lb-count{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:.8rem;letter-spacing:1px;color:#9fb0c2}
.tv-lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font:300 2.4rem/1 var(--tv-sans);cursor:pointer;transition:background .2s}
.tv-lb-btn:hover,.tv-lb-btn:focus-visible{background:rgba(255,255,255,.25);outline:2px solid #fff;outline-offset:2px}
.tv-lb-btn[hidden]{display:none}
.tv-lb-close{top:16px;right:16px;font-size:2rem}
.tv-lb-prev{left:16px;top:50%;margin-top:-26px;padding-bottom:5px}
.tv-lb-next{right:16px;top:50%;margin-top:-26px;padding-bottom:5px}
.gallery a,.tv-aw-photos a{cursor:zoom-in}
@media(max-width:680px){
  .tv-contribute{grid-template-columns:1fr;padding:22px 20px}
  .tv-contribute .tv-btn,.tv-contribute .tv-contribute-mail{grid-column:1;grid-row:auto;justify-self:start;text-align:left}
  .tv-lb-btn{width:44px;height:44px;font-size:2rem}
  .tv-lb-prev{left:6px}.tv-lb-next{right:6px}.tv-lb-close{top:8px;right:8px}
  .tv-lb-img{max-height:74vh}
}
@media(prefers-reduced-motion:reduce){.tv-lb-img,.tv-lb-btn{transition:none}}
