/* Font fallback stack while web fonts load */
body{font-family:'Raleway','Helvetica Neue',Arial,sans-serif;}
h1,h2,h3,.nb,.ht,.st,.col-name,.pn,.srow-name,.cc-head-title,.fn{
  font-family:'Raleway',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --bg:#f7f3ea; --cr:#EFDDBD; --sb:#C6BA8F; --sb2:#C99D66;
  --c:#1C4F36;  --te:#3B5F49; --z:#3B5F49;  --m:#C99D66;
  --t2:#3B5F49; --v:#628871;
}
body{font-display:swap;font-family:'Raleway',sans-serif;background:var(--bg);color:var(--c);}
.W{max-width:960px;margin:0 auto;padding:0 48px;}

/* NAV */
nav{background:var(--bg);border-bottom:1px solid var(--sb);height:76px;display:flex;align-items:center;position:sticky;top:0;z-index:100;}
.ni{max-width:960px;margin:0 auto;padding:0 48px;width:100%;display:flex;align-items:center;justify-content:space-between;}
.nb{font-family:'Raleway',sans-serif;font-size:16px;color:var(--c);font-style:italic;}
.nl{display:flex;gap:36px;list-style:none;}
.nl a{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--t2);text-decoration:none;font-weight:500;opacity:.55;transition:opacity .2s;}
.nl a:hover{opacity:1;}

/* HERO */
.hero{padding:72px 48px 100px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px;border-bottom:1px solid var(--sb);}
.hk{font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--m);font-weight:500;font-family:'Raleway',sans-serif;}
.ht{font-family:'Raleway',sans-serif;font-size:76px;color:var(--c);line-height:.95;font-weight:300;max-width:680px;}
.ht em{font-style:italic;color:var(--z);}
.hd{font-size:16px;color:var(--t2);line-height:1.8;max-width:460px;font-weight:300;opacity:.8;}
.hbtns{display:flex;gap:14px;align-items:center;}
.ba{background:var(--c);color:var(--cr);border:none;padding:14px 38px;font-family:'Raleway',sans-serif;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:100px;text-decoration:none;transition:background .2s;}
.ba:hover{background:var(--te);}
.bb{background:transparent;color:var(--t2);border:1px solid var(--sb);padding:13px 38px;font-family:'Raleway',sans-serif;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:100px;text-decoration:none;transition:all .2s;}
.bb:hover{border-color:var(--c);color:var(--c);}
.hstats{display:grid;grid-template-columns:repeat(3,1fr);max-width:540px;width:100%;border:1px solid var(--sb);border-radius:6px;overflow:hidden;margin-top:12px;}
.hs{padding:20px 0;text-align:center;border-right:1px solid var(--sb);}
.hs:last-child{border-right:none;}
.hs-n{font-family:'Raleway',sans-serif;font-size:34px;color:var(--c);font-weight:300;display:block;line-height:1;}
.hs-l{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--m);font-weight:500;display:block;margin-top:6px;opacity:.8;}

/* SEZIONI */
.sec{padding:100px 0;border-bottom:1px solid var(--sb);}
.sh{text-align:center;margin-bottom:72px;}
.sl{font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--z);font-weight:500;display:block;margin-bottom:18px;font-family:'Raleway',sans-serif;}
.st{font-family:'Raleway',sans-serif;font-size:52px;color:var(--c);line-height:1.05;font-weight:300;}
.st em{font-style:italic;color:var(--z);}
.ss{font-size:15px;color:var(--t2);line-height:1.8;font-weight:300;max-width:520px;margin:18px auto 0;opacity:.82;}

/* CHI SIAMO */
.chi2{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:64px;}
.chi2 p{font-size:15px;line-height:1.9;color:var(--t2);font-weight:300;}
.chi2 p strong{color:var(--c);font-weight:500;}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--sb);border-radius:8px;overflow:hidden;}
.vl{background:var(--bg);padding:44px 36px;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;transition:background .2s;}
.vl:hover{background:var(--cr);}
.vi{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:4px;}
.vi svg{width:22px;height:22px;}
.vt{font-family:'Raleway',sans-serif;font-size:20px;color:var(--c);font-weight:400;}
.vd{font-size:12px;color:var(--t2);line-height:1.65;max-width:180px;}

/* PRODOTTI */
.pintro{max-width:560px;margin:0 auto 56px;text-align:center;font-size:15px;color:var(--t2);line-height:1.8;font-weight:300;opacity:.82;}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--sb);border-radius:8px;overflow:hidden;}
.pc{background:var(--cr);padding:44px 36px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;transition:background .25s;}
.pc:hover{background:var(--bg);}
.pic{width:48px;height:48px;border-radius:12px;background:#9a381018;display:flex;align-items:center;justify-content:center;margin-bottom:4px;}
.pic svg{width:24px;height:24px;}
.pn{font-family:'Raleway',sans-serif;font-size:22px;color:var(--c);font-weight:400;}
.pd{font-size:13px;color:var(--t2);line-height:1.65;font-weight:300;flex:1;}
.pt{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--z);font-weight:500;padding-top:12px;border-top:1px solid var(--sb);margin-top:auto;}

