/* ============================================================
   Schuifpuireparatie Rotterdam — premium huisstijl 2026
   Eigen identiteit per stadsdomein (anti-doorway): kleuren, fonts,
   logo en dividers zijn uniek voor Rotterdam. Class-namen gelijk aan
   de oorspronkelijke stylesheet zodat content-markup en inline JS
   van alle pagina's ongewijzigd blijven werken.
   ============================================================ */

:root{
  --ink:#122a3a;
  --brand:#155e86;
  --brand-deep:#0d3f5e;
  --cta:#d95a17;
  --cta-hi:#e86a24;
  --cta-deep:#b34712;
  --gold:#e0a33c;
  --mist:#e7f0f5;
  --canvas:#f7f9fa;
  --sand:#edf1f3;
  --line:#e2e7ea;
  --muted:#5b6a74;
  --head:'Sora','Inter',sans-serif;
  --bodyf:'Inter','Segoe UI',sans-serif;
  --sh-lg:0 30px 70px -18px rgba(0,0,0,.20);
  --sh-md:0 16px 40px -10px rgba(0,0,0,.12);
  --sh-sm:0 6px 18px rgba(0,0,0,.07);
  /* aliassen voor legacy variabele-namen */
  --primary:var(--brand);
  --primary-dark:var(--ink);
  --accent:var(--cta);
  --accent-dark:var(--cta-deep);
  --text:#2b3238;
  --text-light:var(--muted);
  --bg:var(--sand);
  --white:#fff;
  --border:var(--line);
  --footer:var(--ink);
  --shadow:var(--sh-md);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font-family:var(--bodyf);color:var(--text);font-size:16.5px;line-height:1.68;background:var(--canvas);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--head);letter-spacing:-.015em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.wrap{width:min(1180px,calc(100% - 44px));margin:0 auto}
.narrow{width:min(880px,calc(100% - 44px));margin:0 auto}

