
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--site-max:1120px;--site-pad:10%;--nero:#EFF0F2;--nero-2:#E4E5E8;--caldo:#1A1A1A;--sabbia:#B03A2E;--sabbia-light:#C4483C;--bianco:#FFF;--testo-grigio:#444440}
html{scroll-behavior:smooth}
body{font-family:'Roboto Condensed',Arial,sans-serif;background:var(--nero);color:var(--caldo);font-size:16px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:24px var(--site-pad);transition:background .4s,padding .4s}
nav.scrolled{background:rgba(239,240,242,.97);backdrop-filter:blur(12px);padding:16px var(--site-pad);border-bottom:1px solid rgba(26,26,26,.08)}
.nav-logo{font-family:'Gloock',Georgia,serif;font-size:20px;font-weight:600;letter-spacing:.04em;color:var(--caldo);text-decoration:none;display:flex;align-items:center}
.nav-logo-img{height:32px;width:auto;display:block}
.nav-links{display:flex;gap:40px;list-style:none}.nav-links a{color:var(--testo-grigio);text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.nav-links a:hover{color:var(--sabbia)}
#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px var(--site-pad) 80px;position:relative;overflow:hidden}
.hero-inner{display:flex;flex-direction:column;position:relative;z-index:1}.hero-text{min-width:0}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,rgba(176,58,46,.05),transparent 60%)}
.hero-video-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111;cursor:pointer;flex-shrink:0}.hero-video-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:.3s}.hero-video-thumb:hover img{opacity:1}
.hero-video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.hero-video-play-btn{width:56px;height:56px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center}
.hero-eyebrow,.section-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sabbia)}.hero-eyebrow{font-size:12px;margin-bottom:24px}
.hero-title,.section-title{font-family:'Gloock',Georgia,serif;font-weight:300}.hero-title{font-size:clamp(24px,3.8vw,52px);line-height:1.1;max-width:var(--site-max)}.hero-title .line-big{font-size:clamp(52px,8vw,110px);font-weight:900;line-height:1;letter-spacing:-.03em;display:block}.hero-title em,.section-title em{font-style:italic;color:var(--sabbia)}.hero-title .line-small{display:block;margin-top:20px}
.hero-sub{margin-top:64px;max-width:480px;color:#333330;font-weight:300;line-height:1.8}.hero-cta{margin-top:48px;display:flex;gap:24px;align-items:center}
.btn-primary{display:inline-block;padding:14px 32px;background:var(--sabbia);color:#F5F0E8;text-decoration:none;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}.btn-primary:hover{background:var(--sabbia-light)}
.btn-ghost{display:inline-block;padding:14px 0;color:var(--testo-grigio);text-decoration:none;font-size:13px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(26,26,26,.25)}
.hero-scroll{position:absolute;bottom:40px;right:48px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--testo-grigio);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.hero-scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--sabbia))}
section{padding:120px var(--site-pad)}.section-label{margin-bottom:64px;display:flex;align-items:center;gap:16px}.section-label::after{content:'';flex:1;max-width:60px;height:1px;background:var(--sabbia);opacity:.4}.section-title{font-size:clamp(36px,5vw,64px);line-height:1.15;margin-bottom:24px}
#numeri{background:var(--nero-2);padding:80px var(--site-pad)}.numeri-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#D8D9DC}.numero-item{background:var(--nero);padding:48px 40px;text-align:center}.numero-big{font-family:'Gloock',serif;font-size:72px;font-weight:300;line-height:1}.numero-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#666660;margin-top:12px}
#lavori{background:var(--nero)}.lavori-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:80px}.lavori-text{color:var(--testo-grigio);font-weight:300;line-height:1.8;max-width:400px}.lavori-carousel{position:relative}.lavori-carousel-track-wrap{overflow:hidden}.lavori-grid{display:flex;gap:0;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}.lavori-carousel-controls{display:flex;align-items:center;gap:16px;margin-top:24px;justify-content:flex-end}.lavori-carousel-btn{width:44px;height:44px;border:1px solid rgba(26,26,26,.2);background:none;cursor:pointer}.lavoro-card{flex:0 0 var(--card-w,33.333%);max-width:var(--card-w,33.333%);position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--nero-2);margin-right:2px}.lavoro-card-img{width:100%;height:100%;object-fit:cover;display:block}.lavoro-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,26,.9),rgba(26,26,26,.2) 50%,transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px}.lavoro-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.4);padding:3px 8px}.lavoro-nome{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.75)}.lavoro-titolo{font-family:'Gloock',serif;font-size:22px;color:#fff;line-height:1.2}
#metodo{background:#EFF0F2;color:#1A1A1A}.metodo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;margin-top:64px}.metodo-item{background:#fff;padding:48px 40px}.metodo-item-title{font-family:'Gloock',serif;font-size:32px;margin-bottom:16px}.metodo-item-text{color:#333;font-weight:300;line-height:1.8;font-size:14px}
#clienti{background:var(--nero-2)}.clienti-loghi{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:48px}.cliente-logo{padding:32px 24px;display:flex;align-items:center;justify-content:center;min-width:0}.cliente-logo img{max-width:100%;max-height:110px;width:auto;height:auto;object-fit:contain}
#contatti{background:var(--nero)}.contatti-inner{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:end}.contatti-info p{color:var(--testo-grigio);font-weight:300;line-height:1.8;margin-bottom:40px}.contatti-detail{display:flex;flex-direction:column;gap:16px}.contatti-detail a{text-decoration:none;font-size:14px}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--testo-grigio);margin-bottom:8px}.form-group input,.form-group textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(26,26,26,.2);padding:12px 0;color:var(--caldo);font:14px 'Roboto Condensed',sans-serif;outline:none;resize:none}.form-group input:focus,.form-group textarea:focus{border-color:var(--sabbia)}
footer{background:var(--nero-2);padding:48px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #D8D9DC}.footer-logo{font-family:'Gloock',serif;font-size:18px}.footer-info{font-size:12px;color:var(--testo-grigio);text-align:center;line-height:1.8}.footer-social{display:flex;gap:24px}.footer-social a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--testo-grigio);text-decoration:none}
.modal-overlay{position:fixed;inset:0;background:rgba(26,26,26,.8);z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.35s;backdrop-filter:blur(6px)}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:#fff;width:90%;max-width:var(--site-max);max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:20px;right:20px;width:36px;height:36px;border:0;z-index:10;cursor:pointer}.modal-hero{aspect-ratio:16/7;background:var(--nero-2);display:flex;align-items:center;justify-content:center;overflow:hidden}.modal-body{padding:40px var(--site-pad) 56px;color:#1A1A1A}.modal-title{font-family:'Gloock',serif;font-size:clamp(28px,4vw,44px);line-height:1.1}.modal-subtitle{font-size:16px;color:#555;font-style:italic;font-family:'Gloock',serif;margin-bottom:32px}.modal-infostrip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #D8D9DC;margin-bottom:40px}.modal-infostrip-item{padding:16px 0}.modal-blocks{display:flex;flex-direction:column;gap:32px}.modal-block-title{font-family:'Gloock',serif;font-size:22px}.modal-block-text{font-size:16px;color:#333;line-height:1.85;font-weight:300}
/* ── MODAL YOUTUBE (player fullscreen) ── */
.modal-yt-player{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:700;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.modal-yt-player.open{opacity:1;pointer-events:all}
.modal-yt-player iframe{width:min(1100px,92vw);aspect-ratio:16/9;border:none;display:block}
.modal-yt-close{position:absolute;top:24px;right:24px;width:44px;height:44px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:16px;cursor:pointer;z-index:1}
.modal-yt-close:hover{background:rgba(255,255,255,.18)}
/* ── EMBED INSTAGRAM a 3 colonne ── */
.modal-block-embeds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(328px,1fr));gap:16px;margin:16px calc(var(--site-pad) * -1) 0}
.modal-embed-item{min-width:0}
.modal-embed-item .instagram-media{margin:0 auto !important}
@media(min-width:769px){.hero-inner{flex-direction:row;align-items:flex-start;gap:clamp(32px,4vw,72px)}.hero-text{flex:1}.hero-video-thumb{width:clamp(300px,42%,600px);margin-top:48px}}
@media(max-width:900px){:root{--site-pad:6%}.clienti-loghi{grid-template-columns:repeat(3,1fr)}.numeri-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){:root{--site-pad:24px}nav{padding:18px 24px}.nav-links{display:none}#hero{padding-top:100px}.hero-video-thumb{order:-1;margin-bottom:32px}.hero-scroll{display:none}section{padding:80px 24px}.lavori-intro,.contatti-inner{grid-template-columns:1fr;gap:36px}.metodo-grid{grid-template-columns:1fr}.clienti-loghi{grid-template-columns:repeat(2,1fr)}.lavoro-card{flex-basis:85%;max-width:85%}footer{padding:36px 24px;flex-direction:column;gap:20px;text-align:center}.modal-infostrip{grid-template-columns:1fr}.modal-body{padding:32px 24px 44px}}
@media(max-width:480px){.clienti-loghi{grid-template-columns:repeat(2,1fr)}.numero-item{padding:32px 16px}.numero-big{font-size:52px}.hero-title .line-big{font-size:clamp(44px,15vw,68px)}}


/* V15 overrides */

/* v09 — structural fixes */

/* Partnership: contain logos inside section/grid */
#partner{
  overflow:hidden !important;
}
#partner > div{
  width:min(var(--site-max), 100%) !important;
  max-width:100% !important;
}
#partner-grid{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
#partner-grid .partner-logo-item{
  min-width:0 !important;
  overflow:hidden !important;
  padding:42px 24px !important;
}
#partner-grid .partner-logo-item img{
  width:100% !important;
  max-width:220px !important;
  height:110px !important;
  max-height:110px !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