/* STAGIONALITÀ — icone */
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--sb);border-radius:10px;overflow:hidden;}
.col{background:var(--cr);display:flex;flex-direction:column;}
.col.now{background:var(--c);}
.col-head{padding:28px 24px 20px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid rgba(210,185,140,.25);}
.col.now .col-head{border-color:rgba(240,228,200,.12);}
.col-num{font-size:10px;letter-spacing:2px;color:rgba(168,112,16,.45);font-family:'Raleway',sans-serif;}
.col.now .col-num{color:rgba(184,160,80,.55);}
.col-name{font-family:'Raleway',sans-serif;font-size:26px;color:var(--c);font-weight:300;line-height:1;}
.col.now .col-name{color:var(--cr);}
.col-bdg{display:inline-flex;align-items:center;gap:6px;background:var(--z);color:var(--cr);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:2px;font-weight:500;width:fit-content;}
.col-bdg::before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:var(--cr);opacity:.7;}
.col-grid{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:4px;flex:1;}
.item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 10px;background:rgba(255,255,255,.45);border-radius:6px;text-align:center;transition:background .2s;cursor:default;}
.item:hover{background:rgba(255,255,255,.75);}
.col.now .item{background:rgba(255,255,255,.06);}
.col.now .item:hover{background:rgba(255,255,255,.12);}
.item-ico{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.item-ico svg{width:28px;height:28px;}
.item-name{font-size:11px;color:var(--t2);font-weight:400;line-height:1.2;}
.col.now .item-name{color:rgba(240,228,200,.75);}

/* CONTATTI — card unica */
.contact-card{background:var(--cr);border:1px solid var(--sb);border-radius:14px;overflow:hidden;}
.cc-head{background:var(--c);padding:28px 40px;display:flex;align-items:center;gap:16px;}
.cc-head-icon{width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cc-head-icon svg{width:22px;height:22px;}
.cc-head-title{font-family:'Raleway',sans-serif;font-size:22px;color:var(--cr);font-weight:300;}
.cc-head-sub{font-size:12px;color:rgba(240,230,208,.5);font-weight:300;margin-top:2px;}
.cc-body{display:grid;grid-template-columns:1fr 1px 1fr;gap:0;}
.cc-divider{background:var(--sb);}
.cc-info{padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;}
.ci-row{display:flex;flex-direction:column;gap:5px;}
.ci-k{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--m);font-weight:600;}
.ci-v{font-size:14px;color:var(--c);line-height:1.55;font-weight:400;}
.ci-v a{color:var(--c);text-decoration:none;transition:color .2s;}
.ci-v a:hover{color:var(--z);}
.cc-social{padding:40px;display:flex;flex-direction:column;gap:12px;}
.cc-social-label{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--m);font-weight:600;margin-bottom:4px;}
.srow{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg);border:1px solid var(--sb);border-radius:10px;text-decoration:none;transition:border-color .2s,transform .15s;}
.srow:hover{border-color:var(--c);transform:translateX(4px);}
.srow-ic{width:40px;height:40px;border-radius:9px;background:var(--c);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.srow-ic svg{width:20px;height:20px;}
.srow-body{flex:1;}
.srow-name{font-family:'Raleway',sans-serif;font-size:17px;color:var(--c);font-weight:400;}
.srow-handle{font-size:11px;color:var(--t2);font-weight:300;opacity:.7;margin-top:1px;}
.srow-arr{width:28px;height:28px;border-radius:50%;border:1px solid var(--sb);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s,background .2s;}
.srow:hover .srow-arr{border-color:var(--z);background:var(--z);}
.srow-arr svg{width:12px;height:12px;color:var(--t2);transition:color .2s;}
.srow:hover .srow-arr svg{color:var(--cr);}

/* FOOTER */
footer{background:var(--c);padding:64px 0 28px;}
.fi{max-width:960px;margin:0 auto;padding:0 48px;}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(240,230,208,.1);margin-bottom:24px;}
.fn{font-family:'Raleway',sans-serif;font-size:18px;color:var(--cr);font-style:italic;font-weight:300;margin-bottom:10px;}
.fp{font-size:13px;color:rgba(240,230,208,.42);line-height:1.7;font-weight:300;max-width:230px;margin-bottom:22px;}
.fsocs{display:flex;gap:8px;}
.fsc{width:34px;height:34px;border-radius:50%;border:1px solid rgba(240,230,208,.14);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s;}
.fsc:hover{border-color:rgba(184,160,80,.4);}
.fsc svg{width:13px;height:13px;}
.fc h6{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(184,160,80,.5);font-weight:500;margin-bottom:18px;}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.fc ul li{font-size:13px;color:rgba(240,230,208,.36);font-weight:300;cursor:pointer;transition:color .2s;}
.fc ul li:hover{color:var(--cr);}
.fbot{display:flex;justify-content:space-between;}
.fc2{font-size:11px;color:rgba(240,230,208,.2);}

/* IMMAGINI */
.img-band{
  width:100%;height:420px;overflow:hidden;
  position:relative;
}
.img-band img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;
  filter:brightness(.88) saturate(1.1);
  transition:transform .6s ease;
}
.img-band:hover img{transform:scale(1.02);}
.img-band-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:20px 48px;
  background:linear-gradient(to top, rgba(0,0,0,.45) 0%, transparent 100%);
  font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,.7);font-weight:300;
}

.chi-img{
  width:100%;aspect-ratio:4/3;overflow:hidden;
  border-radius:8px;margin-bottom:36px;
}
.chi-img img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;filter:brightness(.9) saturate(1.05);
  transition:transform .5s ease;
}
.chi-img:hover img{transform:scale(1.03);}


/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */

/* ── Tablet ≤ 900px ── */
@media (max-width:900px){
  .W,.ni,.fi{padding-left:32px;padding-right:32px;}
  .hero{padding:56px 32px 72px;}
  .ht{font-size:58px;}
  .sec{padding:72px 0;}
  .sh{margin-bottom:52px;}
  .st{font-size:42px;}
  .chi2{gap:36px;}
  .ft{grid-template-columns:1fr 1fr;gap:36px;}
  .img-band{height:320px;}
}

