:root{
--bg:#EDE3CC;
--bg-raise:#F5EFDD;
--bg-2:#E1D2A8;
--text:#241A12;
--text-dim:#5B4C38;
--accent:#B97A0E;
--accent-ink:#241A12;
--accent-2:#5F7A45;
--line: rgba(36,26,18,0.16);
--line-soft: rgba(36,26,18,0.09);
--shadow: 0 30px 60px -30px rgba(36,26,18,0.35);
--torrone-img: url("img/foto-01.jpg");
--natale-img: url("img/foto-02.jpg");
--eventi-img: url("img/foto-03.jpg");
--hero-img: url("img/foto-04.jpg");
--turismo-img: url("img/foto-05.webp");
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
--bg:#1B140D;
--bg-raise:#241B12;
--bg-2:#100C08;
--text:#F2E7CE;
--text-dim:#C6B593;
--accent:#E2A73E;
--accent-ink:#1B140D;
--accent-2:#93A671;
--line: rgba(242,231,206,0.16);
--line-soft: rgba(242,231,206,0.08);
--shadow: 0 30px 70px -30px rgba(0,0,0,0.6);
}
}
:root[data-theme="dark"]{
--bg:#1B140D;
--bg-raise:#241B12;
--bg-2:#100C08;
--text:#F2E7CE;
--text-dim:#C6B593;
--accent:#E2A73E;
--accent-ink:#1B140D;
--accent-2:#93A671;
--line: rgba(242,231,206,0.16);
--line-soft: rgba(242,231,206,0.08);
--shadow: 0 30px 70px -30px rgba(0,0,0,0.6);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
margin:0;
background:var(--bg);
color:var(--text);
font-family:'Manrope', ui-sans-serif, system-ui, sans-serif;
line-height:1.5;
-webkit-font-smoothing:antialiased;
}
h1,h2,h3{
font-family:'Fraunces', ui-serif, Georgia, serif;
font-weight:680;
letter-spacing:-0.01em;
text-wrap:balance;
margin:0;
}
em{
font-family:'Fraunces', serif;
font-style:italic;
font-weight:500;
color:var(--accent);
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
section{position:relative;}

/* ---------- nav ---------- */
.nav{
position:sticky;top:0;z-index:40;
background:color-mix(in srgb, var(--bg) 88%, transparent);
backdrop-filter:blur(10px);
border-bottom:1px solid var(--line-soft);
transition:box-shadow .3s ease;
}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;transition:height .3s cubic-bezier(.2,.7,.2,1);}
.nav.scrolled{box-shadow:0 6px 24px rgba(20,14,8,.08);}
.nav.scrolled .wrap{height:58px;}
.nav.scrolled .nav-logo{height:52px;}
.nav-logo{transition:height .3s cubic-bezier(.2,.7,.2,1);}
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;border:none;background:none;cursor:pointer;padding:0;flex:none;}
.nav-burger span{display:block;width:100%;height:2px;background:var(--text);border-radius:2px;}
.nav-collapse{display:contents;}
@media (max-width:860px){
.nav-burger{display:flex;}
.nav-collapse{
display:none;position:absolute;top:100%;left:0;right:0;
flex-direction:column;align-items:stretch;gap:16px;
background:var(--bg-raise);border-bottom:1px solid var(--line-soft);
padding:20px 24px 26px;box-shadow:0 20px 40px -20px rgba(0,0,0,0.25);
z-index:39;
}
.nav-collapse.open{display:flex;}
.nav-collapse.open .navlinks{display:flex !important;flex-direction:column;gap:14px;font-size:1rem;}
.nav-collapse .lang-switch{align-self:flex-start;}
.nav-collapse .btn{width:100%;justify-content:center;}
}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--accent);z-index:60;transition:width .08s linear;}
.brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:680;font-size:1.05rem;letter-spacing:-0.01em;white-space:nowrap;}
.nav-logo{height:66px;width:auto;display:block;}
.brand .mark{width:30px;height:30px;flex:none;}
.navlinks{display:flex;gap:26px;font-size:0.9rem;font-weight:600;color:var(--text-dim);}
.navlinks a{text-decoration:none;position:relative;padding:4px 0;}
.navlinks a:hover{color:var(--text);}
.navlinks a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--accent);transition:right .25s ease;}
.navlinks a:hover::after{right:0;}
.navlinks a.active{color:var(--text);}
.navlinks a.active::after{right:0;}
.btn{
display:inline-flex;align-items:center;gap:8px;
font-family:'Manrope',sans-serif;font-weight:700;font-size:0.88rem;
padding:11px 20px;border-radius:3px;text-decoration:none;
border:1px solid transparent;cursor:pointer;
transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.btn-primary{background:var(--text);color:var(--bg);}
.btn-primary:hover{transform:translateY(-2px);}
.btn-ghost{border-color:var(--line);color:var(--text);background:transparent;}
.btn-ghost:hover{border-color:var(--text);}
.btn-sm{padding:8px 14px;font-size:0.8rem;}

/* ---------- language switcher ---------- */
.lang-switch{display:flex;align-items:center;gap:1px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--bg-raise);flex:none;}
.lang-switch button{appearance:none;border:none;background:transparent;color:var(--text-dim);font-family:'Manrope',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.02em;padding:5px 9px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease;}
.lang-switch button:hover{color:var(--text);}
.lang-switch button.active{background:var(--accent);color:var(--accent-ink);}
@media (max-width:860px){
.lang-switch{padding:2px;}
.lang-switch button{padding:4px 7px;font-size:.66rem;}
}