@media(max-width:900px){
  #partner-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
  #partner-grid .partner-logo-item img{
    max-width:180px !important;
    height:90px !important;
  }
}
@media(max-width:560px){
  #partner-grid .partner-logo-item{
    padding:26px 14px !important;
  }
  #partner-grid .partner-logo-item img{
    max-width:130px !important;
    height:72px !important;
  }
}

/* Dietro l'agenzia: carosello foto + presentazione */
.vittorio-carousel{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--nero-2)}
.vittorio-carousel-track{display:flex;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.vittorio-slide{position:relative;flex:0 0 100%;height:100%}
.vittorio-slide img{width:100%;height:100%;object-fit:cover;display:block}
.vittorio-slide-cap{position:absolute;left:20px;bottom:20px;background:rgba(26,26,26,.72);color:#fff;font-size:12px;letter-spacing:.05em;padding:8px 14px}
.vittorio-car-btns{display:flex;gap:12px;margin-top:20px}
.vittorio-car-btn{width:44px;height:44px;border:1px solid rgba(26,26,26,.2);background:none;cursor:pointer;font-size:16px;color:var(--caldo)}
.vittorio-car-btn:hover{border-color:var(--sabbia);color:var(--sabbia)}
.vittorio-quote{font-family:'Gloock',Georgia,serif;font-size:clamp(32px,4.5vw,52px);font-weight:400;line-height:1.1;color:var(--caldo)}
.vittorio-quote em{font-style:italic;color:var(--sabbia)}
.vittorio-subtitle{font-family:'Gloock',Georgia,serif;font-style:italic;font-size:18px;color:var(--caldo);margin-top:16px}
.vittorio-bio{font-size:15px;color:var(--testo-grigio);font-weight:300;line-height:1.8;max-width:440px}
/* Chi sono: real 2-column desktop layout */
#vittorio{
  display:block !important;
}
#vittorio .vittorio-layout{
  width:min(1200px,90vw) !important;
  margin:0 auto !important;
}
@media(min-width:901px){
  #vittorio .vittorio-layout{
    display:grid !important;
    grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr) !important;
    column-gap:clamp(56px,6vw,96px) !important;
    align-items:center !important;
  }
  #vittorio .vittorio-photo-wrap{
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:520px !important;
    margin:0 !important;
    align-self:center !important;
  }
  #vittorio .vittorio-inner{
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }
  #vittorio .vittorio-content{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
}
@media(max-width:900px){
  #vittorio .vittorio-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:42px !important;
  }
}