/* ── Tablet stretto ≤ 768px ── */
@media (max-width:768px){
  .W,.ni,.fi{padding-left:24px;padding-right:24px;}

  /* nav — nascondi link, mostra solo brand */
  .nl{display:none;}
  nav{height:56px;}

  /* hero */
  .hero{padding:44px 24px 56px;gap:20px;}
  .ht{font-size:48px;}
  .hd{font-size:14px;}
  .hbtns{flex-direction:column;width:100%;gap:10px;}
  .ba,.bb{width:100%;text-align:center;}
  .hstats{max-width:100%;}

  /* sezioni */
  .sec{padding:56px 0;}
  .sh{margin-bottom:40px;}
  .st{font-size:36px;}
  .ss{font-size:14px;}

  /* chi siamo */
  .chi2{grid-template-columns:1fr;gap:24px;margin-bottom:40px;}
  .chi-img{aspect-ratio:16/9;margin-bottom:24px;}
  .vals{grid-template-columns:1fr;}

  /* prodotti */
  .pg{grid-template-columns:repeat(2,1fr);}

  /* stagionalità — 2 colonne */
  .sg{grid-template-columns:repeat(2,1fr);}

  /* contatti */
  .cc-head{padding:22px 24px;}
  .cc-body{grid-template-columns:1fr;}
  .cc-divider{display:none;}
  .cc-info{padding:28px 24px;grid-template-columns:1fr 1fr;}
  .cc-social{padding:0 24px 28px;}

  /* footer */
  .ft{grid-template-columns:1fr 1fr;gap:28px;padding-bottom:32px;}
  .fbot{flex-direction:column;gap:8px;align-items:center;text-align:center;}

  /* img */
  .img-band{height:240px;}
  .img-band-caption{padding:16px 24px;}
}

/* ── Mobile ≤ 480px ── */
@media (max-width:480px){
  .W,.ni,.fi{padding-left:16px;padding-right:16px;}

  /* hero */
  .hero{padding:36px 16px 44px;}
  .ht{font-size:38px;line-height:1.05;}
  .hstats{border-radius:4px;}
  .hs{padding:14px 0;}
  .hs-n{font-size:26px;}

  /* sezioni */
  .sec{padding:44px 0;}
  .sh{margin-bottom:32px;}
  .st{font-size:30px;}

  /* chi siamo */
  .chi2 p{font-size:14px;}
  .vals{grid-template-columns:1fr;}
  .vl{padding:28px 20px;}

  /* prodotti — 1 colonna */
  .pg{grid-template-columns:1fr;}
  .pc{padding:28px 24px;}

  /* stagionalità — 1 colonna */
  .sg{grid-template-columns:1fr;}
  .col-name{font-size:22px;}
  .col-grid{grid-template-columns:repeat(3,1fr);}

  /* contatti */
  .cc-head{padding:18px 16px;gap:12px;}
  .cc-head-title{font-size:18px;}
  .cc-info{padding:20px 16px;grid-template-columns:1fr;gap:18px;}
  .cc-social{padding:0 16px 20px;}

  /* footer */
  .ft{grid-template-columns:1fr;gap:24px;}
  .fc:not(:first-child){display:none;}

  /* img */
  .img-band{height:180px;}
}

/* ── Mobile tiny ≤ 360px ── */
@media (max-width:360px){
  .ht{font-size:32px;}
  .st{font-size:26px;}
  .hbtns{gap:8px;}
  .col-grid{grid-template-columns:repeat(2,1fr);}
}


/* ══════════════════════════════════════
   SCHERMI GRANDI — 1280px → 4K
   ══════════════════════════════════════ */

/* ── Large desktop ≥ 1280px ── */
@media (min-width:1280px){
  .W,.ni,.fi{max-width:1100px;padding-left:64px;padding-right:64px;}
  .hero{padding:88px 64px 120px;}
  .ht{font-size:88px;}
  .hd{font-size:17px;max-width:520px;}
  .sec{padding:112px 0;}
  .sh{margin-bottom:80px;}
  .st{font-size:58px;}
  .img-band{height:480px;}
  .chi2{gap:72px;}
  .pg{grid-template-columns:repeat(3,1fr);}
  .ft{gap:56px;}
}

/* ── XL desktop ≥ 1600px ── */
@media (min-width:1600px){
  .W,.ni,.fi{max-width:1320px;padding-left:80px;padding-right:80px;}
  .hero{padding:100px 80px 140px;}
  .ht{font-size:104px;}
  .hd{font-size:18px;max-width:580px;}
  .hstats{max-width:620px;}
  .hs-n{font-size:38px;}
  .sec{padding:128px 0;}
  .sh{margin-bottom:96px;}
  .st{font-size:66px;}
  .ss{font-size:16px;max-width:600px;}
  .img-band{height:560px;}
  .chi2{gap:88px;}
  .chi2 p{font-size:16px;}
  .vt{font-size:22px;}
  .pn{font-size:24px;}
  .pd{font-size:14px;}
  .col-name{font-size:30px;}
  .cc-head-title{font-size:26px;}
  .cc-head-sub{font-size:13px;}
  .ci-v{font-size:15px;}
  .srow-name{font-size:19px;}
  .ft{gap:64px;}
  .fn{font-size:20px;}
}

