/* ============================================================
   i Fichi — regole comuni a tutte le pagine
   Le sezioni portano il loro CSS dentro la pagina (come su Squarespace);
   qui solo la pagina «nuda» e l'header.
   ============================================================ */
html, body { margin: 0; padding: 0; }
/* Come Squarespace (il contenitore .fluid-engine di ogni sezione aveva overflow-x:clip): ciò che esce
   di lato — le polaroid dell'hero della home — si taglia al bordo invece di far scorrere la pagina.
   «clip» e ⛔ «hidden»: ⛔ crea uno scorrimento interno e lascia vivo il position:sticky. */
.ifichi-sezione { overflow-x: clip; }
/* «Che fic* sei»: su Squarespace gli asterischi decorativi ereditavano un'interlinea FISSA di 24px dal
   blocco; qui erediterebbero 1.5 × il loro corpo (100-140px) e allungavano l'intro di ~300px. */
#ifichi-quiz .asterisk-deco { line-height: 24px; }
/* Come Squarespace (`.sqs-block-code img { max-width: 100% }`, stessa forza): sul telefono scavalcava i
   «max-width: 300px» delle sezioni — senza, i bigliettini di «Dicono di noi» restavano 300px invece di 354. */
.ifichi-sezione img { max-width: 100%; }
/* I titoletti del piè di pagina (ESPLORA, I LOCALI, CONTATTI): su Squarespace l'interlinea degli h3 la
   dava il tema (~1,14), qui varrebbe 1,5. */
.fichi-footer__col-title { line-height: 1.1425; }
body { background: #FFBD4C; /* il giallo di fondo di Squarespace */ color: #FAF3E0; font-family: 'Inter', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.ifichi-main { margin: 0; padding: 0; }  /* ⛔ niente z-index qui: chiuderebbe il pre-caricamento della home sotto l’header */
.ifichi-main > * { margin-block-start: 0; margin-block-end: 0; }
.ifichi-header-part { position: absolute; top: 0; left: 0; right: 0; z-index: 1000; }
body.admin-bar .ifichi-header-part { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ifichi-header-part { top: 46px; } }

/* ---------- HEADER — trasparente sopra la prima sezione, come su Squarespace ---------- */
.ifichi-header .header-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.5vw 4vw; min-height: 40px;
}
.ifichi-header .header-title-logo img { display: block; height: 40px; width: auto; }
.ifichi-header .header-nav-list { display: flex; align-items: center; flex-wrap: nowrap; }
.ifichi-header .header-nav-item a {
  color: #FFFFFF; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 400;
  letter-spacing: 0; line-height: 1.2; white-space: nowrap;
}
.ifichi-header .header-nav-item--collection { margin-left: 0.4vw; margin-right: 0.4vw; }

/* burger: solo sul telefono */
.ifichi-header .header-burger {
  display: none; background: none; border: 0; padding: 10px; margin-right: -10px; cursor: pointer;
  position: relative; z-index: 2;
}
.ifichi-header .burger-inner { position: relative; display: block; width: 34px; height: 14px; }
.ifichi-header .burger-inner > span {
  position: absolute; left: 0; width: 100%; height: 1.5px; background: #FFFFFF;
  transition: transform .35s cubic-bezier(.16,1,.3,1), opacity .2s ease;
}
.ifichi-header .top-bun { top: 0; } .ifichi-header .patty { top: 6px; } .ifichi-header .bottom-bun { top: 12px; }
body.header--menu-open .ifichi-header .top-bun { transform: translateY(6px) rotate(45deg); }
body.header--menu-open .ifichi-header .patty { opacity: 0; }
body.header--menu-open .ifichi-header .bottom-bun { transform: translateY(-6px) rotate(-45deg); }

