/* Pagine prodotto: panettone, pandoro, colomba */

/* Barra dei filtri: in alto e fissa mentre scorri la ricetta */
.filters{margin:clamp(40px,5vw,72px) var(--pad) 0;background:var(--green);color:var(--paper);padding:24px clamp(20px,3vw,40px);display:grid;grid-template-columns:minmax(150px,.6fr) minmax(330px,1.2fr) minmax(440px,1.7fr);gap:clamp(16px,2vw,28px)}
.filters fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px}
.filters legend,.filters .field{font-size:13px;letter-spacing:.06em;color:var(--sand);padding:0;margin-bottom:8px}
.filters .field{display:block;margin-bottom:0}
.filters fieldset+fieldset,.filters .qty-group{border-left:1px solid var(--green-line);padding-left:clamp(16px,2vw,28px)}
.options{display:grid;gap:8px}
.options-stack{grid-template-columns:1fr}
.options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.options button,.presets button{min-height:44px;padding:8px 12px;text-align:left;background:transparent;border:1px solid var(--green-line);color:var(--paper);cursor:pointer;font-size:15px;line-height:1.25}
.options button:hover,.presets button:hover{border-color:var(--sand)}
.options button[aria-pressed=true],.presets button[aria-pressed=true]{background:var(--paper);color:var(--green);border-color:var(--paper)}
.qty-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;align-content:start}
.stepper{display:flex;align-items:stretch;background:var(--paper);height:44px;margin-top:6px;width:100%}
.stepper button{width:44px;border:0;background:transparent;color:var(--green);font-size:20px;cursor:pointer}
.stepper button:hover{background:var(--soft)}
.stepper input,.weight input{width:100%;min-width:0;border:0;background:transparent;color:var(--green);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.stepper input::-webkit-inner-spin-button,.weight input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.weight{display:flex;align-items:center;background:var(--paper);height:44px;margin-top:6px;padding-right:12px}
.weight span{color:var(--muted);font-size:15px}
.total{display:flex;align-items:center;min-height:44px;font:22px/1.2 var(--display);color:var(--paper);font-variant-numeric:tabular-nums}
.presets{display:flex;gap:6px}
.presets button{flex:1;min-width:0;padding:8px 2px;font-size:14px;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums}
.error{grid-column:1/-1;font-size:13px;color:var(--paper);background:#7A3B2E;padding:6px 10px;margin:0}
@media(max-width:1150px){.filters{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.filters .qty-group{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid var(--green-line);padding-top:12px}}
@media(max-width:900px){.filters{grid-template-columns:1fr;gap:16px}.filters fieldset+fieldset{border:0;padding:0}}

/* Ricetta */
.recipe{padding:clamp(40px,5vw,72px) var(--pad) var(--section);display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)}
.recipe-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.recipe-head h2{font-size:clamp(34px,4.5vw,60px);line-height:1.04;text-wrap:balance}
.recipe-head h2 span{display:block;color:var(--brown)}
.ingredients{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(32px,3.5vw,48px);align-items:start}
.group h3{font-size:clamp(22px,2vw,28px);line-height:1.15;min-height:2.3em;align-items:flex-end;display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--green);padding-bottom:12px}
.group h3 span{white-space:nowrap;font:15px var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--sand);font-size:17px}
.row b{font:20px var(--display);font-weight:400;color:var(--green);white-space:nowrap;font-variant-numeric:tabular-nums}

/* Procedimento */
.steps-section{--meta-air:clamp(0px,9vw,130px);padding:var(--section) var(--pad);border-top:1px solid var(--sand)}
/* Intestazione sulla stessa griglia dei passi: la frase si allinea alla colonna dei tempi */
.steps-head{grid-template-columns:56px minmax(0,1.4fr) minmax(0,1fr);gap:clamp(16px,3vw,40px)}
.steps-head h2{grid-column:1/3}
.steps-head p{grid-column:3;padding-left:var(--meta-air)}
@media(max-width:760px){.steps-head{grid-template-columns:1fr}.steps-head h2,.steps-head p{grid-column:1;padding-left:0}}
.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--green);counter-reset:step}
.step{display:grid;grid-template-columns:56px minmax(0,1.4fr) minmax(0,1fr);gap:clamp(16px,3vw,40px);padding:32px 0;border-bottom:1px solid var(--sand);counter-increment:step}
.step::before{content:counter(step);font:32px/1 var(--display);color:var(--brown)}
.step h3{font-size:clamp(24px,2.4vw,30px);line-height:1.15;margin-bottom:12px}
.step p{font-size:17px;line-height:1.65;color:var(--muted);text-wrap:pretty}
.step p a{color:var(--green);border-bottom:1px solid var(--brown)}
.step p a:hover{color:var(--brown)}
.step-meta{display:flex;flex-direction:column;gap:12px;padding-left:var(--meta-air);font-size:15px;line-height:1.5;color:var(--muted)}
.step-meta dt{color:var(--brown)}
.step-meta dd{margin:0 0 4px;color:var(--ink)}
@media(max-width:760px){.step{grid-template-columns:40px minmax(0,1fr)}.step-meta{grid-column:2;padding-left:0}}