/* ── 2K / QHD ≥ 2048px ── */
@media (min-width:2048px){
  html{font-size:18px;}
  .W,.ni,.fi{max-width:1600px;padding-left:96px;padding-right:96px;}
  .hero{padding:112px 96px 160px;}
  .ht{font-size:120px;}
  .hd{font-size:19px;max-width:660px;}
  .hstats{max-width:700px;}
  .hs-n{font-size:44px;}
  .hs-l{font-size:10px;letter-spacing:2.5px;}
  .sec{padding:144px 0;}
  .sh{margin-bottom:112px;}
  .st{font-size:76px;}
  .ss{font-size:17px;max-width:680px;}
  .img-band{height:640px;}
  .chi2{gap:104px;}
  .chi2 p{font-size:17px;line-height:2;}
  .vals{gap:3px;}
  .vl{padding:52px 44px;}
  .vi{width:56px;height:56px;}
  .vi svg{width:26px;height:26px;}
  .vt{font-size:24px;}
  .pg{gap:3px;}
  .pc{padding:52px 44px;}
  .pic{width:56px;height:56px;border-radius:14px;}
  .pic svg{width:28px;height:28px;}
  .pn{font-size:26px;}
  .pd{font-size:15px;}
  .pt{font-size:10px;}
  .col-name{font-size:34px;}
  .col-num{font-size:11px;}
  .item{padding:16px 12px;}
  .item-ico svg{width:32px;height:32px;}
  .item-name{font-size:12px;}
  .cc-head{padding:32px 52px;}
  .cc-head-title{font-size:28px;}
  .cc-info{padding:52px;gap:36px 44px;}
  .ci-v{font-size:16px;}
  .cc-social{padding:52px;}
  .srow{padding:20px 26px;}
  .srow-name{font-size:21px;}
  .ft{gap:72px;}
  .fn{font-size:22px;}
  .fp{font-size:14px;}
  .fc ul li{font-size:14px;}
}

/* ── 4K / UHD ≥ 3200px ── */
@media (min-width:3200px){
  html{font-size:22px;}
  .W,.ni,.fi{max-width:2200px;padding-left:120px;padding-right:120px;}
  .hero{padding:144px 120px 200px;}
  .ht{font-size:160px;}
  .hd{font-size:22px;max-width:800px;}
  .hstats{max-width:900px;}
  .hs-n{font-size:56px;}
  .sec{padding:200px 0;}
  .sh{margin-bottom:140px;}
  .st{font-size:100px;}
  .ss{font-size:20px;max-width:800px;}
  .sl,.hk{font-size:14px;letter-spacing:7px;}
  .img-band{height:860px;}
  .chi2{gap:128px;}
  .chi2 p{font-size:20px;}
  .vl{padding:64px 56px;}
  .vi{width:68px;height:68px;}
  .vi svg{width:32px;height:32px;}
  .vt{font-size:28px;}
  .vd{font-size:15px;}
  .pg{gap:4px;}
  .pc{padding:64px 52px;}
  .pic{width:68px;height:68px;border-radius:16px;}
  .pic svg{width:34px;height:34px;}
  .pn{font-size:30px;}
  .pd{font-size:17px;}
  .pt{font-size:11px;letter-spacing:2px;}
  .sg{gap:4px;}
  .col-name{font-size:42px;}
  .item{padding:20px 14px;gap:10px;}
  .item-ico svg{width:40px;height:40px;}
  .item-name{font-size:14px;}
  .cc-head{padding:44px 72px;}
  .cc-head-title{font-size:36px;}
  .cc-head-sub{font-size:16px;}
  .ci-v{font-size:20px;}
  .ci-k{font-size:11px;letter-spacing:3px;}
  .cc-info{padding:72px;gap:48px 60px;}
  .cc-social{padding:72px;}
  .srow{padding:28px 36px;border-radius:14px;}
  .srow-name{font-size:28px;}
  .srow-handle{font-size:15px;}
  .srow-ic{width:56px;height:56px;border-radius:12px;}
  .srow-ic svg{width:28px;height:28px;}
  .srow-arr{width:40px;height:40px;}
  .srow-arr svg{width:16px;height:16px;}
  nav{height:88px;}
  .nb{font-size:22px;}
  .nl a{font-size:13px;letter-spacing:3px;}
  .nl{gap:56px;}
  .ft{grid-template-columns:2fr 1fr 1fr 1fr;gap:96px;padding-bottom:72px;}
  .fn{font-size:28px;}
  .fp{font-size:16px;max-width:380px;}
  .fc h6{font-size:11px;letter-spacing:3px;}
  .fc ul li{font-size:16px;}
  .fsc{width:48px;height:48px;}
  .fsc svg{width:18px;height:18px;}
  .fc2{font-size:14px;}
}


/* LOGO NAV */
.nav-logo{height:64px;width:auto;object-fit:contain;display:block;flex-shrink:0;}
@media (max-width:480px){.nav-logo{height:52px;width:auto;}}
@media (min-width:1600px){.nav-logo{height:72px;width:auto;}}
@media (min-width:2048px){.nav-logo{height:82px;width:auto;}}
@media (min-width:3200px){.nav-logo{height:108px;width:auto;}}


/* ══════════════════════════════════════
   COOKIE CONSENT — normativa italiana
   ══════════════════════════════════════ */
#cookie-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.45);
  z-index:9998;
  opacity:0;transition:opacity .3s;
  pointer-events:none;
}
#cookie-overlay.show{opacity:1;pointer-events:all;}

#cookie-banner{
  position:fixed;bottom:0;left:0;right:0;
  z-index:9999;
  background:var(--c);
  color:var(--cr);
  padding:32px 40px 28px;
  transform:translateY(100%);
  transition:transform .4s cubic-bezier(.22,1,.36,1);
  border-top:3px solid var(--z);
  max-height:90vh;
  overflow-y:auto;
}
#cookie-banner.show{transform:translateY(0);}

