@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-400.woff2) format("woff2")}@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-500.woff2) format("woff2")}@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-600.woff2) format("woff2")}@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700.woff2) format("woff2")}@font-face{font-family:"Montserrat";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/montserrat-800.woff2) format("woff2")}@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue-400.woff2) format("woff2")}
img{max-width:100%}[hidden]{display:none!important}body{margin:0}
/* Layout concept: AircoDirect huisstijl doorgezet — navy kopband met gele en cyaan acties, showroomfoto met zachte witte golf, productfoto's op een lichte 'showroomwand'. */
:root{
  --navy-950:#020F20; --navy-800:#0B2B5C; --navy-700:#0E479D; --navy-600:#193B6E;
  --yellow:#FFCC00; --yellow-ink:#3F3F3F; --cyan:#1AB7EA; --blue:#2665CF; --gold:#C09833; --gold-2:#CBA449; --gold-3:#E1C990; --gold-4:#EBD8B2;
  --bg:#FFFFFF; --surface:#F3F6FB; --surface-2:#E6EDF7; --fg:#0B1A30; --muted:#52627C; --line:#D8E0EC;
  --stage:#FFFFFF; --stage-line:#E4EAF3; --link:#2665CF; --ok:#1E8E5A; --ok-bg:#E3F5EC; --warn:#9A6700; --warn-bg:#FFF4CC; --bad:#B42318; --bad-bg:#FDECEA;
  --shadow:0 1px 2px rgba(11,26,48,.06),0 8px 24px rgba(11,26,48,.08);
  --f-body:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-display:"Bebas Neue","Oswald","Arial Narrow",Impact,sans-serif;
  --r:14px; --r-sm:8px; --pill:200px;
  --w:1180px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#06111F; --surface:#0C1C33; --surface-2:#132A4B; --fg:#E8EEF7; --muted:#9DB0CB; --line:#213656;
  --stage:#FFFFFF; --stage-line:#2A4166; --link:#6FB6FF; --ok:#5FD39A; --ok-bg:#0F2E22; --warn:#FFD35C; --warn-bg:#33290A; --bad:#FF8A80; --bad-bg:#3A1513;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#06111F; --surface:#0C1C33; --surface-2:#132A4B; --fg:#E8EEF7; --muted:#9DB0CB; --line:#213656;
  --stage:#FFFFFF; --stage-line:#2A4166; --link:#6FB6FF; --ok:#5FD39A; --ok-bg:#0F2E22; --warn:#FFD35C; --warn-bg:#33290A; --bad:#FF8A80; --bad-bg:#3A1513;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35); color-scheme:dark }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--navy-950)}
a{color:var(--link)}
h1,h2,h3,h4{line-height:1.15;text-wrap:balance;margin:0;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.4rem)} h2{font-size:clamp(1.55rem,3vw,2.2rem)} h3{font-size:1.2rem} h4{font-size:1rem}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:6px}
.wrap{max-width:var(--w);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.section{padding-block:clamp(48px,7vw,88px)}
.section.alt{background:var(--surface)}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
:root[data-theme="dark"] .eyebrow{color:var(--cyan)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .eyebrow{color:var(--cyan)}}
.lead{font-size:1.08rem;color:var(--muted);max-width:62ch}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.stack{display:grid;gap:16px}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.sec-head{display:grid;gap:10px;margin-bottom:32px;max-width:720px}
.sec-head.center{margin-inline:auto;text-align:center;justify-items:center}
.tnum{font-variant-numeric:tabular-nums}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--pill);padding:12px 22px;font-weight:700;font-size:.95rem;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s;white-space:nowrap;line-height:1.2}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(2,15,32,.18)}
.btn-sm{padding:8px 16px;font-size:.85rem}
.btn-lg{padding:15px 28px;font-size:1rem}
.btn-yellow{background:var(--yellow);color:var(--yellow-ink)}
.btn-cyan{background:var(--cyan);color:#fff}
.btn-blue{background:var(--blue);color:#fff}
.btn-ghost{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 2px var(--line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--blue)}
.btn-white{background:#fff;color:var(--navy-800)}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.link-btn{background:none;border:0;padding:0;color:var(--link);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Top review bar + header */
.site-top{background:linear-gradient(180deg,var(--navy-950),var(--navy-700));color:#fff;position:relative;z-index:30}
.reviewbar{display:flex;justify-content:center;align-items:center;gap:10px;font-size:.8rem;padding-block:6px;color:#dfe8f6}
.reviewbar b{color:var(--yellow)}
.stars{color:#FF9F1C;letter-spacing:1px}
.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px 16px}
.logo{display:inline-flex;text-decoration:none}
.logo svg{height:46px;width:auto;display:block}
.header-actions{display:flex;align-items:center;gap:10px}
.stek{display:inline-flex;flex-direction:column;line-height:1;color:#fff;text-decoration:none;padding-right:6px}
.stek b{font-family:var(--f-display);font-size:1.7rem;letter-spacing:.02em}
.stek span{font-size:.5rem;font-weight:700;letter-spacing:.06em;color:#7fe0a4}
.navbar{background:var(--navy-600);box-shadow:0 2px 10px rgba(2,15,32,.25)}
.navbar .wrap{display:flex;align-items:center;gap:8px;min-height:52px}
.phone-pill{display:inline-flex;align-items:center;gap:6px;border:2px solid #fff;color:#fff;border-radius:var(--pill);padding:5px 12px;font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}
.nav{display:flex;gap:0;flex-wrap:nowrap;margin-left:10px;white-space:nowrap}
.nav a{color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;padding:8px 10px;border-radius:8px}
.nav a:hover{background:rgba(255,255,255,.08)}
.nav a.active{color:var(--yellow)}
.nav-cta{margin-left:auto;display:flex;gap:8px}
.menu-btn{display:none;margin-left:auto;background:none;border:2px solid rgba(255,255,255,.4);color:#fff;border-radius:10px;padding:6px 10px;font-weight:700;cursor:pointer}
.navbar .mobile-nav{display:none}
@media (max-width:1180px){
  .nav,.nav-cta{display:none}
  .menu-btn{display:inline-flex}
  .navbar .mobile-nav.open{display:grid;gap:2px;padding-block:8px 14px}
  .mobile-nav a{color:#fff;text-decoration:none;font-weight:600;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,.08)}
  .mobile-nav .row{padding-top:10px}
}
@media (max-width:560px){ .header-actions .btn-cyan, .stek{display:none} .logo svg{height:38px} .reviewbar .hide-s{display:none} }

/* Hero */
.hero{position:relative;color:#fff;background:var(--navy-950);isolation:isolate;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 40%;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,15,32,.88) 0%,rgba(2,15,32,.62) 45%,rgba(2,15,32,.25) 100%)}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center;padding-block:56px 110px}
.hero h1{color:#fff;max-width:14ch}
.hero .lead{color:#dbe5f3;margin-top:14px}
.hero-ticks{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;font-weight:600;font-size:.92rem}
.hero-ticks span{display:inline-flex;gap:8px;align-items:center}
.hero-ticks svg{color:var(--yellow)}
.hero-cta{margin-top:26px}
.curve{position:absolute;left:0;right:0;bottom:-1px;height:70px;z-index:0;color:var(--bg)}
.curve svg{width:100%;height:100%;display:block}
@media (max-width:900px){.hero-inner{grid-template-columns:1fr;padding-block:36px 90px}}

/* Yellow quick card (improved from original quote card) */
.quick{background:var(--yellow);color:#1a1a1a;border-radius:18px;padding:24px;box-shadow:0 20px 50px rgba(2,15,32,.35);position:relative;z-index:1}
.quick h2{font-size:1.45rem;color:#111}
.quick label{font-weight:700;font-size:.82rem;display:block;margin-bottom:4px;color:#2a2a2a}
.quick .seg{background:rgba(255,255,255,.55)}
.quick .seg button{color:#222}
.quick .seg button.on{background:#fff;color:#0B2B5C}
.quick-out{background:#fff;border-radius:12px;padding:14px 16px;display:grid;gap:2px;color:#0B1A30}
.quick-out .big{font-family:var(--f-display);font-size:2.3rem;line-height:1;color:var(--navy-700);letter-spacing:.01em}
.quick input[type=range]{accent-color:var(--blue)}
.quick .note{font-size:.74rem;color:#3d3d3d;display:flex;gap:6px}

/* Sub page banner */
.banner{position:relative;color:#fff;background:var(--navy-950);overflow:hidden;isolation:isolate}
.banner .hero-bg{filter:blur(6px) brightness(.55);transform:scale(1.08)}
.banner .wrap{padding-block:46px 84px;display:grid;gap:10px}
.banner h1{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem)}
.banner p{color:#dbe5f3;max-width:62ch}
.crumbs{font-size:.8rem;color:#b9c8de}
.crumbs a{color:#fff;text-decoration:none}

/* Trust strip */
.trust{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-block:6px 10px}
.score{display:flex;align-items:center;gap:12px;font-weight:600}
.score .num{font-family:var(--f-display);font-size:2.4rem;color:#FF9F1C;line-height:1}
.usps{display:flex;gap:22px;flex-wrap:wrap;font-weight:600;font-size:.9rem;color:var(--muted)}
.usps span{display:inline-flex;gap:8px;align-items:center}
.usps svg{color:var(--blue)}

/* Product cards */
.grid-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.pcard{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;position:relative}
.pcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.stage{background:var(--stage);border-bottom:1px solid var(--stage-line);aspect-ratio:16/10;position:relative;overflow:hidden;max-width:100%;width:100%}
.stage > img:not(.brand-logo){position:absolute;top:30px;bottom:14px;left:14px;right:14px;width:calc(100% - 28px);height:calc(100% - 44px);max-width:none;object-fit:contain;object-position:center}
.pd .stage > img:not(.brand-logo){top:44px;bottom:24px;left:24px;right:24px;width:calc(100% - 48px);height:calc(100% - 68px)}
.stage .brand-tag{position:absolute;left:12px;top:10px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#52627C}
.stage .badge{position:absolute;right:10px;top:10px}
.pbody{padding:16px 16px 18px;display:grid;gap:10px;flex:1;align-content:start}
.pbody h3 a{color:var(--fg);text-decoration:none}
.pbody h3 a::after{content:"";position:absolute;inset:0;z-index:0}
.price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.price .from{font-size:.78rem;color:var(--muted);font-weight:600}
.price .amt{font-family:var(--f-display);font-size:1.9rem;line-height:1;color:var(--navy-700);letter-spacing:.01em}
:root[data-theme="dark"] .price .amt{color:var(--yellow)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .price .amt{color:var(--yellow)}}
.price .incl{font-size:.72rem;color:var(--muted)}
.kw{display:flex;gap:4px;flex-wrap:wrap}
.kw span{font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:5px;background:var(--surface-2);color:var(--fg)}
.kw span.hit{background:var(--blue);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.74rem;font-weight:600;padding:3px 9px;border-radius:var(--pill);background:var(--surface);border:1px solid var(--line);color:var(--muted)}
.pfoot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 16px 16px;position:relative;z-index:1}
.cmp{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:600;cursor:pointer;user-select:none;color:var(--muted)}
.cmp input{width:17px;height:17px;accent-color:var(--blue)}
.label-e{display:inline-block;font-size:.7rem;font-weight:800;padding:2px 8px 2px 6px;color:#fff;background:#1E8E5A;clip-path:polygon(0 0,86% 0,100% 50%,86% 100%,0 100%)}

/* Catalog layout */
.catalog{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.filters{position:sticky;top:116px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:18px}
.filters h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}
.fopt{display:flex;align-items:center;gap:9px;font-size:.92rem;padding:3px 0;cursor:pointer}
.fopt input{accent-color:var(--blue);width:16px;height:16px}
.fopt .n{margin-left:auto;font-size:.75rem;color:var(--muted)}
.kwpick{display:flex;flex-wrap:wrap;gap:6px}
.kwpick button{border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:5px 9px;font-size:.8rem;font-weight:700;cursor:pointer}
.kwpick button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
select,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],textarea{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:11px 12px;font-size:.95rem}
textarea{min-height:96px;resize:vertical}
select{appearance:auto}
.toolbar select{width:auto}
.filter-toggle{display:none}
@media (max-width:900px){
  .catalog{grid-template-columns:1fr}
  .filters{position:static;display:none}
  .filters.open{display:grid}
  .filter-toggle{display:inline-flex}
}
.empty{border:2px dashed var(--line);border-radius:var(--r);padding:40px;text-align:center;color:var(--muted)}

/* Compare bar */
.cmpbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--navy-800);color:#fff;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -8px 24px rgba(2,15,32,.25);transform:translateY(110%);transition:transform .25s ease}
.cmpbar.show{transform:none}
.cmpbar .wrap{display:flex;align-items:center;gap:14px;padding-block:12px;flex-wrap:wrap}
.cmp-slots{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.cmp-slot{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border-radius:10px;padding:6px 10px;font-size:.85rem;font-weight:600}
.cmp-slot img{height:22px;width:auto;background:#fff;border-radius:4px;padding:2px}
.cmp-slot button{background:none;border:0;color:#fff;cursor:pointer;font-size:1rem;line-height:1;padding:0 2px;opacity:.7}
.cmp-empty{opacity:.55;border:1px dashed rgba(255,255,255,.4);background:none}

/* Compare table */
.ctable-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.ctable{width:100%;border-collapse:collapse;min-width:640px}
.ctable th,.ctable td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.92rem}
.ctable thead th{background:var(--surface);vertical-align:bottom}
.ctable tbody th{width:180px;color:var(--muted);font-weight:600;background:var(--surface)}
.ctable .stage{aspect-ratio:16/9;border:1px solid var(--stage-line);border-radius:10px;margin-bottom:10px}
.yes{color:var(--ok);font-weight:700} .no{color:var(--muted)}
.best{background:var(--ok-bg)!important}

/* Product detail */
.pd{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:start}
.pd .stage{aspect-ratio:4/3;border:1px solid var(--stage-line);border-radius:var(--r)}
.pd-info{display:grid;gap:16px}
.pd-price .amt{font-size:3rem}
.feat-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}
.feat-list li{display:grid;grid-template-columns:22px 1fr;gap:10px}
.feat-list svg{color:var(--blue);margin-top:3px}
.kw-sel{display:flex;gap:8px;flex-wrap:wrap}
.kw-sel button{border:2px solid var(--line);background:var(--bg);border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer;min-width:62px}
.kw-sel button.on{border-color:var(--blue);background:var(--surface-2)}
.kw-sel small{display:block;font-size:.68rem;color:var(--muted);font-weight:600}
@media (max-width:860px){.pd{grid-template-columns:1fr}}

/* Panels / cards */
.panel{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.panel.soft{background:var(--surface)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.benefit{display:grid;gap:8px;align-content:start}
.ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);color:var(--blue)}
:root[data-theme="dark"] .ico{color:var(--cyan)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ico{color:var(--cyan)}}

/* Process steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:s}
.step{position:relative;padding:22px 18px 20px;border-radius:var(--r);background:var(--bg);border:1px solid var(--line);display:grid;gap:8px;align-content:start}
.step .n{font-family:var(--f-display);font-size:2.6rem;line-height:.9;color:var(--gold)}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* Showroom split */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.split .photo{border-radius:18px;overflow:hidden;aspect-ratio:4/3;max-width:100%;background:var(--surface-2)}
.split .photo img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* Reviews */
.rcard{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:10px;align-content:start}
.rcard .who{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;color:var(--muted)}
.rcard .who b{color:var(--fg)}
.rcard q{quotes:none;font-size:.95rem}
.rating-big{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.rating-big .num{font-family:var(--f-display);font-size:4.4rem;line-height:.9;color:#FF9F1C}
.bars{display:grid;gap:6px;min-width:220px;flex:1;max-width:360px}
.bar{display:grid;grid-template-columns:28px 1fr 34px;gap:8px;align-items:center;font-size:.8rem}
.bar i{height:8px;border-radius:5px;background:var(--surface-2);overflow:hidden;display:block}
.bar i b{display:block;height:100%;background:#FF9F1C}

/* Brands */
.brands{display:flex;flex-wrap:wrap;gap:10px 34px;justify-content:center;align-items:center}
.brands img{height:30px;width:auto;max-width:180px}
.brands{background:#fff;border-radius:16px;padding:22px 28px}

/* Forms, wizard */
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:.88rem}
.field .hint{font-size:.78rem;color:var(--muted)}
.field.err input,.field.err select{border-color:var(--bad)}
.field .errmsg{font-size:.78rem;color:var(--bad);font-weight:600}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-grid .full{grid-column:1/-1}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}}
.seg{display:inline-flex;background:var(--surface-2);border-radius:var(--pill);padding:4px;gap:2px;flex-wrap:wrap}
.seg button{border:0;background:transparent;border-radius:var(--pill);padding:7px 14px;font-weight:700;font-size:.85rem;cursor:pointer;color:var(--muted)}
.seg button.on{background:var(--bg);color:var(--fg);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.wizard{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
@media (max-width:960px){.wizard{grid-template-columns:1fr}}
.stepper{display:flex;gap:6px;margin-bottom:22px;flex-wrap:wrap}
.stepper div{flex:1;min-width:90px;display:grid;gap:6px;font-size:.76rem;font-weight:700;color:var(--muted)}
.stepper div::before{content:"";height:5px;border-radius:4px;background:var(--surface-2)}
.stepper div.done::before{background:var(--blue)}
.stepper div.cur{color:var(--fg)}
.stepper div.cur::before{background:var(--yellow)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.tile{border:2px solid var(--line);background:var(--bg);border-radius:var(--r);padding:16px;text-align:left;cursor:pointer;display:grid;gap:6px;align-content:start;transition:border-color .15s,background .15s}
.tile:hover{border-color:var(--cyan)}
.tile.on{border-color:var(--blue);background:var(--surface-2)}
.tile b{font-size:.98rem}
.tile span{font-size:.82rem;color:var(--muted)}
.tile .ico{width:40px;height:40px}
.room{border:1px solid var(--line);border-radius:var(--r);padding:16px;display:grid;gap:14px;background:var(--bg)}
.room-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.room-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr;gap:12px}
@media (max-width:700px){.room-grid{grid-template-columns:1fr 1fr}}
.kwres{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border-radius:10px;padding:6px 12px;font-weight:700;font-size:.88rem}
.summary{position:sticky;top:116px;background:var(--navy-800);color:#fff;border-radius:18px;padding:22px;display:grid;gap:14px}
.summary h3{color:#fff}
.summary .tot{font-family:var(--f-display);font-size:3rem;line-height:1;color:var(--yellow)}
.summary .line{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;color:#dbe5f3}
.summary .line b{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.summary hr{border:0;border-top:1px solid rgba(255,255,255,.15);margin:0;width:100%}
.summary .disc{font-size:.74rem;color:#a9bbd6}
@media (max-width:960px){.summary{position:static}}
.wiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px;flex-wrap:wrap}
.notice{border-radius:12px;padding:12px 14px;font-size:.9rem;display:flex;gap:10px;align-items:flex-start}
.notice.info{background:var(--surface-2)}
.notice.warn{background:var(--warn-bg);color:var(--fg)}
.notice.warn svg{color:var(--warn)}
.notice.ok{background:var(--ok-bg)}
.notice.ok svg{color:var(--ok)}
.done-card{text-align:center;display:grid;gap:14px;justify-items:center;padding:40px 22px}
.done-card .ico{width:64px;height:64px;background:var(--ok-bg);color:var(--ok)}
.demo-tag{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--warn-bg);color:var(--warn);padding:3px 8px;border-radius:6px}

/* Calendar */
.cal{display:grid;gap:10px}
.cal-head{display:flex;justify-content:space-between;align-items:center}
.cal-head b{text-transform:capitalize}
.cal-nav{border:1px solid var(--line);background:var(--bg);border-radius:9px;width:36px;height:36px;cursor:pointer;font-weight:800}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-grid .dow{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--muted);text-align:center;letter-spacing:.06em}
.day{aspect-ratio:1;border:1px solid var(--line);background:var(--bg);border-radius:10px;cursor:pointer;font-weight:700;font-size:.92rem;display:grid;place-items:center;position:relative;max-width:100%}
.day small{position:absolute;bottom:4px;left:0;right:0;font-size:.58rem;font-weight:600;color:var(--muted)}
.day[disabled]{opacity:.35;cursor:not-allowed;background:transparent}
.day.on{background:var(--blue);border-color:var(--blue);color:#fff}
.day.on small{color:#dce8ff}
.day.today{box-shadow:inset 0 0 0 2px var(--yellow)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.slot{border:1px solid var(--line);background:var(--bg);border-radius:9px;padding:9px 4px;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums}
.slot.on{background:var(--yellow);border-color:var(--yellow);color:#222}
.slot[disabled]{text-decoration:line-through;opacity:.4;cursor:not-allowed}

/* Packages */
.packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
@media (max-width:1060px){.packs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.packs{grid-template-columns:1fr}}
.pack{border:2px solid var(--line);border-radius:18px;padding:22px 20px;background:var(--bg);display:flex;flex-direction:column;gap:14px;position:relative}
.pack.rec{border-color:var(--yellow);box-shadow:0 14px 34px rgba(255,204,0,.18)}
.pack .flag{position:absolute;top:-12px;left:20px;background:var(--yellow);color:#222;font-size:.72rem;font-weight:800;padding:3px 10px;border-radius:var(--pill);letter-spacing:.04em;text-transform:uppercase}
.pack .amt{font-family:var(--f-display);font-size:2.6rem;line-height:1;color:var(--navy-700)}
:root[data-theme="dark"] .pack .amt{color:var(--yellow)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pack .amt{color:var(--yellow)}}
.pack ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:.88rem}
.pack li{display:grid;grid-template-columns:18px 1fr;gap:8px}
.pack li svg{margin-top:4px;color:var(--ok)}
.pack li.x svg{color:var(--muted)}
.pack .btn{margin-top:auto}
.pack.sel{border-color:var(--blue)}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.faq summary{cursor:pointer;padding:16px 18px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--blue)}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 18px 18px;color:var(--muted);display:grid;gap:10px;max-width:75ch}
.faq-search{max-width:520px;margin-bottom:20px}

/* Jobs */
.job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
@media (max-width:620px){.job{grid-template-columns:1fr}}

/* Footer */
.footer{background:linear-gradient(180deg,var(--navy-600),var(--navy-950));color:#cfdbec;margin-top:0}
.footer .wrap{padding-block:56px 30px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}}
.footer h4{color:#fff;margin-bottom:12px;font-size:.95rem}
.footer a{color:#cfdbec;text-decoration:none}
.footer a:hover{color:var(--yellow)}
.flinks{display:grid;gap:6px;font-size:.9rem}
.fbottom{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem;color:#9fb2cf}
.footer .copy{display:inline-flex;gap:6px;align-items:center}
.copybtn{background:rgba(255,255,255,.1);border:0;color:#fff;border-radius:6px;font-size:.72rem;padding:2px 7px;cursor:pointer}

/* Floating WhatsApp + toast */
.wa{position:fixed;right:max(18px,calc(env(safe-area-inset-right,0px) + 18px));bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:45;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.25);transition:bottom .25s}
body.has-cmp .wa{bottom:calc(env(safe-area-inset-bottom,0px) + 92px)}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);transform:translate(-50%,140%);background:var(--fg);color:var(--bg);padding:12px 18px;border-radius:12px;font-weight:600;font-size:.9rem;z-index:70;transition:transform .25s;max-width:calc(100% - 32px)}
.toast.show{transform:translate(-50%,0)}
.page{animation:fade .25s ease}
@keyframes fade{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
.see-also{display:flex;flex-wrap:wrap;gap:8px}
.see-also a{font-size:.85rem;font-weight:600;padding:7px 13px;border-radius:var(--pill);border:1px solid var(--line);text-decoration:none;color:var(--fg);background:var(--bg)}
.see-also a:hover{border-color:var(--blue)}
.cta-band{background:linear-gradient(120deg,var(--navy-700),var(--navy-950));color:#fff;border-radius:20px;padding:clamp(24px,4vw,44px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}
.cta-band h2{color:#fff}
.cta-band p{color:#cfdbec}
@media (max-width:720px){.cta-band{grid-template-columns:1fr}}
.map{border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;max-width:100%;background:var(--surface-2);position:relative}

.stepper,#bstep2,#bstep3,#signup,#vacForm{scroll-margin-top:124px}

.grid-products.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.grid-products.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.grid-products.three{grid-template-columns:1fr}}
.quick .seg{display:flex;border-radius:14px}

.stage .new-tag{position:absolute;left:12px;bottom:10px;background:var(--yellow);color:#222;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:6px}

.legal{display:grid;gap:14px}.legal h2{font-size:1.25rem;margin-top:14px}.legal ul{margin:0;padding-left:20px;display:grid;gap:6px}.legal p,.legal li{color:var(--muted);max-width:70ch}

.consent{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(2,15,32,.18);padding-bottom:env(safe-area-inset-bottom,0px)}
.consent .wrap{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:14px}
.consent p{max-width:70ch}

.stage.mini > img{top:6px;bottom:6px;left:6px;right:6px;width:calc(100% - 12px);height:calc(100% - 12px)}
.stage .brand-tag,.stage .badge,.stage .new-tag{z-index:1}

/* Merklogo's */
.stage .brand-logo{position:absolute;left:12px;top:10px;height:15px;width:auto;max-width:110px;z-index:1}
.pd .stage .brand-logo{height:24px;max-width:170px;left:18px;top:16px}
.panel-logo{height:26px;width:auto;max-width:170px;align-self:start;background:#fff;padding:6px 10px;border-radius:8px;box-sizing:content-box}
/* Meeschuivende kop: logo krimpt bij scrollen en blijft zichtbaar */
.masthead{position:sticky;top:env(safe-area-inset-top,0px);z-index:40}
.masthead .header{transition:padding .2s ease}
.masthead .logo svg{transition:height .2s ease}
.masthead .reviewbar{transition:max-height .2s ease,padding .2s ease,opacity .2s ease;overflow:hidden;max-height:40px}
.masthead.scrolled .reviewbar{max-height:0;padding-block:0;opacity:0;pointer-events:none}
.masthead.scrolled .header{padding-block:6px}
.masthead.scrolled .logo svg{height:32px}
.masthead.scrolled .stek b{font-size:1.3rem}
.masthead .site-top{position:static}
@media (max-width:1180px){ .navbar .mobile-nav.open{max-height:calc(100vh - 140px);overflow:auto} }

/* Installatietekening in de offerte-aanvraag (stap Plaatsing) */
.wiz3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-areas:"step vis" "main vis" "sum vis";gap:0 28px;align-items:start}
.wiz3 > .wiz-step{grid-area:step;min-width:0}
.wiz3 > .wiz-main{grid-area:main;min-width:0;margin-bottom:28px}
.wiz3 > .vis{grid-area:vis;align-self:stretch;min-width:0}
.wiz3 > .summary{grid-area:sum;position:static}
.vis-inner{position:sticky;top:116px;display:grid;gap:14px}
@media (max-width:1060px){.wiz3{grid-template-columns:minmax(0,1fr);grid-template-areas:"step" "vis" "main" "sum"}.wiz3 > .vis{margin-bottom:28px}.vis-inner{position:static}}
.prev-grid:not(.two){max-width:640px}
/* Woning opzoeken (stap 1) en 3D-weergave */
.wl-form{display:grid;grid-template-columns:1.2fr .9fr .9fr auto;gap:10px;align-items:end}
@media (max-width:640px){.wl-form{grid-template-columns:1fr 1fr}.wl-form .btn{grid-column:1/-1}}
.wl-status{display:flex;gap:8px;align-items:center;font-weight:600;color:var(--muted)}
.wl-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--surface)}
@media (max-width:560px){.wl-card{grid-template-columns:1fr}}
.wl-foto{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:1;background:#CFD8E3;max-width:100%}
.wl-foto img,.wl-foto svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.room.advies-on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.q-err.room{border-color:var(--bad)}
.tiles.huis{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}
.tile .sug{justify-self:start;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--yellow);color:#222;padding:2px 7px;border-radius:6px}
.vis-draw.is-3d{position:relative;overflow:hidden;background:#D8E9F8}
.h3d{position:relative;overflow:hidden;background:#D8E9F8;min-height:260px}
.h3d canvas{display:block;cursor:grab;max-width:100%}
.h3d canvas:active{cursor:grabbing}
.h3d-lbl{position:absolute;left:0;top:0;font:700 11px/1.3 var(--f-body);color:#0B1A30;background:#fff;border:1.3px solid #0E479D;border-radius:11px;padding:2px 8px;white-space:nowrap;pointer-events:none;box-shadow:0 1px 3px rgba(11,26,48,.18)}
.h3d-ctl{position:absolute;right:10px;bottom:10px;display:flex;gap:6px}
.h3d-ctl button{width:34px;height:34px;border-radius:50%;border:1px solid #C7D1DE;background:#fff;color:#0B1A30;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 1px 3px rgba(11,26,48,.15)}
.h3d-hint{position:absolute;left:10px;bottom:12px;font-size:.72rem;font-weight:600;background:rgba(255,255,255,.85);color:#0B1A30;padding:3px 9px;border-radius:8px;pointer-events:none}
/* Verplichte keuzes: rood markeren wat nog ontbreekt */
.qmsg{font-size:.8rem;color:var(--bad);font-weight:700}
.q-err .tile{border-color:var(--bad)}
.q-err .seg{box-shadow:inset 0 0 0 2px var(--bad)}
.field.err input,.field.err select{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad)}
.vis-panel{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.vis-head{display:flex;align-items:center;gap:10px 12px;padding:12px 16px;flex-wrap:wrap}
.vis-head h3{font-size:1.05rem}
.vis-head .seg{margin-left:auto}
.vis-draw{background:#F7FAFD;border-block:1px solid var(--line);overflow-x:auto}
.vis-draw svg{display:block;width:100%;height:auto;min-width:520px}
.vis-facts{display:flex;gap:6px;flex-wrap:wrap;padding:12px 16px 4px}
.vis-fact{display:inline-flex;align-items:baseline;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:3px 9px;font-size:.78rem;color:var(--muted);font-weight:600}
.vis-fact b{font-family:var(--f-display);font-size:1.15rem;line-height:1;color:var(--fg);font-weight:400}
.vis-legend{display:flex;gap:6px 16px;flex-wrap:wrap;padding:8px 16px 14px;font-size:.78rem;color:var(--muted);font-weight:500}
.vis-legend span{display:inline-flex;align-items:center;gap:7px}
.sw{display:inline-block;width:24px;height:9px;border-radius:2px}
.sw.cu{height:4px;background:#C26A2E}
.sw.goot{background:#fff;border:1.5px solid #9FB2CF}
.sw.koof{height:0;border-top:3px dashed #C26A2E}
.sw.cond{height:0;border-top:2.5px dashed var(--cyan)}
.sw.ring{width:12px;height:12px;border-radius:50%;border:2.5px solid var(--navy-700);background:#fff}
.vis-notes{display:grid;gap:8px;padding:0 16px 16px}
.vis-notes .nt{display:flex;gap:8px;font-size:.84rem;line-height:1.45;color:var(--muted)}
.vis-notes svg{flex:none;margin-top:2px;color:var(--blue)}
.vis-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--navy-800);color:#dbe5f3;font-size:.82rem}
.vis-total b{font-family:var(--f-display);font-weight:400;font-size:2rem;line-height:1;color:var(--yellow);font-variant-numeric:tabular-nums}
.inst-unit{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:.9rem}
.inst-unit .link-btn{margin-left:auto;font-size:.85rem}
.tiles.sm{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.tiles.sm .tile{padding:12px}
.tile[disabled]{opacity:.45;cursor:not-allowed}
.tile-ic{display:block;width:100%;height:46px;background:#F3F6FB;border-radius:8px}
.tile .tile-p{font-family:var(--f-display);font-size:1.15rem;line-height:1;color:var(--fg)}
.tile .tile-p.incl{font-family:var(--f-body);font-size:.75rem;font-weight:700;color:var(--ok)}
.prev-grid{display:grid;gap:14px}
.prev-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.prev-grid.two{grid-template-columns:1fr}}
.prev-grid figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#F7FAFD}
.prev-grid figure svg{display:block;width:100%;height:auto}
.prev-grid figcaption{font-size:.8rem;font-weight:600;color:var(--muted);padding:8px 12px;background:var(--bg);border-top:1px solid var(--line)}
/* SVG-teksten: vaste kleuren, de tekening blijft licht in donkere modus */
.t-call{font-family:var(--f-body);font-size:11.5px;font-weight:700;fill:#0B1A30}
.t-peil{font-family:var(--f-display);font-size:16px;fill:#0E479D;letter-spacing:.02em}
.t-lvl{font-family:var(--f-body);font-size:11px;font-weight:700;letter-spacing:.1em;fill:#7D8CA3}
.t-lvl.on{fill:#0E479D}
.t-badge{font-family:var(--f-display);font-size:19px;fill:#fff;letter-spacing:.03em}
.t-zone{font-family:var(--f-body);font-size:10.5px;font-weight:800;letter-spacing:.2em;fill:#8FA2BE}
@media (prefers-reduced-motion:no-preference){
  .air{stroke-dasharray:10 12;animation:flow 1.6s linear infinite}
  .fan{transform-box:fill-box;transform-origin:center;animation:spin 1.1s linear infinite}
  .drip{animation:drip 1.8s ease-in infinite}
}
@keyframes flow{to{stroke-dashoffset:-44}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes drip{0%{transform:translateY(-4px);opacity:0}20%{opacity:1}100%{transform:translateY(10px);opacity:0}}
