/* =========================================================
   Kiara's Cakes - Design system
   Un solo foglio di stile. Le variabili in :root controllano
   colori, spazi e font di tutto il sito.
   ========================================================= */

:root{
  /* Colori — palette sul modello di peggyporschen.com:
     rosa unico protagonista, sfondi bianco-rosati, testo bordeaux, angoli vivi. */
  --crema:        #FDF7F7;   /* sfondo dominante: bianco rosato, mai bianco puro */
  --crema-scuro:  #FAF0F0;   /* sfondi di sezione alternati */
  --rosa:         #F4DDDD;   /* rosa cipria per le sezioni in evidenza */
  --rosa-chiaro:  #F9EDF5;   /* rosa lilla, per i blocchi informativi */
  --rosa-vivo:    #ED80A8;   /* il rosa identitario: bordi, dettagli, hover */
  --rosa-scuro:   #E0699A;
  --azione:       #C14368;   /* pulsanti: rosa profondo, leggibile in bianco */
  --azione-hover: #A53354;
  --marrone:      #6C2628;   /* testo: bordeaux, mai nero */
  --marrone-2:    #986769;   /* testo secondario */
  --salvia:       #F9EDF5;   /* blocchi informativi (prima verde salvia) */
  --salvia-2:     #ED80A8;
  --bianco:       #FFFFFF;
  --bordo:        #EDD9DB;

  /* Tipografia */
  --serif: "Playfair Display", "Iowan Old Style", Georgia, serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Misure — angoli vivi, come il riferimento */
  --max: 1180px;
  --raggio: 0;
  --raggio-s: 0;
  --ombra: 0 2px 16px rgba(108,38,40,.06);
  --ombra-alta: 0 10px 34px rgba(108,38,40,.10);
  --sezione: clamp(3.5rem, 7vw, 6rem);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:90px}
body{
  margin:0; background:var(--crema); color:var(--marrone);
  font-family:var(--sans); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--azione); text-decoration-thickness:1px; text-underline-offset:3px}
a:hover{color:var(--azione-hover)}
h1,h2,h3,h4{font-family:var(--serif); font-weight:600; line-height:1.18; color:var(--marrone); margin:0 0 .5em; text-wrap:balance}
h1{font-size:clamp(2rem, 5.2vw, 3.35rem); letter-spacing:-.01em}
h2{font-size:clamp(1.6rem, 3.6vw, 2.35rem)}
h3{font-size:clamp(1.2rem, 2.2vw, 1.5rem)}
h4{font-size:1.08rem; font-family:var(--sans); font-weight:600}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.1em; padding-left:1.15em}
li{margin-bottom:.35em}
hr{border:0; border-top:1px solid var(--bordo); margin:2.5rem 0}
:focus-visible{outline:3px solid var(--azione); outline-offset:3px; border-radius:4px}

.contenitore{width:100%; max-width:var(--max); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2rem)}
.contenitore-stretto{max-width:760px}
.sezione{padding-block:var(--sezione)}
.sezione--crema{background:var(--crema-scuro)}
.sezione--rosa{background:var(--rosa)}
.sezione--salvia{background:var(--rosa-chiaro)}
.sezione--bianco{background:var(--bianco)}
.centro{text-align:center}
.occhiello{
  font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--rosa-vivo); margin:0 0 .7rem;
}
.sottotitolo{font-size:1.09rem; color:var(--marrone-2); max-width:62ch}
.centro .sottotitolo{margin-inline:auto}
.nota{font-size:.88rem; color:var(--marrone-2)}
.testata-sezione{margin-bottom:clamp(2rem,4vw,3rem)}