.ck-inner{max-width:960px;margin:0 auto;}
.ck-top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:24px;}
.ck-text h3{
  font-family:'Raleway',sans-serif;font-size:20px;font-weight:400;
  color:var(--cr);margin-bottom:8px;
}
.ck-text p{font-size:13px;line-height:1.7;color:rgba(255,255,255,.65);font-weight:300;max-width:640px;}
.ck-text a{color:var(--sb);text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);}
.ck-text a:hover{color:var(--cr);}

/* toggle preferenze */
.ck-toggle{
  margin:16px 0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;overflow:hidden;
}
.ck-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;
  border-bottom:1px solid rgba(255,255,255,.08);
  gap:16px;
}
.ck-row:last-child{border-bottom:none;}
.ck-row-info{flex:1;}
.ck-row-info strong{font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--cr);}
.ck-row-info span{display:block;font-size:11px;color:rgba(255,255,255,.45);margin-top:2px;line-height:1.4;}

/* switch toggle */
.ck-switch{position:relative;width:40px;height:22px;flex-shrink:0;}
.ck-switch input{opacity:0;width:0;height:0;position:absolute;}
.ck-slider{
  position:absolute;inset:0;
  background:rgba(255,255,255,.2);
  border-radius:22px;cursor:pointer;
  transition:background .2s;
}
.ck-slider::before{
  content:'';position:absolute;
  width:16px;height:16px;
  left:3px;top:3px;
  background:#fff;border-radius:50%;
  transition:transform .2s;
}
.ck-switch input:checked + .ck-slider{background:var(--z);}
.ck-switch input:checked + .ck-slider::before{transform:translateX(18px);}
.ck-switch input:disabled + .ck-slider{opacity:.45;cursor:not-allowed;}

/* bottoni */
.ck-btns{
  display:flex;gap:10px;flex-wrap:wrap;
  justify-content:flex-end;
}
.ck-btn{
  font-family:'Raleway',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  padding:12px 28px;border-radius:100px;cursor:pointer;
  border:none;transition:all .2s;flex-shrink:0;
}
.ck-btn-reject{
  background:transparent;
  color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.2);
}
.ck-btn-reject:hover{color:var(--cr);border-color:rgba(255,255,255,.5);}
.ck-btn-custom{
  background:transparent;
  color:rgba(255,255,255,.75);
  border:1px solid rgba(255,255,255,.3);
}
.ck-btn-custom:hover{color:var(--cr);border-color:rgba(255,255,255,.6);}
.ck-btn-accept{
  background:var(--z);
  color:var(--cr);
}
.ck-btn-accept:hover{filter:brightness(1.1);}

/* pannello preferenze espanso */
.ck-prefs{display:none;padding-top:4px;}
.ck-prefs.open{display:block;}

/* widget riapertura */
#cookie-reopen{
  position:fixed;bottom:24px;left:24px;
  z-index:9990;
  width:44px;height:44px;
  background:var(--c);
  border:1px solid var(--sb);
  border-radius:50%;
  display:none;
  align-items:center;justify-content:center;
  cursor:pointer;
  transition:transform .2s,border-color .2s;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
#cookie-reopen.visible{display:flex;}
#cookie-reopen:hover{transform:scale(1.1);border-color:var(--z);}
#cookie-reopen svg{width:20px;height:20px;}

@media(max-width:768px){
  #cookie-banner{padding:24px 20px 20px;}
  .ck-top{flex-direction:column;gap:16px;}
  .ck-btns{justify-content:stretch;}
  .ck-btn{flex:1;text-align:center;padding:12px 16px;}
}
@media(max-width:480px){
  .ck-btns{flex-direction:column;}
  .ck-btn{width:100%;}
}


/* nav link attivo */
.nl a{transition:opacity .2s,font-weight .1s;}


/* Skip to content */
.skip-link{
  position:absolute;top:-100px;left:16px;
  background:var(--c);color:var(--cr);
  padding:8px 20px;border-radius:0 0 8px 8px;
  font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;
  text-decoration:none;z-index:99999;
  transition:top .2s;
}
.skip-link:focus{top:0;}


/* Performance hints */
.img-band img,.chi-img img{will-change:transform;contain:layout style;}
.sec{contain:layout;}
nav{contain:layout style;}


/* CLS prevention */
.img-band{aspect-ratio:16/7;height:auto!important;}
.chi-img{aspect-ratio:4/3;}
@media(max-width:768px){.img-band{aspect-ratio:16/9;}}
@media(max-width:480px){.img-band{aspect-ratio:4/3;}}


/* ══════════════════════════════════════
   TYPOGRAPHIC SYSTEM — Raleway only
   Weight scale: 300 light · 400 regular · 500 medium
                 600 semibold · 700 bold · 800 extrabold
   ══════════════════════════════════════ */

/* Base */
body{font-family:'Raleway','Helvetica Neue',Arial,sans-serif;font-weight:400;}

/* ── NAV ── */
.nb{
  font-family:'Raleway',sans-serif;
  font-size:15px;font-weight:700;font-style:italic;
  letter-spacing:-.2px;color:var(--c);
  text-decoration:none;
}
.nl a{
  font-size:10px;letter-spacing:3px;text-transform:uppercase;
  font-weight:600;opacity:.5;transition:opacity .2s;
}