/* ---------- hero ---------- */
.hero{
position:relative;min-height:66vh;display:flex;align-items:flex-end;
overflow:hidden;padding:0;isolation:isolate;
}
.hero::before{
content:"";position:absolute;inset:-4% -4%;z-index:-2;
background-image:var(--hero-img);background-size:cover;
background-position:center calc(46% + var(--hero-parallax, 0px));
transform:scale(1);transform-origin:center;
}
.hero::after{
content:"";position:absolute;inset:0;z-index:-1;
background:
linear-gradient(100deg, rgba(9,6,3,0.68) 0%, rgba(9,6,3,0.52) 40%, rgba(9,6,3,0.22) 66%, rgba(9,6,3,0.06) 82%),
linear-gradient(180deg, rgba(9,6,3,0.14) 0%, rgba(9,6,3,0.30) 55%, rgba(9,6,3,0.68) 100%);
}
.hero .wrap{position:relative;padding:120px 32px 64px;}
.hero-copy{max-width:58ch;color:#F4ECD8;text-shadow:0 2px 20px rgba(6,4,2,0.35);}
.hero .eyebrow{color:#E7C98E;}
.hero .eyebrow::before{background:#E7C98E;}
.eyebrow{
font-size:0.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
color:var(--accent-2);margin-bottom:18px;display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--accent-2);}
.hero h1{color:#FBF3E2;font-size:clamp(2.4rem, 5.2vw, 4rem);line-height:1.05;}
.hero h1 em{color:#E7C98E;font-style:italic;}
.hero p.lede{margin-top:22px;max-width:52ch;font-size:1.1rem;color:#D9CBAE;}
.hero .cta-row{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}
.hero .btn-primary{background:var(--accent);color:#241A12;}
.hero .btn-ghost{border-color:rgba(244,236,216,0.42);color:#F4ECD8;}
.hero .btn-ghost:hover{border-color:#F4ECD8;}
.hero-breadcrumb{position:relative;z-index:1;font-size:.78rem;color:#D9CBAE;margin-bottom:18px;}
.hero-breadcrumb a{color:#E7C98E;text-decoration:none;}
.hero-breadcrumb a:hover{text-decoration:underline;}

/* ---------- stats strip ---------- */
.stats{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.stats .wrap{display:grid;grid-template-columns:repeat(3,1fr);}
.stat{padding:34px 30px;border-left:1px solid var(--line-soft);}
.stat:first-child{border-left:none;}
.stat b{display:block;font-family:'Fraunces',serif;font-size:2.2rem;font-variant-numeric:tabular-nums;}
.stat p{margin:6px 0 0;color:var(--text-dim);font-size:0.9rem;max-width:26ch;}

/* ---------- generic content sections ---------- */
.lp-section{padding:86px 0;}
.lp-section.tight{padding:48px 0 86px;}
.lp-section .head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.lp-section .head-row h2{font-size:clamp(1.7rem,2.6vw,2.3rem);max-width:28ch;}
.lp-section .head-row p{color:var(--text-dim);max-width:44ch;margin:10px 0 0;}
.lp-copy{max-width:72ch;color:var(--text-dim);font-size:1.02rem;line-height:1.7;}
.lp-copy p{margin:0 0 18px;}
.lp-copy strong{color:var(--text);}

/* ---------- natale banner reused for page intro ---------- */
.natale-banner{
position:relative;border-radius:8px;overflow:hidden;min-height:380px;
display:flex;align-items:flex-end;padding:52px;color:#F4ECD8;
box-shadow:var(--shadow);
}
.natale-banner::before{content:"";position:absolute;inset:0;background-image:var(--natale-img);background-size:cover;background-position:center 30%;}
.natale-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,14,8,0.1) 10%, rgba(14,10,6,0.93) 96%);}
.natale-banner .inner{position:relative;z-index:1;max-width:46ch;}
.natale-banner .eyebrow{color:#E2C387;}
.natale-banner .eyebrow::before{background:#E2C387;}
.natale-banner h2{color:#FBF3E2;font-size:clamp(1.9rem,3.2vw,2.5rem);}
.natale-banner p{color:#D9CBAE;margin-top:16px;font-size:1.02rem;max-width:42ch;}
.natale-banner .cta-row{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}
.natale-banner .btn-primary{background:var(--accent);color:#241A12;}
.natale-banner .btn-ghost{border-color:rgba(244,236,216,0.4);color:#F4ECD8;}
.natale-banner .btn-ghost:hover{border-color:#F4ECD8;}

.natale-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px;}
.natale-card{background:var(--bg-raise);border:1px solid var(--line-soft);border-radius:5px;overflow:hidden;transition:transform .22s ease, box-shadow .22s ease;}
.natale-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.natale-card .thumb{aspect-ratio:4/3;overflow:hidden;background:var(--bg-2);}
.natale-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.natale-card:hover .thumb img{transform:scale(1.04);}
.natale-card .body{padding:16px 18px 20px;}
.natale-card .tag{font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);}
.natale-card h4{font-size:1rem;margin-top:6px;font-family:'Fraunces',serif;font-weight:600;}
.natale-card p{color:var(--text-dim);font-size:.84rem;margin-top:6px;}

/* ---------- product grid (reused) ---------- */
.prod-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:40px;}
.prod-tags span{
padding:7px 15px;border-radius:999px;border:1px solid var(--line);
background:var(--bg-raise);color:var(--text-dim);
font-size:.76rem;font-weight:700;letter-spacing:.02em;
}
.p-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;}
.p-card{
background:var(--bg-raise);border:1px solid var(--line-soft);border-radius:5px;
padding:30px 28px;position:relative;overflow:hidden;
transition:transform .22s ease, box-shadow .22s ease;
}
.p-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.p-card.big{grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;color:#F4ECD8;}
.p-card.big::before{content:"";position:absolute;inset:0;background-image:var(--torrone-img);background-size:cover;background-position:center;}
.p-card.big::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,14,8,0.05) 20%, rgba(15,10,6,0.85) 92%);}
.p-card.big .inner{position:relative;z-index:1;}
.p-card.big .tag{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#E2C387;}
.p-card.big h3{font-size:1.7rem;color:#FBF3E2;margin-top:8px;}
.p-card.big p{color:#D9CBAE;font-size:.92rem;margin-top:8px;max-width:32ch;}
.p-card h3{font-size:1.15rem;}
.p-card .tag{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);}
.p-card p{color:var(--text-dim);font-size:.9rem;margin-top:8px;}
.p-card .num{position:absolute;right:22px;top:22px;font-family:'Fraunces',serif;font-size:.85rem;color:var(--line);font-weight:600;}
.p-card .thumb{margin:-30px -28px 20px;aspect-ratio:4/3;overflow:hidden;background:var(--bg-2);border-bottom:1px solid var(--line-soft);}
.p-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.p-card:hover .thumb img{transform:scale(1.04);}
.p-card .price{margin-top:14px;font-size:.82rem;font-weight:700;color:var(--text);}
.p-card .price span{color:var(--text-dim);font-weight:600;font-size:.78rem;}

/* ---------- attività / vantaggi grid ---------- */
.attivita-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;}
.attivita-card{
background:var(--bg-raise);border:1px solid var(--line-soft);border-radius:8px;
padding:32px 22px;text-align:center;
transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.attivita-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line);}
.attivita-card .icon{
width:56px;height:56px;margin:0 auto 18px;border-radius:50%;
border:1.4px solid var(--accent);display:flex;align-items:center;justify-content:center;color:var(--accent);
}
.attivita-card .icon svg{width:26px;height:26px;}
.attivita-card h4{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:600;}
.attivita-card p{color:var(--text-dim);font-size:.86rem;margin-top:8px;line-height:1.5;}

/* ---------- ingrosso / B2B CTA band (reused) ---------- */
.ingrosso{background:var(--accent-ink);color:#F4ECD8;padding:90px 0;}
:root[data-theme="dark"] .ingrosso{background:#0E0B07;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ingrosso{background:#0E0B07;} }
.ingrosso .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.ingrosso .eyebrow{color:#E2C387;}
.ingrosso .eyebrow::before{background:#E2C387;}
.ingrosso h2{color:#FBF3E2;font-size:clamp(1.9rem,3vw,2.6rem);max-width:18ch;}
.ingrosso p.lede{color:#D9CBAE;margin-top:20px;max-width:42ch;font-size:1.02rem;}
.who-list{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;}
.who-list li{font-size:.92rem;color:#E9DFC6;display:flex;gap:10px;align-items:flex-start;}
.who-list li svg{flex:none;margin-top:3px;}
.ing-art{position:relative;border-radius:6px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,0.6);}
.ing-art img{aspect-ratio:4/5;object-fit:cover;}
.ing-art .price-note{
position:absolute;left:20px;bottom:20px;background:rgba(20,15,9,0.72);
border:1px solid rgba(244,236,216,0.25);backdrop-filter:blur(6px);
padding:12px 16px;border-radius:4px;font-size:.78rem;color:#F4ECD8;max-width:220px;
}
.ing-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}
.ing-cta .btn-primary{background:var(--accent);color:#241A12;}
.ing-cta .btn-ghost{border-color:rgba(244,236,216,0.4);color:#F4ECD8;}
.ing-cta .btn-ghost:hover{border-color:#F4ECD8;}

/* ---------- faq ---------- */
.faq{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line-soft);padding:22px 0;}
.faq-item h3{font-size:1.05rem;font-weight:650;}
.faq-item p{color:var(--text-dim);margin-top:10px;font-size:.95rem;line-height:1.65;}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.step{background:var(--bg-raise);border:1px solid var(--line-soft);border-radius:8px;padding:26px 22px;}
.step .n{font-family:'Fraunces',serif;font-weight:680;font-size:1.6rem;color:var(--accent);}
.step h4{font-family:'Fraunces',serif;font-size:1rem;font-weight:620;margin-top:8px;}
.step p{color:var(--text-dim);font-size:.86rem;margin-top:8px;line-height:1.55;}

/* ---------- footer ---------- */
footer{padding:80px 0 50px;}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;border-bottom:1px solid var(--line-soft);padding-bottom:50px;}
.foot-brand{font-family:'Fraunces',serif;font-weight:680;font-size:1.3rem;}
.foot-logo{height:106px;width:auto;display:block;margin-bottom:2px;}
.foot-brand p{font-family:'Manrope',sans-serif;font-weight:500;color:var(--text-dim);font-size:.88rem;margin-top:12px;max-width:28ch;}
.foot-col h4{font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin:0 0 16px;}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:.9rem;}
.foot-bottom{display:flex;justify-content:space-between;padding-top:26px;font-size:.8rem;color:var(--text-dim);flex-wrap:wrap;gap:12px;}
.foot-social{display:flex;gap:10px;margin-top:18px;}
.social-link{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text-dim);transition:background .2s ease,color .2s ease,border-color .2s ease;flex:none;}
.social-link:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.social-link svg{width:16px;height:16px;display:block;}
.privacy-link{color:inherit;text-decoration:underline;cursor:pointer;}

/* ---------- marquee ticker (pure CSS) ---------- */
.marquee{
border-bottom:1px solid var(--line-soft);background:var(--bg-2);
overflow:hidden;padding:16px 0;white-space:nowrap;
}
.marquee-track{display:inline-flex;width:max-content;animation:marqueeScroll 32s linear infinite;}
.marquee-track span{
display:inline-flex;align-items:center;gap:14px;
font-family:'Fraunces',serif;font-style:italic;font-weight:500;
font-size:1.05rem;color:var(--text-dim);padding:0 28px;letter-spacing:.01em;
}
.marquee-track span::after{content:"\2726";color:var(--accent);font-style:normal;font-size:.7rem;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

@media (max-width: 860px){
.hero{min-height:52vh;}
.hero .wrap{padding:110px 22px 48px;}
.stats .wrap{grid-template-columns:1fr;}
.stat{border-left:none;border-top:1px solid var(--line-soft);}
.stat:first-child{border-top:none;}
.p-grid{grid-template-columns:1fr;}
.p-card.big{min-height:320px;}
.natale-banner{padding:32px;min-height:300px;}
.natale-grid{grid-template-columns:1fr 1fr;}
.attivita-grid{grid-template-columns:1fr 1fr;}
.ingrosso .wrap{grid-template-columns:1fr;}
.who-list{grid-template-columns:1fr;}
.foot-grid{grid-template-columns:1fr 1fr;}
.navlinks{display:none;}
.nav .wrap{padding:0 16px;gap:10px;}
.brand{font-size:.72rem;gap:6px;}
.nav-logo{height:46px;}
.nav .btn-sm{padding:7px 10px;font-size:.68rem;white-space:nowrap;}
.marquee-track span{font-size:.86rem;padding:0 18px;}
.steps{grid-template-columns:1fr 1fr;}
}
@media (max-width: 480px){
.foot-grid{grid-template-columns:1fr;}
.steps{grid-template-columns:1fr;}
}
@media (max-width: 360px){
.nav-logo{height:40px;}
}