/* Footer: legal links under social links, centered, same visual language */
footer{
  background:#1A1A1A !important;
  color:#F5F2ED !important;
  padding:40px 5vw 28px !important;
}
.footer-main{
  width:min(1200px,100%) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  gap:42px !important;
  align-items:center !important;
}
.footer-social-wrap{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
}
.footer-social{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:28px !important;
  margin:0 !important;
}
.footer-social a,
.footer-legal-links a{
  font-family:inherit !important;
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#F5F2ED !important;
  text-decoration:none !important;
  opacity:.72 !important;
  padding:0 !important;
  transition:opacity .2s ease !important;
}
.footer-social a:hover,
.footer-legal-links a:hover{
  opacity:1 !important;
}
.footer-legal-links{
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:8px 18px !important;
}
.footer-legal-links a::after{
  display:none !important;
}
@media(max-width:760px){
  .footer-main{
    grid-template-columns:1fr !important;
    gap:22px !important;
    text-align:center !important;
  }
  .footer-logo{
    display:flex !important;
    justify-content:center !important;
  }
  .footer-info{
    text-align:center !important;
  }
  .footer-social-wrap{
    width:100% !important;
  }
}



/* v10 — Chi sono */
#vittorio .vittorio-content .vittorio-bio{
  margin-top:24px;
}