/* ── HERO ── */
.hk{
  font-family:'Raleway',sans-serif;
  font-size:11px;letter-spacing:6px;text-transform:uppercase;
  color:var(--m);font-weight:600;
}
.ht{
  font-family:'Raleway',sans-serif;
  font-size:76px;color:var(--c);
  line-height:.95;font-weight:800;
  letter-spacing:-2px;max-width:680px;
}
.ht em{font-style:italic;color:var(--z);font-weight:800;}
.hd{
  font-size:17px;color:var(--t2);line-height:1.85;
  font-weight:300;opacity:.85;max-width:460px;
}
.ba{
  font-family:'Raleway',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
}
.bb{
  font-family:'Raleway',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
}
.hs-n{
  font-family:'Raleway',sans-serif;
  font-size:32px;font-weight:700;display:block;line-height:1;
  color:var(--c);
}
.hs-l{
  font-size:9px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--m);font-weight:600;display:block;margin-top:6px;opacity:.8;
}

/* ── SEZIONI ── */
.sl{
  font-family:'Raleway',sans-serif;
  font-size:10px;letter-spacing:6px;text-transform:uppercase;
  color:var(--z);font-weight:700;display:block;margin-bottom:18px;
}
.st{
  font-family:'Raleway',sans-serif;
  font-size:52px;color:var(--c);
  line-height:1.05;font-weight:700;letter-spacing:-1px;
}
.st em{font-style:italic;color:var(--z);font-weight:700;}
.ss{
  font-size:15px;color:var(--t2);line-height:1.85;
  font-weight:400;font-style:italic;
  max-width:520px;margin:18px auto 0;opacity:.78;
}

/* ── CHI SIAMO ── */
.chi2 p{font-size:15px;line-height:2;color:var(--t2);font-weight:300;}
.chi2 p strong{color:var(--c);font-weight:700;font-style:normal;}
.vt{
  font-family:'Raleway',sans-serif;
  font-size:16px;font-weight:700;color:var(--c);letter-spacing:-.2px;
}
.vd{font-size:12px;color:var(--t2);line-height:1.7;font-weight:400;}

/* ── PRODOTTI ── */
.pintro{
  font-size:15px;color:var(--t2);line-height:1.85;
  font-weight:300;font-style:italic;
  max-width:560px;margin:0 auto 56px;text-align:center;opacity:.82;
}
.pn{
  font-family:'Raleway',sans-serif;
  font-size:18px;font-weight:700;color:var(--c);letter-spacing:-.2px;
}
.pd{font-size:13px;color:var(--t2);line-height:1.7;font-weight:300;}
.pt{
  font-size:9px;letter-spacing:2px;text-transform:uppercase;
  color:var(--z);font-weight:700;
  padding-top:12px;border-top:1px solid var(--sb);margin-top:auto;
  font-style:italic;
}

/* ── STAGIONALITÀ ── */
.col-num{
  font-size:10px;letter-spacing:2px;font-weight:600;
  color:rgba(168,112,16,.45);
}
.col-name{
  font-family:'Raleway',sans-serif;
  font-size:24px;font-weight:700;color:var(--c);
  line-height:1;letter-spacing:-.5px;
}
.col.now .col-name{color:var(--cr);}
.col-bdg{
  font-size:8px;letter-spacing:2px;text-transform:uppercase;font-weight:700;
}
.item-name{font-size:11px;font-weight:500;line-height:1.2;}

/* ── CONTATTI ── */
.cc-head-title{
  font-family:'Raleway',sans-serif;
  font-size:20px;font-weight:600;font-style:italic;
  color:var(--cr);letter-spacing:-.2px;
}
.cc-head-sub{
  font-size:12px;font-weight:300;font-style:italic;
  color:rgba(240,230,208,.55);margin-top:2px;
}
.ci-k{
  font-size:9px;letter-spacing:3px;text-transform:uppercase;
  color:var(--m);font-weight:700;
}
.ci-v{font-size:14px;color:var(--c);line-height:1.6;font-weight:400;}
.cc-social-label{
  font-size:9px;letter-spacing:3px;text-transform:uppercase;
  color:var(--m);font-weight:700;margin-bottom:4px;
}
.srow-name{
  font-family:'Raleway',sans-serif;
  font-size:16px;font-weight:700;color:var(--c);
}
.srow-handle{font-size:11px;font-weight:400;opacity:.65;margin-top:2px;}

/* ── FOOTER ── */
.fn{
  font-family:'Raleway',sans-serif;
  font-size:16px;font-weight:700;font-style:italic;
  color:var(--cr);margin-bottom:10px;letter-spacing:-.2px;
}
.fp{font-size:13px;font-weight:300;line-height:1.75;opacity:.42;}
.fc h6{
  font-size:9px;letter-spacing:3px;text-transform:uppercase;
  font-weight:700;margin-bottom:18px;opacity:.5;
}
.fc ul li{font-size:13px;font-weight:300;}
.fc2{font-size:10px;font-weight:400;letter-spacing:.5px;opacity:.22;}

/* ── COOKIE BANNER ── */
.ck-text h3{
  font-family:'Raleway',sans-serif;
  font-size:18px;font-weight:700;color:var(--cr);margin-bottom:8px;
}
.ck-text p{font-size:13px;font-weight:300;line-height:1.75;opacity:.7;}
.ck-row-info strong{font-size:12px;font-weight:700;letter-spacing:.3px;}
.ck-row-info span{font-size:11px;font-weight:300;opacity:.55;}
.ck-btn{
  font-family:'Raleway',sans-serif;
  font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
}


