/* =====================================================================
   CORE. — stili del sito pubblico
   verde #7ACF93 · verde chiaro #BEEFCB · rosa #E86CA4 · rosa chiaro #F6D4E6
   crema #FBF6EE · scuro #2A2422
   ===================================================================== */

/* Font ospitati sul sito (nessuna richiesta a Google: meglio per privacy e velocità) */
@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/archivo-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/archivo-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Fredoka';font-style:normal;font-display:swap;font-weight:300 700;src:url(../fonts/fredoka-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Fredoka';font-style:normal;font-display:swap;font-weight:300 700;src:url(../fonts/fredoka-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---------- Base ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Archivo',system-ui,-apple-system,sans-serif;background:#FBF6EE;color:#2A2422;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:#E86CA4;text-decoration:none;}
::selection{background:#E86CA4;color:#fff;}
[hidden]{display:none!important;}
:focus-visible{outline:3px solid #E86CA4;outline-offset:3px;}
details>summary{list-style:none;}
details>summary::-webkit-details-marker{display:none;}
.hl{color:#E86CA4;}

.skip-link{position:absolute;left:12px;top:-80px;z-index:200;background:#2A2422;color:#FBF6EE;padding:10px 18px;border-radius:999px;font-weight:800;}
.skip-link:focus{top:12px;color:#FBF6EE;}

@keyframes floaty{0%,100%{transform:translateY(0) rotate(-8deg);}50%{transform:translateY(-12px) rotate(8deg);}}
@keyframes beaconSweep{0%{transform:translateX(-50%) rotate(-34deg);}100%{transform:translateX(-50%) rotate(34deg);}}
@keyframes beaconSweep2{0%{transform:translateX(-50%) rotate(28deg);}100%{transform:translateX(-50%) rotate(-30deg);}}
@keyframes beaconGlow{0%,100%{opacity:0.55;}50%{opacity:0.9;}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Contenitore della pagina: taglia ciò che esce a destra senza bloccare l'header fisso */
.page{overflow-x:hidden;overflow-x:clip;position:relative;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,246,238,0.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:2px solid #2A2422;}
.site-header__in{max-width:1200px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo{display:flex;align-items:center;gap:8px;color:#2A2422;font-family:'Archivo',sans-serif;font-weight:900;font-size:26px;letter-spacing:-1.5px;line-height:1;}
.logo:hover{color:#2A2422;}
.logo__pepper{font-size:22px;transform:rotate(-12deg);display:inline-block;}
.logo__name{color:#E86CA4;}
.logo__dot{color:#7ACF93;}
.nav{display:flex;align-items:center;gap:28px;font-weight:700;font-size:15px;letter-spacing:0.2px;}
.nav__link{color:#2A2422;}
.nav__link:hover{color:#2A2422;}
.nav__order{background:#E86CA4;color:#fff;padding:11px 20px;border-radius:999px;font-weight:800;border:2px solid #2A2422;box-shadow:3px 3px 0 #2A2422;}
.nav__order:hover{color:#fff;}
.burger{display:none;flex-direction:column;gap:5px;background:#7ACF93;border:2px solid #2A2422;border-radius:12px;padding:11px 12px;cursor:pointer;box-shadow:2px 2px 0 #2A2422;}
.burger span{width:22px;height:3px;background:#2A2422;border-radius:2px;}

/* ---------- Menu mobile a scomparsa ---------- */
.drawer-backdrop{position:fixed;inset:0;z-index:60;background:rgba(42,36,34,0.55);opacity:0;pointer-events:none;transition:opacity .3s ease;}
.drawer{position:fixed;top:0;right:0;z-index:70;height:100%;width:96vw;max-width:520px;background:#7ACF93;border-left:3px solid #2A2422;box-shadow:-10px 0 30px rgba(42,36,34,0.25);transform:translateX(calc(100% + 48px));transition:transform .32s cubic-bezier(.4,.9,.3,1),visibility 0s linear .32s;visibility:hidden;display:flex;flex-direction:column;padding:24px;}
.nav-open .drawer{transform:translateX(0);visibility:visible;transition:transform .32s cubic-bezier(.4,.9,.3,1),visibility 0s;}
.nav-open .drawer-backdrop{opacity:1;pointer-events:auto;}
.drawer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.drawer__logo{font-weight:900;font-size:32px;letter-spacing:-1.2px;color:#E86CA4;}
.drawer__logo span{color:#FBF6EE;}
.drawer__close{width:52px;height:52px;border-radius:14px;background:#FBF6EE;border:2px solid #2A2422;box-shadow:2px 2px 0 #2A2422;font-size:28px;font-weight:900;line-height:1;cursor:pointer;color:#2A2422;}
.drawer__nav{display:flex;flex-direction:column;gap:2px;font-weight:900;font-size:clamp(42px,12vw,68px);letter-spacing:-0.02em;margin-top:24px;line-height:1;}
.drawer__nav a{color:#2A2422;padding:22px 4px;border-bottom:2px dashed rgba(42,36,34,0.3);}
.drawer__nav a:last-child{border-bottom:0;}
.drawer__order{margin-top:auto;text-align:center;background:#E86CA4;color:#fff;font-weight:800;font-size:22px;padding:20px;border-radius:999px;border:2px solid #2A2422;box-shadow:3px 3px 0 #2A2422;}
.drawer__order:hover{color:#fff;}
.drawer__note{margin:18px 0 0;text-align:center;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;color:#1f4d2e;}

@media (max-width:859.98px){
  .nav{display:none;}
  .burger{display:flex;}
}
@media (min-width:860px){
  .drawer,.drawer-backdrop{display:none;}
}

/* ---------- Elementi comuni ---------- */
.chip{display:inline-block;background:#7ACF93;border:2px solid #2A2422;border-radius:999px;padding:6px 14px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:14px;box-shadow:2px 2px 0 #2A2422;color:#2A2422;}
.chip--pink{background:#E86CA4;color:#fff;}
.chip--cream{background:#FBF6EE;}
.tag{display:inline-block;background:#7ACF93;border:2px solid #2A2422;border-radius:999px;padding:5px 12px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:13px;box-shadow:2px 2px 0 #2A2422;color:#2A2422;}
.btn{display:inline-block;font-weight:800;font-size:17px;padding:16px 30px;border-radius:999px;border:2.5px solid #2A2422;box-shadow:4px 4px 0 #2A2422;text-align:center;}
.btn--pink{background:#E86CA4;color:#fff;}
.btn--pink:hover{color:#fff;}
.btn--cream{background:#FBF6EE;color:#2A2422;}
.btn--cream:hover{color:#2A2422;}
.label{margin:0 0 12px;font-family:'Fredoka',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:1.2px;color:#7ACF93;-webkit-text-stroke:0.4px #2A2422;}
.ings{display:flex;flex-wrap:wrap;gap:8px;}
ul.ings{list-style:none;margin:0;padding:0;}
.ing{background:#fff;border:2px solid #2A2422;border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;color:#2A2422;}
.taste{margin-top:24px;background:#F6D4E6;border:2.5px solid #2A2422;border-radius:18px;box-shadow:4px 4px 0 #2A2422;padding:18px 20px;}
.taste__title{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:1px;color:#E86CA4;-webkit-text-stroke:0.4px #2A2422;}
.taste__text{margin:0;font-size:clamp(16px,3vw,18px);line-height:1.55;color:#4a1130;font-weight:500;}
.badge-spicy{position:absolute;top:14px;left:14px;background:#E86CA4;color:#fff;font-family:'Fredoka',sans-serif;font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px;border:2px solid #2A2422;}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.cta{flex:1 1 200px;text-align:center;font-weight:800;font-size:18px;padding:17px;border-radius:999px;border:2.5px solid #2A2422;box-shadow:4px 4px 0 #2A2422;}
.cta--pink{background:#E86CA4;color:#fff;}
.cta--pink:hover{color:#fff;}
.cta--cream{background:#fff;color:#2A2422;}
.cta--cream:hover{color:#2A2422;}

/* ---------- Hero ---------- */
.hero{background:#7ACF93;border-bottom:3px solid #2A2422;position:relative;overflow:hidden;}
.hero__beam{position:absolute;left:50%;bottom:0;width:200vmax;height:200vmax;transform-origin:50% 100%;z-index:0;pointer-events:none;}
.hero__beam--1{transform:translateX(-50%) rotate(-34deg);background:conic-gradient(from 0deg at 50% 100%, transparent 0deg, transparent 6deg, rgba(255,255,255,0.14) 12deg, transparent 18deg, transparent 30deg, rgba(255,255,255,0.10) 36deg, transparent 44deg, transparent 316deg, rgba(255,255,255,0.10) 324deg, transparent 330deg, transparent 342deg, rgba(255,255,255,0.14) 348deg, transparent 354deg);-webkit-mask:radial-gradient(ellipse 60% 75% at 50% 100%, #000 10%, transparent 72%);mask:radial-gradient(ellipse 60% 75% at 50% 100%, #000 10%, transparent 72%);animation:beaconSweep 11s ease-in-out infinite alternate;}
.hero__beam--2{transform:translateX(-50%) rotate(28deg);background:conic-gradient(from 0deg at 50% 100%, transparent 0deg, transparent 3deg, rgba(190,239,203,0.30) 7deg, transparent 11deg, transparent 350deg, rgba(190,239,203,0.26) 355deg, transparent 360deg);-webkit-mask:radial-gradient(ellipse 55% 70% at 50% 100%, #000 6%, transparent 68%);mask:radial-gradient(ellipse 55% 70% at 50% 100%, #000 6%, transparent 68%);animation:beaconSweep2 8s ease-in-out infinite alternate;}
.hero__glow{position:absolute;left:50%;bottom:-40%;width:min(90%,760px);height:70%;transform:translateX(-50%);z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 100%, rgba(255,255,255,0.4), rgba(255,255,255,0) 62%);animation:beaconGlow 6s ease-in-out infinite;}
.hero__in{max-width:1100px;margin:0 auto;padding:clamp(48px,9vw,96px) 20px clamp(44px,7vw,80px);text-align:center;position:relative;z-index:2;}
.hero__pepper{font-size:clamp(56px,13vw,120px);line-height:0.8;margin-bottom:18px;animation:floaty 4s ease-in-out infinite;display:inline-block;}
.hero__title{margin:0;font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(88px,26vw,260px);line-height:0.82;letter-spacing:-0.05em;color:#E86CA4;}
.hero__title span{color:#FBF6EE;}
.hero__sub{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0 6px;}
.hero__line{width:clamp(24px,8vw,56px);height:3px;background:#E86CA4;border-radius:2px;}
.hero__subtext{margin:0;font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(18px,4.4vw,26px);color:#E86CA4;line-height:1.05;}
.hero__text{max-width:520px;margin:22px auto 0;font-size:clamp(16px,3.6vw,19px);font-weight:500;line-height:1.5;color:#1f4d2e;}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;}

/* ---------- Striscia scorrevole ---------- */
.marquee{background:#2A2422;color:#FBF6EE;border-bottom:3px solid #2A2422;overflow:hidden;padding:12px 0;}
.marquee__track{display:flex;white-space:nowrap;width:max-content;animation:marquee 22s linear infinite;font-family:'Fredoka',sans-serif;font-weight:700;font-size:18px;letter-spacing:0.5px;}
.marquee__track span{padding:0 24px;}
.marquee__track .dot-g{color:#7ACF93;}
.marquee__track .dot-p{color:#E86CA4;}

/* ---------- Carosello "Tutti i panini" ---------- */
.panini{background:#FBF6EE;padding:clamp(40px,7vw,72px) 0 clamp(48px,8vw,80px);position:relative;}
.sec-head{max-width:1180px;margin:0 auto;padding:0 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.sec-title{margin:14px 0 0;font-weight:900;font-size:clamp(32px,6.5vw,56px);line-height:0.92;letter-spacing:-0.03em;}
.sec-hint{margin:8px 0 0;font-size:15px;color:#4a4340;font-weight:500;}
.car-arrows{display:flex;gap:12px;}
.car-btn{width:52px;height:52px;border-radius:999px;background:#FBF6EE;border:2.5px solid #2A2422;box-shadow:3px 3px 0 #2A2422;font-size:24px;font-weight:900;cursor:pointer;color:#2A2422;line-height:1;padding:0;}
.car-btn--next{background:#E86CA4;color:#fff;}
.car-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;-webkit-overflow-scrolling:touch;padding:max(60px,4.4vw) 20px 12px;margin-top:8px;scrollbar-width:none;}
.car-track::-webkit-scrollbar{display:none;}
@media (max-width:859.98px){
  .car-arrows{display:none;}
}

.card{scroll-snap-align:start;flex:0 0 auto;width:max(250px,calc((100% - 66px)/4));background:transparent;border:none;padding:0;cursor:pointer;text-align:center;font-family:inherit;position:relative;display:block;color:#2A2422;line-height:normal;font-size:13.3333px;}
.card:hover{color:#2A2422;}
.card__media{position:relative;width:100%;aspect-ratio:4/3;border:3px solid #2A2422;border-radius:20px;box-shadow:6px 6px 0 #2A2422;display:flex;align-items:flex-end;justify-content:center;overflow:visible;}
.card__img{position:absolute;bottom:-30%;left:50%;transform:translateX(-50%);width:114%;height:auto;max-width:none;filter:drop-shadow(0 14px 16px rgba(42,36,34,0.32));pointer-events:none;}
.card__media--cover{overflow:hidden;}
.card__media--cover .card__img{bottom:auto;top:0;left:0;transform:none;width:100%;height:100%;object-fit:cover;filter:none;}
.card__name{display:block;margin-top:18px;background:#fff;border:2.5px solid #2A2422;border-radius:14px;box-shadow:3px 3px 0 #2A2422;padding:12px 10px;font-weight:900;font-size:20px;letter-spacing:-0.02em;color:#2A2422;}
.card__price{display:block;margin-top:4px;font-size:17px;color:#E86CA4;letter-spacing:0;}
.card:hover .card__media{transform:translateY(-2px);}
.card__media{transition:transform .2s ease;}

/* ---------- La storia ---------- */
.story{background:#FBF6EE;padding:clamp(56px,9vw,110px) 20px;}
.story__in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(32px,5vw,64px);}
.story__media{flex:1 1 300px;min-width:280px;order:2;}
.story__body{flex:1 1 340px;min-width:280px;order:1;}
.story__title{margin:18px 0 0;font-weight:900;font-size:clamp(36px,7vw,64px);line-height:0.92;letter-spacing:-0.03em;color:#2A2422;}
.story__text{margin:20px 0 0;font-size:clamp(16px,3.4vw,18px);line-height:1.65;color:#4a4340;max-width:520px;}
.story__text+.story__text{margin-top:14px;}
.stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:30px;}
.stat__value{font-weight:900;font-size:40px;color:#E86CA4;line-height:1;}
.stat:nth-child(3n+2) .stat__value{color:#7ACF93;}
.stat:nth-child(3n+3) .stat__value{color:#2A2422;}
.stat__label{font-family:'Fredoka',sans-serif;font-weight:600;color:#4a4340;}

/* Bigliettini: un tocco manda la foto davanti in fondo al mazzo */
.st-stack{position:relative;display:block;width:100%;aspect-ratio:1/1;margin:0;padding:0;background:none;border:0;border-radius:26px;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.st-card{position:absolute;left:50%;top:50%;width:min(74%,380px);display:flex;flex-direction:column;padding:12px 12px 0;background:#fff;border:3px solid #2A2422;border-radius:18px;box-shadow:5px 5px 0 #2A2422;transition:transform .5s cubic-bezier(.3,.9,.3,1);will-change:transform;}
.st-photo{position:relative;display:block;aspect-ratio:1/1;border:2.5px solid #2A2422;border-radius:12px;overflow:hidden;}
.st-cut{position:absolute;left:50%;top:49%;width:104%;max-width:none;transform:translate(-50%,-50%);}
.st-cover{display:block;width:100%;height:100%;object-fit:cover;}
.st-cap{display:block;padding:12px 4px 14px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(17px,2.4vw,21px);line-height:1.1;text-align:center;color:#2A2422;}
.st-hint{margin:10px 0 0;text-align:center;font-size:15px;font-weight:500;color:#4a4340;}

/* ---------- Menu completo ---------- */
.menu{background:#7ACF93;border-top:3px solid #2A2422;border-bottom:3px solid #2A2422;padding:clamp(56px,9vw,110px) 20px;}
.menu__in{max-width:1180px;margin:0 auto;}
.menu__head{text-align:center;max-width:640px;margin:0 auto;}
.menu__title{margin:18px 0 0;font-weight:900;font-size:clamp(40px,8vw,72px);line-height:0.9;letter-spacing:-0.03em;color:#E86CA4;text-wrap:balance;}
.menu__text{margin:14px auto 0;font-size:clamp(16px,3.4vw,18px);line-height:1.55;color:#1f4d2e;font-weight:500;max-width:480px;text-wrap:balance;}

.mb{margin-top:44px;background:#FBF6EE;border:3px solid #2A2422;border-radius:26px;box-shadow:8px 8px 0 #2A2422;padding:clamp(22px,4vw,44px);text-align:left;}
.mb>*+*{margin-top:clamp(28px,4vw,40px);padding-top:clamp(28px,4vw,40px);border-top:3px solid #2A2422;}
.mb-title{margin:0 0 4px;font-weight:900;font-size:clamp(26px,4.4vw,34px);line-height:1;letter-spacing:-0.02em;color:#2A2422;}
.mb-panini{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));column-gap:clamp(24px,4vw,48px);margin-top:10px;}
.mb-panino{display:flex;align-items:flex-start;gap:16px;width:100%;margin:0;padding:18px 0;background:none;border:0;border-top:2px dashed rgba(42,36,34,0.22);font:inherit;color:#2A2422;text-align:left;cursor:pointer;}
.mb-panino:hover{color:#2A2422;}
.mb-thumb{flex:0 0 auto;position:relative;width:76px;height:76px;border:2.5px solid #2A2422;border-radius:16px;box-shadow:3px 3px 0 #2A2422;overflow:hidden;transition:transform .2s ease;}
.mb-thumb img{position:absolute;left:50%;top:57%;width:150%;max-width:none;transform:translate(-50%,-50%);}
.mb-thumb--cover img{left:0;top:0;width:100%;height:100%;object-fit:cover;transform:none;}
.mb-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:2px;container-type:inline-size;}
.mb-row{display:flex;align-items:baseline;gap:8px;}
.mb-name{font-weight:900;font-size:clamp(19px,2.6vw,22px);line-height:1.1;letter-spacing:-0.02em;transition:color .15s ease;}
.mb-dots{flex:1 1 0;min-width:0;border-bottom:2px dotted rgba(42,36,34,0.4);transform:translateY(-4px);}
.mb-price{flex:none;font-weight:900;font-size:clamp(17px,2.4vw,20px);color:#E86CA4;white-space:nowrap;}
.mb-ing{font-size:15px;line-height:1.45;font-weight:500;color:#4a4340;}
.mb-panino:hover .mb-name{color:#E86CA4;}
.mb-panino:hover .mb-thumb{transform:rotate(-4deg);}
.mb-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(32px,4vw,48px);}
.mb-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 8px;}
.mb-photo{margin:0;aspect-ratio:4/3;background:#F6D4E6;border:2.5px solid #2A2422;border-radius:16px;box-shadow:3px 3px 0 #2A2422;overflow:hidden;}
.mb-photo:nth-child(even){background:#BEEFCB;}
.mb-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.mb-list{list-style:none;margin:10px 0 0;padding:0;}
.mb-list .mb-row{padding:13px 0;border-top:2px dashed rgba(42,36,34,0.22);font-size:17px;}
.mb-item{min-width:0;font-weight:700;color:#2A2422;}
a.mb-item:hover{color:#E86CA4;}
@container (max-width:229px){
  .mb-row{flex-direction:column;align-items:flex-start;gap:2px;}
  .mb-dots{display:none;}
}
@media (max-width:480px){
  .mb-thumb{width:64px;height:64px;border-radius:14px;}
  .mb-panino{gap:14px;}
}

/* ---------- FAQ ---------- */
.faq{background:#FBF6EE;padding:clamp(56px,9vw,110px) 20px;border-bottom:3px solid #2A2422;}
.faq__in{max-width:820px;margin:0 auto;}
.faq__head{text-align:center;}
.faq__title{margin:18px 0 0;font-weight:900;font-size:clamp(36px,7vw,60px);line-height:0.92;letter-spacing:-0.03em;color:#2A2422;text-wrap:balance;}
.faq__list{display:flex;flex-direction:column;gap:16px;margin-top:40px;}
.faq__item{background:#fff;border:3px solid #2A2422;border-radius:20px;box-shadow:5px 5px 0 #2A2422;overflow:hidden;}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;font-weight:800;font-size:clamp(17px,2.6vw,20px);line-height:1.25;letter-spacing:-0.01em;}
.faq__icon{flex:0 0 auto;width:36px;height:36px;border-radius:999px;background:#E86CA4;color:#fff;border:2px solid #2A2422;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;line-height:1;transition:transform .25s ease;}
.faq__item[open] .faq__icon{transform:rotate(45deg);}
.faq__item[open] .faq__q{border-bottom:2px dashed rgba(42,36,34,0.22);}
.faq__a{padding:4px 22px 20px;}
.faq__a p{margin:14px 0 0;font-size:16px;line-height:1.6;color:#4a4340;}

/* ---------- Pannello del panino (home) ---------- */
.panel-overlay{position:fixed;inset:0;z-index:90;background:rgba(42,36,34,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:stretch;justify-content:center;overflow:auto;}
.panel{background:#FBF6EE;width:100%;max-width:1040px;margin:auto;min-height:min-content;border:3px solid #2A2422;border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,0.4);display:flex;flex-direction:column;}
.panel__row{display:flex;flex-wrap:wrap;}
.panel__gallery{flex:1 1 340px;min-width:min(100%,320px);background:#7ACF93;border-right:3px solid #2A2422;position:relative;padding:22px;display:flex;flex-direction:column;}
.panel__photo{position:relative;flex:1;min-height:280px;background:#BEEFCB;border:3px solid #2A2422;border-radius:20px;box-shadow:5px 5px 0 #2A2422;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.panel__img{width:96%;filter:drop-shadow(0 14px 18px rgba(42,36,34,0.35));}
.panel__photo--cover .panel__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;}
.thumbs{display:flex;gap:10px;margin-top:14px;}
.thumb{flex:1;aspect-ratio:1/1;background:#FBF6EE;border:2.5px solid #2A2422;border-radius:12px;box-shadow:2px 2px 0 #2A2422;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px;max-width:120px;}
.thumb img{width:96%;pointer-events:none;}
.thumb--cover img{width:100%;height:100%;object-fit:cover;border-radius:8px;}
.thumb[aria-current="true"]{background:#F6D4E6;}
.panel__info{flex:1 1 340px;min-width:min(100%,320px);padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;}
.panel__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.panel__close{margin-left:auto;width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:#2A2422;border:2px solid #2A2422;box-shadow:2px 2px 0 #7ACF93;color:#FBF6EE;font-size:22px;font-weight:900;line-height:1;cursor:pointer;padding:0;}
.panel__name{margin:16px 0 0;font-weight:900;font-size:clamp(38px,7vw,60px);line-height:0.9;letter-spacing:-0.03em;color:#2A2422;}
.panel__price{font-weight:900;font-size:30px;color:#E86CA4;margin-top:6px;}
.panel__block{margin-top:24px;}
@media (max-width:859.98px){
  .panel__close{position:fixed;top:14px;right:14px;z-index:95;}
}

/* ---------- Footer ---------- */
.footer{background:#2A2422;color:#FBF6EE;}
.footer__in{max-width:1100px;margin:0 auto;padding:clamp(48px,8vw,80px) 20px 32px;}
.footer__grid{display:grid;grid-template-columns:minmax(240px,1.6fr) 1fr 1fr;gap:28px 28px;}
.footer__logo{font-weight:900;font-size:40px;letter-spacing:-1.5px;line-height:1;}
.footer__tag{margin:16px 0 0;font-family:'Fredoka',sans-serif;font-size:17px;color:#7ACF93;font-weight:600;}
.footer__desc{margin:14px 0 0;max-width:320px;line-height:1.5;color:#cfc9c3;font-size:15px;}
.footer__h{margin:0 0 14px;font-family:'Fredoka',sans-serif;font-size:15px;text-transform:uppercase;letter-spacing:1px;color:#7ACF93;}
.footer__p{margin:0;line-height:1.6;color:#cfc9c3;font-size:15px;}
.footer__p+.footer__p{margin-top:12px;line-height:normal;}
.footer__p a{color:#cfc9c3;}
.footer__p a:hover{color:#fff;}
.footer__social{display:flex;flex-direction:column;gap:10px;font-weight:700;font-size:15px;}
.footer__social a{color:#FBF6EE;}
.footer__social a:hover{color:#7ACF93;}
.footer__order{display:inline-block;margin-top:18px;background:#E86CA4;color:#fff;font-weight:800;padding:13px 22px;border-radius:999px;border:2px solid #FBF6EE;}
.footer__order:hover{color:#fff;}
.footer__bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.15);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;color:#8f8983;font-size:13px;}
@media (max-width:859.98px){
  .footer__grid{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1 / -1;}
}

/* ---------- Briciole di pane ---------- */
.crumbs{font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.crumbs li{display:flex;align-items:center;gap:6px;color:#1f4d2e;}
.crumbs li+li::before{content:'›';color:#2A2422;opacity:.5;font-weight:700;}
.crumbs a{color:#2A2422;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:rgba(42,36,34,.3);}
.crumbs a:hover{color:#E86CA4;text-decoration-color:#E86CA4;}

/* ---------- Pagina del panino ---------- */
.pp-top{background:#FBF6EE;padding:clamp(20px,4vw,36px) 20px clamp(48px,8vw,90px);}
.pp-top__in{max-width:1180px;margin:0 auto;}
.pp-grid{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,56px);align-items:flex-start;margin-top:clamp(18px,3vw,28px);}
.pp-media{flex:1 1 420px;min-width:min(100%,300px);background:#7ACF93;border:3px solid #2A2422;border-radius:26px;box-shadow:8px 8px 0 #2A2422;padding:clamp(14px,2.5vw,22px);}
.pp-photo{position:relative;aspect-ratio:4/5;background:#BEEFCB;border:3px solid #2A2422;border-radius:20px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pp-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(42,36,34,0.35));}
.pp-photo--cover .pp-img{object-fit:cover;filter:none;}
@media (max-width:640px){
  .pp-photo{aspect-ratio:1/1;}
  .pp-img{object-fit:cover;}
}
.pp-info{flex:1 1 380px;min-width:min(100%,300px);}
.pp-kicker{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.pp-name{margin:18px 0 0;font-weight:900;font-size:clamp(46px,8.5vw,92px);line-height:0.88;letter-spacing:-0.04em;color:#2A2422;overflow-wrap:break-word;}
.pp-price{font-weight:900;font-size:clamp(28px,4vw,36px);color:#E86CA4;margin-top:10px;}
.pp-block{margin-top:28px;}
.pp-body{background:#fff;border-top:3px solid #2A2422;padding:clamp(48px,8vw,90px) 20px;}
.pp-body__in{max-width:760px;margin:0 auto;}
.prose{font-size:clamp(17px,2.4vw,19px);line-height:1.7;color:#4a4340;}
.prose h2{margin:1.6em 0 .4em;font-weight:900;font-size:clamp(28px,4.5vw,40px);line-height:1;letter-spacing:-0.03em;color:#2A2422;}
.prose h2:first-child{margin-top:0;}
.prose p,.prose ul{margin:0 0 1em;}
.prose ul{padding-left:1.2em;}
.prose li{margin:.3em 0;}
.prose strong{color:#2A2422;}
.prose a{color:#d4488a;text-decoration:underline;}
.pp-more{background:#7ACF93;border-top:3px solid #2A2422;padding:clamp(44px,7vw,80px) 0 clamp(48px,8vw,80px);}
.pp-more .card__media{background:#BEEFCB;}
.pp-more .card:nth-child(even) .card__media{background:#F6D4E6;}

/* ---------- Pagina della categoria ---------- */
.cat-hero{background:#7ACF93;border-bottom:3px solid #2A2422;padding:clamp(22px,4vw,36px) 20px clamp(48px,8vw,80px);position:relative;overflow:hidden;}
.cat-hero__in{max-width:1180px;margin:0 auto;position:relative;z-index:2;}
.cat-hero__head{max-width:760px;margin-top:clamp(28px,5vw,48px);}
.cat-title{margin:18px 0 0;font-weight:900;font-size:clamp(52px,11vw,124px);line-height:0.85;letter-spacing:-0.045em;color:#E86CA4;}
.cat-intro p{margin:20px 0 0;font-size:clamp(16px,3vw,19px);line-height:1.6;color:#1f4d2e;font-weight:500;max-width:600px;}
.cat-list{background:#FBF6EE;padding:clamp(20px,4vw,40px) 20px clamp(56px,9vw,100px);}
.cat-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:clamp(70px,8vw,96px) 22px;padding-top:clamp(70px,7vw,90px);}
.cat-grid .card{width:auto;}
.cat-grid .card:nth-child(odd) .card__media{background:#BEEFCB;}
.cat-grid .card:nth-child(even) .card__media{background:#F6D4E6;}

/* ---------- Fascia finale con invito a ordinare ---------- */
.cta-band{background:#7ACF93;color:#2A2422;padding:clamp(44px,7vw,72px) 20px;text-align:center;border-top:3px solid #2A2422;}
.cta-band__title{margin:0;font-weight:900;font-size:clamp(32px,6vw,56px);line-height:0.95;letter-spacing:-0.03em;color:#2A2422;text-wrap:balance;}
.cta-band__title span{color:#E86CA4;}
.cta-band .hero__ctas{margin-top:26px;}

/* ---------- Avviso di anteprima (solo admin) ---------- */
.preview-bar{background:#2A2422;color:#FBF6EE;text-align:center;font-weight:700;font-size:14px;padding:10px 16px;}
.preview-bar a{color:#7ACF93;text-decoration:underline;}

/* ---------- 404 ---------- */
.nf{background:#7ACF93;border-bottom:3px solid #2A2422;padding:clamp(70px,12vw,140px) 20px;text-align:center;position:relative;overflow:hidden;}
.nf__in{position:relative;z-index:2;}
.nf__code{margin:0;font-weight:900;font-size:clamp(110px,30vw,260px);line-height:0.8;letter-spacing:-0.06em;color:#E86CA4;}
.nf__title{margin:24px 0 0;font-weight:900;font-size:clamp(26px,5vw,40px);letter-spacing:-0.02em;}
.nf__text{margin:12px auto 0;max-width:460px;font-size:18px;line-height:1.5;color:#1f4d2e;font-weight:500;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;}
  html{scroll-behavior:auto;}
}
