/* File: assets/css/style.css | Artifact v1.0 */

*,*::before,*::after{box-sizing:border-box}
:root{--primary:#8a4a21;--primary-dark:#4a2610;--accent:#dca62b;--accent-text:#2e2100;--light-site-bg:#fff9f1;--light-surface:#fff;--light-text:#292019;--site-bg:var(--light-site-bg);--surface:var(--light-surface);--text:var(--light-text);--muted:#6e625a;--border:color-mix(in srgb,var(--text) 15%,transparent);--shadow:0 16px 46px color-mix(in srgb,var(--primary-dark) 12%,transparent);--radius:1.2rem;--font-body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:Fraunces,"Iowan Old Style",Georgia,serif}
@media(prefers-color-scheme:dark){:root[data-theme=system]{--site-bg:#141210;--surface:#211e1b;--text:#f7eee5;--muted:#c1b4aa;--border:#403a35}}
:root[data-theme=dark]{--site-bg:#141210;--surface:#211e1b;--text:#f7eee5;--muted:#c1b4aa;--border:#403a35}
html{scroll-behavior:smooth;color-scheme:light dark}
body{margin:0;background:var(--site-bg);color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:var(--primary);text-underline-offset:.18em;text-decoration-thickness:.08em}
button,input,select,textarea{font:inherit;color:inherit}
button,.button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{width:min(1160px,calc(100% - 2rem));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;left:1rem;top:-5rem;background:var(--surface);padding:.8rem 1rem;border-radius:.5rem}.skip-link:focus{top:1rem}
.topbar{background:var(--primary-dark);color:#fff;font-size:.82rem}.topbar .wrap{min-height:2.25rem;display:flex;align-items:center;justify-content:space-between}.theme-toggle{border:0;background:transparent;color:inherit;padding:.25rem .6rem;font-size:1.15rem}
.site-header{position:relative;z-index:20;background:var(--surface);border-bottom:1px solid var(--border)}
.nav-row{min-height:5rem;display:flex;align-items:center;gap:1.4rem}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--text);font-family:var(--font-display);font-size:1.45rem;font-weight:800;text-decoration:none;white-space:nowrap}.brand-mark{color:var(--accent);text-shadow:13px 0 var(--primary);margin-right:.65rem}.main-nav{margin-left:auto}.main-nav ul,.site-footer ul{display:flex;gap:.3rem;list-style:none;padding:0;margin:0}.main-nav a{display:block;padding:.55rem .7rem;border-radius:999px;color:var(--text);font-size:.91rem;text-decoration:none}.main-nav a:hover,.main-nav a[aria-current=page]{background:color-mix(in srgb,var(--accent) 22%,transparent)}
.menu-toggle{display:none;background:transparent;border:0;padding:.6rem}.menu-toggle>span:not(.sr-only){display:block;width:1.5rem;height:2px;background:currentColor;margin:.25rem}
.search-toggle,.recipe-actions button,.recipe-subheading button,.timer-button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.55rem .8rem}
.search-panel{position:absolute;left:0;right:0;background:var(--surface);border-block:1px solid var(--border);box-shadow:var(--shadow)}.search-panel .wrap{padding:1rem}.search-panel label{display:block;font-weight:700}.search-panel input{width:100%;margin-top:.35rem;border:1px solid var(--border);background:var(--site-bg);border-radius:.75rem;padding:.8rem}.search-panel [data-search-results]{display:grid;gap:.25rem;margin-top:.5rem}.search-panel [data-search-results] a{display:grid;color:var(--text);text-decoration:none;padding:.6rem;border-radius:.6rem}.search-panel [data-search-results] a:hover{background:var(--site-bg)}.search-panel [data-search-results] span{font-size:.85rem;color:var(--muted)}
.hero,.page-hero,.recipe-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 24%,var(--site-bg)),var(--site-bg));border-bottom:1px solid var(--border)}.hero::after,.page-hero::after{content:"";position:absolute;width:28rem;height:28rem;border-radius:50%;background:color-mix(in srgb,var(--primary) 8%,transparent);right:-12rem;top:-16rem}.hero__grid{min-height:32rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:center;gap:4rem;padding-block:4rem}.hero h1,.page-hero h1,.recipe-hero h1{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,5.8rem);line-height:.97;letter-spacing:-.035em;margin:.3rem 0 1rem}.page-hero h1,.recipe-hero h1{font-size:clamp(2.35rem,5vw,4.5rem)}.lead{font-size:clamp(1.08rem,2vw,1.35rem);color:var(--muted);max-width:48rem}.eyebrow{color:var(--primary);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.6rem}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--primary);color:#fff;padding:.75rem 1.1rem;font-weight:750;text-decoration:none}.button:hover{background:var(--primary-dark)}.text-link{font-weight:750}.hero__plate,.hero-placeholder{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--surface);border:1.4rem solid color-mix(in srgb,var(--primary) 70%,var(--surface));box-shadow:var(--shadow);padding:4rem}.hero__plate span,.hero-placeholder{font-size:8rem;color:var(--accent)}.hero__plate strong{font-family:var(--font-display);font-size:1.35rem}.hero__visual{margin:0}.hero__visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.page-hero .wrap{padding-block:4rem}.recipe-hero__grid{display:grid;grid-template-columns:1fr .8fr;gap:3rem;align-items:center;padding-block:3rem}.recipe-hero img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.prose img{display:block;width:100%;height:auto;margin:1.5rem 0;border-radius:var(--radius);box-shadow:var(--shadow)}
.section{padding-block:4rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.section-heading h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:.2rem 0}.content-shell{padding-block:3rem}.content-note{margin-block:3rem;padding:2rem;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.recipe-grid,.article-grid,.product-grid,.network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.recipe-card,.article-card,.product-card,.network-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px color-mix(in srgb,var(--text) 7%,transparent)}.recipe-card img,.recipe-card__placeholder{width:100%;aspect-ratio:16/10;object-fit:cover}.recipe-card__placeholder{display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 35%,var(--surface)),var(--surface));color:var(--primary);font-size:4rem}.recipe-card__body,.article-card,.product-card{padding:1.25rem}.recipe-card h3,.article-card h2,.product-card h3{font-family:var(--font-display);font-size:1.45rem;line-height:1.15;margin:.6rem 0}.recipe-card h3 a,.article-card h2 a{color:var(--text);text-decoration:none}.recipe-card__meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.86rem}.badge{display:inline-flex;border-radius:999px;background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text);padding:.25rem .55rem;font-size:.74rem;font-weight:800}
.breadcrumb{font-size:.86rem;background:var(--surface);border-bottom:1px solid var(--border)}.breadcrumb ol{display:flex;gap:.55rem;list-style:none;padding:.65rem 0;margin:0}.breadcrumb li+li::before{content:"/";margin-right:.55rem;color:var(--muted)}.page-meta{color:var(--muted);font-size:.9rem}.article-layout{display:grid;grid-template-columns:15rem minmax(0,760px);justify-content:center;gap:3rem;padding-block:3rem}.toc{position:sticky;top:1rem;align-self:start;border-left:2px solid var(--border);padding-left:1rem}.toc ol{list-style:none;padding:0}.toc li{margin:.45rem 0}.toc li[data-level="3"]{padding-left:.8rem}.toc a{color:var(--muted);font-size:.88rem;text-decoration:none}
.prose{min-width:0;font-size:1.06rem}.prose h2,.prose h3{font-family:var(--font-display);line-height:1.15;scroll-margin-top:2rem}.prose h2{font-size:2.1rem;margin:2.6rem 0 .8rem}.prose h3{font-size:1.45rem;margin:2rem 0 .6rem}.prose p,.prose li{max-width:72ch}.prose blockquote{margin:1.5rem 0;padding:.7rem 1.2rem;border-left:5px solid var(--accent);background:var(--surface);border-radius:0 .8rem .8rem 0}.prose code{background:color-mix(in srgb,var(--text) 8%,transparent);padding:.1rem .3rem;border-radius:.25rem}.heading-link{opacity:0;margin-left:.4rem;border:0;background:transparent;color:var(--muted)}.prose h2:hover .heading-link,.prose h3:hover .heading-link,.heading-link:focus{opacity:1}
.recipe-sheet{margin:2.5rem 0;padding:clamp(1rem,4vw,2.2rem);border:1px solid var(--border);border-top:8px solid var(--primary);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.recipe-sheet__top,.recipe-subheading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.recipe-sheet__top h2{margin:.2rem 0}.recipe-actions{display:flex;gap:.4rem;flex-wrap:wrap}.recipe-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;margin:1.5rem 0}.recipe-facts>div{padding:.7rem;background:var(--site-bg);border-radius:.7rem}.recipe-facts dt{font-size:.72rem;color:var(--muted);text-transform:uppercase}.recipe-facts dd{font-weight:800;margin:0}.servings-control{display:flex}.servings-control button,.servings-control input{width:2rem;border:1px solid var(--border);background:var(--surface);text-align:center}.servings-control input{width:2.8rem;border-inline:0}.recipe-sheet__grid{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(0,1.4fr);gap:2rem;margin-block:2rem}.ingredients{padding:1.2rem;background:var(--site-bg);border-radius:1rem}.ingredients h3,.method h3,.nutrition h3{font-family:var(--font-display);font-size:1.45rem}.checklist{list-style:none;padding:0}.checklist li{border-bottom:1px dashed var(--border);padding:.55rem 0}.checklist label{display:flex;gap:.55rem}.checklist input:checked+span{text-decoration:line-through;color:var(--muted)}.checklist small{color:var(--muted)}.steps{list-style:none;padding:0}.steps li>div{display:grid;grid-template-columns:2.2rem 1fr;column-gap:.8rem;align-items:start;margin-bottom:1.1rem}.step-number{grid-row:1/3;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--primary);color:#fff;font-weight:800}.steps p{margin:.2rem 0}.timer-button{justify-self:start;font-size:.82rem}.timer-button.is-done{background:var(--accent);color:var(--accent-text)}.allergen-box,.callout,.food-disclaimer,.affiliate-disclosure{padding:1rem 1.2rem;border-radius:.9rem;background:color-mix(in srgb,var(--accent) 18%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border))}.allergen-box ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0}.allergen-box li{background:var(--surface);border-radius:999px;padding:.25rem .55rem}.callout--sicurezza{border-color:#bd3f32;background:color-mix(in srgb,#bd3f32 12%,var(--surface))}.nutrition dl{display:flex;flex-wrap:wrap;gap:.5rem}.nutrition dl>div{min-width:7rem;padding:.6rem;background:var(--site-bg);border-radius:.6rem}.nutrition dt{color:var(--muted);font-size:.75rem}.nutrition dd{font-weight:800;margin:0}.nutrition>p,.food-disclaimer p{font-size:.85rem;color:var(--muted)}
.author-box{display:flex;gap:1rem;margin-top:2rem;padding:1.2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.author-avatar{flex:0 0 3.2rem;height:3.2rem;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-text);font-family:var(--font-display);font-size:1.5rem}.author-box p{margin:.25rem 0}.faq-block{margin-top:2rem}.faq-block details{border-bottom:1px solid var(--border);padding:.8rem 0}.faq-block summary{cursor:pointer;font-weight:800}.faq-block p{color:var(--muted)}
.filters{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.filters label{display:grid;gap:.25rem;font-size:.8rem;font-weight:750}.filters input,.filters select,.contact-form input,.contact-form textarea{border:1px solid var(--border);background:var(--site-bg);border-radius:.6rem;padding:.6rem}.empty-state{padding:2rem;text-align:center;background:var(--surface);border-radius:var(--radius)}
.comparison-table-wrap{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;background:var(--surface)}.comparison-table th,.comparison-table td{padding:.8rem;border-bottom:1px solid var(--border);text-align:left}.comparison-table th small{display:block;color:var(--muted)}.product-grid{margin-top:2rem}.product-card ul{padding-left:1.2rem}.affiliate-disclosure{margin-bottom:1rem}
.network-strip{padding-block:3rem;background:color-mix(in srgb,var(--primary) 7%,var(--surface));border-block:1px solid var(--border)}.network-card{display:flex;flex-direction:column;padding:1rem;color:var(--text);text-decoration:none}.network-card small{color:var(--primary);font-weight:800;text-transform:uppercase}.network-card span{color:var(--muted);font-size:.88rem}.network-note{color:var(--muted);font-size:.88rem}.site-footer{padding-block:3rem;background:var(--primary-dark);color:#fff}.site-footer a{color:#fff}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.site-footer ul{justify-content:flex-end;flex-wrap:wrap}.footer-disclaimer{margin-top:2rem;padding-top:1rem;border-top:1px solid #ffffff2b;font-size:.78rem;color:#ffffffc7}.brand--footer{color:#fff}.contact-form{display:grid;gap:1rem;max-width:42rem}.contact-form label{display:grid;gap:.25rem;font-weight:700}.contact-form .consent{display:flex;font-weight:400}.honeypot{position:absolute;left:-10000px}.form-message{padding:1rem;background:var(--surface);border-radius:.7rem}.not-found{display:grid;min-height:55vh;place-items:center;text-align:center}.not-found h1{font-family:var(--font-display);font-size:clamp(2.4rem,7vw,5rem)}.back-to-top{position:fixed;right:1rem;bottom:1rem;width:3rem;height:3rem;border:0;border-radius:50%;background:var(--primary);color:#fff;opacity:0;pointer-events:none;transform:translateY(1rem);transition:.2s}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}
.kitchen-mode .site-header,.kitchen-mode .breadcrumb,.kitchen-mode .site-footer,.kitchen-mode .network-strip,.kitchen-mode .toc{display:none}.kitchen-mode .article-layout{display:block;max-width:980px}.kitchen-mode .recipe-sheet{font-size:1.25rem}.kitchen-mode .recipe-sheet__grid{grid-template-columns:1fr}.kitchen-mode .recipe-sheet{box-shadow:none}
@media(max-width:980px){.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border)}.main-nav.is-open{display:block}.main-nav ul{display:grid;padding:1rem}.menu-toggle{display:block;margin-left:auto}.search-toggle{font-size:0}.search-toggle::after{content:"⌕";font-size:1.35rem}.hero__grid,.recipe-hero__grid{grid-template-columns:1fr}.hero__plate{max-width:28rem;margin-inline:auto}.recipe-facts{grid-template-columns:repeat(3,1fr)}.recipe-grid,.article-grid,.product-grid,.network-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr}.toc{position:static;border-left:0;border:1px solid var(--border);padding:1rem;border-radius:.8rem}.footer-grid{grid-template-columns:1fr}.site-footer ul{justify-content:flex-start}}
@media(max-width:640px){.wrap{width:min(100% - 1.2rem,1160px)}.hero__grid{min-height:auto;padding-block:3rem;gap:2rem}.hero__plate{padding:3rem}.hero__plate span{font-size:5rem}.recipe-grid,.article-grid,.product-grid,.network-grid{grid-template-columns:1fr}.recipe-sheet__top,.recipe-subheading{align-items:flex-start;flex-direction:column}.recipe-facts{grid-template-columns:repeat(2,1fr)}.recipe-sheet__grid{grid-template-columns:1fr}.recipe-sheet{padding:1rem}.section{padding-block:2.5rem}.site-footer ul{display:grid}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.site-header,.breadcrumb,.site-footer,.network-strip,.toc,.recipe-actions,.back-to-top,.author-box,.faq-block,.heading-link{display:none!important}body{background:#fff;color:#000;font-size:11pt}.article-layout{display:block;padding:0}.recipe-hero{background:#fff}.recipe-hero__grid{display:block;padding:0}.recipe-hero img{max-height:220px;width:auto}.recipe-sheet{box-shadow:none;border:1px solid #999;margin:1rem 0;padding:1rem}.recipe-sheet__grid{grid-template-columns:38% 1fr;gap:1rem}.ingredients{background:#fff}.prose>p,.prose>h2,.prose>h3{display:none}a{color:#000;text-decoration:none}}