/* menu a tutto schermo del telefono */
.ifichi-header .header-menu {
  position: fixed; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s linear .35s;
}
body.header--menu-open .ifichi-header .header-menu { opacity: 1; visibility: visible; transition: opacity .35s ease; }
.ifichi-header .header-menu-bg { position: absolute; inset: 0; background: #000; }
.ifichi-header .header-menu-nav { position: relative; text-align: center; }
.ifichi-header .header-menu-nav-wrapper { display: flex; flex-direction: column; align-items: center; gap: 1.1rem; }
.ifichi-header .header-menu-nav-item a {
  color: #FFFFFF; text-decoration: none; font-family: 'Anton', 'Arial Narrow', sans-serif;
  font-size: clamp(2rem, 9vw, 3rem); text-transform: uppercase; letter-spacing: .01em; line-height: 1.1;
}
body.header--menu-open { overflow: hidden; }
body.header--menu-open .ifichi-header .header-title { position: relative; z-index: 2; }

@media (max-width: 799px) {
  .ifichi-header .header-inner { padding: 6vw 6vw; }
  .ifichi-header .header-title-logo img { height: 30px; }
  .ifichi-header .header-nav { display: none; }
  .ifichi-header .header-burger { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  .ifichi-header .burger-inner > span, .ifichi-header .header-menu { transition: none; }
}

/* Configuratore catering: senza illustrazioni vere il cartellino del segnaposto non si mostra, e sul
   telefono (disegno alto 28vh) il titolo del disegno finiva sotto i riquadri: lì il titolo lo dà il pannello. */
.fichi-evtcfg__stage-note:empty { display: none; }
@media (max-width: 560px) {
  .fichi-evtcfg__stage-title { display: none; }
}

/* ==========================================================================
   Le pagine legali (Privacy e Cookie policy, IT e EN) — blocchi normali di WordPress,
   modificabili dal pannello come un testo qualsiasi. Gettoni dal foglio di stile dei Fichi:
   crema e inchiostro, titolo Anton maiuscolo con la parola nell'accento, corpo Inter.
   ========================================================================== */
.ifichi-main:has(> .fi-legale), .fi-legale{ background:#FAF3E0 }
/* sulle pagine chiare la testata non galleggia sulla foto: fascia notte, come il piede */
body:has(.fi-legale) .ifichi-header-part{ position:relative; background:#1A1A1A }
.fi-legale{
  color:#1A1A1A; font-family:'Inter','Helvetica Neue',Arial,sans-serif; font-size:16px; line-height:1.6;
  max-width:44rem; margin:0 auto; padding:clamp(56px, 7vw, 104px) clamp(20px, 4vw, 57.6px) clamp(64px, 7.8vw, 112px);
  box-sizing:content-box;
}
.fi-legale > *{ max-width:40rem }
.fi-legale__occhiello{ font-size:11.5px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:#B03D38; margin:0 0 1.3em }
.fi-legale h1{ font-family:'Anton','Arial Narrow',Impact,sans-serif; font-weight:400; text-transform:uppercase;
  font-size:clamp(3rem, 1.6rem + 5vw, 6.2rem); line-height:.93; letter-spacing:-.025em; margin:0 0 .35em; text-wrap:balance; max-width:none }
.fi-legale h1 em{ font-style:normal; color:#B03D38 }
.fi-legale__attacco{ font-size:clamp(1.1rem, 1rem + .45vw, 1.35rem); line-height:1.5; margin:0 0 2.2em }
.fi-legale h2{ font-family:'Anton','Arial Narrow',Impact,sans-serif; font-weight:400; text-transform:uppercase;
  font-size:clamp(1.6rem, 1.3rem + 1vw, 2.3rem); line-height:1; letter-spacing:-.01em; margin:2.2em 0 .6em }
.fi-legale p{ margin:0 0 1em }
.fi-legale a{ color:#B03D38; text-decoration:none; border-bottom:1px solid rgba(176,61,56,.35) }
.fi-legale a:hover{ border-bottom-color:currentColor }
.fi-legale .wp-block-table{ margin:1.2em 0 1.4em; overflow-x:auto }
.fi-legale table{ width:100%; border-collapse:collapse; font-size:15px; border:0 }
.fi-legale th,.fi-legale td{ text-align:left; vertical-align:top; padding:12px 16px 12px 0; border:0; border-bottom:1px solid rgba(26,26,26,.14) }
.fi-legale th{ font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#5D5B55 }
.fi-legale td:first-child{ font-family:ui-monospace,Menlo,monospace; font-size:13.5px; white-space:nowrap }
.fi-legale td:last-child{ white-space:nowrap }
.fi-legale__nota{ margin-top:3em !important; padding-top:1.4em; border-top:1px solid rgba(26,26,26,.14); font-size:14px; color:#5D5B55 }
@media (max-width:600px){ .fi-legale td:first-child{ font-size:12px; padding-right:12px } } /* i nomi dei cookie restano interi: a stringersi è la colonna del testo */
