/* ═══ thematic.css | Vocabolario Calitrano ═══ */

/* ════ DISCOVER SECTION ════ */
    .discover-section {
      background:var(--carta);
      }
    .discover-inner {
      max-width:680px; margin:0 auto;
      padding:3rem 1.5rem 2rem;
      display:flex; flex-direction:column; gap:1rem;
    }

    /* Card base */
    .discover-card {
      display:flex; flex-direction:column;
      background:var(--bianco);
      border:1px solid var(--carta3);
      position:relative; overflow:hidden;
      text-align:left; cursor:pointer;
      -webkit-tap-highlight-color:transparent;
      transition:border-color .2s ease, box-shadow .2s ease;
    }
    .discover-card:hover {
      border-color:var(--oro);
      box-shadow:0 4px 20px rgba(139,26,26,.09);
    }

    .discover-card__band {
      position:absolute; top:0; left:0; bottom:0;
      width:3px; background:var(--rosso);
      transition:width .2s ease;
    }
    .discover-card:hover .discover-card__band { width:4px; }

    .discover-card__body {
      display:flex; align-items:center; gap:1.2rem;
      padding:1.5rem 1.5rem 0 1.8rem;
    }

    .discover-card__icon {
      width:48px; height:48px; flex-shrink:0;
      background:rgba(139,26,26,.07);
      display:flex; align-items:center; justify-content:center;
      color:var(--rosso);
    }
    .discover-card__icon--sm {
      width:38px; height:38px;
      background:rgba(139,26,26,.05); color:var(--muted);
    }

    .discover-card__text { flex:1; min-width:0; }

    .discover-card__title {
      font-family:'Cinzel',serif;
      font-size:clamp(1rem,2.2vw,1.25rem);
      font-weight:700; letter-spacing:.03em;
      color:var(--ink2); line-height:1.1; margin-bottom:.3rem;
    }
    .discover-card__title--sm {
      font-size:.85rem; letter-spacing:.06em; color:var(--ink2);
    }
    .discover-card__desc {
      font-family:'Cormorant Garamond',serif;
      font-style:italic; font-size:.98rem;
      color:var(--ink2); line-height:1.5;
    }

    .discover-card__cta {
      display:inline-flex; align-items:center; gap:.55rem;
      margin:1.2rem 1.5rem 1.5rem 1.8rem;
      padding:.8rem 1.8rem;
      background:var(--rosso); color:var(--argento);
      font-family:'Cinzel',serif;
      font-size:.72rem; font-weight:600;
      letter-spacing:.14em; text-transform:uppercase;
      border:none; cursor:pointer;
      border-radius: var(--r-sm);
      width:fit-content; min-height:44px;
      text-decoration:none;
      transition:background .2s ease, transform .15s ease;
      -webkit-tap-highlight-color:transparent;
    }
    .discover-card__cta:visited,
    .discover-card__cta:hover,
    .discover-card__cta:focus,
    .discover-card__cta:active {
      text-decoration:none;
    }
    .discover-card__cta:hover  { background:var(--rosso-mid); transform:translateY(-1px); }
    .discover-card__cta:active { transform:translateY(0); }

    /* Card secondaria — prefazione */
    .discover-card__arrow {
      color:var(--muted); flex-shrink:0;
      margin-right:1rem;
      transition:transform .25s ease, color .2s ease;
    }
    .discover-card--secondary[aria-expanded="true"] .discover-card__arrow {
      transform:rotate(180deg); color:var(--oro);
    }
    .discover-card--secondary[aria-expanded="true"] {
      background:var(--carta2); border-top-color:var(--oro);
    }



    /* ════ PREFAZIONE ════ */
    .pref-wrap {
      max-width:760px; margin:0 auto;
      padding:0 1.5rem 1.2rem; /* spazio sotto la prefazione */
      /* Offset for fixed header so "Leggi la Prefazione" scroll lands below the topbar */
      scroll-margin-top: calc(var(--topbar-h) + var(--sat));
    }

    .pref-toggle {
      width:100%; display:flex; align-items:center;
      justify-content:space-between; gap:1rem;
      padding:1.2rem 1.7rem;
      background:var(--rosso-deep); border:none; cursor:pointer;
      transition:background .2s;
      -webkit-tap-highlight-color:transparent;
      min-height:64px;
    }
    .pref-toggle:hover  { background:var(--rosso-hover); }
    .pref-toggle:active { background:var(--rosso); }

    .pref-toggle-left { display:flex; align-items:center; gap:.9rem; }

    .toggle-rose-img {
      width:32px; height:32px; object-fit:contain;
      filter:drop-shadow(0 1px 2px rgba(0,0,0,.3)); flex-shrink:0;
    }

    .pref-toggle-texts { text-align:left; }
    .pref-toggle-title {
      font-family:'Cinzel',serif;
      font-size:.8rem; font-weight:600;
      letter-spacing:.18em; color:var(--argento);
      text-transform:uppercase; line-height:1;
    }
    .pref-toggle-sub {
      font-family:'Cormorant Garamond',serif;
      font-style:italic; font-weight:300;
      font-size:.92rem; color:var(--oro); margin-top:.2rem;
    }

    .pref-toggle-icon {
      width:32px; height:32px; flex-shrink:0;
      border:1px solid rgba(200,146,42,.45); border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      color:var(--oro); transition:transform .32s ease;
    }
    .pref-toggle[aria-expanded="true"] .pref-toggle-icon { transform:rotate(180deg); }

    /* Accordion — grid-rows (smooth, no max-height hack) */
    .pref-body {
      display:grid; grid-template-rows:0fr;
      transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1);
      background:var(--bianco);
      border:1px solid var(--carta3); border-top:none;
    }
    .pref-body.open { grid-template-rows:1fr; }
    .pref-body-overflow { overflow:hidden; }
    .pref-inner { padding:2.8rem 2.2rem; }

    .pref-ornament {
      display:flex; align-items:center; gap:.8rem; margin-bottom:2.2rem;
    }
    .pref-ornament::before {
      content:''; flex:1; height:1px;
      background:linear-gradient(to right,transparent,var(--oro));
    }
    .pref-ornament::after {
      content:''; flex:1; height:1px;
      background:linear-gradient(to left,transparent,var(--oro));
    }
    .pref-ornament img {
      width:36px; height:36px; object-fit:contain; opacity:.8;
      filter:drop-shadow(0 1px 3px rgba(100,20,20,.2));
    }

    .prose p {
      font-size:clamp(1.05rem,2vw,1.25rem);
      line-height:1.9; color:var(--ink); margin-bottom:1.8rem;
      font-weight:400;
    }
    .prose p:last-child { margin-bottom:0; }

    .drop::first-letter {
      float:left; font-family:'Cinzel',serif;
      font-size:4.2rem; font-weight:700;
      line-height:.82; margin:.1rem .18rem 0 0; color:var(--rosso);
    }

    .rose-divider-sm {
      display:flex; align-items:center; gap:.75rem; margin:1.8rem 0;
    }
    .rose-divider-sm::before,.rose-divider-sm::after {
      content:''; flex:1; height:1px; background:var(--carta3);
    }
    .rose-divider-sm img {
      width:26px; height:26px; object-fit:contain; opacity:.55;
      filter:drop-shadow(0 1px 2px rgba(100,20,20,.15));
    }

    .pullquote {
      border-left:3px solid var(--rosso);
      padding:.5rem 0 .5rem 1.7rem; margin:2rem 0;
      background:linear-gradient(to right,rgba(139,26,26,.04),transparent);
    }
    .pullquote p {
      font-style:italic!important;
      font-size:clamp(1.1rem,2.2vw,1.38rem)!important;
      line-height:1.65!important; color:var(--rosso-deep)!important;
      margin-bottom:0!important;
    }

    .firma {
      margin-top:2.4rem; padding-top:1.4rem;
      border-top:1px solid var(--carta3);
      display:flex; align-items:center; justify-content:flex-end; gap:.8rem;
    }
    .firma-line { width:36px; height:1px; background:var(--oro); }
    .firma-name { font-style:italic; font-size:1rem; color:var(--muted); }
