
html,body,a,button,summary{touch-action:manipulation}

:root{--cream:#fffaf1;--paper:#f6efe2;--ink:#22231d;--muted:#5e5c52;--red:#c63d2c;--red-dark:#9f3024;--forest:#263c2c;--line:#e5d9c8;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,a{font:inherit}a{color:inherit}img{max-width:100%;display:block}button{cursor:pointer}.wrap{width:min(100% - 48px,1240px);margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;z-index:20}.skip-link:focus{top:1rem}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-.04em}h1 em,h2 em{font-weight:500}.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.19em;line-height:1.5}.red{color:var(--red)}.cream{color:#e5c7a3}.section-pad{padding:110px 0}.site-header{background:var(--cream);position:relative;z-index:10;box-shadow:0 1px 0 rgba(45,35,24,.08)}.header-inner{height:104px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img{width:218px;height:auto}.site-nav{display:flex;align-items:center;gap:2.35rem}.site-nav>a{text-decoration:none;font-weight:700;font-size:.88rem;transition:color .2s}.site-nav>a:hover,.site-nav>a:focus-visible{color:var(--red)}.site-nav .nav-call{background:var(--red);color:#fff;padding:15px 22px;border-radius:3px}.site-nav .nav-call:hover,.site-nav .nav-call:focus-visible{color:#fff;background:var(--red-dark)}.nav-call span,.button span{padding-left:1.5rem}.menu-toggle{display:none}.hero{min-height:690px;position:relative;display:flex;flex-direction:column;justify-content:center;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:url('assets/pizza-hero.webp');background-size:cover;background-position:center 48%;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(15,13,10,.82) 0%,rgba(21,16,11,.68) 32%,rgba(20,14,8,.2) 68%,rgba(12,8,4,.18) 100%)}.hero-content,.hero-foot{position:relative;z-index:1}.hero-content{padding:95px 0 125px}.hero-eyebrow{display:flex;align-items:center;gap:12px;color:#f0d6bb}.eyebrow-line{display:inline-block;width:32px;height:1px;background:#d99e75}.hero h1{font-size:clamp(3.7rem,6.1vw,6.3rem);line-height:1.08;max-width:790px;margin:26px 0}.hero h1 em{color:#f8e8cc}.hero-lead{max-width:570px;font-size:1.08rem;line-height:1.75;color:#f7eee4}.hero-actions{display:flex;align-items:center;gap:33px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:.94rem;font-weight:700;min-height:56px;padding:16px 23px;border-radius:3px;white-space:nowrap;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:white}.button-primary:hover{background:var(--red-dark)}.text-link{display:inline-flex;align-items:center;gap:17px;text-decoration:none;font-weight:700;border-bottom:1px solid var(--red);padding-bottom:7px}.text-link:hover{color:var(--red)}.light-link{color:white;border-color:#dfb994}.light-link:hover{color:#f6cfac}.hero-foot{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;color:#f7e9d7;font-size:.8rem;font-weight:600;letter-spacing:.04em}.intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:center}.intro-section h2,.section-heading h2,.visit-section h2{font-size:clamp(2.8rem,4.4vw,4.7rem);line-height:1.18;margin:16px 0 0}.intro-section h2 em,.section-heading h2 em,.visit-section h2 em{color:var(--red)}.intro-copy{border-left:1px solid var(--line);padding-left:45px}.intro-copy p,.visit-copy>p:not(.eyebrow){font-size:1.06rem;line-height:1.8;color:var(--muted)}.intro-copy .text-link{margin-top:10px}.menu-section{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.section-heading>p{max-width:340px;color:var(--muted);line-height:1.7;margin-bottom:5px}.tabs{display:flex;gap:8px;border-bottom:1px solid #d6c9b7;margin-top:43px;overflow-x:auto}.tab{appearance:none;border:0;background:none;color:#726d61;font-weight:700;padding:15px 22px 18px;white-space:nowrap;border-bottom:3px solid transparent}.tab:hover{color:var(--red)}.tab.is-active{color:var(--red);border-bottom-color:var(--red)}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:28px;min-height:420px}.menu-card{background:var(--cream);padding:26px 25px 24px;min-height:192px;border:1px solid #eee2d1;display:flex;flex-direction:column}.menu-card-top{display:flex;justify-content:space-between;align-items:start;gap:12px}.menu-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;line-height:1.25;letter-spacing:-.015em;margin:0}.menu-card strong{color:var(--red);white-space:nowrap;font-size:1rem}.menu-card p{color:var(--muted);font-size:.91rem;line-height:1.65;margin:14px 0 0}.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid #d6c9b7;margin-top:28px;padding-top:28px}.menu-bottom p{font-size:.82rem;color:#6b665c;max-width:620px;line-height:1.6;margin:0}.button-outline{border:1px solid var(--red);color:var(--red)}.button-outline:hover{background:var(--red);color:#fff}.craft-section{background:var(--forest);color:white}.craft-grid{display:grid;grid-template-columns:.7fr 1.25fr;gap:9%;align-items:center}.craft-mark{height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid rgba(236,211,169,.36);border-radius:50%;aspect-ratio:1;max-width:430px;margin:auto}.craft-mark:before,.craft-mark:after{content:'';position:absolute;border:1px solid rgba(236,211,169,.19);border-radius:50%;inset:18px}.craft-mark:after{inset:35px}.mark-inner{font-family:'Playfair Display',Georgia,serif;font-size:12rem;line-height:1;font-style:italic;color:#dfc7a1}.mark-caption{font-weight:700;font-size:.7rem;letter-spacing:.22em;color:#d2b993}.craft-content h2{font-size:clamp(3rem,5vw,5rem);line-height:1.12;margin:20px 0}.craft-content h2 em{color:#edcead}.craft-content>p:not(.eyebrow){font-size:1.06rem;line-height:1.8;max-width:630px;color:#e5e7df}.craft-details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px;padding-top:25px;border-top:1px solid rgba(255,255,255,.25)}.craft-details>div{display:flex;flex-direction:column;gap:8px}.detail-number{font-family:'Playfair Display',Georgia,serif;font-size:1.75rem;color:#d8bb93}.craft-details strong{font-size:.95rem}.craft-details div span:last-child{font-size:.84rem;line-height:1.6;color:#c9d0c5}.visit-grid{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:center}.visit-copy>p:not(.eyebrow){max-width:480px;margin:24px 0 30px}.contact-card{background:#fff;border:1px solid var(--line);padding:23px 39px;}.contact-item{display:grid;grid-template-columns:42px 1fr;gap:20px;padding:24px 0}.contact-item+.contact-item{border-top:1px solid var(--line)}.contact-icon{font-size:2rem;color:var(--red);line-height:1}.contact-item>div{display:flex;flex-direction:column;gap:6px}.contact-label{font-size:.72rem;letter-spacing:.18em;color:var(--red);font-weight:700}.contact-item strong{font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;line-height:1.35}.contact-item strong a{text-decoration:none}.contact-item div>a{color:var(--red);font-weight:700;font-size:.85rem;text-underline-offset:4px}.contact-item div>span:last-child:not(.contact-label){color:var(--muted);font-size:.85rem}.site-footer{border-top:1px solid var(--line);background:#fffdf8}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0}.footer-inner>img{width:180px;height:auto}.footer-inner>div{display:flex;flex-direction:column;gap:5px;font-size:.78rem;color:#777166}.footer-inner>a{font-size:.84rem;font-weight:700;text-decoration:none}.footer-inner>a:hover{color:var(--red)}:focus-visible{outline:3px solid #e7954c;outline-offset:3px}
@media(max-width:900px){.header-inner{height:83px}.brand img{width:180px}.site-nav{gap:1.1rem}.site-nav>a{font-size:.8rem}.site-nav .nav-call{padding:12px}.section-pad{padding:85px 0}.menu-grid{grid-template-columns:repeat(2,1fr)}.craft-grid{grid-template-columns:.5fr 1fr;gap:6%}.craft-mark{height:auto}.mark-inner{font-size:8rem}.craft-details{grid-template-columns:1fr;gap:14px}.craft-details>div{display:grid;grid-template-columns:36px 1fr;column-gap:10px}.craft-details>div span:last-child{grid-column:2}.visit-grid{gap:6%}}
@media(max-width:700px){.wrap{width:min(100% - 36px,1240px)}.header-inner{height:76px}.brand img{width:168px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:43px;height:43px;border:1px solid var(--line);background:transparent;border-radius:3px;padding:9px}.menu-toggle span{display:block;height:2px;width:100%;background:var(--ink)}.site-nav{position:absolute;top:76px;left:0;right:0;background:var(--cream);display:none;flex-direction:column;align-items:stretch;gap:0;padding:9px 18px 20px;box-shadow:0 14px 18px rgba(28,22,15,.12)}.site-nav.is-open{display:flex}.site-nav>a{font-size:1rem;padding:16px 10px;border-top:1px solid var(--line)}.site-nav .nav-call{text-align:center;margin-top:12px;border:0}.hero{min-height:650px}.hero-image{background-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(15,13,10,.86),rgba(18,13,8,.52)),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}.hero-content{padding:75px 0 110px}.hero h1{font-size:clamp(3.3rem,10vw,5rem)}.hero-lead{font-size:1rem;max-width:470px}.hero-foot{font-size:.72rem}.hero-foot span:last-child{display:none}.intro-grid,.visit-grid{grid-template-columns:1fr;gap:28px}.intro-copy{padding-left:22px}.section-heading{display:block}.section-heading>p{margin:20px 0 0}.tabs{margin-top:30px}.craft-grid{grid-template-columns:1fr}.craft-mark{display:none}.craft-details{grid-template-columns:repeat(3,1fr)}.craft-details>div{display:flex}.contact-card{margin-top:8px}.footer-inner{flex-wrap:wrap}}
@media(max-width:520px){.section-pad{padding:72px 0}.hero{min-height:620px}.hero h1{font-size:3.55rem}.hero-actions{align-items:stretch;flex-direction:column;gap:23px}.hero-actions .button{width:max-content;max-width:100%}.hero-foot{bottom:23px}.intro-section h2,.section-heading h2,.visit-section h2{font-size:2.75rem}.menu-grid{grid-template-columns:1fr;min-height:0}.menu-card{min-height:0}.menu-bottom{align-items:stretch;flex-direction:column}.menu-bottom .button{white-space:normal}.craft-content h2{font-size:3.25rem}.craft-details{grid-template-columns:1fr;gap:18px}.craft-details>div{display:grid;grid-template-columns:38px 1fr}.craft-details>div span:last-child{grid-column:2}.contact-card{padding:15px 23px;}.footer-inner{display:grid;gap:15px}.footer-inner>img{width:160px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.arrow-icon{display:inline-block;width:1rem;height:1rem;flex:none;vertical-align:-.16em}
.nav-call .arrow-icon,.button .arrow-icon{margin-left:1.5rem}
.contact-item a .arrow-icon,.footer-inner>a .arrow-icon,.menu-back .arrow-icon{margin-left:.35rem}

/* Menu completo 2026 */
html{scroll-padding-top:22px}
body{min-width:0;overflow-x:clip}
.wrap,.header-inner,.hero-content,.hero-foot,.intro-grid,.section-heading,.craft-grid,.visit-grid,.footer-inner{min-width:0}
.menu-category{padding:46px 0 36px;border-top:1px solid #d6c9b7;scroll-margin-top:28px}
.menu-category-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px}
.menu-category h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,3vw,3rem);line-height:1.2;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.menu-page{color:#756d5e;font-size:.82rem;font-weight:700;white-space:nowrap}
.menu-category .menu-grid{margin:0;min-height:0}
.menu-card{min-height:0;padding:22px;overflow-wrap:anywhere}
.menu-card-top{min-width:0}
.menu-card h4{font-family:'Playfair Display',Georgia,serif;font-size:1.24rem;line-height:1.28;letter-spacing:-.01em;margin:0;min-width:0;overflow-wrap:anywhere}
.menu-card strong{font-size:.96rem;text-align:right}
.menu-card p{font-size:.94rem;line-height:1.62;margin:12px 0 0;overflow-wrap:anywhere}
.menu-intro{font-size:1rem;color:var(--muted);line-height:1.65;margin:0 0 22px}
.menu-back{display:inline-block;margin-top:23px;color:var(--red);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;font-weight:700;font-size:.86rem}
.extras-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.extra-item{background:#fffaf1;border:1px solid #e7dac7;padding:12px 15px;line-height:1.5;font-size:.92rem;overflow-wrap:anywhere}
.menu-note-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;list-style:none;margin:0;padding:0}
.menu-note-list li{background:#fffaf1;border:1px solid #e7dac7;padding:15px 18px;line-height:1.6;overflow-wrap:anywhere}
.menu-long-text{background:#fffaf1;border:1px solid #e7dac7;padding:28px 32px;max-width:100%;overflow-wrap:anywhere}
.menu-long-text p{font-size:1rem;line-height:1.7;color:#3e3a33;margin:0 0 16px;white-space:pre-line}
.menu-long-text p:last-child{margin-bottom:0}
.menu-long-text p.emphasis{font-weight:700}
.menu-long-text h4{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;margin:30px 0 10px}
.aic-badge{width:190px;height:auto;margin:0 0 18px;background:#fff}

@media(max-width:1050px){
  .site-nav{gap:1.2rem}
  .site-nav>a{font-size:.82rem}
  .header-inner{gap:1rem}
  .brand img{width:185px}
  .extras-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .header-inner{height:78px}
  .brand img{width:170px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);background:transparent;border-radius:3px;padding:9px;flex:none}
  .menu-toggle span{display:block;height:2px;width:100%;background:var(--ink)}
  .site-nav{position:absolute;top:78px;left:0;right:0;background:var(--cream);display:none;flex-direction:column;align-items:stretch;gap:0;padding:9px 18px 20px;box-shadow:0 14px 18px rgba(28,22,15,.12)}
  .site-nav.is-open{display:flex}
  .site-nav>a{font-size:1rem;padding:16px 10px;border-top:1px solid var(--line)}
  .site-nav .nav-call{text-align:center;margin-top:12px;border:0}
  .intro-grid{grid-template-columns:1fr;gap:28px}
  .intro-copy{padding-left:22px}
  .craft-grid{grid-template-columns:1fr}
  .craft-mark{display:none}
  .visit-grid{grid-template-columns:1fr;gap:38px}
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .wrap{width:min(100% - 32px,1240px)}
  .section-pad{padding:64px 0}
  .hero{min-height:600px}
  .hero-content{padding:75px 0 95px}
  .hero h1{font-size:clamp(2.8rem,11vw,4rem);line-height:1.12;overflow-wrap:anywhere}
  .hero-lead{font-size:1rem}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:20px}
  .hero-foot{bottom:20px}
  .intro-section h2,.section-heading h2,.visit-section h2{font-size:clamp(2.35rem,9vw,3.3rem)}
  .section-heading>p{max-width:none}
  .menu-category{padding:36px 0 26px}
  .menu-category h3{font-size:clamp(1.85rem,8vw,2.5rem)}
  .menu-grid,.extras-grid,.menu-note-list{grid-template-columns:1fr}
  .menu-card{padding:20px}
  .menu-card h4{font-size:1.17rem}
  .menu-card p{font-size:.94rem}
  .menu-long-text{padding:20px 18px}
  .menu-long-text p{font-size:.96rem}
  .craft-content h2{font-size:clamp(2.8rem,10vw,3.4rem)}
  .craft-details{grid-template-columns:1fr}
  .footer-inner{display:grid;gap:14px}
}
@media(max-width:360px){
  .wrap{width:min(100% - 24px,1240px)}
  .brand img{width:150px}
  .hero h1{font-size:2.75rem}
  .button{white-space:normal}
  .menu-card-top{flex-wrap:wrap}
  .menu-card strong{width:100%;text-align:left}
  .contact-card{padding:12px 16px}
  .contact-item{grid-template-columns:30px 1fr;gap:12px}
}

/* Wider desktop grid, grouped menu index and high-contrast footer */
.wrap{width:min(calc(100% - 80px),1500px)}
.intro-grid{grid-template-columns:1.05fr .95fr;gap:9%}
.intro-copy p,.visit-copy>p:not(.eyebrow){max-width:64ch}
.section-heading>p{max-width:48ch}
.visit-grid{grid-template-columns:.92fr 1.08fr;gap:8%}
.menu-category{padding:50px 0 34px}
.menu-category-heading{align-items:center;margin-bottom:24px}
.menu-category .menu-grid{gap:18px}
.menu-card{padding:24px}
.visit-section.section-pad{padding-top:82px;padding-bottom:52px}
.visit-grid{align-items:center}

.site-footer{background:#15221a;color:#fffaf1;border-top:1px solid #425447}
.footer-inner{padding:22px 0;gap:24px}
.footer-inner>img{width:174px;height:auto;padding:9px 12px;background:#fffaf1;border-radius:2px}
.footer-inner>div{color:#e3e8e2;font-size:.84rem}
.footer-inner>a{color:#f3d2a7;text-underline-offset:5px}
.footer-inner>a:hover,.footer-inner>a:focus-visible{color:#fff}
@media(min-width:1400px){
  .menu-category .menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .extras-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:1100px){
}
@media(max-width:900px){
  .header-inner{height:78px}
  .brand img{width:170px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);background:transparent;border-radius:3px;padding:9px;flex:none}
  .menu-toggle span{display:block;height:2px;width:100%;background:var(--ink)}
  .site-nav{position:absolute;top:78px;left:0;right:0;background:var(--cream);display:none;flex-direction:column;align-items:stretch;gap:0;padding:9px 18px 20px;box-shadow:0 14px 18px rgba(28,22,15,.12)}
  .site-nav.is-open{display:flex}
  .site-nav>a{font-size:1rem;padding:16px 10px;border-top:1px solid var(--line)}
  .site-nav .nav-call{text-align:center;margin-top:12px;border:0}
  .intro-grid,.visit-grid{grid-template-columns:1fr;gap:32px}
  .intro-copy{padding-left:24px}
  .craft-grid{grid-template-columns:1fr}
  .craft-mark{display:none}
}
@media(max-width:600px){
  .wrap{width:min(calc(100% - 32px),1500px)}
  .section-pad{padding:64px 0}
  .menu-category{padding:36px 0 26px}
  .menu-category .menu-grid{grid-template-columns:1fr;gap:12px}
  .menu-card{padding:19px}
  .extras-grid,.menu-note-list{grid-template-columns:1fr}
  .visit-section.section-pad{padding-top:64px;padding-bottom:32px}
  .contact-card{margin-top:0;padding:18px 22px}
  .footer-inner{display:grid;gap:14px;padding:20px 0}
  .footer-inner>img{width:154px}
}
@media(max-width:360px){
  .wrap{width:min(calc(100% - 24px),1500px)}
  .menu-card-top{flex-wrap:wrap}
  .menu-card strong{width:100%;text-align:left}
  .contact-card{padding:14px 16px}
  .contact-item{grid-template-columns:30px 1fr;gap:12px}
}

/* Menu consultabile, sezioni informative e impaginazione larga */
.wrap{width:calc(100% - clamp(28px,6vw,112px));max-width:none}
.menu-section>.wrap,.allergen-section>.wrap,.craft-section>.wrap{width:calc(100% - clamp(28px,6vw,112px));max-width:none}
.menu-accordion{width:100%}
.menu-category{padding:0;margin:0;scroll-margin-top:22px}
.menu-category+.menu-category{border-top:1px solid #d6c9b7}
.menu-category-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:82px;padding:18px 3px;cursor:pointer;list-style:none}
.menu-category-summary::-webkit-details-marker{display:none}
.menu-category-summary::after{content:'+';display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #cbbba5;border-radius:50%;color:var(--red);font-size:1.45rem;line-height:1}
.menu-category[open]>.menu-category-summary::after{content:'−';background:#fffaf1}
.menu-category-summary h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.55rem,2.35vw,2.25rem);line-height:1.2;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.menu-category-content{padding:0 0 26px}
.menu-category-content>.menu-back{margin:22px 0 0}
.menu-category .menu-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:16px}
.menu-category .menu-card{height:100%;background:#fffaf1}
.extras-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px}
.extra-item{min-height:54px;display:flex;align-items:center}
.allergen-section{background:#f2ece1}
.allergen-section>.wrap{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.allergen-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:24px}
.allergen-heading h2{font-size:clamp(2.6rem,4.4vw,4.6rem);line-height:1.12;margin:14px 0 0}
.allergen-kitchen-note{padding:22px 26px;margin:0 0 34px;background:#fffaf1;border-left:5px solid var(--red);font-size:1.02rem;line-height:1.7;color:#403a32}
.allergen-list-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.3;margin:0 0 18px}
.allergen-list{counter-reset:none;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.allergen-item{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:22px 22px;background:#fffaf1;border:1px solid #e4d8c7;border-radius:3px;align-content:start}
.allergen-number{font-family:'Playfair Display',Georgia,serif;font-size:1.65rem;line-height:1.2;color:var(--red)}
.allergen-copy h4{font-family:'Playfair Display',Georgia,serif;font-size:1.18rem;line-height:1.35;margin:0 0 8px}
.allergen-copy p,.allergen-exceptions{font-size:.93rem;line-height:1.65;color:#625c52;margin:0;overflow-wrap:anywhere}
.allergen-copy .allergen-exceptions-heading{font-weight:700;color:#403a32;margin-top:13px}
.allergen-exceptions{padding-left:19px;margin-top:5px}
.allergen-exceptions li+li{margin-top:6px}
.allergen-derived-note{max-width:96ch;color:#625c52;font-size:.88rem;line-height:1.65;margin:20px 0 0;overflow-wrap:anywhere}
.allergen-final-notice{margin-top:28px;padding:24px 28px;background:#19251d;color:#fffaf1;border-left:5px solid #d6b483;font-size:1.02rem;line-height:1.75}
.aic-badge{width:min(190px,32vw);height:auto;margin:0;background:#fff;padding:8px;border-radius:3px}
.craft-content{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.craft-heading{max-width:90ch}
.craft-content h2{font-size:clamp(2.7rem,4.5vw,4.6rem)}
.craft-heading>p:not(.eyebrow){font-size:1.04rem;line-height:1.8;color:#e5e7df;max-width:88ch}
.dough-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:30px}
.dough-card{min-width:0;min-height:156px;padding:22px 23px;border:1px solid rgba(243,226,200,.3);background:rgba(255,255,255,.055);display:flex;flex-direction:column;align-items:stretch;gap:12px}
.dough-card.is-gluten-free{border:2px solid #e4c18d;background:rgba(255,255,255,.1)}
.dough-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dough-card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;line-height:1.25;margin:0;overflow-wrap:anywhere}
.dough-price{color:#f4d5a7;font-weight:700;white-space:nowrap}
.dough-price-note{display:none}
.dough-card-note{font-size:.92rem;line-height:1.65;color:#e5e7df;margin:0;overflow-wrap:anywhere}
.visit-section.section-pad{padding-top:70px;padding-bottom:46px}
.site-footer{margin-top:0}
@media(min-width:1500px){
  .menu-category .menu-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
  .dough-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1100px){
  .allergen-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dough-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .allergen-heading h2{font-size:clamp(2.4rem,6vw,3.8rem)}
}
@media(max-width:600px){
  .wrap,.menu-section>.wrap,.allergen-section>.wrap,.craft-section>.wrap{width:calc(100% - 32px)}
  .allergen-list,.dough-grid{grid-template-columns:1fr}
  .menu-category-summary{min-height:72px;padding:14px 0}
  .menu-category-summary h3{font-size:1.55rem}
  .menu-category .menu-grid{grid-template-columns:1fr;gap:12px}
  .allergen-heading{align-items:flex-start;flex-direction:column;gap:18px}
  .allergen-heading h2{font-size:clamp(2.2rem,10vw,3.2rem)}
  .allergen-kitchen-note{padding:18px 18px;margin-bottom:24px}
  .allergen-item{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:18px}
  .allergen-final-notice{padding:19px 20px}
  .aic-badge{width:170px}
  .dough-grid{gap:11px;margin-top:22px}
  .dough-card{min-height:0;padding:19px}
  .craft-content h2{font-size:clamp(2.5rem,11vw,3.5rem)}
  .visit-section.section-pad{padding-top:58px;padding-bottom:32px}
}
@media(max-width:360px){
  .wrap,.menu-section>.wrap,.allergen-section>.wrap,.craft-section>.wrap{width:calc(100% - 24px)}
  .menu-category-summary h3{font-size:1.35rem}
  .menu-category-summary::after{flex-basis:34px;width:34px;height:34px}
  .allergen-item{padding:15px 13px}
  .dough-card-top{flex-wrap:wrap}
}

/* Novità autonome e informazioni essenziali sugli allergeni */
.novita-section{background:#eee2d2;scroll-margin-top:22px}
.novita-section.section-pad{padding:78px 0 86px}
.novita-section>.wrap{width:calc(100% - clamp(28px,6vw,112px));max-width:none}
.novita-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}
.novita-heading h2{font-size:clamp(2.8rem,4.5vw,4.8rem);line-height:1.12;margin:14px 0 0}
.novita-heading .eyebrow{margin:0}
.novita-heading .text-link{flex:none;margin-bottom:8px}
.novita-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:32px;min-height:0}
.novita-grid .menu-card{height:100%;min-height:0;background:#fffaf1;border-color:#e0d1bd}
.allergen-section.section-pad{padding:82px 0}
.allergen-heading{margin-bottom:26px}
.allergen-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.allergen-summary>p{min-width:0;min-height:160px;margin:0;padding:24px 27px;font-size:1.02rem;line-height:1.75;overflow-wrap:anywhere}
.allergen-summary .allergen-kitchen-note{background:#fffaf1;border-left:5px solid var(--red);color:#403a32}
.allergen-summary .allergen-final-notice{background:#19251d;border-left:5px solid #d6b483;color:#fffaf1}
@media(max-width:820px){
  .novita-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .allergen-summary{grid-template-columns:1fr}
  .allergen-summary>p{min-height:0}
}
@media(max-width:600px){
  .novita-section>.wrap{width:calc(100% - 32px)}
  .novita-section.section-pad,.allergen-section.section-pad{padding:64px 0}
  .novita-heading{align-items:start;flex-direction:column;gap:16px}
  .novita-heading h2{font-size:clamp(2.4rem,10vw,3.3rem)}
  .novita-heading .text-link{margin:0}
  .novita-grid{grid-template-columns:1fr;gap:12px;margin-top:26px}
  .allergen-summary{gap:12px}
  .allergen-summary>p{padding:19px 20px}
}
@media(max-width:360px){
  .novita-section>.wrap{width:calc(100% - 24px)}
}

/* Indice essenziale e griglia compatta degli allergeni */
.menu-section .section-heading{margin-bottom:26px}
.allergen-section.section-pad{padding:70px 0}
.allergen-heading{margin-bottom:22px}
.allergen-kitchen-note{margin:0;padding:18px 22px;background:#fffaf1;border-left:5px solid var(--red);font-size:.98rem;line-height:1.65;color:#403a32}
.allergen-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0 0;padding:0;list-style:none}
.allergen-card{min-width:0;display:flex;align-items:flex-start;gap:11px;padding:14px 15px;background:#fffaf1;border:1px solid #e4d8c7;border-radius:3px}
.allergen-symbol{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f2ece1;font-size:1.25rem;line-height:1}
.allergen-card-copy{min-width:0}
.allergen-card-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:1rem;line-height:1.3;margin:1px 0 0;overflow-wrap:anywhere}
.allergen-example{margin:5px 0 0;color:#625c52;font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}
.allergen-detail{margin-top:5px}
.allergen-detail summary{cursor:pointer;color:#625c52;font-size:.78rem;font-weight:700;line-height:1.4;text-underline-offset:3px}
.allergen-detail .allergen-example{margin-top:5px}
.allergen-final-notice{margin:16px 0 0;padding:17px 21px;background:#19251d;color:#fffaf1;border-left:5px solid #d6b483;font-size:.96rem;line-height:1.6;overflow-wrap:anywhere}
.allergen-document{display:flex;align-items:center;gap:28px;margin-top:14px;padding:18px 21px;background:#fffaf1;border:1px solid #e4d8c7;border-left:5px solid var(--red);color:#403a32}
.allergen-document-logo{display:block;flex:none;width:clamp(220px,27vw,360px);max-width:100%;height:auto}
.allergen-document-copy{display:grid;gap:8px;min-width:0}
.allergen-document p{margin:0;line-height:1.55}
.allergen-document a{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:700;line-height:1.4;text-underline-offset:3px;overflow-wrap:anywhere}
.allergen-document .arrow-icon{flex:none}
@media(max-width:1100px){
  .allergen-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .allergen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .allergen-section.section-pad{padding:60px 0}
  .allergen-grid{gap:8px;margin-top:14px}
  .allergen-card{gap:9px;padding:12px 11px}
  .allergen-card-copy h3{font-size:.94rem}
  .allergen-example{font-size:.78rem}
  .allergen-final-notice{margin-top:14px;padding:15px 17px}
  .allergen-document{align-items:flex-start;flex-direction:column;gap:13px;padding:16px 17px}
  .allergen-document-logo{width:min(100%,320px)}
}
@media(max-width:360px){
  .allergen-grid{grid-template-columns:1fr}
}

/* Sponsor del territorio nel footer */
.footer-sponsors{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  align-items:center;
  gap:28px;
  padding-top:26px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.footer-sponsors h2{
  margin:0;
  color:#f3d2a7;
  font-size:clamp(1.35rem,2vw,1.75rem);
  line-height:1.25;
  letter-spacing:-.025em;
}
.footer-sponsor-list{display:grid;grid-template-columns:repeat(2,minmax(0,180px));gap:12px}
.footer-sponsor-card{
  display:grid;
  place-items:center;
  min-width:0;
  height:136px;
  padding:10px;
  border:1px solid rgba(243,210,167,.35);
  border-radius:3px;
}
.footer-sponsor-card-dark{background:#050505}
.footer-sponsor-card-light{background:#fff;border-color:#d8d0c2}
.footer-sponsor-card img{width:100%;height:100%;max-width:158px;max-height:112px;object-fit:contain;object-position:center}
@media(max-width:700px){
  .footer-sponsors{grid-template-columns:minmax(0,1fr);gap:14px;padding-top:20px;padding-bottom:17px}
  .footer-sponsors h2{font-size:1.35rem;text-align:center}
  .footer-sponsor-list{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .footer-sponsor-card{height:116px;padding:7px}
  .footer-sponsor-card img{max-width:100%;max-height:100px}
  .footer-inner .footer-logo,.footer-inner .footer-top-link{display:none}
  .footer-inner{padding:17px 0 20px}
}

/* Menu piatto, spazi più continui e griglie senza righe vuote */
.menu-section.section-pad{padding:72px 0 28px}
.menu-section .section-heading{margin-bottom:22px}
.menu-category{min-height:0;padding:0;margin:0;scroll-margin-top:22px}
.menu-category+.menu-category{border-top:1px solid #d6c9b7}
.menu-category-summary{min-height:68px;padding:13px 3px}
.menu-category-content{padding:0 0 18px}
.menu-category .menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.menu-category .menu-grid>.menu-card:last-child:nth-child(3n + 1){grid-column:1/-1}
.allergen-section.section-pad{padding:44px 0 58px}
.allergen-heading{margin-bottom:18px}
.allergen-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.allergen-card:nth-last-child(-n + 2){grid-column:span 2}
.dough-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.dough-card{min-height:0;padding:20px 22px}
@media(max-width:1100px){
  .menu-category .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-category .menu-grid>.menu-card:last-child:nth-child(2n + 1){grid-column:1/-1}
  .allergen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .allergen-card:nth-last-child(-n + 2){grid-column:auto}
}
@media(max-width:600px){
  .menu-section.section-pad{padding:80px 0 24px}
  .menu-category-summary{min-height:62px;padding:12px 0}
  .menu-category .menu-grid{grid-template-columns:1fr;gap:11px}
  .menu-category .menu-grid>.menu-card:last-child:nth-child(2n + 1){grid-column:auto}
  .allergen-section.section-pad{padding:34px 0 42px}
  .dough-grid{grid-template-columns:1fr;gap:10px;margin-top:18px}
  .dough-card{padding:18px}
}

@media(max-width:360px){
  .allergen-grid{grid-template-columns:1fr}
  .allergen-card:nth-last-child(-n + 2){grid-column:auto}
}

.site-header,
.site-nav {
  background: #fff;
}

/* Sala interna: galleria manuale accessibile. */
.sala-section{
  background-color:var(--paper);
}
.sala-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(32px,6vw,88px)}
.sala-heading h2{font-size:clamp(2.8rem,4.4vw,4.7rem);line-height:1.12;margin:15px 0 20px}
.sala-heading>p:last-child{max-width:28ch;margin:0;color:var(--muted);font-size:1.05rem;line-height:1.75}
.sala-carousel{min-width:0;width:100%}
.sala-section.section-pad{padding-bottom:72px}
.sala-celebration{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);align-items:center;gap:clamp(24px,4vw,56px);margin-top:22px;padding:20px 24px;border:1px solid #e1d4c2;border-left:3px solid var(--red);border-radius:4px;background:rgba(255,250,241,.96);box-shadow:0 7px 20px rgba(54,42,27,.055)}
.sala-celebration-heading{display:flex;align-items:center;gap:14px;min-width:0}
.sala-celebration-mark{width:43px;height:43px;flex:none;color:var(--forest)}
.sala-celebration h3{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.2;letter-spacing:-.025em;color:var(--forest);text-wrap:balance}
.sala-celebration p{max-width:76ch;margin:0;color:var(--muted);font-size:.96rem;line-height:1.65}
.sala-viewport{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:transparent;touch-action:pan-y pinch-zoom}
.sala-track{position:absolute;inset:0;display:flex;width:100%;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.sala-slide{display:grid;flex:0 0 100%;min-width:0;height:100%;place-items:center;margin:0;padding:12px}
.sala-photo-frame{display:flex;width:100%;height:100%;min-width:0;min-height:0;align-items:center;justify-content:center;padding:9px;border:1px solid #d5c6b4;background:var(--cream);box-shadow:0 8px 24px rgba(34,35,29,.13)}
.sala-slide img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-drag:none}

.sala-controls{display:flex;align-items:center;gap:10px;margin-top:14px}
.sala-arrow-group{display:flex;align-items:center;gap:8px;flex:none}
.sala-arrow{display:grid;width:44px;height:44px;flex:none;place-items:center;border:1px solid #d5c6b4;border-radius:50%;background:var(--cream);color:var(--red);transition:background .2s,color .2s,border-color .2s}
.sala-arrow:hover,.sala-arrow:focus-visible{background:var(--red);border-color:var(--red);color:#fff}
.sala-arrow svg{width:22px;height:22px}
.sala-indicators{display:flex;align-items:center;gap:2px}
.sala-dot{display:grid;width:38px;height:44px;flex:none;place-items:center;border:0;background:transparent;padding:0}
.sala-dot span{width:9px;height:9px;border-radius:50%;background:#b9aa98;transition:width .2s,background .2s}
.sala-dot[aria-current="true"] span{width:24px;height:8px;border-radius:8px;background:var(--red)}
.sala-status{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-card{box-shadow:none}
@media(max-width:900px){.sala-layout{gap:34px}}
@media(max-width:700px){.sala-layout{grid-template-columns:1fr;gap:27px}.sala-heading h2{font-size:clamp(2.5rem,9vw,3.3rem);margin:12px 0 14px}}
@media(max-width:600px){
  .sala-section.section-pad{padding:64px 0 36px}
  .sala-celebration{grid-template-columns:1fr;gap:11px;margin-top:16px;padding:17px 18px}
  .sala-celebration-heading{gap:11px}
  .sala-celebration-mark{width:36px;height:36px}
  .sala-celebration h3{font-size:1.45rem}
  .sala-celebration p{font-size:.92rem;line-height:1.58}
  .sala-controls{display:flex;gap:8px;margin-top:10px}
  .sala-arrow-group{gap:6px}
  .sala-indicators{margin-left:auto}
  .sala-dot{width:34px}
  .sala-slide{padding:8px}
  .sala-photo-frame{padding:7px}
}
@media(max-width:360px){.sala-heading>p:last-child{font-size:.98rem}.sala-dot{width:29px}}

/* Movimento leggero e progressivo: senza JavaScript le sezioni restano visibili. */
.reveal-on-scroll:not(.is-revealed){opacity:0;transform:translateY(14px);transition:opacity .46s ease,transform .46s cubic-bezier(.2,.75,.25,1)}
.reveal-on-scroll.is-revealed{opacity:1;transform:none;transition:opacity .46s ease,transform .46s cubic-bezier(.2,.75,.25,1)}
.sala-celebration,.menu-card,.dough-card,.contact-card,.footer-sponsor-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.site-nav>a,.text-link,.menu-back,.contact-item a,.footer-inner>a,.careers-email{transition:color .18s ease,text-decoration-color .18s ease,background-color .18s ease}
.sala-arrow,.sala-dot span,.menu-category-summary,.menu-category-summary::after,.careers-button,.careers-popup-link,.careers-popup-close{transition-duration:.2s}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .menu-card:hover,.dough-card:hover,.contact-card:hover,.footer-sponsor-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(38,35,27,.09)}
  .sala-celebration:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(54,42,27,.085);border-color:#d4c2aa}
}
@media(prefers-reduced-motion:reduce){
  .reveal-on-scroll:not(.is-revealed),.reveal-on-scroll.is-revealed{opacity:1;transform:none;transition:none!important}
  .sala-celebration,.menu-card,.dough-card,.contact-card,.footer-sponsor-card{transition:none!important}
}
@media(prefers-reduced-motion:reduce){.sala-track,.sala-dot span{transition:none}}

/* Fondale Pomodorino: un gesto a curve aperte, con pause attorno ai contenuti.
   Ogni sezione ha una composizione unica; il telefono usa disegni dedicati.
   Nel menu entrambe le immagini sono ancorate in alto, con misure che
   dipendono soltanto dalla larghezza dello schermo, mai dalle tendine. */
.novita-section,.sala-section,.craft-section,.allergen-section,.visit-section{
  background-image:var(--fondale);
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
}
.novita-section{--fondale:url("assets/fondale/novita.svg")}
.sala-section{--fondale:url("assets/fondale/sala.svg")}
.craft-section{--fondale:url("assets/fondale/impasti.svg")}
.allergen-section{--fondale:url("assets/fondale/allergeni.svg")}
.visit-section{--fondale:url("assets/fondale/contatti.svg")}
.menu-section{
  background-image:url("assets/fondale/menu.svg"),url("assets/fondale/menu-coda.svg");
  background-repeat:no-repeat;
  background-position:center top,center 780px;
  background-size:100% 850px,100% 220px;
}
@media(max-width:700px){
  .novita-section{--fondale:url("assets/fondale/novita-mobile.svg")}
  .sala-section{--fondale:url("assets/fondale/sala-mobile.svg")}
  .craft-section{--fondale:url("assets/fondale/impasti-mobile.svg")}
  .allergen-section{--fondale:url("assets/fondale/allergeni-mobile.svg")}
  .visit-section{--fondale:url("assets/fondale/contatti-mobile.svg")}
  .menu-section{
    background-image:url("assets/fondale/menu-mobile.svg"),url("assets/fondale/menu-coda-mobile.svg");
    background-size:100% 850px,100% 230px;
  }
}
@media(max-width:600px){
  .menu-section{
    background-position:center top,center 1100px;
    background-size:100% 1100px,100% 230px;
  }
}

/* Invito candidature, in chiusura pagina e nel normale flusso del contenuto. */
.careers-section{padding:clamp(24px,3.2vw,42px) 0;background:#f2ece1;border-top:1px solid var(--line)}
.careers-inner{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(24px,4vw,56px);padding:clamp(22px,3vw,36px) clamp(22px,3.4vw,46px);background:var(--cream);border:1px solid #e4d5c2;border-left:3px solid var(--red);color:var(--ink);box-shadow:0 7px 22px rgba(54,42,27,.07)}
.careers-heading .eyebrow{margin:0 0 9px;color:var(--forest);font-size:.72rem;font-weight:800;letter-spacing:.14em;line-height:1.45}
.careers-heading h2{max-width:12ch;font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,3.1vw,2.75rem);line-height:1.08;margin:0;letter-spacing:-.03em;text-wrap:balance;color:var(--forest)}
.careers-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(18px,2.6vw,34px)}
.careers-copy p{max-width:62ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.careers-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;background:var(--red);color:#fff!important;font-size:.94rem;font-weight:750;text-decoration:none;border:1px solid var(--red);white-space:nowrap;transition:background .2s,border-color .2s}
.careers-button:hover{background:var(--red-dark);border-color:var(--red-dark)}
.careers-button:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
.careers-actions{display:grid;justify-items:start;gap:11px;min-width:0}
.careers-email-note{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5;overflow-wrap:anywhere;user-select:text}
.careers-email{color:var(--forest);font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;user-select:text}
.careers-email:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:850px){.careers-inner{grid-template-columns:minmax(185px,.68fr) minmax(0,1.32fr);gap:22px;padding:24px}.careers-copy{grid-template-columns:1fr;align-items:start;gap:17px}}
@media(max-width:600px){.careers-section{padding:21px 0 24px}.careers-inner{grid-template-columns:1fr;gap:15px;padding:21px 19px 20px}.careers-heading .eyebrow{margin-bottom:7px;font-size:.68rem}.careers-heading h2{max-width:none;font-size:clamp(1.9rem,8vw,2.45rem)}.careers-copy{gap:15px}.careers-copy p{font-size:.97rem;line-height:1.6}.careers-button{width:100%;min-height:46px}.careers-email{display:inline-block;font-size:.82rem}}

/* Linguetta fissa per Lavora con noi, allineata al bordo e sotto l'header. */
.careers-popup{position:fixed;top:120px;right:0;z-index:9;display:flex;align-items:center;gap:2px;width:max-content;max-width:calc(100vw - 10px);padding:5px 6px 5px 10px;border:1px solid #e2a79b;border-right:0;border-radius:15px 0 0 15px;background:var(--red);box-shadow:-4px 7px 18px rgba(69,31,24,.2);opacity:0;transform:translateX(calc(100% + 12px));transition:opacity .28s ease,transform .38s cubic-bezier(.2,.75,.25,1)}
.careers-popup[hidden]{display:none}
.careers-popup.is-visible{opacity:1;transform:translateX(0)}
.careers-popup-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:7px 5px;color:#fffaf1;text-decoration:none;font-size:.86rem;font-weight:700;white-space:nowrap;transition:color .18s ease}
.careers-popup-link:hover,.careers-popup-link:active{color:#f4d7b8}
.careers-popup-arrow{width:16px;height:16px;flex:none;color:currentColor}
.careers-popup-link:focus-visible,.careers-popup-close:focus-visible{outline:3px solid #fffaf1;outline-offset:2px}
.careers-popup-close{display:grid;place-items:center;width:38px;height:38px;flex:none;padding:9px;border:0;border-radius:9px;background:transparent;color:#fffaf1;transition:color .18s ease,background .18s ease}
.careers-popup-close:hover{background:rgba(255,250,241,.16);color:#fff}
.careers-popup-close svg{width:16px;height:16px}
@media(max-width:600px){.careers-popup{top:88px;max-width:calc(100vw - 8px);padding:4px 4px 4px 8px;border-radius:13px 0 0 13px}.careers-popup-link{min-height:40px;padding:6px 4px;font-size:.8rem;gap:6px}.careers-popup-close{width:36px;height:36px;padding:8px}}
@media(prefers-reduced-motion:reduce){.careers-popup,.careers-popup-link,.careers-popup-close{transition:none}.careers-popup,.careers-popup.is-visible{transform:none}}

/* Apertura mobile: pannello e voci animati senza cambiare il flusso della pagina. */
.nav-backdrop{display:none}
@media(max-width:900px){
  .site-header{z-index:11}
  .menu-toggle{display:block;position:relative;z-index:2;transition:background .2s ease,border-color .2s ease}
  .menu-toggle span{position:absolute;top:50%;left:9px;right:9px;width:auto;margin-top:-1px;transform-origin:center;background:var(--ink);transition:transform .32s cubic-bezier(.22,.8,.25,1),opacity .18s ease,background .2s ease}
  .menu-toggle span:first-child{transform:translateY(-7px)}
  .menu-toggle span:nth-child(2){transform:scaleX(1)}
  .menu-toggle span:last-child{transform:translateY(7px)}
  .menu-toggle[aria-expanded="true"]{background:var(--paper);border-color:var(--red)}
  .menu-toggle[aria-expanded="true"] span{background:var(--red)}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){transform:scaleX(0);opacity:0}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
  .site-nav,.site-nav.is-open{display:flex}
  .site-nav{z-index:1;max-height:calc(100dvh - 78px);overflow-y:auto;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-18px);clip-path:inset(0 0 100% 0);transform-origin:top;transition:opacity .26s ease,transform .36s cubic-bezier(.2,.75,.25,1),clip-path .36s cubic-bezier(.2,.75,.25,1),visibility 0s linear .36s}
  .site-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);clip-path:inset(0 0 0 0);transition:opacity .26s ease,transform .36s cubic-bezier(.2,.75,.25,1),clip-path .36s cubic-bezier(.2,.75,.25,1),visibility 0s}
  .site-nav>a{opacity:0;transform:translateY(-11px);transition:opacity .2s ease,transform .25s ease;transition-delay:var(--exit-delay,0s)}
  .site-nav.is-open>a{opacity:1;transform:translateY(0);transition-delay:var(--enter-delay,0s)}
  .site-nav>a:nth-child(1){--enter-delay:.12s;--exit-delay:.10s}
  .site-nav>a:nth-child(2){--enter-delay:.17s;--exit-delay:.075s}
  .site-nav>a:nth-child(3){--enter-delay:.22s;--exit-delay:.05s}
  .site-nav>a:nth-child(4){--enter-delay:.27s;--exit-delay:.025s}
  .site-nav>a:nth-child(5){--enter-delay:.32s;--exit-delay:0s}
  .nav-backdrop{display:block;position:fixed;inset:0;z-index:9;background:rgba(22,25,19,.36);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .36s}
  .nav-open .nav-backdrop{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .3s ease,visibility 0s}
}
@media(prefers-reduced-motion:reduce){
  .menu-toggle,.menu-toggle span,.site-nav,.site-nav>a,.nav-backdrop{transition:none!important;animation:none!important}
}

/* Accordion del menu: unico indice, con aperture fluide e compatte. */
.menu-section .section-heading{margin-bottom:18px}
.menu-accordion{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;overflow-anchor:none}
.menu-category,.menu-category+.menu-category{min-width:0;margin:0;padding:0;border:1px solid #e1d4c2;border-left:3px solid var(--red);border-radius:4px;background:#fffaf1;scroll-margin-top:22px}
.menu-category-summary{min-height:70px;padding:14px 18px;background:#fffaf1;transition:background-color .24s ease,color .24s ease}
.menu-category-summary:hover,.menu-category-summary:focus-visible{background:#fdf4e7}
.menu-category-summary:focus-visible{outline:3px solid #e7954c;outline-offset:-3px}
.menu-category-summary::after{content:'+';flex-basis:38px;width:38px;height:38px;background:#fff;border-color:#d8c8b3;color:var(--red);font-size:1.4rem;transition:transform .28s cubic-bezier(.2,.75,.25,1),background-color .22s ease,border-color .22s ease,color .22s ease}
.menu-category[open]>.menu-category-summary::after{content:'+';transform:rotate(45deg);background:var(--red);border-color:var(--red);color:#fff}
.menu-category-summary h3{font-size:clamp(1.45rem,2.1vw,2rem)}
.menu-category-content{padding:0 16px 18px}
.menu-category .menu-grid{margin-top:0}
.menu-category-content>.menu-back{margin-top:18px}
@media(max-width:600px){
  .menu-accordion{gap:8px}
  .menu-category-summary{min-height:62px;padding:11px 12px}
  .menu-category-summary h3{font-size:clamp(1.22rem,5vw,1.55rem)}
  .menu-category-summary::after{flex-basis:35px;width:35px;height:35px}
  .menu-category-content{padding:0 10px 14px}
}
@media(prefers-reduced-motion:reduce){
  .menu-category-summary,.menu-category-summary::after{transition:none!important}
}