/* ---------- Bottoni ---------- */
/* Pulsanti squadrati, in maiuscoletto spaziato, come nel riferimento */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--sans); font-size:.86rem; font-weight:600; line-height:1;
  letter-spacing:.09em; text-transform:uppercase;
  padding:1.05rem 1.6rem; border-radius:0; border:1px solid transparent;
  cursor:pointer; text-decoration:none; transition:background .18s, color .18s, border-color .18s, transform .12s;
  min-height:48px;
}
.btn:active{transform:translateY(1px)}
.btn--primario{background:var(--azione); color:#fff}
.btn--primario:hover{background:var(--azione-hover); color:#fff}
.btn--secondario{background:#fff; color:var(--azione); border-color:var(--rosa-vivo)}
.btn--secondario:hover{background:var(--rosa-chiaro); color:var(--azione-hover)}
.btn--fantasma{background:transparent; color:var(--marrone); border-color:var(--bordo)}
.btn--fantasma:hover{background:var(--rosa-chiaro); color:var(--marrone)}
.btn--chiaro{background:#fff; color:var(--azione); border-color:#fff}
.btn--chiaro:hover{background:var(--crema); color:var(--azione-hover)}
.btn--largo{width:100%}
.btn svg{width:19px; height:19px; flex:none}
.gruppo-btn{display:flex; flex-wrap:wrap; gap:.75rem}
.centro .gruppo-btn{justify-content:center}

/* ---------- Barra informativa in cima ---------- */
.topbar{
  background:var(--marrone); color:#F3E7DE; font-size:.84rem;
  padding:.5rem 0;
}
.topbar .contenitore{display:flex; gap:1.25rem; align-items:center; justify-content:center; flex-wrap:wrap}
.topbar a{color:#F3E7DE; text-decoration:none}
.topbar a:hover{color:#fff; text-decoration:underline}
.stato-apertura{display:inline-flex; align-items:center; gap:.4rem; font-weight:600}
.stato-apertura::before{content:""; width:8px; height:8px; border-radius:50%; background:#8FD6A8}
.stato-apertura[data-stato="chiuso"]::before{background:var(--rosa-scuro)}

/* ---------- Header ---------- */
.header{
  position:sticky; top:0; z-index:60; background:rgba(253,248,243,.94);
  backdrop-filter:saturate(1.4) blur(8px); border-bottom:1px solid var(--bordo);
}
.header .contenitore{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:72px}
.logo{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--marrone)}
.logo img{width:46px; height:46px}
.logo-testo{font-family:var(--serif); font-size:1.32rem; font-weight:600; line-height:1.05}
/* Il sottotitolo è una frase di posizionamento, non due parole:
   spaziatura contenuta e interlinea stretta per restare su una riga sola. */
.logo-testo span{display:block; font-family:var(--sans); font-size:.62rem; font-weight:600;
  letter-spacing:.05em; text-transform:uppercase; color:var(--marrone-2); line-height:1.3}
.nav{display:flex; align-items:center; gap:.2rem}
.nav a{
  font-size:.95rem; font-weight:500; color:var(--marrone); text-decoration:none;
  padding:.55rem .7rem; border-radius:8px;
}
.nav a:hover{background:var(--rosa); color:var(--marrone)}
.nav a[aria-current="page"]{color:var(--azione); font-weight:600}
/* il pulsante dentro la navigazione non deve ereditare da .nav a */
.nav .btn{margin-left:.6rem; padding:.8rem 1.15rem; min-height:44px; border-radius:0}
.nav .btn--primario{color:#fff}
.nav .btn--primario:hover{background:var(--azione-hover); color:#fff}
.apri-menu{
  display:none; background:none; border:1.5px solid var(--bordo); border-radius:10px;
  width:46px; height:46px; align-items:center; justify-content:center; cursor:pointer; color:var(--marrone);
}
.apri-menu svg{width:22px; height:22px}

/* Menu a tendina (voci con sottopagine) */
.nav-gruppo{position:relative}
.nav-gruppo > a::after{content:"\25BE"; font-size:.7em; margin-left:.3em; color:var(--marrone-2)}
.nav-sotto{
  position:absolute; top:100%; left:0; min-width:250px; background:#fff; border:1px solid var(--bordo);
  border-radius:var(--raggio); box-shadow:var(--ombra-alta); padding:.5rem; display:none; z-index:70;
}
.nav-gruppo:hover .nav-sotto, .nav-gruppo:focus-within .nav-sotto{display:block}
.nav-sotto a{display:block; padding:.6rem .8rem; font-size:.93rem}

/* ---------- Blocco "In breve" ---------- */
.in-breve{
  background:var(--rosa-chiaro); border-left:3px solid var(--rosa-vivo);
  border-radius:0; padding:1.4rem 1.5rem; margin:0 0 2.5rem; max-width:74ch;
}
.in-breve__etichetta{
  display:block; font-family:var(--sans); font-size:.74rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--azione); margin-bottom:.55rem;
}
.in-breve p{margin:0; font-size:1.02rem; color:var(--marrone)}
.in-breve p + p{margin-top:.7rem}

/* ---------- Griglie ---------- */
.griglia{display:grid; gap:clamp(1rem,2.4vw,1.75rem)}
.griglia--2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.griglia--3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.griglia--4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* ---------- Card prodotto (unica, declinabile) ---------- */
.card{
  background:#fff; border:1px solid var(--bordo); border-radius:var(--raggio);
  overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--ombra);
  transition:transform .18s, box-shadow .18s;
}
.card--link:hover{transform:translateY(-3px); box-shadow:var(--ombra-alta)}
.card__foto{position:relative; aspect-ratio:4/3; background:var(--rosa); overflow:hidden}
.card__foto img{width:100%; height:100%; object-fit:cover}
.card--alta .card__foto{aspect-ratio:3/4}
.card__badge{
  position:absolute; top:.7rem; left:.7rem; background:rgba(255,255,255,.94); color:var(--marrone);
  font-size:.72rem; font-weight:600; letter-spacing:.04em; padding:.3rem .6rem; border-radius:999px;
}
.card__corpo{padding:1.15rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.5rem; flex:1}
.card__titolo{font-family:var(--serif); font-size:1.2rem; font-weight:600; margin:0}
.card__titolo a{color:var(--marrone); text-decoration:none}
.card__titolo a:hover{color:var(--azione)}
.card__testo{font-size:.94rem; color:var(--marrone-2); margin:0; flex:1}
.card__piede{display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:.35rem}
.card__prezzo{font-weight:600; font-size:1rem; color:var(--marrone)}
.card__prezzo small{display:block; font-weight:400; font-size:.78rem; color:var(--marrone-2)}
.card__azione{font-size:.92rem; font-weight:600; text-decoration:none; white-space:nowrap}

/* Mosaico di fotografie quadrate, due per riga */
.mosaico{display:grid; grid-template-columns:1fr 1fr; gap:clamp(.6rem,1.5vw,1rem)}
.mosaico img{
  width:100%; height:100%; aspect-ratio:1; object-fit:cover;
  box-shadow:var(--ombra);
}

/* Card percorso (home) */
.percorso{
  position:relative; display:block; border-radius:var(--raggio); overflow:hidden;
  text-decoration:none; color:#fff; min-height:340px; background:var(--rosa-scuro);
  box-shadow:var(--ombra);
}
.percorso img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.percorso__vel{position:absolute; inset:0; background:linear-gradient(180deg,rgba(67,48,42,0) 32%,rgba(67,48,42,.78) 100%)}
.percorso__testo{position:absolute; inset:auto 0 0 0; padding:1.4rem 1.4rem 1.5rem}
.percorso h3{color:#fff; margin:0 0 .3rem; font-size:1.5rem}
.percorso p{color:#F6E7DF; margin:0; font-size:.95rem}
.percorso__freccia{display:inline-block; margin-top:.7rem; font-weight:600; font-size:.92rem; color:#fff}
.percorso:hover .percorso__freccia{text-decoration:underline}

/* ---------- Hero ---------- */
.hero{background:var(--crema); padding-block:clamp(2.5rem,5vw,4.5rem) clamp(2rem,4vw,3.5rem)}
.hero__griglia{display:grid; gap:clamp(1.8rem,4vw,3.5rem); align-items:center; grid-template-columns:1fr}
@media (min-width:900px){ .hero__griglia{grid-template-columns:1.02fr .98fr} }
.hero h1{margin-bottom:.55rem}
.hero__foto{border-radius:var(--raggio); overflow:hidden; box-shadow:var(--ombra-alta); aspect-ratio:4/3}
.hero__foto img{width:100%; height:100%; object-fit:cover}
.hero__dati{display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin-top:1.4rem; font-size:.92rem; color:var(--marrone-2)}
.hero__dati span{display:inline-flex; align-items:center; gap:.4rem}

/* Intestazione di pagina interna */
.intestazione{background:var(--crema-scuro); padding-block:clamp(2.2rem,4.5vw,3.4rem) clamp(1.8rem,3.5vw,2.6rem); border-bottom:1px solid var(--bordo)}
.briciole{font-size:.83rem; color:var(--marrone-2); margin:0 0 .9rem}
.briciole a{color:var(--marrone-2)}
.briciole span{margin-inline:.4rem}

/* ---------- Recensione ---------- */
.recensione{
  background:#fff; border:1px solid var(--bordo); border-left:3px solid var(--rosa-vivo);
  border-radius:0; padding:1.3rem 1.4rem; display:flex; flex-direction:column; gap:.8rem;
}
.stelle{color:#D9A441; font-size:.95rem; letter-spacing:.12em}
.recensione p{margin:0; font-size:1rem; color:var(--marrone)}
.recensione__firma{font-size:.87rem; color:var(--marrone-2); margin:0}
.recensione__firma strong{color:var(--marrone); font-weight:600}

/* ---------- Fascia WhatsApp ---------- */
.fascia-cta{background:var(--rosa); padding-block:clamp(2.5rem,5vw,3.6rem)}
.fascia-cta__interno{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem}
.fascia-cta h2{margin:0 0 .35rem}
.fascia-cta p{margin:0; color:var(--marrone-2); max-width:52ch}

/* ---------- Orari e contatti ---------- */
.orari{width:100%; border-collapse:collapse; font-size:.96rem}
.orari th, .orari td{text-align:left; padding:.5rem 0; border-bottom:1px solid var(--bordo); font-weight:400}
.orari th{font-weight:500; width:9.5rem}
/* La riga del giorno corrente: grassetto, colore delle call to action
   e l'etichetta "oggi", aggiunta dal JavaScript. */
.orari tr[data-oggi="1"] th, .orari tr[data-oggi="1"] td{font-weight:700; color:var(--azione)}
.etichetta-oggi{
  display:inline-block; margin-left:.5rem; padding:.1rem .45rem; border-radius:999px;
  background:var(--azione); color:#fff; font-size:.68rem; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; vertical-align:.08em;
}
.orari td.chiuso{color:var(--marrone-2)}
.blocco-contatti{display:grid; gap:.55rem; font-size:1rem; list-style:none; padding:0; margin:0}
.blocco-contatti li{display:flex; gap:.6rem; align-items:flex-start; margin:0}
.blocco-contatti svg{width:18px; height:18px; margin-top:.28rem; flex:none; color:var(--azione)}
.mappa{border:0; width:100%; height:100%; min-height:320px; border-radius:var(--raggio)}
.mappa-box{border-radius:var(--raggio); overflow:hidden; box-shadow:var(--ombra); background:var(--crema-scuro)}

/* ---------- FAQ ---------- */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--bordo); background:transparent}
.faq details:first-of-type{border-top:1px solid var(--bordo)}
.faq summary{
  list-style:none; cursor:pointer; padding:1.15rem 2.4rem 1.15rem 0; position:relative;
  font-family:var(--sans); font-weight:600; font-size:1.02rem; color:var(--marrone); min-height:48px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:""; position:absolute; right:.35rem; top:1.45rem; width:11px; height:11px;
  border-right:2px solid var(--azione); border-bottom:2px solid var(--azione);
  transform:rotate(45deg); transition:transform .2s;
}
.faq details[open] summary::after{transform:rotate(-135deg); top:1.7rem}
.faq summary:hover{color:var(--azione)}
.faq__risposta{padding:0 0 1.25rem; color:var(--marrone-2)}
.faq__risposta p:last-child{margin-bottom:0}

/* ---------- Elenco gusti / voci semplici ---------- */
.elenco-gusti{list-style:none; padding:0; margin:0; display:grid; gap:.15rem; grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.elenco-gusti li{
  display:flex; justify-content:space-between; gap:1rem; align-items:baseline;
  padding:.6rem 0; border-bottom:1px dashed var(--bordo); margin:0; font-size:.98rem;
}
.elenco-gusti b{font-weight:600}
.elenco-gusti span{color:var(--marrone-2); font-size:.9rem; text-align:right}

/* Passi numerati */
.passi{list-style:none; counter-reset:p; padding:0; margin:0; display:grid; gap:1.25rem}
.passi li{counter-increment:p; padding-left:3.1rem; position:relative; margin:0}
.passi li::before{
  content:counter(p); position:absolute; left:0; top:-.1rem; width:2.2rem; height:2.2rem;
  background:var(--rosa); color:var(--marrone); border-radius:50%; display:grid; place-items:center;
  font-weight:700; font-size:.95rem;
}
.passi h3{margin:0 0 .25rem; font-size:1.12rem; font-family:var(--sans); font-weight:600}
.passi p{margin:0; color:var(--marrone-2); font-size:.96rem}

/* Riquadro informativo */
.riquadro{background:#fff; border:1px solid var(--bordo); border-radius:var(--raggio); padding:1.4rem 1.5rem; box-shadow:var(--ombra)}
.riquadro h3{margin-top:0}
.riquadro > :last-child{margin-bottom:0}

/* ---------- Galleria ---------- */
.filtri{position:sticky; top:72px; z-index:40; background:var(--crema); border-bottom:1px solid var(--bordo); padding:.9rem 0}
.filtri__asse + .filtri__asse{margin-top:.55rem}
.filtri__riga{display:flex; align-items:center; gap:.6rem}
.filtri__etichetta{
  font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--marrone-2); flex:none; width:5.6rem;
}
.chips{display:flex; gap:.45rem; overflow-x:auto; scrollbar-width:none; padding:.15rem .1rem; -webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex:none; background:#fff; border:1px solid var(--bordo); color:var(--marrone);
  font-family:var(--sans); font-size:.88rem; font-weight:500; padding:.5rem .9rem; border-radius:999px;
  cursor:pointer; white-space:nowrap; min-height:40px; transition:background .15s,border-color .15s,color .15s;
}
.chip:hover{border-color:var(--rosa-vivo); background:var(--rosa-chiaro)}
.chip[aria-pressed="true"]{background:var(--azione); border-color:var(--azione); color:#fff}
.filtri__stato{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.75rem; font-size:.9rem; color:var(--marrone-2)}
.filtri__azioni{display:flex; align-items:center; gap:.9rem}
.azzera{background:none; border:0; color:var(--azione); font:inherit; font-weight:600; cursor:pointer; padding:.4rem .2rem; text-decoration:underline}
/* Il pulsante che conferma i filtri scelti */
.btn--filtra{min-height:42px; padding:.7rem 1.2rem; font-size:.78rem}
.btn--filtra:disabled{background:var(--bordo); border-color:var(--bordo); color:var(--marrone-2); cursor:default}
.btn--attesa{animation:pulsa 1.6s ease-in-out infinite}
@keyframes pulsa{0%,100%{box-shadow:0 0 0 0 rgba(237,128,168,.45)}50%{box-shadow:0 0 0 7px rgba(237,128,168,0)}}
.galleria{display:grid; gap:clamp(.8rem,2vw,1.4rem); grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.galleria .card{margin:0}
.vuoto{text-align:center; padding:3.5rem 1rem; color:var(--marrone-2)}

/* Scheda torta */
.scheda__griglia{display:grid; gap:clamp(1.6rem,3.5vw,3rem); grid-template-columns:1fr}
@media (min-width:920px){ .scheda__griglia{grid-template-columns:1.15fr .85fr; align-items:start} }
.scheda__foto-principale{border-radius:var(--raggio); overflow:hidden; box-shadow:var(--ombra); aspect-ratio:4/5; background:var(--rosa)}
.scheda__foto-principale img{width:100%; height:100%; object-fit:cover}
.scheda__miniature{display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin-top:.6rem}
.scheda__miniature button{padding:0; border:2px solid transparent; background:none; border-radius:0; overflow:hidden; cursor:pointer; aspect-ratio:1}
.scheda__miniature button[aria-current="true"]{border-color:var(--azione)}
.scheda__miniature img{width:100%; height:100%; object-fit:cover}
.scheda__pannello{position:sticky; top:96px}
.dati{list-style:none; padding:0; margin:0 0 1.5rem; border-top:1px solid var(--bordo)}
.dati li{display:flex; gap:1rem; justify-content:space-between; padding:.7rem 0; border-bottom:1px solid var(--bordo); margin:0; font-size:.95rem}
.dati b{color:var(--marrone-2); font-weight:500}
.dati span{text-align:right; font-weight:600}
.etichette{display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 1.5rem; padding:0; list-style:none}
.etichette li{margin:0}
.etichette a{
  display:inline-block; background:var(--crema-scuro); border:1px solid var(--bordo); color:var(--marrone-2);
  font-size:.82rem; padding:.32rem .7rem; border-radius:999px; text-decoration:none;
}
.etichette a:hover{background:var(--rosa); color:var(--marrone)}

/* ---------- Articoli diario ---------- */
.articolo{max-width:720px}
.articolo h2{margin-top:2.2rem}
.articolo img{border-radius:var(--raggio); margin:1.8rem 0}
.meta-articolo{font-size:.88rem; color:var(--marrone-2); margin-bottom:1.5rem}

/* ---------- Footer ---------- */
.footer{background:var(--marrone); color:#EFE1D8; padding-block:clamp(2.8rem,5vw,4rem) 2rem}
.footer a{color:#EFE1D8; text-decoration:none}
.footer a:hover{color:#fff; text-decoration:underline}
.footer h3{color:#fff; font-family:var(--sans); font-size:.8rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin-bottom:1rem}
.footer__griglia{display:grid; gap:2.2rem; grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.footer ul{list-style:none; padding:0; margin:0; display:grid; gap:.5rem; font-size:.95rem}
.footer .orari th, .footer .orari td{border-color:rgba(255,255,255,.16); font-size:.9rem; padding:.35rem 0}
.footer .orari tr[data-oggi="1"] th, .footer .orari tr[data-oggi="1"] td{color:#F8DEE7}
.footer .etichetta-oggi{background:var(--rosa); color:var(--marrone)}
.footer .blocco-contatti svg{color:var(--rosa-scuro)}
.footer__coda{
  margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.16);
  display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; justify-content:space-between; font-size:.85rem; color:#CDB8AD;
}
.footer__coda a{color:#CDB8AD}

/* ---------- Barra fissa mobile ---------- */
.barra-mobile{
  position:fixed; left:0; right:0; bottom:0; z-index:80; display:none;
  background:rgba(253,248,243,.97); backdrop-filter:blur(8px); border-top:1px solid var(--bordo);
  padding:.4rem .4rem calc(.4rem + env(safe-area-inset-bottom));
  box-shadow:0 -3px 18px rgba(67,48,42,.10);
}
.barra-mobile ul{display:grid; grid-template-columns:repeat(3,1fr); gap:.3rem; list-style:none; margin:0; padding:0}
.barra-mobile li{margin:0}
.barra-mobile a{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.22rem;
  padding:.5rem .2rem; border-radius:10px; text-decoration:none; color:var(--marrone);
  font-size:.75rem; font-weight:600; min-height:54px;
}
.barra-mobile a svg{width:21px; height:21px}
.barra-mobile a.evidenza{background:var(--azione); color:#fff}

/* ---------- Menu mobile ---------- */
.menu-mobile{
  position:fixed; inset:0; z-index:100; background:var(--crema); padding:1.1rem;
  overflow-y:auto; display:none;
}
.menu-mobile.aperto{display:block}
.menu-mobile__testa{display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem}
.menu-mobile nav{display:grid; gap:.1rem}
.menu-mobile nav a{
  display:block; padding:.9rem .4rem; font-size:1.1rem; font-weight:500; color:var(--marrone);
  text-decoration:none; border-bottom:1px solid var(--bordo);
}
.menu-mobile nav a.figlia{padding-left:1.6rem; font-size:.98rem; color:var(--marrone-2)}
.menu-mobile .btn{margin-top:1.5rem}
.chiudi-menu{background:none; border:1.5px solid var(--bordo); border-radius:10px; width:46px; height:46px; cursor:pointer; color:var(--marrone); font-size:1.4rem; line-height:1}

/* ---------- Segnaposto foto ---------- */
.segnaposto{position:relative}
.segnaposto::after{
  content:"SEGNAPOSTO"; position:absolute; right:.55rem; bottom:.55rem;
  background:rgba(67,48,42,.72); color:#fff; font-size:.6rem; font-weight:700; letter-spacing:.1em;
  padding:.22rem .45rem; border-radius:4px; pointer-events:none;
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .nav{display:none}
  .apri-menu{display:flex}
}
@media (max-width:768px){
  body{font-size:16px; padding-bottom:66px}
  .barra-mobile{display:block}
  .filtri{top:64px}
  .header .contenitore{min-height:64px}
  .logo img{width:40px; height:40px}
  .logo-testo{font-size:1.15rem}
  .logo-testo span{font-size:.55rem; letter-spacing:.02em}
  .topbar{font-size:.78rem}
  .topbar .contenitore{gap:.9rem}
  .scheda__pannello{position:static}
  /* Su schermo stretto i filtri non restano appiccicati: quattro file di chip
     occuperebbero un terzo dello schermo. Le etichette degli assi restano
     visibili sopra ogni fila, altrimenti non si capisce cosa si sta filtrando. */
  .filtri{position:static; padding:.8rem 0}
  .filtri__riga{flex-direction:column; align-items:stretch; gap:.3rem}
  .filtri__etichetta{width:auto; font-size:.68rem}
  .filtri__asse + .filtri__asse{margin-top:.7rem}
  .galleria{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .fascia-cta__interno{flex-direction:column; align-items:flex-start}
}
@media (max-width:420px){
  .griglia--4{grid-template-columns:1fr 1fr}
}
@media print{
  .header,.topbar,.barra-mobile,.fascia-cta,.filtri{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important}
}

/* Rose atelier — Kiara's Cakes */
:root{--crema:#fffafa;--crema-scuro:#fcf2f5;--rosa:#f4dce5;--rosa-chiaro:#f8edf4;--rosa-vivo:#d87098;--rosa-scuro:#cc648c;--azione:#b94470;--azione-hover:#963255;--marrone:#6a344b;--marrone-2:#866775;--bordo:#eddae2;--max:1320px}
body{font-size:16px}h1,h2,h3{font-weight:500}h2{font-size:clamp(2rem,3.8vw,3.15rem);letter-spacing:-.025em}.occhiello{color:#a8496c;font-size:.7rem;letter-spacing:.22em}.topbar{background:#f4dce5;color:#6a344b;font-size:.72rem;letter-spacing:.05em}.topbar a{color:#6a344b}.header{background:rgba(255,250,250,.97)}.header .contenitore{min-height:92px}.logo img{width:62px;height:62px}.logo-testo{font-size:1.6rem}.logo-testo span{font-size:.55rem;letter-spacing:.12em;margin-top:7px}.nav a{font-size:.78rem;letter-spacing:.05em;border-radius:0}.nav .btn{font-size:.68rem}.btn{font-size:.7rem;letter-spacing:.12em;font-weight:500;min-height:48px}.btn svg{width:18px}.hero__foto{box-shadow:none}.card{box-shadow:none;border-color:var(--bordo)}.card__foto img,.percorso img{transition:transform .5s ease}.card:hover .card__foto img,.percorso:hover img{transform:scale(1.035)}.card__badge{background:#fffafa;color:var(--marrone)}.card__titolo{font-weight:500}.footer{background:#69394d}.nav-gruppo:focus-within .nav-sotto{opacity:1;visibility:visible;transform:none;pointer-events:auto}.home-rose .hero{padding:0;background:#f8eaf0}.home-rose .hero>.contenitore{max-width:1600px;padding:0}.home-rose .hero__griglia{gap:0;grid-template-columns:1fr 1fr;min-height:610px}.home-rose .hero__griglia>div:first-child{padding:65px clamp(28px,6vw,100px)}.home-rose .hero h1{font-size:clamp(3.4rem,5.4vw,5.3rem);line-height:1.06;color:#b94b76;letter-spacing:-.045em;margin:22px 0}.home-rose .hero h1 em{font-weight:400}.home-rose .hero .sottotitolo{font-size:1rem;max-width:44ch;line-height:1.85}.home-rose .hero__foto{height:100%;aspect-ratio:auto;min-height:610px}.home-rose .hero__foto img{height:100%;object-position:center}.home-rose .hero__dati{font-size:.72rem;letter-spacing:.04em}.rose-intro{text-align:center;max-width:780px;margin:auto;padding:75px 24px 50px}.rose-intro p{font-size:1rem;color:var(--marrone-2);line-height:1.9}.rose-intro h2{margin-bottom:20px}.home-rose .percorso{min-height:440px}.home-rose .percorso h3{font-size:2.2rem}.home-rose .percorso__testo p{font-size:.9rem}.home-rose .sezione--rosa{background:#f8eaf0}.home-rose .testata-sezione{max-width:750px}.rose-note{border-block:1px solid var(--bordo);padding:30px 24px;display:flex;justify-content:center;gap:70px;text-align:center;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;color:#96536e}.skip-link{position:fixed;left:16px;top:-80px;z-index:999;padding:12px;background:#fff;color:#6a344b}.skip-link:focus{top:10px}
@media(max-width:1100px){.nav a{padding:.55rem .45rem}.logo-testo{font-size:1.3rem}.logo img{width:48px;height:48px}}
@media(max-width:980px){.header .contenitore{min-height:78px}.home-rose .hero__griglia{grid-template-columns:1fr 1fr;min-height:510px}.home-rose .hero__foto{min-height:510px}.home-rose .hero h1{font-size:3.7rem}.home-rose .hero__griglia>div:first-child{padding:40px 28px}}
@media(max-width:700px){.home-rose .hero__griglia{grid-template-columns:1fr}.home-rose .hero__griglia>div:first-child{padding:42px 25px 35px}.home-rose .hero h1{font-size:3.5rem;max-width:9ch}.home-rose .hero__foto{min-height:0;height:370px}.home-rose .hero .gruppo-btn{gap:12px}.home-rose .hero .btn{padding:16px}.home-rose .hero__dati{margin-top:18px}.rose-intro{padding:50px 24px 30px}.rose-note{gap:20px;font-size:.58rem;padding:24px 15px}.home-rose .percorso{min-height:380px}.logo-testo span{letter-spacing:.04em}.header .contenitore{min-height:75px}}

.hero__dati svg{width:20px;height:20px;flex:none}.hero__dati .stato-apertura{white-space:nowrap}.home-rose .hero>.hero__griglia{height:650px;min-height:0}.home-rose .hero>.hero__griglia>.hero__foto{min-height:0;height:650px}@media(max-width:700px){.home-rose .hero>.hero__griglia{height:auto}.home-rose .hero>.hero__griglia>.hero__foto{height:370px}}

/* Respect semantic visibility, including filtered cards and empty states. */
[hidden]{display:none !important}

/* Original fruit landing: copy and section sequence preserved. */
.pagina-frutta .intestazione{background:var(--rosa-chiaro)}.pagina-frutta .contenitore-stretto{max-width:900px}.frutta-articolo{padding-top:55px;padding-bottom:70px}.frutta-articolo section{padding:38px 0;border-bottom:1px solid var(--bordo)}.frutta-articolo section:first-child{padding-top:0}.frutta-articolo h2{font-size:clamp(1.8rem,3.3vw,2.5rem);margin-bottom:25px}.frutta-articolo p{line-height:1.9}.frutta-foto{margin:35px auto 0;max-width:640px}.frutta-foto img{width:100%;height:auto}.frutta-articolo .in-breve{display:block;margin:40px 0 0;padding:30px}.frutta-articolo .in-breve h2{font-size:1.6rem}.frutta-citazione{font-family:var(--serif);font-size:2rem;color:var(--azione)}.frutta-faq{padding-top:20px}.frutta-faq h3{font-size:1.3rem}.frutta-faq p{margin-bottom:12px}
