:root{--blue:#073b78;--blue2:#0b67d1;--green:#18a957;--orange:#f39a18;--dark:#172033;--muted:#667385;--light:#f4f8fc;--shadow:0 18px 45px rgba(18,41,76,.14);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--light);color:var(--dark)}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{background:#eef6ff;color:#295174;text-align:center;padding:9px 10px;font-size:14px;font-weight:700}
header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 4px 22px rgba(10,30,60,.08)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--blue);font-size:22px}.logo-img{height:53px;width:auto;display:block;object-fit:contain}.logo-fallback{display:none;align-items:center;gap:10px}.logo-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--orange),var(--green));display:grid;place-items:center;color:#fff;font-weight:900}.menu{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:800;color:#5d6878;text-transform:uppercase;letter-spacing:.5px}.menu a:hover,.menu a.active,.menu-dd-toggle.active{color:var(--blue)}.menu-dd{position:relative}.menu-dd-toggle{display:inline-flex;align-items:center;gap:6px}.menu-dd-caret{font-size:10px;color:#d09100}.menu-dd-panel{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-top:4px solid #3aa0ff;box-shadow:0 10px 24px rgba(0,0,0,.12);padding:14px 0;z-index:90}.menu-dd-panel a{display:block;padding:12px 32px;font-size:19px;line-height:1.1;font-weight:900;letter-spacing:2px;color:#61646a}.menu-dd-panel a:hover{background:#f8fafc;color:#374151}.menu-dd:hover .menu-dd-panel,.menu-dd:focus-within .menu-dd-panel{display:block}.area-btn{background:var(--blue2);color:#fff!important;padding:11px 16px;border-radius:999px}.call-btn{background:var(--orange);color:#fff!important;padding:11px 16px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;font-size:34px;color:var(--blue)}
.hero{position:relative;overflow:hidden;color:#fff;min-height:735px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(3,18,38,.84),rgba(7,59,120,.60),rgba(24,169,87,.18)),url('https://images.unsplash.com/photo-1509391366360-2e959784a276?q=80&w=1800&auto=format&fit=crop');background-size:cover;background-position:center bottom}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,190,70,.30),transparent 22%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(2,20,43,.30))}.hero:after{content:"";position:absolute;right:-160px;bottom:-190px;width:520px;height:520px;border:16px solid rgba(243,154,24,.55);border-radius:50%}.hero-content{position:relative;z-index:2;max-width:800px;padding:80px 0}.eyebrow{text-transform:uppercase;letter-spacing:7px;font-weight:900;color:#ffd36d;font-size:18px;margin-bottom:18px}h1{font-size:70px;line-height:1.01;margin:0 0 16px;letter-spacing:-2.5px}.subtitle{font-size:30px;font-weight:900;margin:0 0 18px;color:#fff}.hero p{font-size:22px;line-height:1.5;color:#eef7ff;margin:0 0 30px;max-width:730px}
.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:16px 26px;font-weight:900;border:0;cursor:pointer}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 12px 28px rgba(243,154,24,.32)}.btn-green{background:var(--green);color:#fff}.btn-white{background:#fff;color:var(--blue)}
.quick{margin-top:16px;position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}.quick-card{background:#fff;border-radius:var(--radius);padding:25px;box-shadow:var(--shadow);min-height:165px;border:1px solid #edf2f7;display:flex;flex-direction:column;height:100%;box-sizing:border-box}.quick-card h3{margin:0 0 8px;font-size:23px;color:var(--blue)}.quick-card p{margin:0 0 18px;color:var(--muted);line-height:1.45}.quick-card>.mini-link{margin-top:auto}.mini-link{font-weight:900;color:var(--orange)}
.section{padding:76px 0}.section-title{text-align:center;margin-bottom:34px}.section-title h2{font-size:42px;letter-spacing:-1px;color:var(--blue);margin:0 0 10px}.section-title p{font-size:18px;color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.panel{background:#fff;border-radius:30px;padding:36px;box-shadow:var(--shadow)}.panel h2{font-size:38px;letter-spacing:-1px;color:var(--blue);margin:0 0 12px}.panel p{font-size:18px;line-height:1.55;color:var(--muted)}.green-panel{background:linear-gradient(135deg,#fff,#eefbf4);border:1px solid #d8f2e3}.image-panel{min-height:430px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(7,59,120,.08)),url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?q=80&w=1500&auto=format&fit=crop');background-size:cover;background-position:center;border-radius:30px;box-shadow:var(--shadow)}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.offer{background:#fff;border-radius:24px;padding:28px;box-shadow:0 10px 30px rgba(18,41,76,.08);border:1px solid #edf2f7}.offer .icon{width:56px;height:56px;border-radius:18px;background:#eef6ff;display:grid;place-items:center;font-size:28px;margin-bottom:16px}.offer h3{font-size:24px;color:var(--blue);margin:0 0 10px}.offer p{color:var(--muted);line-height:1.5;margin:0 0 22px}
.offer-grid-detailed{grid-template-columns:repeat(2,1fr);margin-bottom:22px}
.offer-detailed{padding:20px}
.offer-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.offer-switch-btn{padding:10px 16px;border:1px solid #dbe4ef;border-radius:999px;background:#fff;font-weight:800;font-size:13px;color:#475569}
.offer-switch-btn.is-active{background:var(--orange);border-color:var(--orange);color:#fff}
.offer-category-title{font-size:28px;color:var(--blue);margin:8px 0 16px}
.offer-empty{font-size:16px;color:#334155}
.offer-badge{font-size:11px;font-weight:900;color:var(--blue2);letter-spacing:.5px;margin-bottom:8px}
.offer-code{font-size:11px;color:#6b7280;word-break:break-all;margin-bottom:10px}
.offer-price{display:flex;justify-content:space-between;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 10px;margin-bottom:10px}
.offer-price strong{color:#00356b;font-size:32px;line-height:1}
.offer-price span{color:#0b2f57;font-weight:900;font-size:34px;line-height:1}
.offer-bonus-pill{display:inline-block;background:#f7d65a;border:1px solid #e3b628;border-radius:999px;padding:8px 14px;font-weight:900;color:#2f2610;box-shadow:0 2px 6px rgba(0,0,0,.12);margin:0 0 12px}
.offer-no-bonus{font-style:italic;color:#4b5563;margin:0 0 12px}
.offer-note{font-size:13px;color:#475569;margin-bottom:12px}
.offer-meta{font-size:18px;color:#1f2937;display:grid;gap:6px;margin-bottom:16px}
.offer-valid{color:#b45309;font-weight:900}
.offer-meta > div:first-child{font-weight:700}
.offer-detailed .btn{display:flex;margin:0 auto;min-width:170px;justify-content:center}
.steps{display:grid;gap:14px}.step{display:flex;gap:14px;background:#fff;border-radius:20px;padding:20px;border:1px solid #e8eef6}.num{width:36px;height:36px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.form{display:grid;gap:12px}.input{width:100%;border:1px solid #dce6f1;border-radius:15px;padding:15px 16px;font-size:16px;background:#f9fbfe}.textarea{min-height:120px;resize:vertical}.micro{font-size:13px;color:#6b7789;line-height:1.4;margin-top:10px}
.nav-section{background:#fff}.nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.nav-item{background:#f7fbff;border:1px solid #e5eef8;border-radius:18px;padding:20px;font-weight:900;color:var(--blue)}.wide-cta{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border-radius:34px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;box-shadow:var(--shadow)}.wide-cta h2{font-size:36px;margin:0 0 8px}.wide-cta p{margin:0;color:#e2efff;font-size:18px}.wide-cta-copy{flex:1;min-width:min(100%,280px)}.wide-cta-copy p{margin:0 0 12px}.wide-cta-actions{flex-shrink:0;display:flex;flex-wrap:wrap;gap:12px}.page-hero{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:78px 0}.page-hero h1{font-size:50px;margin:0 0 12px}.page-hero p{font-size:21px;max-width:760px;color:#eaf2ff}.notice{background:#eaf8ef;color:#166534;border:1px solid #bfe8cd;padding:14px 16px;border-radius:14px;margin-bottom:15px;font-weight:800}
.notice-error{background:#fff1f2;color:#9f1239;border-color:#fecdd3}
.modulistica-intro{margin-bottom:18px;background:linear-gradient(135deg,#fff,#f6fbff);border:1px solid #dbeafe}
.modulistica-intro h2{font-size:28px;margin:0 0 6px;color:var(--blue)}
.modulistica-intro p{margin:0;color:#475569;font-size:16px}
.modulistica-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.modulistica-item{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.modulistica-item:hover{border-color:#93c5fd;box-shadow:0 10px 24px rgba(37,99,235,.12)}
.modulistica-item-title{font-weight:800;color:#0f2f5e;line-height:1.25}
.modulistica-item-cta{flex:0 0 auto;background:#e0f2fe;color:#075985;border:1px solid #bae6fd;padding:7px 10px;border-radius:999px;font-weight:800;font-size:12px;letter-spacing:.3px}
.faq-list{display:grid;gap:0;background:linear-gradient(180deg,#f3f8fc 0%,#d8f1ff 65%,#a7e5ff 100%);border-radius:20px;padding:10px 0}
.faq-item{border-bottom:1px solid rgba(148,163,184,.28)}
.faq-item:last-child{border-bottom:0}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px;color:#1e293b;font-size:18px;font-weight:600;line-height:1.35;letter-spacing:.1px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:22px;color:#334155;font-weight:400;line-height:1}
.faq-item[open] summary::after{content:"-"}
.faq-content{padding:0 20px 18px}
.faq-content p{margin:0 0 8px;color:#334155;font-size:15px;line-height:1.6}
.faq-link{color:#0b67d1;font-weight:800}
.faq-bullets{margin:0 0 8px 18px;padding:0}
.faq-bullets li{margin:0 0 6px;color:#334155;font-size:15px}
footer{background:#101827;color:#d9e2ef;padding:34px 0}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-links a{color:#d9e2ef}.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:60;width:62px;height:62px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:30px;box-shadow:0 12px 28px rgba(37,211,102,.35)}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:95;display:none}
.cookie-banner.is-open{display:block}
.cookie-banner-box{max-width:900px;margin:0 auto;background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:16px;padding:16px 18px;box-shadow:0 16px 38px rgba(2,6,23,.45)}
.cookie-banner-box p{margin:0;font-size:14px;line-height:1.5}
.cookie-banner-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.cookie-banner .btn{padding:10px 16px}
.cookie-banner .btn-white{background:#fff;color:#0f172a}
.cookie-link{color:#93c5fd;font-weight:700}
.attiva-brand{background:#0cb4ec;border-radius:18px;padding:22px 20px 20px;margin-bottom:16px;color:#fff;box-shadow:0 10px 26px rgba(11,103,209,.22);text-align:center}
.attiva-brand-top{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.attiva-brand-title{font-size:40px;font-weight:900;letter-spacing:2px;color:#ffb833;line-height:1}
.attiva-brand-pill{display:inline-block;background:#f4b544;color:#0f2f5e;border-radius:999px;padding:8px 16px;font-weight:900;font-size:32px;line-height:1}
.attiva-brand-subtitle{margin:0;color:#0f2f5e;font-size:18px;font-weight:900;letter-spacing:.3px}
.attiva-brand-divider{width:62px;height:5px;background:#f4b544;border-radius:999px;margin:12px auto}
.attiva-brand-copy{margin:0;color:#ffffff;font-size:15px;line-height:1.5;font-weight:700}
.attiva-brand-urgency{margin:0 0 10px;color:#ffffff;font-size:24px;line-height:1.2;font-weight:900}
@media(max-width:1000px){.menu-toggle{display:block}.menu{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:16px 24px 24px;flex-direction:column;align-items:flex-start;gap:0;box-shadow:0 18px 30px rgba(0,0,0,.12)}.menu.open{display:flex}.menu a,.menu-dd{width:100%}.menu a,.menu-dd-toggle{display:block;width:100%;padding:14px 0;border-bottom:1px solid #eef2f7}.menu-dd-panel{position:static;display:block;min-width:0;box-shadow:none;border-top:0;padding:6px 0 6px 12px}.menu-dd-panel a{font-size:14px;letter-spacing:.8px;padding:8px 0}.area-btn,.call-btn{margin-top:10px;text-align:center;border-bottom:0!important}.hero{min-height:760px;background:linear-gradient(180deg,rgba(3,18,38,.72),rgba(7,59,120,.52),rgba(3,18,38,.38)),url('https://images.unsplash.com/photo-1509391366360-2e959784a276?q=80&w=1100&auto=format&fit=crop');background-size:cover;background-position:center bottom}h1{font-size:44px}.subtitle{font-size:25px}.hero p{font-size:19px}.actions .btn{width:100%}.quick{grid-template-columns:1fr;margin-top:18px}.split,.offer-grid,.offer-grid-detailed,.modulistica-grid{grid-template-columns:1fr}.nav-grid{grid-template-columns:1fr 1fr}.wide-cta{display:block}.wide-cta .btn{margin-top:20px}}
@media(max-width:560px){.topbar{font-size:13px}.logo{font-size:18px}.logo-img{height:44px}.logo-mark{width:38px;height:38px}.eyebrow{font-size:14px;letter-spacing:5px}h1{font-size:39px}.section{padding:54px 0}.section-title h2,.panel h2{font-size:32px}.nav-grid{grid-template-columns:1fr}.image-panel{min-height:320px}.page-hero h1{font-size:38px}.faq-item summary{font-size:16px;padding:16px}.faq-item summary::after{font-size:20px}.faq-content{padding:0 16px 14px}.attiva-brand{padding:16px 14px}.attiva-brand-title{font-size:27px}.attiva-brand-pill{font-size:20px;padding:7px 12px}.attiva-brand-subtitle{font-size:15px}.attiva-brand-urgency{font-size:18px}.attiva-brand-copy{font-size:14px}}

.project-hero {
  padding: 95px 0;
  background: linear-gradient(135deg, var(--blue), var(--blue2));
  color: #fff;
}

.project-hero h1 {
  font-size: 56px;
  max-width: 900px;
  margin-bottom: 18px;
}

.project-hero p {
  font-size: 24px;
  max-width: 850px;
  line-height: 1.45;
  color: #eef6ff;
}

.hero-badges {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 28px 0;
}

.hero-badge {
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .28);
  padding: 13px 18px;
  border-radius: 999px;
  font-weight: 900;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.project-card {
  background: #fff;
  border-radius: 26px;
  padding: 32px;
  box-shadow: var(--shadow);
  border: 1px solid #e8eef6;
}

.project-card h3 {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 25px;
}

.project-card p {
  font-size: 18px;
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}

.big-explain {
  max-width: 980px;
  margin: auto;
  padding: 44px;
}

.big-explain p {
  font-size: 20px;
  line-height: 1.65;
}

.project-cta {
  background: linear-gradient(135deg, var(--blue), var(--blue2));
  color: #fff;
  border-radius: 34px;
  padding: 48px;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  box-shadow: var(--shadow);
}

.project-cta h2 {
  font-size: 38px;
  margin: 0 0 12px;
}

.project-cta p {
  font-size: 20px;
  color: #eaf3ff;
  margin: 0;
}

@media(max-width:900px) {
  .project-hero h1 { font-size: 40px; }
  .project-hero p { font-size: 20px; }
  .project-grid { grid-template-columns: 1fr; }
  .project-cta { display: block; }
  .project-cta .actions { margin-top: 24px; }
}

.hero .eyebrow {
  letter-spacing: 2.5px;
}

@media (max-width: 560px) {
  .hero .eyebrow {
    letter-spacing: 1.5px;
  }
}

.hero::before,
.hero::after {
  z-index: 0;
}

/* Sole + raggi sulla foto pannelli (split “Dal sole alla bolletta”) */
.split .image-panel {
  position: relative;
  overflow: hidden;
}

.image-panel-sun {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.image-panel-sun::before {
  content: "";
  position: absolute;
  top: -35%;
  left: -25%;
  width: 150%;
  height: 120%;
  background: radial-gradient(circle at 62% 28%, rgba(255, 230, 150, 0.38), rgba(255, 185, 60, 0.1) 42%, transparent 58%);
  animation: sunPulse 5.5s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

.image-panel-sun-gif {
  position: absolute;
  top: 2%;
  right: -6%;
  width: min(52%, 340px);
  height: auto;
  max-height: 75%;
  object-fit: contain;
  opacity: 0.95;
  mix-blend-mode: normal;
  filter: drop-shadow(0 0 18px rgba(245, 180, 0, 0.55));
  pointer-events: none;
  z-index: 1;
}

@keyframes sunPulse {
  0% {
    transform: scale(1);
    opacity: 0.4;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.78;
  }
  100% {
    transform: scale(1);
    opacity: 0.4;
  }
}

@media (prefers-reduced-motion: reduce) {
  .image-panel-sun::before {
    animation: none;
    opacity: 0.45;
    transform: scale(1);
  }

  .image-panel-sun-gif {
    opacity: 0.5;
  }
}

@media (max-width: 900px) {
  .image-panel-sun-gif {
    width: min(58%, 300px);
    right: -4%;
    top: 0;
  }
}

/* Home — Luce Casa / Business: stesso layout, accenti (variabili) */
.quick-card-luce {
  --qcl-teal: #007ba1;
  --qcl-yellow: #ffcc33;
  --qcl-cta: #d4145a;
  --qcl-hero: #d4145a;
  --qcl-accent: #d4145a;
  --qcl-switch-on: #d4145a;
  --qcl-switch-text: #d4145a;
  --qcl-title: #1f2937;
  --qcl-offer-name: #0f2f5e;
  --qcl-valid: var(--orange);
  min-height: 0;
  padding: 18px 20px 18px;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

/* CTA “Attiva offerta”: magenta casa (stesso tono card Luce Casa / screenshot) */
.quick-card-luce--casa {
  --qcl-cta: #d4145a;
}

.quick-card-luce--business {
  --qcl-cta: #d4145a;
  --qcl-hero: #0b2f57;
  --qcl-accent: var(--blue);
  --qcl-switch-on: var(--orange);
  --qcl-switch-text: #9a3412;
  --qcl-title: var(--blue);
  --qcl-offer-name: #0f2f5e;
  --qcl-valid: var(--orange);
}

.quick-card-luce .qcl-kicker {
  margin: 0 0 8px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: var(--blue2);
  text-transform: uppercase;
}

.quick-card-luce .qcl-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.quick-card-luce .qcl-head-text {
  min-width: 0;
}

.quick-card-luce .qcl-title {
  margin: 0 0 4px;
  font-size: clamp(19px, 2.1vw, 23px);
  font-weight: 900;
  color: var(--qcl-title);
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.quick-card-luce .qcl-offer-name {
  margin: 0 0 4px;
  font-size: clamp(13px, 1.7vw, 15px);
  font-weight: 900;
  color: var(--qcl-offer-name);
  line-height: 1.25;
}

.quick-card-luce .qcl-cod {
  margin: 0 0 8px;
  font-size: 10px;
  color: #6b7280;
  word-break: break-all;
  line-height: 1.3;
}

.quick-card-luce .qcl-sub {
  margin: 0;
  font-size: clamp(11px, 1.55vw, 16px);
  font-weight: 600;
  color: #374151;
  line-height: 1.35;
  white-space: nowrap;
  letter-spacing: -0.02em;
}

.quick-card-luce .qcl-accent {
  color: var(--qcl-accent);
  font-weight: 900;
}

.quick-card-luce .qcl-badge {
  flex-shrink: 0;
  background: var(--qcl-teal);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 11px;
  border-radius: 999px;
  letter-spacing: 0.02em;
}

.quick-card-luce .qcl-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  background: #e5e7eb;
  border-radius: 999px;
  padding: 4px;
  margin-bottom: 16px;
}

.quick-card-luce .qcl-switch button {
  appearance: none;
  margin: 0;
  border: 2px solid transparent;
  background: #eceff3;
  color: #4b5563;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  padding: 10px 8px;
  border-radius: 999px;
  cursor: default;
  line-height: 1.2;
}

.quick-card-luce .qcl-switch button.is-on {
  background: #fff;
  border-color: var(--qcl-switch-on);
  color: var(--qcl-switch-text);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1);
}

.quick-card-luce .qcl-prices {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 4px;
}

.quick-card-luce .qcl-bulb {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 4px;
  vertical-align: -4px;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, #fffde7, #ffe066 38%, #f5b800 72%, #c98700 100%);
  box-shadow: 0 0 0 2px rgba(230, 168, 0, 0.45), 0 2px 6px rgba(245, 184, 0, 0.35);
}

.quick-card-luce .qcl-luce-line {
  font-size: 16px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 3px;
}

.quick-card-luce .qcl-luce-line span {
  font-weight: 900;
}

.quick-card-luce .qcl-luce-sub {
  margin: 0;
  font-size: 12px;
  color: #6b7280;
  line-height: 1.35;
}

.quick-card-luce .qcl-prices-right {
  text-align: right;
  flex-shrink: 0;
}

.quick-card-luce .qcl-pill {
  display: inline-block;
  background: var(--qcl-yellow);
  color: #111;
  font-size: 10px;
  font-weight: 900;
  padding: 4px 8px;
  border-radius: 999px;
  margin-bottom: 4px;
}

.quick-card-luce .qcl-hero {
  font-size: clamp(15px, 1.9vw, 21px);
  font-weight: 900;
  color: var(--qcl-hero);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.quick-card-luce .qcl-rule {
  height: 1px;
  background: #e5e7eb;
  margin: 14px 0;
}

.quick-card-luce .qcl-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 14px;
  color: #1f2937;
}

.quick-card-luce .qcl-row strong {
  font-weight: 900;
}

.quick-card-luce .qcl-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.quick-card-luce .qcl-note {
  margin: 0 0 6px;
  font-size: 13px;
  color: #6b7280;
  line-height: 1.45;
}

.quick-card-luce .qcl-valid {
  min-height: 2.55em;
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 900;
  color: var(--qcl-valid);
  line-height: 1.35;
}

.quick-card-luce .qcl-legal {
  margin: 0 0 12px;
  font-size: 10px;
  line-height: 1.35;
  color: #9ca3af;
}

.quick-card-luce .qcl-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  margin-top: auto;
}

.quick-card-luce .qcl-btn {
  display: block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  background: var(--qcl-cta);
  color: #fff !important;
  font-weight: 900;
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 15px 12px;
  border-radius: 8px;
  text-decoration: none;
  text-shadow: none;
  box-shadow: none;
  border: 1px solid rgba(0, 0, 0, 0.14);
  -webkit-font-smoothing: antialiased;
}

.quick-card-luce .qcl-btn:hover {
  filter: none;
  background: #b0104a !important;
  border-color: rgba(0, 0, 0, 0.18);
}

.quick-card-luce .qcl-link {
  font-size: 14px;
}

@media (max-width: 1000px) {
  .quick-card-luce .qcl-switch {
    grid-template-columns: 1fr;
    border-radius: 14px;
  }

  .quick-card-luce .qcl-prices {
    flex-direction: column;
    align-items: flex-start;
  }

  .quick-card-luce .qcl-prices-right {
    text-align: left;
  }
}

/* Home — conversion hero + trust strip */
.hero-brand h1 {
  white-space: nowrap;
  letter-spacing: -0.055em;
  line-height: 1.06;
  font-size: clamp(19px, 4.2vw + 0.75rem, 70px);
}

.hero-brand .hero-brand-line {
  margin: 22px 0 0;
  font-size: 26px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -0.5px;
  color: #ffe9a8;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.25);
}

.hero-brand .hero-brand-subline {
  margin: 8px 0 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
}

@media (max-width: 1000px) {
  .hero-brand .hero-brand-line {
    font-size: 22px;
  }

  .hero-brand .hero-brand-subline {
    font-size: 16px;
  }
}

.hero-secondary {
  margin: 18px 0 0;
  max-width: min(640px, 100%);
}

/* Mini CTA secondaria (dopo i 3 bottoni): più grande del vecchio link sottolineato */
.hero-secondary .btn.btn-outline-light {
  border: 2px solid rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.12);
  color: #fff !important;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.03em;
  padding: 14px 22px;
  line-height: 1.35;
  box-shadow: none;
  text-decoration: none;
  text-align: center;
  white-space: normal;
  max-width: 100%;
}

.hero-secondary .btn.btn-outline-light:hover {
  filter: none;
  background: #fff;
  color: var(--blue) !important;
  border-color: #fff;
}

@media (max-width: 1000px) {
  .hero-secondary .btn.btn-outline-light {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}

.hero-micro {
  margin: 12px 0 0;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.4px;
  color: rgba(255, 255, 255, 0.88);
}

.hero-cards-wrap {
  position: relative;
  z-index: 6;
  margin-top: -56px;
  margin-bottom: 0;
}

.hero-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.hero-card {
  background: #fff;
  border-radius: var(--radius);
  padding: 18px 16px;
  text-align: center;
  box-shadow: var(--shadow);
  border: 1px solid #edf2f7;
}

.hero-card-kicker {
  display: block;
  font-size: 22px;
  color: var(--blue);
  margin-bottom: 4px;
}

.hero-card-line {
  display: block;
  font-size: 14px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.35;
}

.check-list {
  margin: 18px 0;
  padding: 0;
  list-style: none;
}

.check-list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 12px;
  line-height: 1.45;
  color: var(--muted);
  font-size: 17px;
}

.check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--green);
  font-weight: 900;
}

.actions--panel {
  margin-top: 22px;
}

@media (max-width: 720px) {
  /* Tre pill in una riga compatta (evita “muro” verticale su telefono) */
  .hero-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .hero-card {
    padding: 11px 5px;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(18, 41, 76, 0.1);
  }

  .hero-card-kicker {
    font-size: 14px;
    margin-bottom: 2px;
  }

  .hero-card-line {
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
  }

  .hero-cards-wrap {
    margin-top: -28px;
    margin-bottom: 6px;
    z-index: 3;
  }

  main {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }

  .quick {
    position: relative;
    z-index: 5;
    padding-right: 62px;
  }

  .whatsapp-float {
    bottom: max(14px, env(safe-area-inset-bottom, 0px) + 8px);
    right: max(12px, env(safe-area-inset-right, 0px));
    width: 56px;
    height: 56px;
    font-size: 26px;
  }

  .wide-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .wide-cta-actions {
    width: 100%;
  }

  .wide-cta-actions .btn {
    flex: 1;
    min-width: 0;
  }
}

/* Wide CTA — titolo su una riga (come hero) */
.wide-cta .wide-cta-copy {
  min-width: 0;
}

.wide-cta-copy h2 {
  white-space: nowrap;
  font-size: clamp(16px, 1.35vw + 0.82rem, 36px);
  letter-spacing: -0.045em;
  line-height: 1.16;
  margin: 0 0 8px;
}

/* Home — fotovoltaico a distanza (prima colonna griglia .quick) */
.quick .offer-highlight {
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  background: linear-gradient(160deg, #fffefb 0%, #f4fbff 55%, #eef6ff 100%);
  border: 1px solid #cfe4f4;
  box-shadow: var(--shadow);
}

.quick .offer-highlight h3 {
  margin: 0 0 12px;
  font-size: clamp(20px, 2.2vw, 24px);
  line-height: 1.2;
}

.quick .offer-highlight .lead {
  margin: 0 0 16px;
  font-size: 17px;
  font-weight: 600;
  color: #3d4e63;
  line-height: 1.5;
}

.quick .offer-highlight .offer-list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}

.quick .offer-highlight .offer-list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  font-size: 15px;
  font-weight: 700;
  color: var(--muted);
  line-height: 1.4;
}

.quick .offer-highlight .offer-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--green);
  font-weight: 900;
}

.quick .offer-highlight .micro-proof {
  margin: 0 0 18px;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  line-height: 1.45;
}

.btn-full {
  display: inline-flex;
  width: 100%;
  justify-content: center;
  box-sizing: border-box;
  margin-top: auto;
  text-align: center;
  font-weight: 800;
  letter-spacing: 0.3px;
}

.quick .offer-highlight .micro-cta {
  margin: 10px 0 0;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.35px;
  color: #5c6b7d;
  line-height: 1.35;
}

/* Footer — brand + fotovoltaico a distanza sulla stessa colonna */
.footer-brand {
  max-width: min(560px, 100%);
  line-height: 1.55;
}

.footer-brand-line {
  color: #d9e2ef;
}

.footer-brand-line a {
  color: #fff;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.45);
  text-underline-offset: 3px;
  white-space: nowrap;
}

.footer-brand-line a:hover {
  text-decoration-color: rgba(255, 255, 255, 0.9);
}
