:root{--green:#1f4d3c;--dark:#173e31;--mint:#dfeadf;--cream:#f8f3e7;--paper:#fffdf8;--orange:#ed6b3a;--yellow:#f2c94c;--ink:#19362c;--muted:#64766e;--line:rgba(23,62,49,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Fraunces",serif}.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:12px 16px;border-radius:8px;background:#fff;color:var(--dark);font-weight:800;transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:0 clamp(20px,5vw,76px);position:sticky;top:0;z-index:20;background:rgba(255,253,248,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.logo{display:flex;align-items:center;gap:10px;min-width:0}.logo-mark{width:64px;height:64px;object-fit:cover;border-radius:18px}.logo-name{width:clamp(150px,16vw,230px)}.site-nav{display:flex;gap:6px}.site-nav a{padding:10px 14px;border-radius:99px;font-size:14px;font-weight:600;color:var(--muted)}.site-nav a:hover{background:var(--mint);color:var(--dark)}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 24px;border-radius:14px;background:var(--orange);color:#fff;font-weight:700;box-shadow:0 12px 25px rgba(237,107,58,.2);transition:.2s}.button:hover{transform:translateY(-2px);background:#d9572b}.button-small{min-height:46px;padding:0 18px;justify-self:end}.menu-toggle{display:none}.hero{min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;background:var(--green);color:#fff;overflow:hidden}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:82px clamp(24px,7vw,110px)}.eyebrow{margin-bottom:18px;color:#d7e7db;font-size:11px;font-weight:800;letter-spacing:.18em}.eyebrow.dark{color:var(--orange)}.hero h1{margin-bottom:24px;font-size:clamp(50px,6vw,84px);line-height:.95;letter-spacing:-.05em}.hero h1 em{color:var(--yellow);font-weight:600}.hero-text{max-width:560px;color:#d7e4df;font-size:18px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:16px}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.45);padding:10px 0}.trust-list{display:flex;flex-wrap:wrap;gap:20px;margin:38px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.18);list-style:none;color:#d7e4df;font-size:13px}.trust-list span{color:var(--yellow);font-weight:800}.hero-visual{position:relative;min-height:650px;background:linear-gradient(145deg,#dfeadb,#90b89d);overflow:hidden;clip-path:ellipse(78% 91% at 69% 50%)}.hero-ring{position:absolute;width:420px;height:420px;border-radius:50%;left:22%;top:17%;background:rgba(255,241,193,.75);box-shadow:0 0 0 45px rgba(255,255,255,.12)}.produce-card{position:absolute;z-index:2;display:grid;place-items:center;width:150px;height:165px;padding:16px;border-radius:75px 75px 28px 28px;background:rgba(255,253,248,.83);box-shadow:0 22px 45px rgba(23,62,49,.18);color:var(--dark);backdrop-filter:blur(4px);transform:rotate(var(--r))}.produce-card span{font-size:76px;filter:drop-shadow(0 10px 8px rgba(23,62,49,.2))}.produce-card small{font-weight:700}.card-tomato{left:16%;top:18%;--r:-8deg}.card-bread{right:12%;top:12%;--r:8deg}.card-cheese{right:17%;bottom:10%;--r:-5deg}.card-pear{left:20%;bottom:8%;--r:6deg}.quality-seal{position:absolute;z-index:3;left:48%;top:46%;width:145px;height:145px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--orange);border:5px solid rgba(255,255,255,.7);font-size:10px;letter-spacing:.12em;transform:rotate(-8deg);box-shadow:0 14px 30px rgba(23,62,49,.25)}.quality-seal b{font-size:13px}.section{padding:100px clamp(24px,7vw,110px)}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;background:var(--cream)}.intro h2,.section-heading h2,.contact h2{margin:0;font-size:clamp(38px,4vw,58px);line-height:1.05}.intro-copy{font-size:17px;line-height:1.75;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:46px}.dark-link{border-color:var(--line)}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.category-card{min-height:280px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;border-radius:26px;transition:.22s}.category-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(23,62,49,.12)}.category-icon{font-size:72px;align-self:center;filter:drop-shadow(0 12px 10px rgba(23,62,49,.16))}.category-card small{display:block;margin-bottom:8px;font-size:10px;font-weight:800;letter-spacing:.12em;opacity:.65}.category-card strong{display:block;font-family:"Fraunces",serif;font-size:23px}.category-card b{align-self:flex-end;font-size:24px}.green-card{background:#dce9dd}.sand-card{background:#eee0cb}.yellow-card{background:#f4e7b8}.blue-card{background:#dce8e9}.steps{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:var(--dark);color:#fff}.steps-heading h2{font-size:clamp(40px,4.5vw,62px);line-height:1.04}.steps-list{margin:0;padding:0;list-style:none}.steps-list li{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.16)}.steps-list li>span{color:var(--yellow);font-family:"Fraunces",serif;font-size:24px}.steps-list h3{margin-bottom:7px;font-size:28px}.steps-list p{margin:0;color:#cddbd5;line-height:1.6}.light-button{grid-column:2;justify-self:start;background:var(--yellow);color:var(--dark);box-shadow:none}.light-button:hover{background:#ffd862}.contact{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--cream)}.contact p:not(.eyebrow){max-width:620px;margin:20px 0 0;color:var(--muted);font-size:16px;line-height:1.7}footer{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:28px;padding:36px clamp(24px,7vw,110px);background:#102e25;color:#d7e4df}.footer-brand img{width:58px;height:58px;object-fit:cover;border-radius:16px}footer p{margin:0}footer div{display:flex;gap:22px;font-size:14px;font-weight:600}footer small{color:#9fb2aa}.menu-toggle{border:0;background:var(--mint);color:var(--dark);border-radius:999px;padding:10px 15px;font-weight:700}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.site-nav{position:absolute;left:20px;right:20px;top:78px;display:none;flex-direction:column;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px rgba(23,62,49,.16)}.site-nav.open{display:flex}.menu-toggle{display:block}.header-order{display:none}.hero{grid-template-columns:1fr}.hero-copy{min-height:590px}.hero-visual{min-height:520px;clip-path:none}.category-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.light-button{grid-column:1}.intro{gap:50px}footer{grid-template-columns:auto 1fr}footer div,footer small{grid-column:2}}
@media(max-width:640px){.site-header{height:76px;padding:0 16px}.logo-mark{width:52px;height:52px}.logo-name{width:145px}.hero-copy{min-height:570px;padding:64px 24px}.hero h1{font-size:49px}.hero-text{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.trust-list{gap:12px 18px}.hero-visual{min-height:440px}.hero-ring{width:290px;height:290px;left:13%;top:17%}.produce-card{width:110px;height:125px}.produce-card span{font-size:54px}.card-tomato{left:7%}.card-bread{right:6%}.card-cheese{right:8%}.card-pear{left:10%}.quality-seal{width:110px;height:110px;left:37%;top:39%}.section{padding:72px 24px}.intro{grid-template-columns:1fr;gap:28px}.section-heading{align-items:flex-start;flex-direction:column}.category-grid{grid-template-columns:1fr}.category-card{min-height:225px}.steps-list li{grid-template-columns:54px 1fr;gap:12px}.contact{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr;text-align:center;justify-items:center}footer div,footer small{grid-column:1;flex-wrap:wrap;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Immagine principale della bottega */
.hero-visual{display:grid;place-items:center;padding:42px clamp(24px,4vw,64px);background:linear-gradient(145deg,#f8f3e7,#dce9dd)}
.hero-shop-image{width:min(100%,680px);max-height:590px;object-fit:contain;border-radius:34px;filter:drop-shadow(0 26px 28px rgba(23,62,49,.2))}
@media(max-width:640px){.hero-visual{padding:28px 20px}.hero-shop-image{max-height:390px;border-radius:24px}}

/* Categorie illustrate */
.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.category-card{position:relative;min-height:245px;align-items:stretch;overflow:hidden;padding:18px;background:linear-gradient(145deg,#fffdf8,#e6efe4);color:var(--ink);border:1px solid rgba(31,77,60,.1);isolation:isolate}
.category-card:nth-child(2n){background:linear-gradient(145deg,#f8f3e7,#eee0cb)}
.category-card::after{display:none}
.category-card>img{position:static;width:60%;height:150px;margin:0 auto 8px;object-fit:contain;transition:transform .3s ease;filter:drop-shadow(0 10px 12px rgba(23,62,49,.12))}
.category-card:hover>img{transform:scale(1.04)}
.category-card>span{margin-top:auto;padding:0 36px 0 2px}
.category-card small{color:var(--green);opacity:.75}.category-card strong{color:var(--ink);font-size:20px}.category-card>b{position:absolute;right:20px;bottom:18px;color:var(--orange)}
@media(max-width:980px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.category-grid{grid-template-columns:1fr}.category-card{min-height:240px}.category-card>img{height:132px}}

/* Presentazione e posizione del negozio */
.store-info{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;background:var(--cream)}
.store-story,.location-card{border-radius:28px;overflow:hidden}
.store-story{display:grid;grid-template-columns:205px 1fr;align-items:center;gap:34px;padding:42px;background:var(--paper);border:1px solid var(--line)}
.store-story-logo{display:grid;place-items:center;width:225px;height:225px;padding:10px;border-radius:50%;background:linear-gradient(145deg,#e3eee1,#f6e9cb);overflow:hidden}
.store-story-logo img{width:91%;height:91%;border-radius:50%;object-fit:cover;box-shadow:0 16px 32px rgba(23,62,49,.16)}
.store-story h2,.location-card h2{margin:0 0 20px;font-size:clamp(34px,3.5vw,50px);line-height:1.05}
.store-story p:not(.eyebrow){color:var(--muted);line-height:1.72}
.location-card{padding:42px;color:#fff;background:var(--dark)}
.location-detail{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:14px;padding:18px 0;border-top:1px solid rgba(255,255,255,.15)}
.location-detail>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--dark);background:var(--yellow);font-size:24px}
.location-detail-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.location-detail small{display:block;margin-bottom:4px;color:#b8cbc3;font-size:10px;font-weight:800;letter-spacing:.14em}.location-detail strong{display:block}
.location-note{margin:18px 0;color:#cbd9d3;font-size:13px;line-height:1.55}.location-order{margin-top:6px}
@media(max-width:980px){.store-info{grid-template-columns:1fr}.store-story{grid-template-columns:190px 1fr}.store-story-logo{width:190px;height:190px;padding:18px}}
@media(max-width:640px){.store-story{grid-template-columns:1fr;padding:28px}.store-story-logo{width:180px;height:180px;padding:18px}.location-card{padding:30px 24px}}

.hidden{display:none!important}
.opening-hours-box{margin-top:8px;padding:18px 0;border-top:1px solid rgba(255,255,255,.15)}
.opening-hours-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.opening-hours-heading small{display:block;margin-bottom:4px;color:#b8cbc3;font-size:10px;font-weight:800;letter-spacing:.14em}.opening-hours-heading strong{font-family:"Fraunces",serif;font-size:21px}.opening-hours-heading>span{color:var(--yellow);font-size:24px}
.home-opening-hours{display:grid;gap:7px}.home-hours-row{display:grid;grid-template-columns:95px 1fr;gap:14px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}.home-hours-row strong{color:#fff}.home-hours-row span{color:#cbd9d3}.home-hours-row.closed span{color:#efb29e}
.hours-notice{margin:14px 0 0;padding:12px 14px;border-radius:12px;color:var(--dark);background:var(--yellow);font-size:13px;font-weight:700;line-height:1.45}
.location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:20px}.location-actions .button{margin:0}.location-contact-link{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.45);font-size:13px;font-weight:700}
.contact-inline-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}.contact-inline-links a{color:var(--yellow);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.home-hours-row{grid-template-columns:82px 1fr}.location-actions{align-items:flex-start;flex-direction:column}}

/* Selettore lingua della home */
.home-language-flags{display:inline-flex;align-items:center;gap:7px;margin-bottom:24px;padding:8px 10px 8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.home-language-flags>span{margin-right:3px;color:#d9e8d7;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.home-language-flags button{display:grid;place-items:center;width:36px;height:32px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.1);font-size:20px;line-height:1;cursor:pointer;transition:.18s ease}
.home-language-flags button:hover{transform:translateY(-2px);background:rgba(255,255,255,.22)}
.home-language-flags button.active{border-color:var(--yellow);background:#fff;box-shadow:0 0 0 2px rgba(242,201,76,.35);transform:scale(1.08)}
.home-language-flags button:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.trust-list b{font-weight:500}
@media(max-width:640px){.home-language-flags{gap:5px;padding-left:10px}.home-language-flags>span{display:none}.home-language-flags button{width:34px}}

.footer-legal-links{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:13px}
.footer-legal-links a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:4px}
.footer-legal-links a:hover{color:#fff;text-decoration-color:var(--yellow)}
@media(max-width:980px){.footer-legal-links{grid-column:2}}
@media(max-width:640px){.footer-legal-links{grid-column:1;justify-content:center}}