/* ---------- Topbar ---------- */
.topbar{background:var(--ink);color:#e8eae8;font-size:13.5px;font-weight:500}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 0}
.topbar-inner>span:first-child:before{content:"★★★★★  ";color:var(--gold);letter-spacing:2px}
.topbar a{font-weight:700;color:#fff;white-space:nowrap}
.topbar a:hover{color:var(--gold)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;background:color-mix(in srgb,var(--canvas) 90%,transparent);backdrop-filter:blur(14px) saturate(150%);z-index:10000;border-bottom:1px solid var(--line);overflow:visible!important}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:22px;overflow:visible!important}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand strong{display:block;font-family:var(--head);font-size:20px;line-height:1.02;font-weight:800}
.brand small{display:block;color:var(--cta);font-weight:700;margin-top:3px;letter-spacing:.2em;text-transform:uppercase;font-size:10.5px;white-space:nowrap}
.brand-mark{flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.brand-mark svg{display:block}
.main-nav{display:flex;align-items:center;gap:22px;font-weight:600;color:#3a4249;overflow:visible!important}
.main-nav a{padding:8px 0;border-bottom:2px solid transparent;font-size:15.5px}
.main-nav a:hover,.main-nav a.active{color:var(--cta);border-color:var(--cta)}
.call-btn,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font-weight:700;transition:.18s ease;line-height:1.2;font-family:var(--head)}
.main-nav .call-btn{background:linear-gradient(160deg,var(--cta-hi),var(--cta) 55%,var(--cta-deep));color:#fff;padding:12px 20px;border:0;box-shadow:0 10px 22px -6px color-mix(in srgb,var(--cta) 45%,transparent)}
.main-nav .call-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -6px color-mix(in srgb,var(--cta) 55%,transparent);border-color:transparent;color:#fff}
.menu-toggle{display:none;background:var(--ink);color:#fff;border:0;border-radius:11px;width:44px;height:42px;font-size:22px;cursor:pointer}

/* dropdown-navigatie */
.nav-dropdown{position:relative;display:inline-flex;align-items:center;height:100%;overflow:visible!important}
.nav-dropdown-toggle{background:none;border:none;outline:none;color:inherit;font:inherit;font-weight:600;font-size:15.5px;padding:8px 0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;-webkit-appearance:none;appearance:none}
.nav-dropdown-toggle:hover{color:var(--cta)}
.nav-dropdown-toggle .dropdown-arrow{font-size:9px;opacity:.7;transition:transform .2s ease}
.nav-dropdown.open .dropdown-arrow{transform:rotate(180deg)}
.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:230px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-md);padding:10px 0;z-index:10001;overflow:visible}
.nav-dropdown.open .nav-dropdown-menu{display:block}
.nav-dropdown-menu a{display:block;padding:11px 22px;color:var(--ink);font-weight:600;font-size:14.5px;white-space:nowrap;border-bottom:0}
.nav-dropdown-menu a:hover{background:var(--mist);color:var(--brand)}

/* ---------- Hero (licht, premium) ---------- */
.hero{background:var(--canvas);color:var(--ink);padding:70px 0 0;position:relative;overflow:hidden;z-index:1}
.hero.simple{padding:48px 0 0}
.hero.simple:after{height:44px;margin-top:26px}
.hero:after{content:"";display:block;height:64px;margin-top:56px;background:var(--sand);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 66" preserveAspectRatio="none"><path d="M0 66 L0 44 L70 44 L70 26 L120 26 L120 44 L170 44 L170 14 L230 14 L230 44 L290 44 L290 32 L340 32 L340 44 L380 44 L380 8 L400 8 L400 44 L460 44 L460 22 L520 22 L520 44 L560 44 L600 4 L640 44 L700 44 L700 30 L760 30 L760 44 L820 44 L820 12 L880 12 L880 44 L930 44 L930 26 L990 26 L990 44 L1040 44 L1040 18 L1100 18 L1100 44 L1160 44 L1160 34 L1220 34 L1220 44 L1270 44 L1270 10 L1330 10 L1330 44 L1440 44 L1440 66 Z"/></svg>") center/100% 100% no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 66" preserveAspectRatio="none"><path d="M0 66 L0 44 L70 44 L70 26 L120 26 L120 44 L170 44 L170 14 L230 14 L230 44 L290 44 L290 32 L340 32 L340 44 L380 44 L380 8 L400 8 L400 44 L460 44 L460 22 L520 22 L520 44 L560 44 L600 4 L640 44 L700 44 L700 30 L760 30 L760 44 L820 44 L820 12 L880 12 L880 44 L930 44 L930 26 L990 26 L990 44 L1040 44 L1040 18 L1100 18 L1100 44 L1160 44 L1160 34 L1220 34 L1220 44 L1270 44 L1270 10 L1330 10 L1330 44 L1440 44 L1440 66 Z"/></svg>") center/100% 100% no-repeat}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) 400px;gap:52px;align-items:center;position:relative;z-index:1}
.eyebrow{margin:0 0 14px;color:var(--cta);text-transform:uppercase;letter-spacing:.13em;font-size:12.5px;font-weight:700;font-family:var(--head)}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--mist);color:var(--brand);border-radius:999px;padding:8px 16px}
.hero .eyebrow:before{content:"010";color:var(--cta-deep);font-weight:800;letter-spacing:.06em}
.hero h1{font-size:clamp(36px,4.2vw,52px);line-height:1.04;margin:0 0 18px;font-weight:800;color:var(--ink)}
.lead{font-size:19px;line-height:1.62;margin:0 0 24px;color:var(--muted)}
.hero-bullets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 22px;margin:0 0 28px;padding:0;list-style:none}
.hero-bullets li{position:relative;padding-left:29px;font-weight:600;color:var(--ink);font-size:15.5px}
.hero-bullets li:before{content:"✓";position:absolute;left:0;top:2px;width:20px;height:20px;background:var(--mist);border-radius:7px;color:var(--brand);font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;max-width:100%;align-items:center}
.btn{padding:16px 24px;font-size:16.5px}
.btn.primary{background:linear-gradient(160deg,var(--cta-hi),var(--cta) 55%,var(--cta-deep));color:#fff;box-shadow:0 12px 26px -6px color-mix(in srgb,var(--cta) 48%,transparent)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px -6px color-mix(in srgb,var(--cta) 58%,transparent)}
.btn.primary.light{background:#fff;color:var(--brand-deep);box-shadow:0 10px 26px rgba(0,0,0,.16)}
.btn.secondary{border:1.5px solid #c9cfd2;color:var(--ink);background:rgba(255,255,255,.65)}
.btn.secondary:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px)}
.cta .btn.secondary{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}

/* prijskaart (hero rechts op contentpagina's) */
.price-card{background:#fff;color:var(--ink);border-radius:20px;padding:30px;box-shadow:var(--sh-md);display:flex;flex-direction:column;gap:11px;position:relative;overflow:hidden}
.price-card:before{content:"";position:absolute;top:0;left:22px;right:22px;height:5px;border-radius:0 0 5px 5px;background:var(--cta)}
.price-card span{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-family:var(--head)}
.price-card strong{font-size:24px;font-family:var(--head);color:var(--brand-deep)}
.price-card small{color:var(--muted)}

/* homepage: video-hero rechts */
.hero-visual{position:relative}
.hero-visual .frame{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--sh-lg);background:var(--brand-deep);aspect-ratio:16/11.4}
.hero-visual video,.hero-visual .frame img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual .vbadge{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.93);backdrop-filter:blur(6px);border-radius:11px;padding:8px 14px;font-size:12.5px;font-weight:700;color:var(--ink);box-shadow:var(--sh-sm)}
.hero-visual .vbadge .dot{width:8px;height:8px;border-radius:50%;background:var(--cta);box-shadow:0 0 0 4px color-mix(in srgb,var(--cta) 18%,transparent);animation:vpulse 1.8s infinite}
@keyframes vpulse{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--cta) 8%,transparent)}}
.price-float{position:absolute;right:-12px;top:-16px;background:#fff;border-radius:16px;padding:16px 20px;box-shadow:var(--sh-md);z-index:3;overflow:hidden}
.price-float:after{content:"";position:absolute;top:0;left:16px;right:16px;height:4px;border-radius:0 0 4px 4px;background:var(--cta)}
.price-float span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.price-float b{font-family:var(--head);font-size:27px;color:var(--ink)}
.price-float small{color:var(--muted);font-size:12px;display:block}

/* ---------- Trustbar ---------- */
.trustbar{background:var(--sand);border-bottom:0;position:relative;z-index:1;padding:0 0 46px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trust-grid>div{background:#fff;border-radius:16px;padding:22px 20px;box-shadow:var(--sh-sm);border-right:0}
.trust-grid strong{display:block;color:var(--brand);font-size:26px;font-weight:800;line-height:1;font-family:var(--head)}
.trust-grid span{display:block;color:var(--muted);font-weight:500;margin-top:7px;font-size:14.5px}

/* ---------- Secties & content ---------- */
.section{padding:76px 0;position:relative;z-index:1}
.section:nth-of-type(even){background:var(--sand)}
.content h2,.section h2{font-size:clamp(27px,3vw,36px);line-height:1.12;margin:0 0 20px;font-weight:800;color:var(--ink)}
.content h3,.section h3{font-size:21px;line-height:1.3;margin:28px 0 10px;font-weight:700;color:var(--brand-deep)}
.content p{margin:0 0 18px;color:#333a40}
.content a,.section p a{color:var(--brand);font-weight:700}
.content a:hover,.section p a:hover{text-decoration:underline}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card,.mini-card,.pricing-grid article,.steps article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--sh-sm);transition:.2s ease}
.service-card:hover,.mini-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md)}
.service-card span,.steps span{width:38px;height:38px;border-radius:12px;background:var(--mist);display:inline-flex;align-items:center;justify-content:center;color:var(--brand);font-weight:800;font-family:var(--head)}
.service-card h3{margin:16px 0 8px}
.service-card p,.mini-card span{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.brand-section{background:var(--sand)}
.brand-list{display:flex;flex-wrap:wrap;gap:12px}
.brand-chip{background:#fff;border:1px solid var(--line);padding:11px 18px;border-radius:999px;color:var(--ink);font-weight:600;box-shadow:var(--sh-sm)}
.brand-chip:hover{border-color:var(--brand);color:var(--brand)}
.check-list{padding:0;margin:10px 0 22px;list-style:none}
.check-list li{padding:11px 0 11px 31px;border-bottom:1px solid var(--line);position:relative}
.check-list li:before{content:"✓";position:absolute;left:0;top:13px;width:20px;height:20px;border-radius:7px;background:var(--mist);color:var(--brand);font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mini-card{display:block}
.mini-card strong{display:block;color:var(--ink);font-size:18px;font-family:var(--head)}
.mini-card.highlight{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,#fff)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:28px 0}
.pricing-grid strong{display:block;color:var(--brand);font-size:30px;margin:8px 0 12px;font-family:var(--head)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* FAQ */
.faq{background:var(--sand)}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin:12px 0;overflow:hidden;box-shadow:var(--sh-sm)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:0;text-align:left;padding:19px 22px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer;font-family:var(--head)}
.faq-question b{font-size:24px;color:var(--cta);transition:transform .2s ease}
.faq-answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .22s ease,opacity .22s ease}
.faq-answer p{padding:0 22px 20px;margin:0}
.faq-item.open .faq-answer{max-height:340px;opacity:1}
.faq-item.open .faq-question b{transform:rotate(45deg)}

/* ---------- CTA-blok ---------- */
.cta{background:transparent;padding:56px 0}
.cta .wrap{background:radial-gradient(ellipse at 15% 15%,rgba(255,255,255,.09),transparent 45%),linear-gradient(160deg,var(--brand),var(--brand-deep));color:#fff;border-radius:26px;padding:52px;position:relative;overflow:hidden;box-shadow:var(--sh-lg)}
.cta .wrap:before{content:"010";position:absolute;right:26px;top:-42px;font-family:var(--head);font-weight:800;font-size:160px;color:rgba(255,255,255,.05);letter-spacing:-6px;pointer-events:none}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;z-index:1}
.cta h2{margin:0 0 10px;font-size:clamp(26px,2.8vw,34px);color:#fff}
.cta p{margin:0;color:rgba(255,255,255,.75)}

/* ---------- Footer ---------- */
.footer{background:var(--ink);color:#c2c2be;padding:58px 0 20px;position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.15fr;gap:34px}
.footer h3{margin:0 0 12px;color:#fff;font-size:16.5px}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:7px 0}
.footer a{color:#e4e4e0}
.footer a:hover{color:#fff;text-decoration:underline}
.footer-brand{font-weight:800;font-size:22px;color:#fff;font-family:var(--head)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:32px;padding-top:18px;font-size:14px;color:#9d9d99}

/* ---------- Reviews ---------- */
.google-review-btn{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--ink);border:1px solid var(--line);border-left:0;border-radius:999px;padding:9px 18px 9px 10px;box-shadow:var(--sh-sm);font-weight:700;transition:.18s ease;max-width:100%}
.google-review-btn:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}
.google-review-btn small{display:block;color:var(--muted);font-weight:500;margin-top:2px;font-size:12.5px}
.google-review-btn strong{display:block;font-size:15px;line-height:1.25;color:var(--ink)}
.google-review-btn>span:last-child{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.google-g{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(from -45deg,#ea4335 0 90deg,#fbbc05 90deg 180deg,#34a853 180deg 270deg,#4285f4 270deg 360deg);color:#fff;font-size:18px;font-weight:800;font-family:Arial,sans-serif}
.review-section{background:var(--sand)}
.review-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff;box-shadow:var(--sh-sm)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.review-card{position:relative;display:flex;flex-direction:column;min-height:220px;border-radius:18px;padding:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.review-card:before{content:'“';position:absolute;right:18px;top:6px;font-size:64px;line-height:1;color:color-mix(in srgb,var(--gold) 25%,transparent);font-family:Georgia,serif}
.review-stars{font-size:16px;margin-bottom:12px;color:var(--gold);letter-spacing:2.5px;font-weight:800}
.review-card p{font-size:15.5px;line-height:1.62;margin:0 0 18px;color:#3d3d3a;position:relative;z-index:1}
.review-card strong{display:block;margin-top:auto;font-size:15.5px;color:var(--ink);font-family:var(--head)}
.review-card span{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;background:var(--mist);color:var(--brand);font-weight:700;font-size:12.5px;line-height:1;padding:7px 11px;margin-top:8px}
.review-note{color:var(--muted);font-size:14px;margin-top:12px}
.review-source-link{font-weight:700;color:var(--brand)}
.review-cta-box{background:linear-gradient(160deg,var(--brand),var(--brand-deep));color:#fff;border-radius:20px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.review-cta-box p{margin:0;color:rgba(255,255,255,.78)}
.review-cta-box .google-review-btn{background:#fff;color:var(--ink)}

/* ---------- Prijzenpagina ---------- */
.pricing-hero-note{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;margin-bottom:26px}
.pricing-hero-note span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;color:var(--ink);font-weight:600;font-size:14px;box-shadow:var(--sh-sm)}
.service-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:34px}
.service-price-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 30px;box-shadow:var(--sh-sm);position:relative;display:flex;flex-direction:column;gap:13px;overflow:visible}
.service-price-card.featured{background:linear-gradient(165deg,var(--brand),var(--brand-deep));color:#fff;border:0;transform:translateY(-12px);box-shadow:var(--sh-lg)}
.service-price-card .tag{letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);font-size:11.5px;font-family:var(--head)}
.service-price-card.featured .tag,.service-price-card.featured p,.service-price-card.featured li,.service-price-card.featured small{color:rgba(255,255,255,.92)}
.service-price-card h3{font-size:25px;line-height:1.15;margin:0;color:inherit}
.service-price-card .price{font-size:50px;font-weight:800;line-height:1;color:var(--brand);font-family:var(--head);letter-spacing:-.02em}
.service-price-card.featured .price{color:#fff}
.service-price-card small{color:var(--muted);font-weight:500}
.service-price-card ul{margin:12px 0 18px;padding:0;list-style:none;display:grid;gap:11px}
.service-price-card li{position:relative;padding-left:30px;color:#3f4649;font-size:15px}
.service-price-card li:before{content:'✓';position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;border:1.6px solid var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px}
.service-price-card.featured li:before{border-color:#fff3d6;color:#fff3d6}
.price-card-cta{margin-top:auto}
.price-card-cta .btn{width:100%;justify-content:center;text-align:center}
.price-card-cta .btn.outline-green{border:2px solid var(--brand);color:var(--brand);background:#fff}
.price-card-cta .btn.outline-green:hover{background:var(--mist)}
.service-price-card.featured .btn{background:#fff;color:var(--brand-deep);box-shadow:none}
.compare-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--sh-sm)}
.compare-table{width:100%;border-collapse:collapse;min-width:720px}
.compare-table th,.compare-table td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left}
.compare-table th{background:var(--sand);color:var(--ink);font-weight:700;font-family:var(--head)}
.compare-table td:not(:first-child){text-align:center;font-weight:700;color:var(--brand)}
.compare-table tr:last-child td{border-bottom:0}
.repair-vs-new{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.choice-card{border-radius:20px;padding:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.choice-card.good{border-top:6px solid var(--brand)}
.choice-card.bad{border-top:6px solid #cfd0cd}
.choice-card h3{margin-top:0;font-size:24px}
.choice-card ul{padding-left:22px;display:grid;gap:9px}
.seo-landing-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.seo-landing-card{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:center;background:linear-gradient(135deg,var(--sand),#fff);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--sh-sm)}
.seo-landing-card h2{margin:0 0 12px;color:var(--ink);font-size:28px}
.seo-landing-card p{margin:0;color:#40474b;line-height:1.65}
.seo-landing-points{display:grid;gap:10px}
.seo-landing-points span{border-left:4px solid var(--gold);background:#fff;border-radius:10px;padding:11px 13px;font-weight:600;color:var(--ink);box-shadow:var(--sh-sm)}

/* ---------- Zwevende knoppen (desktop) ---------- */
.floating-contact{position:fixed;right:18px;left:auto;bottom:24px;z-index:9999;display:flex;flex-direction:column;gap:12px;align-items:center;pointer-events:none}
.floating-contact .float-btn{width:54px;height:54px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0;pointer-events:auto;box-shadow:0 14px 30px rgba(0,0,0,.22);transition:.18s ease}
.floating-contact .float-btn:hover{transform:translateY(-3px)}
.floating-contact .float-whatsapp{background:#25D366}
.floating-contact .float-call{background:var(--brand)}
.floating-contact svg{display:block;width:28px;height:28px;fill:#fff}
.whatsapp-float{display:none!important}
.mail-offer-inline{display:inline-flex;align-items:center;gap:8px}

/* ---------- Sticky actiebalk (mobiel) ---------- */
.sticky-bar{display:none}
@media(max-width:900px){
  .floating-contact{display:none}
  .sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:99999;display:flex;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 14px rgba(0,0,0,.15)}
  .sticky-bar a{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-weight:700;font-size:16.5px;font-family:var(--head)}
  .sticky-bar .sb-offerte{flex:1;background:linear-gradient(160deg,var(--cta-hi),var(--cta) 60%,var(--cta-deep))}
  .sticky-bar .sb-offerte:active{background:var(--cta-deep)}
  .sticky-bar .sb-call{width:62px;flex:0 0 62px;background:var(--ink)}
  .sticky-bar .sb-wa{width:62px;flex:0 0 62px;background:#25D366}
  .sticky-bar svg{width:24px;height:24px;fill:#fff}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
}

/* ---------- Formulieren ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--sh-md)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-field label{font-weight:700;font-size:14.5px;color:var(--ink)}
.form-field label small{font-weight:500;color:var(--muted)}
.form-field input,.form-field select,.form-field textarea{font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--text);width:100%}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.form-field input[type=file]{padding:9px;background:var(--sand);cursor:pointer}
.form-field input[type=file]::file-selector-button{font:inherit;font-weight:700;border:0;background:var(--mist);color:var(--brand);border-radius:9px;padding:9px 15px;margin-right:12px;cursor:pointer}
.form-hint{font-size:13px;color:var(--muted);margin-top:4px}
.form-error{background:#fdeaea;border:1px solid #f2b8b8;color:#8e1c1c;border-radius:12px;padding:14px 16px;margin:0 0 16px;font-weight:600;display:none}
.form-error.show{display:block}
.form-submit{width:100%;font-size:17.5px;padding:17px 24px;cursor:pointer;border:0}
.form-note{font-size:13.5px;color:var(--muted);text-align:center;margin-top:12px}
.form-note a{color:var(--brand);font-weight:700}

/* ---------- Responsief ---------- */
@media(max-width:900px){
  .wrap,.narrow{width:min(100% - 32px,1180px)}
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;left:14px;right:14px;top:76px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-md);border-radius:16px;padding:18px;flex-direction:column;align-items:flex-start;gap:2px}
  .main-nav.open{display:flex}
  .main-nav a{color:var(--ink);width:100%;padding:11px 0;border-bottom:1px solid var(--line);font-size:16px}
  .main-nav a:last-of-type{border-bottom:0}
  .main-nav .call-btn{width:100%;justify-content:center;margin-top:8px;padding:14px}
  .nav-dropdown{display:block;width:100%}
  .nav-dropdown-toggle{width:100%;text-align:left;padding:11px 0;font-size:16px;color:var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;display:flex}
  .nav-dropdown-menu{position:static;transform:none;box-shadow:none;border:none;border-radius:0;padding:0 0 0 16px;background:transparent;min-width:0}
  .nav-dropdown-menu a{padding:10px 0;font-size:15px;color:var(--text);white-space:normal}
  .hero{padding:48px 0 0}
  .hero:after{height:44px;margin-top:40px}
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero h1{font-size:33px}
  .hero-bullets{grid-template-columns:1fr}
  .price-card{max-width:460px}
  .hero-visual{display:none}
  /* homepage-hero op mobiel: stadsfoto als zachte achtergrond */
  .hero.is-home{position:relative}
  .hero.is-home:before{content:"";position:absolute;inset:0 0 64px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--canvas) 55%,transparent),color-mix(in srgb,var(--canvas) 93%,transparent) 44%,var(--canvas) 72%),url("/assets/media/hero-poster.webp") center 72%/cover no-repeat;z-index:0}
  .hero.is-home .hero-grid{position:relative;z-index:1;padding-top:118px}
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .service-grid,.mini-grid,.pricing-grid,.review-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr 1fr}
  .split,.footer-grid,.repair-vs-new{grid-template-columns:1fr}
  .cta .wrap{padding:38px 28px}
  .cta-inner,.review-head,.review-cta-box{align-items:flex-start;flex-direction:column}
  .seo-landing-card{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  body{font-size:15.5px}
  .wrap,.narrow{width:100%;padding-left:16px;padding-right:16px}
  .topbar-inner{justify-content:center}
  .topbar-inner>span:first-child{text-align:center}
  .topbar a{display:none}
  .hero{padding:40px 0 0}
  .hero h1{font-size:29px;line-height:1.08;overflow-wrap:break-word}
  .hero .lead{font-size:16.5px}
  .hero .eyebrow{font-size:11px;letter-spacing:.1em}
  .section{padding:52px 0}
  .content h2,.section h2{font-size:25px}
  .cta h2{font-size:25px}
  .service-grid,.mini-grid,.pricing-grid,.steps,.trust-grid,.review-grid{grid-template-columns:1fr}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%}
  .btn{width:100%}
  .hero-actions .google-review-btn{width:100%;justify-content:flex-start}
  .header-inner{min-height:70px}
  .brand strong{font-size:17px}
  .brand small{font-size:9px;letter-spacing:.16em}
  .brand-mark svg{width:40px;height:40px}
  .price-card{width:100%;max-width:100%}
  .service-price-grid{grid-template-columns:1fr;gap:18px}
  .service-price-card{padding:26px 22px}
  .service-price-card .price{font-size:42px}
  .service-price-card.featured{transform:none}
  .choice-card{padding:24px 20px}
  .pricing-hero-note{display:grid;grid-template-columns:1fr;gap:10px}
  .review-card{min-height:0;padding:20px 19px}
  .form-card{padding:24px 18px}
}

/* Toegankelijkheid */
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .hero-visual video{display:none}
}