/* Cottura */
.baking{background:var(--green);color:var(--paper);padding:var(--section) var(--pad);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(32px,5vw,72px);align-items:start}
.baking h2{color:var(--paper);font-size:clamp(34px,4vw,52px);line-height:1.05;margin-bottom:24px;text-wrap:balance}
.baking p{font-size:17px;line-height:1.65;color:var(--sand);text-wrap:pretty}
.bake-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.bake-table caption{text-align:left;font-size:15px;color:var(--sand);padding-bottom:14px}
.bake-table th{text-align:left;font-weight:400;font-size:14px;color:var(--sand);padding:0 12px 10px 0;border-bottom:1px solid var(--green-line)}
.bake-table td{padding:14px 12px 14px 0;border-bottom:1px solid var(--green-line);font-size:17px}
.bake-table td:first-child{font:22px var(--display)}
.bake-table tr.is-near td{color:var(--paper);background:var(--green-2)}
.bake-table tr.is-near td:first-child{padding-left:12px}

/* Ti potrebbe servire: prodotti consigliati, una sola riga */
.gear{padding:var(--section) var(--pad) clamp(48px,5vw,72px)}
.gear-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.gear-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--sand);color:var(--ink)}
.gear-card .ph{aspect-ratio:1}
.gear-img{aspect-ratio:1;display:block;width:100%;object-fit:contain;background:#fff}
.gear-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.gear-body h3{font-size:22px;line-height:1.2}
.gear-body p{font-size:15px;line-height:1.55;color:var(--muted)}
.gear-foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.gear-price{font:20px var(--display);color:var(--green)}
.gear-card:hover h3{color:var(--brown)}
.gear-note{margin-top:20px;font-size:13px;color:var(--muted)}
@media(max-width:1000px){.gear-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.gear-card{flex:0 0 min(78%,300px);scroll-snap-align:start}}
.masters{border-top:1px solid var(--sand)}

/* Una sola versione (es. pandoro): niente colonna Versione */
.filters.no-variant{grid-template-columns:minmax(330px,1.2fr) minmax(440px,1.7fr)}
.filters.no-variant fieldset[data-variant-group]{display:none}
.filters.no-variant fieldset+fieldset{border-left:0;padding-left:0}
@media(max-width:1150px){.filters.no-variant{grid-template-columns:1fr}}

/* Glassa: fuori dal peso dell'impasto */
.glaze{margin-top:0}
.glaze p{font-size:14px;color:var(--muted);margin-top:12px}
.baking.no-table{grid-template-columns:minmax(0,1fr)}
.baking.no-table>div{max-width:760px}
.masters .cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.bake-table td{vertical-align:baseline}
@media(max-width:700px){.bake-table{font-size:15px}.bake-table td:first-child{font-size:18px}}
.bake-table td+td{white-space:nowrap}
@media(max-width:700px){.bake-table{display:block;overflow-x:auto}}
.gear-body h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Titolo: il dolce grande, il lievito sotto */
.hero h1 span{display:block;font-size:max(.42em,28px);line-height:1.1;letter-spacing:0;margin-top:.2em}

/* Lievito: link veri (una pagina per lievito), stesso aspetto dei pulsanti */
.options a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--green-line);color:var(--paper);font-size:15px;line-height:1.25}
.options a:hover{border-color:var(--sand);color:var(--paper)}
.options a[aria-current]{background:var(--paper);color:var(--green);border-color:var(--paper)}

/* Perché questo lievito e domande frequenti */
.faq-section{padding:var(--section) var(--pad);border-top:1px solid var(--sand);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(32px,5vw,72px);align-items:start}
.faq-intro h2{font-size:clamp(34px,4vw,52px);line-height:1.05;margin-bottom:24px;text-wrap:balance}
.faq-intro p{font-size:17px;line-height:1.65;color:var(--muted);text-wrap:pretty}
.faq{border-top:1px solid var(--green)}
.faq-item{border-bottom:1px solid var(--sand)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font:28px/1 var(--display);color:var(--brown)}
.faq-item[open] summary::after{content:"−"}
.faq-item h3{font-size:clamp(20px,2vw,24px);line-height:1.25}
.faq-item summary:hover h3{color:var(--brown)}
.faq-item p{font-size:17px;line-height:1.65;color:var(--muted);padding:0 0 24px;max-width:720px;text-wrap:pretty}
.faq-item p a{border-bottom:1px solid var(--brown)}
@media(max-width:900px){.faq-section{grid-template-columns:1fr}}