/* lightbox */
#shop-lightbox{
  display:none;position:fixed;inset:0;z-index:10001;
  background:rgba(0,0,0,.92);
  align-items:center;justify-content:center;cursor:zoom-out;
}
#shop-lightbox.open{display:flex;}
#shop-lightbox img{
  max-width:90vw;max-height:90vh;
  object-fit:contain;border-radius:4px;
  box-shadow:0 32px 80px rgba(0,0,0,.6);
}
#shop-lightbox-close{
  position:absolute;top:20px;right:24px;
  background:none;border:1px solid rgba(255,255,255,.25);
  color:#fff;width:40px;height:40px;border-radius:50%;
  font-size:20px;cursor:pointer;display:flex;
  align-items:center;justify-content:center;
  transition:background .2s;
}
#shop-lightbox-close:hover{background:rgba(255,255,255,.15);}

@media(max-width:768px){
  .shop-grid{grid-template-columns:1fr 1fr;gap:3px;}
  .shop-grid .sg-big{grid-column:1/-1;grid-row:auto;min-height:280px;}
  .shop-grid .sg-tall{grid-row:auto;min-height:220px;}
  .shop-photo.sg-sm{min-height:180px;}
  .shop-info{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .shop-grid{grid-template-columns:1fr;}
  .shop-grid .sg-big,.shop-grid .sg-tall{grid-column:auto;min-height:240px;}
  .shop-info{grid-template-columns:1fr;}
  .shop-info-card{padding:22px 18px;}
}


/* ══ IL NEGOZIO ══ */
.shop-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  border-radius:10px;
  overflow:hidden;
  margin-bottom:56px;
}
.shop-photo{
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  position:relative;
  cursor:zoom-in;
}
.shop-photo img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
  filter:brightness(.92) saturate(1.05);
  transition:transform .5s ease, filter .35s ease;
}
.shop-photo:hover img{
  transform:scale(1.04);
  filter:brightness(1) saturate(1.1);
}

.shop-info{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2px;background:var(--sb);border-radius:8px;overflow:hidden;
}
.shop-info-card{
  background:var(--bg);padding:32px 28px;
  display:flex;flex-direction:column;gap:8px;
}
.sic-icon{font-size:22px;margin-bottom:4px;}
.sic-title{font-size:13px;font-weight:700;color:var(--c);letter-spacing:-.1px;}
.sic-body{font-size:12px;font-weight:300;color:var(--t2);line-height:1.7;}

/* lightbox */
#shop-lightbox{
  display:none;position:fixed;inset:0;z-index:10001;
  background:rgba(0,0,0,.92);
  align-items:center;justify-content:center;cursor:zoom-out;
}
#shop-lightbox.open{display:flex;}
#shop-lightbox img{
  max-width:90vw;max-height:90vh;
  object-fit:contain;border-radius:4px;
  box-shadow:0 32px 80px rgba(0,0,0,.6);
}
#shop-lightbox-close{
  position:absolute;top:20px;right:24px;
  background:none;border:1px solid rgba(255,255,255,.25);
  color:#fff;width:40px;height:40px;border-radius:50%;
  font-size:20px;cursor:pointer;display:flex;
  align-items:center;justify-content:center;
  transition:background .2s;
}
#shop-lightbox-close:hover{background:rgba(255,255,255,.15);}

@media(max-width:768px){
  .shop-grid{gap:4px;}
  .shop-info{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .shop-grid{grid-template-columns:1fr;gap:4px;}
  .shop-info-card{padding:22px 18px;}
}


/* ══ LOADING SCREEN ══ */
#site-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: var(--c);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  transition: opacity .5s ease, visibility .5s ease;
}
#site-loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.loader-logo {
  width: 96px;
  height: auto;
  opacity: 0;
  transform: translateY(12px);
  animation: loaderFadeUp .6s ease .1s forwards;
}
.loader-label {
  font-family: 'Raleway', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--sb);
  opacity: 0;
  animation: loaderFadeUp .6s ease .3s forwards;
}
.loader-bar-wrap {
  width: 120px;
  height: 2px;
  background: rgba(255,255,255,.12);
  border-radius: 2px;
  overflow: hidden;
  opacity: 0;
  animation: loaderFadeUp .6s ease .4s forwards;
}
.loader-bar {
  height: 100%;
  width: 0%;
  background: var(--sb);
  border-radius: 2px;
  animation: loaderProgress 1.2s cubic-bezier(.4,0,.2,1) .5s forwards;
}
.loader-season {
  font-family: 'Raleway', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  opacity: 0;
  animation: loaderFadeUp .6s ease .5s forwards;
}
@keyframes loaderFadeUp {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes loaderProgress {
  0%   { width: 0%; }
  60%  { width: 75%; }
  100% { width: 100%; }
}


/* ══ IMPROVEMENTS ══ */

/* 1. Logo — slightly smaller */
.nav-logo{height:52px !important;width:auto;}
@media(max-width:480px){.nav-logo{height:42px !important;}}
@media(min-width:1600px){.nav-logo{height:60px !important;}}
@media(min-width:2048px){.nav-logo{height:68px !important;}}
@media(min-width:3200px){.nav-logo{height:88px !important;}}

/* 2. Hero title — 700 on mobile */
@media(max-width:480px){.ht{font-weight:700 !important;}}

/* 3. WhatsApp FAB */
#wa-fab{
  position:fixed;bottom:28px;right:24px;z-index:9000;
  width:56px;height:56px;border-radius:50%;
  background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.45);
  text-decoration:none;
  transition:transform .2s, box-shadow .2s;
}
#wa-fab:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.6);}
#wa-fab svg{width:28px;height:28px;}
#wa-fab-tooltip{
  position:absolute;right:68px;top:50%;transform:translateY(-50%);
  background:var(--c);color:var(--cr);
  font-family:'Raleway',sans-serif;font-size:11px;font-weight:600;
  letter-spacing:.5px;white-space:nowrap;
  padding:8px 14px;border-radius:100px;
  opacity:0;pointer-events:none;
  transition:opacity .2s;
  box-shadow:0 2px 12px rgba(0,0,0,.2);
}
#wa-fab:hover #wa-fab-tooltip{opacity:1;}
/* Show FAB always on mobile, on desktop only on scroll */
@media(min-width:769px){
  #wa-fab{opacity:0;pointer-events:none;transition:opacity .3s,transform .2s,box-shadow .2s;}
  #wa-fab.visible{opacity:1;pointer-events:all;}
}