/* v10 — footer chiaro, centrato */
footer{
  background:#F2F2F0 !important;
  color:#1A1A1A !important;
  padding:52px var(--site-pad) 34px !important;
  border-top:1px solid rgba(26,26,26,.10) !important;
}
footer .footer-main-centered{
  width:min(1200px,100%) !important;
  margin:0 auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  text-align:center !important;
}
footer .footer-logo{
  display:flex !important;
  justify-content:center !important;
  margin:0 !important;
}
footer .footer-logo img{
  width:170px !important;
  max-width:100% !important;
  height:auto !important;
  filter:none !important;
}
footer .footer-info{
  margin:0 !important;
  text-align:center !important;
  color:#1A1A1A !important;
  opacity:.68 !important;
  font-size:12px !important;
  line-height:1.65 !important;
}
footer .footer-social{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:28px !important;
  margin:2px 0 0 !important;
}
footer .footer-legal-links{
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px 20px !important;
}
footer .footer-social a,
footer .footer-legal-links a{
  font-family:inherit !important;
  color:#1A1A1A !important;
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  opacity:.68 !important;
  padding:0 !important;
  transition:opacity .2s ease !important;
}
footer .footer-social a:hover,
footer .footer-legal-links a:hover{
  opacity:1 !important;
}
footer .footer-legal-links a::after{
  display:none !important;
}
@media(max-width:760px){
  footer{
    padding:42px 22px 30px !important;
  }
  footer .footer-main-centered{
    gap:16px !important;
  }
  footer .footer-social{
    gap:22px !important;
  }
  footer .footer-legal-links{
    gap:10px 16px !important;
  }
}



/* v11 — Chi si fida di noi: loghi contenuti */
#clienti{
  overflow:hidden !important;
}
#clienti img{
  display:block !important;
  width:100% !important;
  max-width:180px !important;
  height:90px !important;
  max-height:90px !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
#clienti .client-logo-item{
  min-width:0 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:20px 16px !important;
}
@media(max-width:900px){
  #clienti img{
    max-width:150px !important;
    height:78px !important;
  }
}
@media(max-width:560px){
  #clienti img{
    max-width:120px !important;
    height:64px !important;
  }
  #clienti .client-logo-item{
    padding:14px 8px !important;
  }
}

/* Chi sono: link al sito personale */
#vittorio .vittorio-link{
  display:inline-block;
  margin-top:28px;
  color:#B64030;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:opacity .2s ease;
}
#vittorio .vittorio-link:hover{
  opacity:.7;
}



