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

html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
    body {
      background:var(--carta); color:var(--ink);
      font-family:'Cormorant Garamond',Georgia,serif;
      font-weight:400; line-height:1.8; /* 400 min: Firefox rende il 300 quasi invisibile */
      -moz-osx-font-smoothing: grayscale;
      min-height:100svh; overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
      touch-action:manipulation;
    }
    .topbar-search-icon {
      display: none;            /* nascosta di default */
      align-items: center; justify-content: center;
      height: 40px;
      background: rgba(255,255,255,.1);
      border: 1px solid rgba(200,146,42,.35);
      cursor: pointer;
      color: var(--oro);
      flex-shrink: 0;
      transition: background .2s, border-color .2s, transform .15s;
      -webkit-tap-highlight-color: transparent;
    }
    .drawer-overlay {
      position: fixed; inset: 0; z-index: 490;
      background: rgba(20,10,5,.55);
      opacity: 0; pointer-events: none;
      transition: opacity .3s ease;
      backdrop-filter: blur(2px);
      -webkit-backdrop-filter: blur(2px);
    }
    .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__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;
    }
    .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;
    }
    .back-to-top {
      position:fixed;
      bottom:calc(1.8rem + var(--sab));
      right:calc(1.5rem + var(--sar));
      z-index:400;
      width:44px; height:44px;
      background:var(--rosso-deep);
      border:1px solid var(--oro);
      border-radius: var(--r-sm);
      color:var(--oro);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer;
      opacity:0; transform:translateY(12px); pointer-events:none;
      transition:opacity .25s ease, transform .25s ease, background .2s ease;
      -webkit-tap-highlight-color:transparent;
    }
    .hero-pref-link {
      display: inline-flex; align-items: center; gap: .55rem;
      margin-top: 1.1rem;
      background: var(--rosso-deep);
      border: 1px solid rgba(200,146,42,.35);
      border-radius: var(--r-sm);
      cursor: pointer;
      padding: .6rem 1.2rem;
      min-height: 40px;
      -webkit-tap-highlight-color: transparent;
      transition:
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
      opacity: 0; animation: fadeUp .7s ease forwards .7s;
      align-self: flex-start; /* non si allarga a tutta larghezza */
    }
    .cb-btn {
      font-family: 'Cinzel', serif;
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--ink2);
      background: var(--oro);
      border: none;
      cursor: pointer;
      padding: .6rem 1.3rem;
      border-radius: var(--r-sm);
      min-height: 40px;
      white-space: nowrap;
      transition: background .2s, transform .12s;
      -webkit-tap-highlight-color: transparent;
    }
    .vl-alpha {
      display: flex;
      flex-wrap: nowrap;          /* singola riga */
      gap: 4px;
      margin-bottom: 1rem;
      overflow-x: auto;           /* scroll orizzontale se non entra */
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x proximity;
      padding-bottom: 2px;        /* spazio per scrollbar nascosta */
      /* Nascondi scrollbar ma mantieni funzionalità */
      scrollbar-width: none;
    }
    .vl-alpha::-webkit-scrollbar { display: none; }
