/* ============================================================
   KlimaaTec, huisstijl-CSS voor testsite.klimaatec.nl
   Gegenereerd door bouw-homepage.py uit ../wireframes/homepage.html

   Plaats: templates/yootheme/css/custom.css
   LET OP: bij een YOOtheme-update kan de template-map vervangen worden.
   Controleer daarna of dit bestand er nog staat; de bron staat hier.
   ============================================================ */

/* Rubik, lokaal gehost. Opgehaald bij Google Fonts op 02-09-2026, alleen de
   latin-subsets. Rubik is een variabel font: een bestand dekt 400 tot 600,
   vandaar de font-weight-range. Lokaal hosten scheelt een externe verbinding
   en houdt bezoekers-IP's weg bij Google. */

@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/rubik-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(../fonts/rubik-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{--diep:#0E3A52; --diep-2:#205A8F; --oranje:#E4753C; --oranje-diep:#C55F2A; --oranje-tekst:#B85425; --oranje-licht:#FFCFB2; --cyaan:#00A3E0; --cyaan-link:#0072A3; --cyaan-vlak:#E1F3FB; --cyaan-op-blauw:#7FD4F5; --inkt:#1A2A33; --grijs:#5C6B74; --lijn:#E3E9ED; --licht:#F5F8FA; --wit:#FFFFFF; --radius:8px; --schaduw:0 12px 32px rgba(14,58,82,.10); --schaduw-l:0 2px 10px rgba(14,58,82,.06); --schaduw-zweef:0 10px 30px rgba(14,58,82,.16); --maxw:1160px; --navhoogte:100px; --soepel:cubic-bezier(.22,1,.36,1);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-block;font-weight:500;font-size:13px;letter-spacing:.13em; text-transform:uppercase;color:var(--oranje-tekst);margin-bottom:12px;}
.kop-mid{max-width:660px;margin:0 auto 46px;text-align:center}
.kop-mid h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:14px}
.kop-mid p{color:var(--grijs)}
.stip{position:absolute;pointer-events:none;color:#B9CFDB; background-image:radial-gradient(currentColor 1.5px,transparent 1.5px); background-size:16px 16px;opacity:.85;z-index:0}
.logo-licht{display:none}
body.gescrold{--navhoogte:76px}
.knop{display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap; font-weight:500;font-size:16px;padding:13px 26px;border-radius:var(--radius); border:2px solid transparent; transition:transform .14s ease,box-shadow .2s ease,background .2s ease,color .2s ease;}
.knop-klein{padding:10px 20px;font-size:15px}
.knop-primair{background:var(--oranje);color:#fff;box-shadow:0 4px 14px rgba(228,117,60,.28)}
.knop-tweede{background:transparent;color:var(--diep);border-color:#CBD8E0}
.knop-wit{background:#fff;color:var(--diep)}
.knop-rand-licht{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
@media (hover:hover){.knop:hover{transform:translateY(-2px)}
.knop-primair:hover{background:var(--oranje-diep);color:#fff}
.knop-tweede:hover{border-color:var(--oranje);color:var(--oranje-tekst)}
.knop-rand-licht:hover{background:rgba(255,255,255,.12);border-color:#fff}}
.knop:active{transform:translateY(1px)}
.hero{background:var(--diep-2);position:relative;overflow:hidden}
#wit-grens{position:absolute;left:0;top:30px;width:1px;height:1px;pointer-events:none}
.hero .stip-links{left:-30px;bottom:40px;width:190px;height:150px;color:rgba(255,255,255,.38)}
.hero-kicker{display:block;font-weight:500;font-size:13px;letter-spacing:.14em; text-transform:uppercase;color:var(--oranje-licht);margin-bottom:16px;}
.hero h1{font-size:clamp(32px,4.1vw,44px);font-weight:500;margin-bottom:20px;color:#fff}
.hero p{font-size:19px;color:rgba(255,255,255,.82);margin-bottom:32px;max-width:520px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-bel{font-weight:500;color:#fff;display:inline-flex;align-items:center;gap:10px}
.hero-bel svg{width:38px;height:38px;padding:10px;border-radius:50%;background:rgba(255,255,255,.12);stroke:#fff;fill:none;stroke-width:2}
.hero-media{position:relative}
.hero-media .stip-rechts{right:-26px;top:-26px;width:150px;height:120px;color:rgba(255,255,255,.4)}
.hero-beeld{position:relative;z-index:1;border-radius:var(--radius);overflow:hidden; box-shadow:var(--schaduw);aspect-ratio:4/3}
.hero-beeld img{width:100%;height:100%;object-fit:cover}
.zweef{position:absolute;z-index:3;background:var(--wit);border-radius:var(--radius); box-shadow:var(--schaduw-zweef);padding:14px 18px;display:flex;align-items:center;gap:13px;}
.zweef svg{width:34px;height:34px;padding:7px;border-radius:var(--radius);flex-shrink:0}
.zweef b{display:block;font-weight:500;font-size:19px;line-height:1.15;color:var(--diep)}
.zweef span{font-size:13.5px;color:var(--grijs);line-height:1.3}
.zweef-score{left:-34px;top:44px}
.zweef-score svg{background:#FCEBE0;stroke:none;fill:var(--oranje)}
.zweef-service{right:-30px;bottom:38px}
.zweef-service svg{background:var(--cyaan-vlak);stroke:var(--cyaan-link);fill:none;stroke-width:2;stroke-linecap:round}
.erkend{border-bottom:1px solid var(--lijn);background:var(--wit)}
.erkend .wrap{display:flex;align-items:center;gap:34px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px}
.erkend-label{font-size:13.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grijs);white-space:nowrap}
.erkend-logos{display:flex;align-items:center;gap:34px;flex-wrap:wrap;flex:1}
.erkend-logos img{height:48px;width:auto;opacity:.85}
.erkend-logos img.hoog{height:56px}
@media (hover:hover){.erkend-logos img:hover{opacity:1}}
.werk{padding:86px 0 82px;background:var(--licht);border-bottom:1px solid var(--lijn)}
.werk-strip{display:grid;grid-template-columns:1fr 1fr;gap:44px 56px}
.werk-item{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
.werk-icoon{width:52px;height:52px;flex-shrink:0}
.werk-icoon svg{width:52px;height:52px;stroke:var(--oranje);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.werk-item h3{font-size:21px;margin-bottom:9px;line-height:1.25}
.werk-item p{font-size:16px;color:var(--grijs);line-height:1.6}
.diensten{background:var(--wit);padding:82px 0}
.dienst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.dienst-kaart{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);overflow:hidden; box-shadow:var(--schaduw-l);display:flex;flex-direction:column; transition:transform .3s var(--soepel),box-shadow .3s var(--soepel);}
.dienst-media{aspect-ratio:3/2;overflow:hidden;background:#dfe7ec}
.dienst-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--soepel)}
.dienst-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.dienst-body h3{font-size:21px;margin-bottom:10px}
.dienst-body p{font-size:16px;color:var(--grijs);margin-bottom:16px}
.dienst-lijst{list-style:none;margin-bottom:20px;font-size:15.5px;color:var(--grijs)}
.dienst-lijst li{padding-left:22px;position:relative;margin-bottom:5px}
.dienst-lijst li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--cyaan)}
.dienst-link{margin-top:auto;font-weight:500;color:var(--oranje-tekst);display:inline-flex;align-items:center;gap:8px}
.dienst-link svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2.4;transition:transform .25s var(--soepel)}
@media (hover:hover){.dienst-kaart:hover{transform:translateY(-6px);box-shadow:var(--schaduw)}
.dienst-kaart:hover .dienst-media img{transform:scale(1.05)}
.dienst-kaart:hover .dienst-link svg{transform:translateX(4px)}}
.energie{background:var(--licht);border-top:1px solid var(--lijn);padding:80px 0;position:relative;overflow:hidden}
.energie .stip{left:-30px;bottom:-30px;width:180px;height:140px}
.energie-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center;position:relative;z-index:1}
.energie-kicker{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500; color:var(--oranje-tekst);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.energie-kicker i{width:8px;height:8px;border-radius:50%;background:var(--oranje-tekst);flex:none}
.energie h2{font-size:clamp(27px,3.4vw,38px);margin-bottom:14px}
.energie-intro{color:var(--grijs);margin-bottom:26px}
.ep-som{display:grid;gap:10px;margin-bottom:22px}
.ep-regel{display:flex;align-items:baseline;justify-content:space-between;gap:16px; background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);padding:13px 16px}
.ep-regel span{display:flex;align-items:center;gap:9px;font-size:16px;color:var(--diep)}
.ep-vlag{width:11px;height:11px;border-radius:3px;flex:none}
.ep-vlag-gas{background:#B85425}
.ep-vlag-airco{background:#0087BE}
.ep-regel b{font-weight:500;font-size:19px;color:var(--diep);white-space:nowrap;font-variant-numeric:tabular-nums}
.ep-winst{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--schaduw-l);margin-bottom:22px}
.ep-winst strong{display:block;font-size:clamp(34px,4.4vw,46px);font-weight:500;line-height:1.05; color:var(--diep);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ep-winst span{display:block;color:var(--grijs);font-size:16px;margin-top:5px}
.ep-kaart{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius); padding:22px 22px 16px;box-shadow:var(--schaduw-l)}
.ep-kaart-kop{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:20px}
.ep-titel{font-size:16.5px;font-weight:500;color:var(--diep)}
.ep-legenda{display:flex;gap:16px;font-size:14px;color:var(--grijs)}
.ep-legenda span{display:flex;align-items:center;gap:7px}
.ep-lijn-staal{width:14px;height:0;border-top:2px dashed #B85425;flex:none}
.ep-plot{position:relative;height:210px;margin-bottom:8px}
.ep-raster{position:absolute;inset:0;pointer-events:none}
.ep-raster div{position:absolute;left:0;right:0;border-top:1px solid var(--lijn)}
.ep-raster b{position:absolute;left:0;top:-9px;font-size:12.5px;font-weight:400;color:#8B9AA3; background:var(--wit);padding-right:6px;font-variant-numeric:tabular-nums}
.ep-gaslijn{position:absolute;left:0;right:0;border-top:2px dashed #B85425;z-index:3;pointer-events:none}
.ep-gaslijn span{position:absolute;right:0;top:-22px;font-size:13px;font-weight:500;color:#B85425; background:var(--wit);padding:0 5px;white-space:nowrap}
.ep-staven{position:absolute;inset:0;display:flex;align-items:flex-end;gap:5px;padding-left:34px;z-index:2}
.ep-staaf{flex:1;height:100%;display:flex;align-items:flex-end;position:relative;cursor:default}
.ep-staaf i{display:block;width:100%;background:#0087BE;opacity:.55;border-radius:4px 4px 0 0; min-height:2px;position:relative;transition:opacity .2s ease}
.ep-staaf.nu i{opacity:1}
.ep-nu-label{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 5px); font-size:12.5px;font-weight:500;color:#0087BE;white-space:nowrap}
.ep-x{display:flex;justify-content:space-between;padding-left:34px;font-size:12.5px;color:#8B9AA3; font-variant-numeric:tabular-nums}
.ep-tip{position:absolute;z-index:5;background:var(--diep);color:#fff;font-size:13.5px;line-height:1.45; padding:8px 11px;border-radius:6px;pointer-events:none;opacity:0;transform:translate(-50%,-10px); transition:opacity .15s ease;white-space:nowrap;box-shadow:0 6px 18px rgba(14,58,82,.28)}
.ep-tip.aan{opacity:1}
.ep-tip b{font-weight:500}
.ep-bron{margin-top:18px;font-size:14px;color:var(--grijs);line-height:1.6}
.ep-bron b{color:var(--diep);font-weight:500}
.ep-tabel-open{margin-top:12px}
.ep-tabel-open summary{cursor:pointer;font-size:14.5px;color:var(--cyaan-link);font-weight:500; list-style:none;display:inline-flex;align-items:center;gap:7px}
.ep-tabel-open summary::-webkit-details-marker{display:none}
.ep-tabel-open summary::before{content:"";width:7px;height:7px;border-right:2px solid currentColor; border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;margin-bottom:3px}
.ep-tabel-open[open] summary::before{transform:rotate(225deg);margin-bottom:0}
.ep-tabel{width:100%;border-collapse:collapse;margin-top:14px;font-size:14.5px}
.ep-tabel th,.ep-tabel td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--lijn)}
.ep-tabel th{font-weight:500;color:var(--diep)}
.ep-tabel td{color:var(--grijs);font-variant-numeric:tabular-nums}
.ep-tabel tr.nu td{color:var(--diep);font-weight:500}
@media (hover:hover){.ep-staaf:hover i{opacity:1}}
@media (max-width:940px){.energie-grid{grid-template-columns:1fr;gap:34px}}
@media (max-width:560px){.energie{padding:62px 0}
.ep-kaart{padding:18px 14px 12px}
.ep-staven{gap:1.5px;padding-left:30px}
.ep-x{padding-left:30px}
.ep-plot{height:170px}
.ep-gaslijn span{font-size:12px}}
.serviceband{background:var(--diep-2);color:#fff;padding:70px 0;position:relative;overflow:hidden}
.serviceband .stip{color:rgba(255,255,255,.3);right:-20px;top:-20px;width:200px;height:150px}
.serviceband .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:center;position:relative;z-index:2}
.serviceband h2{color:#fff;font-size:clamp(27px,3.4vw,36px);margin-bottom:16px}
.serviceband p{color:rgba(255,255,255,.85);font-size:17.5px;margin-bottom:12px}
.serviceband p:last-of-type{margin-bottom:0}
.service-punten{display:grid;gap:14px}
.service-punt{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);padding:16px 18px}
.service-punt svg{width:22px;height:22px;flex-shrink:0;margin-top:3px;stroke:var(--cyaan-op-blauw);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.service-punt b{display:block;color:#fff;font-weight:500;font-size:16.5px;margin-bottom:2px}
.service-punt span{color:rgba(255,255,255,.8);font-size:15.5px;line-height:1.5}
.serviceband-cta{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}
.over{padding:74px 0;position:relative;overflow:hidden}
.over .wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px;align-items:start;position:relative;z-index:2}
.over-media{position:relative;position:sticky;top:110px}
.over-beeld-wrap{position:relative}
.over-beeld-wrap .stip{left:-26px;bottom:-26px;width:150px;height:120px}
.over-beeld{position:relative;z-index:1;border-radius:var(--radius);overflow:hidden;background:var(--licht);border:1px solid var(--lijn);padding:20px}
.over-beeld img{width:100%;height:auto}
.over-media .knop{position:relative;z-index:2;margin-top:52px}
.over h2{font-size:clamp(27px,3.4vw,37px);margin-bottom:15px}
.over p{color:var(--grijs);margin-bottom:14px}
.faq-kop{font-size:20px;margin:34px 0 4px;padding-top:26px;border-top:1px solid var(--lijn)}
.faq-lijst{margin-top:10px}
.faq-item{border-bottom:1px solid var(--lijn)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px; padding:17px 0;font-size:18px;font-weight:500;color:var(--diep);line-height:1.3;}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'';flex-shrink:0;margin-left:auto;width:34px;height:34px;border-radius:50%; background:var(--licht) no-repeat center/13px 13px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%230E3A52' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); transition:background-color .2s ease,transform .2s ease;}
.faq-item[open] summary::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%230E3A52' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E"); background-color:#E9EEF2;}
.faq-item p{padding:0 54px 20px 0;color:var(--grijs);font-size:16px;margin:0}
@media (hover:hover){.faq-item summary:hover{color:var(--oranje-tekst)}
.faq-item summary:hover::after{background-color:#E9EEF2}}
.gebied{background:#D2DEE6;padding:74px 0;border-top:1px solid #C2D1DB}
.gebied-kaart{position:relative;max-width:820px;margin:0 auto;aspect-ratio:1.511; background:var(--wit) url('/images/klimaatec/kaart-werkgebied.jpg') center/cover no-repeat; border:1px solid #C2D1DB;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(14,58,82,.10);}
.gebied-bron{position:absolute;right:10px;bottom:8px;z-index:3; font-size:11px;color:#9BAAB4;letter-spacing:.01em;}
.kaart-plaats{position:absolute;width:0;height:0;z-index:2}
.kaart-plaats::before{content:'';position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--cyaan);box-shadow:0 0 0 3px rgba(255,255,255,.85)}
.kaart-plaats span{position:absolute;left:16px;top:-11px;white-space:nowrap;font-size:15px;font-weight:500;color:var(--diep); text-shadow:0 1px 3px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.9)}
.kaart-plaats.links span{left:auto;right:16px}
.kaart-plaats.boven span{left:0;transform:translateX(-50%);top:-32px}
.kaart-plaats.thuis::before{left:-8px;top:-8px;width:16px;height:16px;background:var(--oranje);box-shadow:0 0 0 6px rgba(228,117,60,.18)}
.kaart-plaats.thuis span{left:22px;top:-13px;font-size:18px;color:var(--oranje-tekst)}
.pl-zoetermeer{left:79.7%;top:6.2%}
.pl-leidschenveen{left:34.8%;top:3.0%}
.pl-nootdorp{left:30.3%;top:25.9%}
.pl-ypenburg{left:18.2%;top:30.8%}
.pl-pijnacker{left:50.0%;top:54.8%}
.pl-delft{left:14.1%;top:64.0%}
.pl-berkel{left:69.8%;top:87.8%}
.pl-bergschenhoek{left:85.3%;top:94.5%}
.gebied-note{text-align:center;color:#44515A;font-size:16px;margin-top:28px}
.gebied-note a{color:#9C4419;font-weight:500;text-decoration:underline}
.gebied-note b{color:var(--diep);font-weight:500}
.score{padding:82px 0;position:relative;overflow:hidden}
.score .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:52px;align-items:center;position:relative;z-index:2}
.score .stip{right:-24px;top:10px;width:170px;height:130px}
.score h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:14px}
.score p{color:var(--grijs);margin-bottom:26px}
.score-cijfers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}
.score-cijfer strong{display:block;font-size:clamp(40px,3.6vw,54px);font-weight:500;line-height:1;color:var(--diep)}
.score-cijfer span{display:block;font-size:15.5px;color:var(--grijs);margin-top:8px;line-height:1.4}
.score-sterren{display:flex;gap:3px;margin-top:10px}
.score-sterren svg{width:19px;height:19px;fill:var(--oranje)}
.contact{background:var(--licht);border-top:1px solid var(--lijn);padding:78px 0}
.contact .wrap{max-width:780px;text-align:center}
.contact h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:14px}
.contact p{color:var(--grijs);margin-bottom:30px}
.contact-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.footer{background:var(--diep-2);color:rgba(255,255,255,.86);padding:58px 0 0;font-size:16px}
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:36px;padding-bottom:42px}
.footer h3{color:#fff;font-size:15.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.footer a{color:rgba(255,255,255,.86)}
.footer ul{list-style:none}
.footer li{margin-bottom:9px}
.footer-logo{display:inline-block;margin-bottom:20px}
.footer-logo img{height:52px;width:auto}
.footer-slot{border-top:1px solid rgba(255,255,255,.13);padding:20px 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:15px}
@media (hover:hover){.footer a:hover{color:var(--cyaan)}
.gebied-note a:hover{color:var(--diep)}}
@media (hover:hover){.js .reveal.reveal-aan > .dienst-kaart:hover{translate:0 -6px;box-shadow:var(--schaduw)}}
@media(max-width:1100px){.hero > .wrap{grid-template-columns:1fr;gap:44px;padding-top:140px;padding-bottom:52px}
.hero-media{order:-1}
.hero-beeld{aspect-ratio:16/9}
.serviceband .wrap,.over .wrap,.score .wrap{grid-template-columns:1fr;gap:36px}
.over-media{position:static}
.over-beeld{max-width:460px}
.dienst-grid{grid-template-columns:1fr 1fr}
.footer-cols{grid-template-columns:1fr 1fr;gap:30px}
.zweef-score{left:12px}
.zweef-service{right:12px}}
@media(max-width:680px){.hero-strook{font-size:14px}
.werk-strip{grid-template-columns:1fr;gap:34px}
.dienst-grid,.footer-cols{grid-template-columns:1fr}
.gebied-kaart{aspect-ratio:auto;background:none;border:none;overflow:visible;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.gebied-bron{display:none}
.kaart-plaats span{text-shadow:none}
.kaart-plaats::before{box-shadow:none}
.kaart-plaats{position:static;width:auto;height:auto;display:inline-flex;align-items:center;gap:9px; background:var(--wit);border:1px solid #C2D1DB;border-radius:var(--radius);padding:10px 16px}
.kaart-plaats::before{position:static;left:auto;top:auto;flex-shrink:0}
.kaart-plaats span,.kaart-plaats.links span,.kaart-plaats.boven span,.kaart-plaats.thuis span{position:static;left:auto;right:auto;top:auto;transform:none}
.kaart-plaats.thuis::before{width:12px;height:12px;box-shadow:none;left:auto;top:auto}
.kaart-plaats.thuis span{font-size:16px}
.werk,.diensten,.over,.score,.contact,.gebied{padding-top:56px;padding-bottom:56px}
.faq-item summary{font-size:17.5px;gap:14px}
.faq-item p{padding-right:0}
.serviceband{padding:56px 0}
.hero h1{font-size:clamp(29px,7.6vw,36px)}
.hero p{font-size:17.5px}
.hero-cta .knop,.contact-cta .knop{width:100%}
.hero-bel{width:100%;justify-content:center}
.erkend-logos img{height:38px}
.erkend-logos img.hoog{height:44px}
.score-cijfers{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.zweef{position:static;box-shadow:var(--schaduw-l);border:1px solid var(--lijn);margin-top:12px}
.hero-media{display:flex;flex-direction:column;order:0}}
@media(max-width:520px){.kaart-plaats{padding:9px 14px}
.kaart-plaats span{font-size:14.5px}}
@media(prefers-reduced-motion:reduce){.js .reveal > *{opacity:1;transform:none}}
/* --- aanvullingen voor de YOOtheme-context (MOL4media, 02-09-2026) --- */
body{font-family:'Rubik',-apple-system,'Segoe UI',sans-serif;color:var(--inkt);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,.uk-h1,.uk-h2,.uk-h3{font-family:'Rubik',-apple-system,'Segoe UI',sans-serif;font-weight:500;line-height:1.22;letter-spacing:-.01em}
.uk-button{font-family:'Rubik',-apple-system,'Segoe UI',sans-serif}
/* de wrap-breedte binnen custom blokken volgt de YOOtheme-container */
.kt-blok .wrap{max-width:none;padding:0}
/* Ingebedde wireframe-secties (21-09-2026): de YOOtheme-sectie eromheen geeft al
   achtergrond en ruimte. Zonder deze regel stond er een tweede vlak binnen de sectie:
   energieprijs zonder zijmarge, een blauw vlak achter de servicepunten, een los
   werkgebied-vlak onder de kop en 82 px extra ruimte boven de scorecijfers. */
.kt-blok.energie,.kt-blok.serviceband,.kt-blok.gebied,.kt-blok.score{background:none;border-top:0;padding:0}
/* de scorecijfers staan nu op blauw (--diep-2) in plaats van op licht */
.kt-blok.score .score-cijfer strong{color:#fff}
.kt-blok.score .score-cijfer span{color:rgba(255,255,255,.8)}
/* de stippeldecoratie viel zonder de oude padding half weg; binnen YOOtheme overbodig */
.kt-blok.energie > .stip{display:none}
/* ankers (#formulier op Contact, #contracten op Prijzen, en elk volgend anker): niet onder de
   vaste navigatiebalk (76 tot 100 px) laten vallen */
[id]{scroll-margin-top:110px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* hero: kolommen komen van YOOtheme, de wireframe-grid is daar niet meer nodig */
.kt-hero-media{position:relative}

/* Navigatie: altijd een witte balk met donkere items, zoals op de huidige
   site van KlimaaTec (keuze van Ton, 02-09-2026). De balk plakt vast bij het
   scrollen en wordt dan iets grijzer, met een schaduw eronder; dat is het
   'gescrold'-gedrag uit de wireframe. */
.uk-navbar-container{background:var(--wit);border-bottom:1px solid var(--lijn)}
.uk-navbar-nav > li > a{color:var(--diep)}
.uk-navbar-nav > li > a:hover,
.uk-navbar-nav > li.uk-active > a{color:var(--oranje-tekst)}

/* vastgeplakt: alleen een schaduw erbij, de balk blijft wit.
   De achtergrond komt uit @navbar-background in de themastyle (#FFFFFF); een
   eigen background hier wordt daardoor overschreven. */
.uk-navbar-sticky{box-shadow:0 2px 3px rgba(96,96,96,.13)}

/* het oranje streepje onder het actieve item, uit de wireframe */
.uk-navbar-nav > li.uk-active > a{position:relative}
.uk-navbar-nav > li.uk-active > a::after{content:'';position:absolute;left:0;right:0;bottom:18px;
  height:3px;border-radius:2px;background:var(--oranje)}

/* de hero is relatief, zodat de stippelrasters zich eraan ophangen */
.uk-section:has(> .uk-container .kt-hero-media){position:relative;overflow:hidden}
.kt-hero-media .stip-rechts{right:-26px;top:-26px;width:150px;height:120px;color:rgba(255,255,255,.4)}

/* Navigatie in Source Sans 3 (keuze Ton, 22-09-2026): groter, zonder letterspatiering en in grijs,
   zodat het rustiger op wit staat. Letter lijkt op de ondertitel in Peters logo. Zelf gehost, zoals Rubik. */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/source-sans-3-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/source-sans-3-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.tm-header .uk-navbar-nav > li > a{font-family:'Source Sans 3',-apple-system,"Segoe UI",sans-serif;
  font-size:18px;font-weight:600;letter-spacing:0;text-transform:none;color:#505B64}
@media (hover: hover){.tm-header .uk-navbar-nav > li:not(.uk-active) > a:hover{color:var(--diep)}}
.tm-header .uk-navbar-nav > li.uk-active > a{color:var(--oranje-tekst)}

/* Logo in de menubalk meeschalen op laptopbreedte (keuze Ton, 22-09-2026).
   De header staat op horizontal-center: het menu staat absoluut in het midden. Met Source Sans 3 is het
   menu ~859 px breed; beschikbaar voor het logo is dan ~50vw - 502 px (40 px containermarge, 24 px lucht).
   Minimaal 113 px breed (40 px hoog), maximaal 170 px (60 px hoog). Onder 1200 px staat de hamburger
   (YOOtheme mobile.breakpoint = l, keuze Ton 22-09-2026), dus daar geldt deze regel niet. */
@media (min-width: 1200px) and (max-width: 1350px) {
  .tm-header .uk-logo img{width:clamp(113px, calc(50vw - 502px), 170px);height:auto}
}

/* UIkit-naad op de hamburgergrens: bij een gebroken schermbreedte (bv. 1199,2 px met Windows-schaal 125%)
   geldt noch max-width:1199px (desktopkop weg) noch min-width:1200px (mobiele kop weg), en staan beide
   koppen in beeld. Het exacte tegendeel van min-width:1200px verbergt de desktopkop, dus er staat altijd
   precies een kop. */
@media not all and (min-width: 1200px) {
  .tm-header.uk-visible\@l{display:none !important}
}

/* Uitschuifmenu (hamburger, onder 1200 px) in dezelfde letter als het desktopmenu (keuze Ton, 22-09-2026).
   Was Rubik 11 px, hoofdletters, 2 px spatiering, 40% wit (contrast 3,3). Nu 20 px, 85% wit (contrast 9,1),
   actieve pagina licht oranje #F0996B (5,4), hover wit. */
.uk-offcanvas-bar .uk-nav-default > li > a{font-family:'Source Sans 3',-apple-system,"Segoe UI",sans-serif;
  font-size:20px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.3;
  color:rgba(255,255,255,.85);padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.uk-offcanvas-bar .uk-nav-default > li:last-child > a{border-bottom:0}
.uk-offcanvas-bar .uk-nav-default > li.uk-active > a{color:#F0996B}
@media (hover: hover){.uk-offcanvas-bar .uk-nav-default > li:not(.uk-active) > a:hover{color:#fff}}

/* Erkenningsbalk op mobiel: label boven, logo's gecentreerd in rijen (feedback Peter, 28-09-2026) */
@media (max-width:680px){.erkend .wrap{flex-direction:column;gap:16px}.erkend-label{text-align:center}.erkend-logos{flex:none;width:100%;justify-content:center;gap:18px 26px}}

/* Werkgebied 28-09-2026: stippen berekend uit de coördinaten (Google Places, Web Mercator zoom 13), Delfgauw erbij (feedback Peter);
   ballonnetje 9,8 is nu een link naar Klantenvertellen */
.pl-delfgauw{left:33.1%;top:66.8%}
a.zweef,a.zweef:hover{text-decoration:none;color:inherit}

/* Hero op mobiel: offerteknop net als de belregel over de volle breedte, dus beide gecentreerd (Ton, 28-09-2026) */
@media (max-width:680px){.uk-section:has(.kt-hero-media) .uk-button-primary{width:100%}}

/* Knoppen op mobiel: minder letterafstand en zijruimte zodat de tekst op één regel past; breekt hij toch af,
   dan zonder gat van een volle knophoogte per regel. Hoogte blijft ~55 px (Ton, 28-09-2026) */
@media (max-width:680px){.uk-button,.uk-button-large{padding:17px 20px;line-height:1.35;letter-spacing:1px}}

/* Alle knoppen op mobiel gecentreerd (Ton, 28-09-2026). Groepen: onder elkaar, even breed als de langste knop,
   nooit breder dan het scherm. Losse knoppen en de links in de dienstenkaarten: in het midden. */
@media (max-width:680px){.uk-grid.uk-child-width-auto:has(> .el-item > .uk-button){display:grid;grid-template-columns:fit-content(100%);justify-content:center;row-gap:12px;margin-left:0}.uk-grid.uk-child-width-auto:has(> .el-item > .uk-button) > .el-item{padding-left:0;margin-top:0}.uk-grid.uk-child-width-auto:has(> .el-item > .uk-button) > .el-item > .uk-button{width:100%}.uk-margin > .el-content.uk-button,.uk-card .uk-button{display:table;margin-left:auto;margin-right:auto}}

/* Verzendknop van het contactformulier op mobiel ook in het midden, net als de andere knoppen (28-09-2026) */
@media (max-width:680px){.convertforms button[type=submit]{display:table;margin-left:auto;margin-right:auto}}