/* v14 — consenso privacy form */
.privacy-consent{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:start;
  margin:4px 0 22px;
  cursor:pointer;
  font-family:'Roboto Condensed',sans-serif;
  font-size:13px;
  line-height:1.5;
  color:#1A1A1A;
}
.privacy-consent input{
  width:16px;
  height:16px;
  margin:2px 0 0;
  accent-color:#1A1A1A;
}
.privacy-consent a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}



/* ── COOKIE BANNER ── */
.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:500;background:#fff;border:1px solid rgba(26,26,26,.12);box-shadow:0 12px 40px rgba(0,0,0,.12);padding:24px 28px;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between;max-width:var(--site-max);margin:0 auto;transform:translateY(calc(100% + 60px));transition:transform .5s cubic-bezier(.4,0,.2,1)}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner-text{flex:1;min-width:260px}
.cookie-banner-title{font-family:'Gloock',Georgia,serif;font-size:17px;color:var(--caldo);margin-bottom:6px}
.cookie-banner-desc{font-size:13px;line-height:1.6;color:var(--testo-grigio);font-weight:300}
.cookie-banner-desc a{color:var(--sabbia);text-decoration:underline;text-underline-offset:2px}
.cookie-banner-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}
.cookie-btn{border:none;cursor:pointer;padding:12px 20px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-family:'Roboto Condensed',sans-serif;white-space:nowrap}
.cookie-btn-accept{background:var(--sabbia);color:#fff;font-weight:500}
.cookie-btn-accept:hover{background:var(--sabbia-light)}
.cookie-btn-prefs{background:transparent;color:var(--caldo);border:1px solid rgba(26,26,26,.2)}
.cookie-btn-prefs:hover{border-color:var(--caldo)}
.cookie-btn-reject{background:transparent;color:var(--testo-grigio)}
.cookie-btn-reject:hover{color:var(--caldo)}
/* ── COOKIE MODAL (preferenze) ── */
.cookie-modal-overlay{position:fixed;inset:0;background:rgba(26,26,26,.8);z-index:600;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s;backdrop-filter:blur(6px);padding:24px}
.cookie-modal-overlay.open{opacity:1;pointer-events:all}
.cookie-modal{background:#fff;width:100%;max-width:480px;max-height:86vh;overflow-y:auto;padding:36px}
.cookie-modal-title{font-family:'Gloock',Georgia,serif;font-size:24px;color:var(--caldo);margin-bottom:12px}
.cookie-modal-desc{font-size:14px;line-height:1.7;color:var(--testo-grigio);font-weight:300;margin-bottom:28px}
.cookie-category{padding:18px 0;border-top:1px solid rgba(26,26,26,.1)}
.cookie-category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cookie-category-name{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--caldo);font-weight:500}
.cookie-category-desc{font-size:13px;line-height:1.6;color:var(--testo-grigio);font-weight:300}
.cookie-toggle{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
.cookie-toggle input{opacity:0;width:0;height:0}
.cookie-slider{position:absolute;cursor:pointer;inset:0;background:#D8D9DC;transition:.25s}
.cookie-slider::before{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;transition:.25s}
.cookie-toggle input:checked + .cookie-slider{background:var(--sabbia)}
.cookie-toggle input:checked + .cookie-slider::before{transform:translateX(18px)}
.cookie-toggle input:disabled + .cookie-slider{opacity:.5;cursor:default}
.cookie-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.cookie-modal-btn{border:none;cursor:pointer;padding:14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-family:'Roboto Condensed',sans-serif;width:100%}
.cookie-modal-btn-accept{background:var(--sabbia);color:#fff;font-weight:500}
.cookie-modal-btn-accept:hover{background:var(--sabbia-light)}
.cookie-modal-btn-save{background:transparent;color:var(--caldo);border:1px solid rgba(26,26,26,.2)}
.cookie-modal-btn-reject{background:transparent;color:var(--testo-grigio)}
@media(max-width:640px){.cookie-banner{left:12px;right:12px;padding:20px}.cookie-banner-actions{width:100%}.cookie-btn{flex:1}}
    