/* Footer: solid readable colors replacing ultra-transparent ones */
footer .fp       { color: rgba(200,220,212,.75) !important; }
footer .fc h6    { color: rgba(168,196,180,.9)  !important; }
footer .fc ul li { color: rgba(176,204,188,.85) !important; }
footer .fc2      { color: rgba(154,190,173,.8)  !important; }

/* Hero stats label — was too light */
.hs-l { opacity: 1 !important; color: var(--t2) !important; }

/* Cookie banner row description */
.ck-row-info span { color: rgba(255,255,255,.65) !important; }


/* ══ FOOTER CONTRAST — FINAL FIX ══ */
/* Reset all opacity/color issues with one comprehensive block */
footer .fp,
footer .fc h6,
footer .fc ul li,
footer .fc2,
footer .fsc,
footer .fsc svg {
  opacity: 1 !important;
}
footer .fp {
  color: #b8d0c4 !important;    /* 5.8:1 ✅ */
}
footer .fc h6 {
  color: #a0c0b0 !important;    /* 5.1:1 ✅ */
}
footer .fc ul li {
  color: #b0ccbc !important;    /* 5.5:1 ✅ */
  transition: color .2s;
}
footer .fc ul li:hover {
  color: var(--cr) !important;
}
footer .fc2 {
  color: #9abead !important;    /* 4.7:1 ✅ AA */
}
footer .fsc {
  border-color: rgba(255,255,255,.22) !important;  /* 1.6:1 — decorative border, not content */
}
footer .fsc svg {
  stroke: #d0c0a0 !important;
  fill: none;
}
footer .fsc circle[fill] {
  fill: #d0c0a0 !important;
}
footer .fsc:hover {
  border-color: rgba(255,255,255,.55) !important;
}


/* ══ HERO BACKGROUND PHOTO ══ */
.hero {
  position: relative;
  overflow: hidden;
  background-color: var(--c);
  border-bottom: none !important;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 35%;
  background-repeat: no-repeat;
  z-index: 0;
}
/* subtle gradient overlay — darker at top/bottom, slightly less at center */
.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(28,79,54,.55) 0%,
    rgba(28,79,54,.30) 40%,
    rgba(28,79,54,.45) 70%,
    rgba(28,79,54,.75) 100%
  );
}
.hero > *:not(.hero-bg) {
  position: relative;
  z-index: 1;
}

/* Text on dark photo: switch to light palette */
.hero .hk   { color: rgba(255,255,255,.65); font-weight: 600; }
.hero .ht   { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.3); }
.hero .ht em { color: var(--cr); }
.hero .hd   { color: rgba(255,255,255,.82); font-weight: 300; }
.hero .ba   {
  background: #fff;
  color: var(--c);
  border-color: #fff;
}
.hero .ba:hover { background: var(--cr); color: var(--c); }
.hero .bb   {
  border-color: rgba(255,255,255,.45);
  color: rgba(255,255,255,.85);
}
.hero .bb:hover { border-color: #fff; color: #fff; }

#cookie-policy-modal.open{display:block;}
#cookie-policy-modal .cp-box{
  background:var(--bg);max-width:680px;margin:0 auto;
  border-radius:12px;padding:48px;position:relative;
  font-size:14px;line-height:1.8;color:var(--t2);
}
#cookie-policy-modal h2{font-family:'Fraunces',serif;font-size:28px;color:var(--c);margin-bottom:24px;font-weight:300;}
#cookie-policy-modal h4{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--z);margin:24px 0 8px;}
#cookie-policy-modal p{margin-bottom:14px;}
#cookie-policy-modal .cp-close{
  position:absolute;top:20px;right:20px;
  background:none;border:1px solid var(--sb);
  border-radius:50%;width:36px;height:36px;
  cursor:pointer;font-size:18px;color:var(--t2);
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
#cookie-policy-modal .cp-close:hover{background:var(--sb);color:var(--cr);}
@media(max-width:480px){#cookie-policy-modal .cp-box{padding:28px 20px;}}

/* External SVG icons */
.svg-icon{display:block;width:100%;height:100%;object-fit:contain;}

/* ══ CONTRAST & ACCESSIBILITY FIXES — autunno ══ */

/* Nav links: opacity .55 = 2.5:1 WCAG fail */
.nl a { opacity: 1; color: var(--te); }
.nl a:hover { opacity: 1; color: var(--c); }

/* .col-num gold at .45 = 1.6:1 FAIL */
.col-num { color: #7A5C00 !important; opacity: 1 !important; }
.col.now .col-num { color: rgba(240,228,200,.85) !important; }

/* .ss / .pintro: opacity .82 borderline */
.ss { opacity: 1 !important; color: var(--te) !important; }
.pintro { opacity: 1 !important; color: var(--te) !important; }

/* .cc-head-sub: 3.0:1 fail */
.cc-head-sub { color: rgba(240,230,208,.75) !important; }

/* Palette distinction: autunno più ambra/ocra vs estate */
:root {
  --bg: #f5ede0;
  --cr: #e8ceA0;
  --sb: #b8966a;
  --sb2: #a07848;
}
