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

/* ══ COOKIE BANNER — Provv. Garante n. 231/2021 ══ */
    .cookie-banner {
      position: fixed;
      bottom: calc(1.2rem + var(--sab));
      left: 50%;
      transform: translateX(-50%) translateY(16px);
      z-index: 800;
      width: min(520px, calc(100vw - 2rem));
      background: var(--rosso-deep);
      border: 1px solid rgba(200,146,42,.45);
      border-top: 3px solid var(--oro);
      border-radius: var(--r-md);
      box-shadow: 0 6px 32px rgba(0,0,0,.4);
      display: flex;
      align-items: center;
      gap: 1rem;
      padding: .9rem 1rem .9rem 1.2rem;
      opacity: 0;
      pointer-events: none;
      transition: opacity .35s ease, transform .35s cubic-bezier(.4,0,.2,1);
    }

    .cookie-banner.visible {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
      pointer-events: auto;
    }

    .cb-body { flex: 1; min-width: 0; }

    .cb-desc {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1rem;
      font-weight: 400;
      color: rgba(242,237,226,.8);
      line-height: 1.5;
      margin: 0;
    }

    .cb-desc strong {
      color: rgba(242,237,226,.95);
      font-weight: 500;
    }

    .cb-policy-link {
      color: var(--oro);
      text-decoration: underline;
      text-decoration-color: rgba(200,146,42,.4);
      white-space: nowrap;
      transition: text-decoration-color .2s;
    }
    .cb-policy-link:hover { text-decoration-color: var(--oro); }

    .cb-actions { flex-shrink: 0; }

    .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;
    }
    .cb-btn:hover  { background: var(--oro-light); transform: translateY(-1px); }
    .cb-btn:active { transform: translateY(0); }
    .cb-btn:focus-visible { outline: 2px solid var(--oro-light); outline-offset: 2px; }

    @media (max-width: 540px) {
      .cookie-banner {
        flex-direction: column;
        align-items: stretch;
        gap: .7rem;
        padding: .9rem 1rem;
        bottom: calc(.6rem + var(--sab));
        width: calc(100vw - 1rem);
      }
      .cb-actions { display: flex; }
      .cb-btn { flex: 1; justify-content: center; }
    }
