:root{
  --navy: #0B2A4A;
  --navy-2: #0F3A66;
  --blue: #0097FE;
  --blue-dim: #4FB6FA;
  --sand: #D9BD8E;
  --sand-dim: #F1E7D3;
  --ink: #10202E;
  --paper: #F7F9FB;
  --white: #FFFFFF;
  --line: rgba(11,42,74,0.10);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3{font-family:'Space Grotesk', sans-serif; letter-spacing:-0.01em;}
.mono{font-family:'IBM Plex Mono', monospace;}
.wrap{max-width:1160px; margin:0 auto; padding:0 28px;}
a:focus-visible, button:focus-visible{outline:3px solid var(--blue); outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
}

/* ---------- Header ---------- */
header{position:sticky; top:0; z-index:50; background:rgba(247,249,251,0.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 28px;}
.nav img{height:52px; width:auto;}
.nav-links{display:flex; gap:28px; align-items:center;}
.nav-links a{font-size:14.5px; font-weight:600; text-decoration:none; color:var(--navy); position:relative; padding-bottom:2px;}
.nav-links a::after{content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--blue); transition:width .25s ease;}
.nav-links a:hover::after{width:100%;}
.nav-links a.active{color:var(--blue);}
.nav-links a.active::after{width:100%;}
.nav-cta{background:var(--blue); color:var(--white) !important; padding:9px 18px; border-radius:3px; font-weight:700; text-decoration:none; font-size:14px;}
.nav-cta::after{display:none;}
.burger{display:none;}

.has-dropdown{position:relative;}
.dropdown{
  display:none; position:absolute; top:28px; left:-16px; background:var(--white);
  border:1px solid var(--line); border-radius:6px; box-shadow:0 20px 40px -20px rgba(11,42,74,0.3);
  padding:10px; min-width:230px; z-index:60;
}
.has-dropdown:hover .dropdown{display:block;}
.dropdown a{display:block; padding:9px 12px; border-radius:4px; font-size:14px; font-weight:500; color:var(--navy); text-decoration:none;}
.dropdown a::after{display:none;}
.dropdown a:hover{background:var(--paper); color:var(--blue);}
@media (max-width:860px){
  .dropdown{position:static; box-shadow:none; border:none; padding:6px 0 0 14px; display:block; min-width:0;}
  .has-dropdown:hover .dropdown{display:block;}
}

/* ---------- Breadcrumb ---------- */
.crumb{padding:20px 0 0; font-size:13px; color:#5A6B7B;}
.crumb a{text-decoration:none; color:#5A6B7B; font-weight:600;}
.crumb a:hover{color:var(--blue);}
.crumb span.sep{margin:0 8px; color:#B7C2CC;}
.crumb span.here{color:var(--navy); font-weight:600;}

/* ---------- Hero (generic, used with modifiers) ---------- */
.hero{position:relative; background:var(--navy); color:var(--white); overflow:hidden; padding:88px 0 108px;}
.hero.hero-photo{background:var(--navy) url('assets/hero-bg.jpg') center right/cover no-repeat;}
.hero.hero-photo::before{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,42,74,0.94) 0%, rgba(11,42,74,0.85) 34%, rgba(11,42,74,0.4) 60%, rgba(11,42,74,0.1) 100%); z-index:1;}
.hero.hero-sm{padding:56px 0 72px;}
.hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; position:relative; z-index:2;}
.eyebrow{font-family:'IBM Plex Mono', monospace; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue-dim); display:flex; align-items:center; gap:10px; margin-bottom:22px;}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--blue-dim); display:inline-block;}
.hero h1{font-size:clamp(2rem, 4vw, 3.2rem); font-weight:700; line-height:1.1; max-width:680px;}
.hero h1 span{color:var(--blue-dim);}
.hero p.lead{margin-top:20px; font-size:16.5px; max-width:540px; color:rgba(255,255,255,0.78);}
.hero-ctas{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.btn{display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:3px; font-weight:700; font-size:14.5px; text-decoration:none; border:1px solid transparent; cursor:pointer;}
.btn-primary{background:var(--blue); color:var(--white);}
.btn-primary:hover{background:#0086E0;}
.btn-ghost{border-color:rgba(255,255,255,0.35); color:var(--white);}
.btn-ghost:hover{border-color:var(--white);}
.btn-navy{border-color:rgba(11,42,74,0.25); color:var(--navy);}
.btn-navy:hover{background:rgba(11,42,74,0.05);}
.hero-diagram{position:relative; z-index:2; justify-self:center;}
.circuit-bg{position:absolute; inset:0; z-index:1; opacity:0.5;}

/* ---------- Section shell ---------- */
section{padding:88px 0;}
section.tight{padding:64px 0;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head .eyebrow{color:var(--blue);}
.section-head .eyebrow::before{background:var(--blue);}
.section-head h2{font-size:clamp(1.6rem, 3vw, 2.2rem); color:var(--navy);}
.section-head p{margin-top:14px; color:#42566A; font-size:16px;}
.alt-bg{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}

/* ---------- Servizi / feature cards ---------- */
.services{display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.services-4{grid-template-columns:repeat(4, 1fr);}
.service{background:var(--white); padding:36px 30px; position:relative;}
.service .node{width:9px; height:9px; border-radius:50%; background:var(--blue); margin-bottom:20px; box-shadow:0 0 0 5px rgba(0,151,254,0.12);}
.service h3{font-size:18.5px; color:var(--navy); margin-bottom:10px;}
.service p{font-size:14.6px; color:#4B5D6E;}
.service .tag{display:inline-block; margin-top:16px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.06em; color:var(--blue); text-transform:uppercase;}
.service a.card-link{text-decoration:none; display:block;}
.service a.card-link:hover{background:#FBFDFF;}

/* ---------- Split cards with illustration (Home: Negozio / Impianti) ---------- */
.split-cards{display:grid; grid-template-columns:repeat(2, 1fr); gap:20px;}
.split-card{background:var(--white); border:1px solid var(--line); border-radius:8px; overflow:visible; text-decoration:none; display:block; box-shadow:0 16px 34px -22px rgba(11,42,74,0.35); transition:transform .2s ease, box-shadow .2s ease;}
.split-card:hover{transform:translateY(-4px); box-shadow:0 28px 54px -24px rgba(11,42,74,0.4);}
.split-card .art{position:relative; aspect-ratio:2.334/1; display:flex; align-items:center; justify-content:center; padding:0; overflow:hidden; border-radius:8px 8px 0 0; box-shadow:inset 0 0 0 1px rgba(255,255,255,0.5);}
.split-card .art img{width:100%; height:100%; object-fit:cover; filter:saturate(1.05) contrast(1.03);}
.split-card .art.art-negozio{background:linear-gradient(135deg,#EAF6FF 0%,#DCEFFC 100%);}
.split-card .art.art-impianti{background:linear-gradient(135deg,var(--sand-dim) 0%,#F7F1E4 100%);}
.split-card .body{padding:30px 32px; position:relative; margin-top:-14px; background:var(--white); border-radius:8px; box-shadow:0 -8px 20px -18px rgba(11,42,74,0.4);}
.split-card .node{width:9px; height:9px; border-radius:50%; background:var(--blue); margin-bottom:18px; box-shadow:0 0 0 5px rgba(0,151,254,0.12);}
.split-card h3{font-size:20px; font-weight:700; color:var(--navy); margin-bottom:10px; text-shadow:0 1px 0 rgba(255,255,255,0.6);}
.split-card p{font-size:14.6px; color:#4B5D6E;}
.split-card .tag{display:inline-block; margin-top:16px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.06em; color:var(--blue); text-transform:uppercase;}
@media (max-width:860px){.split-cards{grid-template-columns:1fr;}}

/* ---------- Reparti grid (bordered, emphasized cells) ---------- */
.reparti-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; margin-top:8px;}
.reparto-cell{border:2px solid var(--blue); border-radius:6px; padding:18px 18px; text-align:center; background:#EAF6FF; font-family:'IBM Plex Mono',monospace; font-size:13.5px; letter-spacing:0.03em; color:var(--navy); font-weight:700; box-shadow:0 10px 22px -14px rgba(0,151,254,0.5); transition:transform .15s ease, box-shadow .15s ease;}
.reparto-cell:hover{transform:translateY(-2px); box-shadow:0 16px 30px -14px rgba(0,151,254,0.6);}
@media (max-width:860px){.reparti-grid{grid-template-columns:repeat(2, 1fr);}}


/* ---------- Hero banner photo (Negozio / Impianti hub pages) ---------- */
.hero-banner{position:relative; margin-top:40px; border-radius:8px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(11,42,74,0.4), inset 0 0 0 1px rgba(255,255,255,0.5);}
.hero-banner img{width:100%; display:block; aspect-ratio:1672/941; object-fit:cover; filter:saturate(1.05) contrast(1.03);}
.hero-banner::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,42,74,0) 60%, rgba(11,42,74,0.3) 100%); pointer-events:none;}
.hero-banner + .section-head, .hero-banner ~ section .section-head:first-child{margin-top:8px;}
section .section-head h2{text-shadow:0 1px 0 rgba(255,255,255,0.6);}


/* ---------- Category grid (Negozio hub) ---------- */
.cat-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
.cat-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:30px; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; display:flex; flex-direction:column;}
.cat-card:hover{transform:translateY(-3px); box-shadow:0 20px 40px -24px rgba(11,42,74,0.25);}
.cat-card .icon{width:44px; height:44px; margin-bottom:18px;}
.cat-card h3{font-size:17.5px; color:var(--navy); margin-bottom:8px;}
.cat-card p{font-size:14px; color:#4B5D6E; flex-grow:1;}
.cat-card .goto{margin-top:16px; font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--blue);}

/* ---------- Ecommerce note banner ---------- */
.notice{display:flex; gap:16px; align-items:flex-start; background:var(--sand-dim); border:1px solid rgba(11,42,74,0.08); border-radius:6px; padding:22px 26px; margin-top:12px;}
.notice .dot{width:8px; height:8px; border-radius:50%; background:#9A7B3F; margin-top:6px; flex-shrink:0;}
.notice p{font-size:14.5px; color:#5A4A2E;}
.notice strong{color:#3E3113;}

/* ---------- Shop banner ---------- */
.shop{position:relative; background:linear-gradient(rgba(247,241,228,0.62), rgba(247,241,228,0.62)), url('assets/upower-kit.jpg') bottom center/contain no-repeat, var(--sand-dim); border-radius:8px; padding:38px 52px; min-height:360px; display:grid; grid-template-columns:1.3fr 0.9fr; gap:40px; align-items:center;}
.shop h2{color:var(--navy); font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:14px;}
.shop p{color:#4B5D6E; font-size:15.5px; max-width:460px;}
.shop-card{position:relative; background:rgba(255,255,255,0.94); border:2px solid var(--blue); border-radius:6px; padding:20px; box-shadow:0 18px 40px -20px rgba(11,42,74,0.25);}
.shop-card h4{margin-bottom:6px;}
.shop-card p{font-size:14px; margin-bottom:14px;}
.shop-card .mono{font-size:11.5px; color:var(--blue); letter-spacing:0.08em; text-transform:uppercase;}
.shop-card h4{font-family:'Space Grotesk',sans-serif; font-size:20px; color:var(--navy); margin:8px 0 6px;}
.shop-card p{font-size:14px; color:#5A6B7B; margin-bottom:18px;}

/* ---------- Category page: product list ---------- */
.prod-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:14px;}
.prod-item{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:22px 24px; display:flex; gap:14px; align-items:flex-start;}
.prod-item .node{width:7px; height:7px; border-radius:50%; background:var(--blue); margin-top:8px; flex-shrink:0;}
.prod-item h4{font-size:15.5px; color:var(--navy); margin-bottom:4px;}
.prod-item p{font-size:13.8px; color:#57687A;}

.brand-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:8px;}
.brand-pill{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.04em; padding:8px 14px; border:1px solid var(--line); border-radius:20px; color:var(--navy); background:var(--white);}

.cta-band{background:var(--navy); border-radius:8px; padding:44px 48px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; color:var(--white);}
.cta-band h3{font-size:22px; margin-bottom:6px;}
.cta-band p{color:rgba(255,255,255,0.72); font-size:14.5px;}

/* ---------- Impianti: DM 37/08 letters ---------- */
.letters{display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.letter{background:var(--white); padding:28px 26px; display:flex; gap:16px;}
.letter .lg{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:26px; color:var(--blue); width:36px; flex-shrink:0;}
.letter h4{font-size:15.5px; color:var(--navy); margin-bottom:6px;}
.letter p{font-size:13.8px; color:#4B5D6E;}
.letter .badge{display:inline-block; margin-top:10px; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:#0B7A3D; background:#E7F5EC; padding:3px 9px; border-radius:3px;}

/* ---------- Chi siamo ---------- */
.about{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.about h2{color:var(--navy); font-size:clamp(1.6rem,2.8vw,2.1rem); margin-bottom:20px;}
.about p{color:#42566A; font-size:15.8px; margin-bottom:16px; max-width:480px;}
.about-stats{display:flex; gap:32px; margin-top:26px; flex-wrap:wrap;}
.about-stats div strong{display:block; font-family:'Space Grotesk',sans-serif; font-size:24px; color:var(--navy);}
.about-stats div span{font-size:12.5px; color:#67788A;}
.about-graphic{position:relative; aspect-ratio:1/1; max-width:360px; justify-self:center;}

.timeline{border-left:2px solid var(--line); padding-left:28px; display:flex; flex-direction:column; gap:26px; margin-top:8px;}
.timeline .step{position:relative;}
.timeline .step::before{content:''; position:absolute; left:-33px; top:4px; width:9px; height:9px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 4px var(--paper);}
.timeline h4{font-size:15px; color:var(--navy); margin-bottom:4px;}
.timeline p{font-size:13.8px; color:#57687A;}

/* ---------- Contatti ---------- */
.contact{background:var(--navy); color:var(--white); border-radius:8px; padding:52px;}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px;}
.contact h2{font-size:clamp(1.6rem,2.8vw,2.1rem); margin-bottom:14px;}
.contact p.lead{color:rgba(255,255,255,0.7); font-size:15.5px; max-width:420px; margin-bottom:26px;}
.legal-block{max-width:780px; margin-top:30px;}
.legal-block h3{font-family:'Space Grotesk',sans-serif; font-size:19px; color:var(--navy); margin:34px 0 12px;}
.legal-block h3:first-child{margin-top:0;}
.legal-block p{color:#4B5D6E; font-size:15px; line-height:1.7; margin-bottom:12px;}
.legal-block a{color:var(--blue);}
.legal-list{margin:10px 0 14px 20px; padding:0; color:#4B5D6E; font-size:15px; line-height:1.8;}
.legal-list li{margin-bottom:4px;}
.legal-updated{font-size:13px; color:#8194A3; margin-top:24px;}
.contact-item{display:flex; gap:14px; margin-bottom:18px; align-items:flex-start;}
.contact-item .mono{font-size:11px; color:var(--blue-dim); letter-spacing:0.08em; text-transform:uppercase; width:90px; flex-shrink:0; padding-top:2px;}
.contact-item div a, .contact-item div span{font-size:15.5px; font-weight:500;}
.contact-card{background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.12); border-radius:6px; padding:30px;}
.map-embed{margin-top:38px; border-radius:8px; overflow:hidden; border:1px solid rgba(255,255,255,0.12);}
.map-embed iframe{display:block;}
.field{margin-bottom:15px;}
.field label{display:block; font-size:12.5px; margin-bottom:6px; color:rgba(255,255,255,0.65);}
.field input, .field select, .field textarea{width:100%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); border-radius:4px; padding:11px 12px; color:var(--white); font-family:'Inter',sans-serif; font-size:14.5px;}
.field select option{color:#10202E;}
.field input::placeholder, .field textarea::placeholder{color:rgba(255,255,255,0.35);}
.field-consent{margin-top:4px; margin-bottom:18px;}
.consent-label{display:flex; align-items:flex-start; gap:9px; cursor:pointer; font-size:12.5px; line-height:1.5; color:rgba(255,255,255,0.75); font-weight:400;}
.consent-label input[type="checkbox"]{width:auto; flex:0 0 auto; margin-top:2px; accent-color:var(--blue);}
.consent-label a{color:var(--blue); text-decoration:underline;}
.field textarea{resize:vertical; min-height:76px;}
.map-note{margin-top:34px; border:1px dashed rgba(255,255,255,0.25); border-radius:6px; padding:20px 22px; font-size:13.5px; color:rgba(255,255,255,0.6);}

/* ---------- Footer ---------- */
footer{padding:36px 0;}
.footer-top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:28px; border-bottom:1px solid var(--line); margin-bottom:20px;}
.footer-col h5{font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:#67788A; margin-bottom:14px;}
.footer-col a{display:block; font-size:13.8px; color:#3A4B5C; text-decoration:none; margin-bottom:9px;}
.footer-col a:hover{color:var(--blue);}
.footer-row{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;}
.footer-social{display:flex; align-items:center; gap:14px;}
.footer-social a{color:#67788A; display:inline-flex; align-items:center; justify-content:center; transition:color 0.15s;}
.footer-social a:hover{color:var(--blue);}
.footer-row img{height:34px;}
.footer-row p{font-size:13px; color:#67788A;}

@media (max-width: 860px){
  .nav-links{position:fixed; inset:64px 0 0 0; background:var(--paper); flex-direction:column; padding:32px 28px; transform:translateX(100%); transition:transform .3s ease; align-items:flex-start; gap:20px; overflow-y:auto;}
  .nav-links.open{transform:translateX(0);}
  .burger{display:block; background:none; border:none; cursor:pointer; z-index:60;}
  .burger span{display:block; width:24px; height:2px; background:var(--navy); margin:5px 0;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-diagram{display:none;}
  .services{grid-template-columns:1fr;}
  .cat-grid{grid-template-columns:1fr;}
  .prod-grid{grid-template-columns:1fr;}
  .shop{grid-template-columns:1fr; padding:30px;}
  .about{grid-template-columns:1fr;}
  .about-graphic{display:none;}
  .contact{padding:30px;}
  .contact-grid{grid-template-columns:1fr;}
  .cta-band{padding:30px;}
  .footer-top{flex-direction:column; gap:24px;}
}

/* ---------- Chi siamo: new sections ---------- */
.cs-hero-img{width:100%; border-radius:10px; display:block; box-shadow:0 24px 50px -24px rgba(11,42,74,0.35);}
.vh{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.hero-grid-cs{max-width:640px; position:relative; z-index:2;}
.hero-grid-cs h1 span{color:var(--blue);}
.hero-cs{background:var(--navy) url('assets/chisiamo-hero.jpg') center right/cover no-repeat;}
.hero-cs::before{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,42,74,0.94) 0%, rgba(11,42,74,0.85) 34%, rgba(11,42,74,0.4) 60%, rgba(11,42,74,0.1) 100%); z-index:1;}
.hero.hero-photo.hero-negozio{background:var(--navy) url('assets/negozio-hero-full.jpg') center right/cover no-repeat;}
.cat-more{text-align:center; margin-top:28px; font-family:'Space Grotesk',sans-serif; font-size:18px; color:var(--navy); font-weight:600;}

.cs-two-souls{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.cs-soul-card{background:var(--white); border:1px solid var(--line); border-radius:8px; padding:32px; box-shadow:0 10px 30px -20px rgba(11,42,74,0.2);}
.cs-soul-card .mono{display:block; font-size:12px; color:var(--blue); letter-spacing:0.08em; text-transform:uppercase; margin-bottom:12px;}
.cs-soul-card p{color:#4B5D6E; font-size:15px; line-height:1.7; margin-bottom:16px;}
.cs-soul-card .goto{color:var(--navy); font-weight:600; font-size:14px; text-decoration:none;}
.cs-soul-card .goto:hover{color:var(--blue);}

.cs-band{background:linear-gradient(135deg, #EAF6FF 0%, #F7FBFF 100%); padding:56px 0;}
.cs-band-head{text-align:center; max-width:680px; margin:0 auto 36px;}
.cs-band-head .mono{display:block; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--blue); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:10px;}
.cs-band-head h2{color:var(--navy); font-size:clamp(1.4rem,2.4vw,1.9rem);}
.cs-band-head h2 span{display:block; color:#4B5D6E; font-size:0.65em; font-weight:500; margin-top:8px;}
.cs-band-stats{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; max-width:760px; margin:0 auto;}
.cs-band-stats div{text-align:center; background:var(--white); border-radius:8px; padding:24px 16px; box-shadow:0 10px 26px -18px rgba(11,42,74,0.2);}
.cs-band-stats strong{display:block; font-family:'Space Grotesk',sans-serif; font-size:20px; color:var(--navy); margin-bottom:4px;}
.cs-band-stats span{font-size:13px; color:#5A6B7B;}

@media (max-width:860px){
  .cs-two-souls{grid-template-columns:1fr;}
  .services-4{grid-template-columns:1fr 1fr;}
  .cs-band-stats{grid-template-columns:1fr;}
}

/* ---------- Negozio: e-commerce band + promo grid ---------- */
.ecom-band{background:var(--navy); padding:64px 0;}
.ecom-content{max-width:680px; margin:0 auto; text-align:center;}
.ecom-content .eyebrow{color:#9FD4FF;}
.ecom-content h2{color:var(--white); font-size:clamp(1.5rem,2.6vw,2rem);}
.ecom-content p{color:rgba(255,255,255,0.82); font-size:15.5px; margin-top:14px;}

.promo-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.promo-card{background:var(--white); border:1px dashed rgba(11,42,74,0.25); border-radius:8px; padding:26px; text-align:left;}
.promo-tag{display:inline-block; background:rgba(0,151,254,0.1); color:var(--blue); font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; padding:4px 10px; border-radius:20px; margin-bottom:14px;}
.promo-card h4{font-family:'Space Grotesk',sans-serif; font-size:18px; color:var(--navy); margin-bottom:8px;}
.promo-card p{font-size:14px; color:#5A6B7B; margin-bottom:14px;}
.promo-validity{font-size:12.5px; color:#8194A3; font-style:italic;}

@media (max-width:860px){
  .promo-grid{grid-template-columns:1fr;}
}

/* ---------- Impianti page ---------- */
.hero.hero-photo.hero-impianti{background:var(--navy) url('assets/impianti-hero-full.jpg') center right/cover no-repeat;}

.cat-grid-impianti{grid-template-columns:repeat(auto-fit, minmax(230px,1fr));}
.cat-card-static{cursor:default;}
.cat-card-static:hover{transform:none; box-shadow:none;}

.letters-compact .letter{align-items:center; padding:20px 22px;}
.letters-compact .lg{width:40px; height:40px; font-size:18px;}
.letters-compact h4{font-size:15px; margin:0;}

.fgas-note{display:flex; align-items:center; gap:16px; flex-wrap:wrap; background:var(--white); border:1px solid var(--line); border-radius:6px; padding:18px 22px; margin-top:20px;}
.fgas-note .mono{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--blue); letter-spacing:0.06em; text-transform:uppercase; white-space:nowrap;}
.fgas-note p{font-size:14px; color:#4B5D6E; margin:0;}

/* ---------- Climatizzazione page ---------- */
.hero.hero-photo.hero-clima{background:var(--navy) url('assets/clima-hero-full.jpg') center right/cover no-repeat;}

.qual-badges{display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; max-width:560px; margin:0 auto;}
.qual-badge{background:var(--white); border:1px solid var(--line); border-radius:8px; padding:28px; text-align:center; box-shadow:0 10px 26px -18px rgba(11,42,74,0.2);}
.qual-badge strong{display:block; font-family:'Space Grotesk',sans-serif; font-size:22px; color:var(--navy); margin-bottom:6px;}
.qual-badge span{font-size:13px; color:#5A6B7B;}

@media (max-width:860px){
  .qual-badges{grid-template-columns:1fr;}
}

/* ---------- Illuminazione page ---------- */
.hero.hero-photo.hero-illum{background:var(--navy) url('assets/illuminazione-hero-full.jpg') center right/cover no-repeat;}

/* ---------- Materiale elettrico page ---------- */
.hero.hero-photo.hero-matelettrico{background:var(--navy) url('assets/matelettrico-hero-full.jpg') center right/cover no-repeat;}

/* ---------- Ferramenta page ---------- */
.hero.hero-photo.hero-ferramenta{background:var(--navy) url('assets/ferramenta-hero-full.jpg') center right/cover no-repeat;}

.cross-links{display:flex; flex-wrap:wrap; gap:14px;}
.cross-link{display:inline-flex; align-items:center; gap:6px; background:var(--white); border:1px solid var(--line); border-radius:20px; padding:10px 18px; font-size:14px; font-weight:600; color:var(--navy); text-decoration:none; transition:border-color .15s, color .15s;}
.cross-link:hover{border-color:var(--blue); color:var(--blue);}

/* ---------- Riscaldamento page ---------- */
.hero.hero-photo.hero-riscaldamento{background:var(--navy) url('assets/riscaldamento-hero-full.jpg') center right/cover no-repeat;}
.qual-badges-3{grid-template-columns:repeat(3, 1fr); max-width:900px;}
@media (max-width:860px){.qual-badges-3{grid-template-columns:1fr;}}

/* ---------- Abbigliamento page ---------- */
.hero.hero-photo.hero-abbigliamento{background:var(--navy) url('assets/abbigliamento-hero-full.jpg') center right/cover no-repeat;}

/* ---------- Attrezzatura page ---------- */
.hero.hero-photo.hero-attrezzatura{background:var(--navy) url('assets/attrezzatura-hero-full.jpg') center right/cover no-repeat;}

/* ---------- Antinfortunistica page ---------- */
.hero.hero-photo.hero-antinfortunistica{background:var(--navy) url('assets/antinfortunistica-hero-full.jpg') center right/cover no-repeat;}

/* ---------- Fotovoltaico page ---------- */
.hero.hero-photo.hero-fotovoltaico{background:var(--navy) url('assets/fotovoltaico-hero-full.jpg') center right/cover no-repeat;}

/* ---------- Google reviews bar ---------- */
.reviews-bar{padding:14px 0; background:var(--paper);}
.reviews-link{display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; text-decoration:none; color:#5A6B7B;}
.reviews-stars{display:flex; gap:2px;}
.reviews-stars svg{width:15px; height:15px;}
.reviews-text{font-size:13px; color:#5A6B7B;}
.reviews-text strong{font-family:'Space Grotesk',sans-serif; font-size:14px; color:var(--navy);}
.reviews-cta{font-size:13px; font-weight:600; color:var(--blue);}
.reviews-link:hover .reviews-cta{text-decoration:underline;}

@media (max-width:600px){
  .reviews-link{flex-direction:column; gap:6px; text-align:center;}
}

/* ---------- Depurazione acqua page ---------- */
.hero.hero-photo.hero-depurazione{background:var(--navy) url('assets/depurazione-hero-full.jpg') center right/cover no-repeat;}
