/*
Theme Name: 2KV Pixel Theme
Theme URI: https://2kv.nl/
Author: 2KV ICT Diensten
Description: Pixel-voor-pixel WordPress thema voor de goedgekeurde 2KV homepage en subpagina-template. Geen ontwerpvarianten.
Version: 0.9.0
Requires at least: 6.0
Tested up to: 7.0
Text Domain: 2kv-pixel
*/

html, body {
  margin: 0;
  padding: 0;
  background: #ffffff;
}

body {
  overflow-x: hidden;
}

#wpadminbar ~ .site-2kv-pixel {
  margin-top: 32px;
}

.site-2kv-pixel {
  width: 100%;
  min-height: 100vh;
  background: #ffffff;
}

.pixel-home {
  position: relative;
  width: 100%;
  margin: 0 auto;
  line-height: 0;
}

.pixel-home__image {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
}

.pixel-link {
  position: absolute;
  display: block;
  z-index: 5;
  line-height: 1;
  text-indent: -9999px;
  overflow: hidden;
}

.pixel-link:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #0066ff;
}

/* Link-posities zijn percentages op basis van de goedgekeurde mockups van 800 x 1371 px. */
.pixel-link--logo { left: 7.6%; top: 0.5%; width: 8.8%; height: 3.0%; }
.pixel-link--home { left: 40.0%; top: 1.3%; width: 5.0%; height: 1.5%; }
.pixel-link--diensten-menu { left: 47.0%; top: 1.3%; width: 8.2%; height: 1.5%; }
.pixel-link--klanten { left: 57.5%; top: 1.3%; width: 6.5%; height: 1.5%; }
.pixel-link--support { left: 65.5%; top: 1.3%; width: 7.0%; height: 1.5%; }
.pixel-link--contact-menu { left: 74.0%; top: 1.3%; width: 6.8%; height: 1.5%; }
.pixel-link--contact-top { left: 81.1%; top: 0.8%; width: 13.0%; height: 2.4%; }
.pixel-link--hero-contact { left: 8.0%; top: 15.8%; width: 15.8%; height: 2.4%; }
.pixel-link--hero-diensten { left: 25.2%; top: 15.8%; width: 15.8%; height: 2.4%; }
.pixel-link--phone { left: 13.8%; top: 63.9%; width: 17.8%; height: 2.1%; }
.pixel-link--cta-contact { left: 33.2%; top: 63.8%; width: 13.8%; height: 2.2%; }
.pixel-link--webmail { left: 15.2%; top: 75.4%; width: 12.0%; height: 1.7%; }
.pixel-link--directadmin { left: 41.5%; top: 75.4%; width: 14.0%; height: 1.7%; }
.pixel-link--supportticket { left: 68.4%; top: 75.4%; width: 16.0%; height: 1.7%; }
.pixel-link--whatsapp { left: 81.2%; top: 81.7%; width: 13.8%; height: 2.0%; }

@media (max-width: 782px) {
  #wpadminbar ~ .site-2kv-pixel { margin-top: 46px; }
}


/* V17 - echte WordPress/HTML subpagina-template. Geen vaste blokken als achtergrondafbeelding. */
.kv-sub-template-page{margin:0;background:#fff;color:#071b63;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}.kv-sub-template-page *{box-sizing:border-box}.kv-wrap{width:min(1088px,calc(100% - 120px));margin:0 auto}.kv-header{height:56px;background:linear-gradient(90deg,#003987 0%,#002464 100%);display:flex;align-items:center}.admin-bar .kv-header{margin-top:32px}.kv-header-inner{height:56px;display:flex;align-items:center}.kv-logo{display:block;width:108px;line-height:0}.kv-logo img{display:block;width:100%;height:auto}.kv-nav{margin-left:auto;margin-right:36px;display:flex;gap:30px;align-items:center}.kv-nav a{color:#fff;text-decoration:none;font-size:13px;font-weight:800;line-height:1}.kv-nav a.is-active{position:relative}.kv-nav a.is-active:after{content:"";position:absolute;left:0;right:0;margin:auto;bottom:-13px;width:26px;height:2px;background:#fff;border-radius:2px}.kv-top-button{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 18px;border-radius:5px;background:#0069ff;color:#fff;text-decoration:none;font-size:12px;font-weight:800}.kv-main{background:#fff}.kv-content-zone{min-height:735px;padding:42px 0 58px;background:#fff}.kv-page-intro{text-align:center;max-width:930px;margin:0 auto 22px}.kv-eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.08em;color:#0069ff;font-weight:900;font-size:11px}.kv-page-intro h1{margin:0 0 6px;color:#071b63;font-size:38px;line-height:1.02;font-weight:900;letter-spacing:-.035em}.kv-page-intro h2{margin:0 0 8px;color:#0b3c92;font-size:17px;line-height:1.15;font-weight:900}.kv-page-intro p{margin:0 auto;max-width:840px;color:#0b276f;font-size:12px;line-height:1.35;font-weight:700}.kv-page-intro--detail{margin-bottom:24px}.kv-page-intro--detail h1{font-size:48px}.kv-page-intro--detail h2{font-size:21px}.kv-page-intro--detail p{font-size:14px;max-width:820px}.kv-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kv-service-card{min-height:120px;padding:14px 18px 12px;background:#fff;border:1px solid #d8e6f7;border-radius:7px;box-shadow:0 7px 20px rgba(9,45,104,.09);text-align:center;text-decoration:none;color:#071b63;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.kv-service-icon{height:34px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.kv-service-icon img{max-width:44px;max-height:34px;display:block}.kv-service-card strong{font-size:15px;line-height:1.08;font-weight:900;margin:2px 0 8px}.kv-service-card span:not(.kv-service-icon){font-size:10px;line-height:1.35;font-weight:700;color:#0b276f}.kv-service-card em{margin-top:auto;font-size:10px;color:#0069ff;font-style:normal;font-weight:900}.kv-why-small,.kv-highlight{margin:18px auto 0;padding:14px 28px;background:linear-gradient(135deg,#003987,#001f64);color:#fff;border-radius:8px;box-shadow:0 8px 22px rgba(0,33,96,.16);text-align:center;max-width:760px}.kv-why-small h2,.kv-highlight h2{margin:0 0 8px;color:#fff;font-size:22px;line-height:1.1;font-weight:900}.kv-highlight p{margin:0;color:#fff;font-size:12px;line-height:1.45;font-weight:700}.kv-checklist{list-style:none;margin:0;padding:0}.kv-checklist li{position:relative;padding-left:18px;margin:0 0 5px;color:#0b276f;font-size:12px;line-height:1.25;font-weight:800}.kv-checklist li:before{content:"✓";position:absolute;left:0;top:-1px;color:#0069ff;font-weight:900}.kv-why-small .kv-checklist{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.kv-why-small .kv-checklist li,.kv-cta-list li{color:#fff;font-size:11px;margin:0;white-space:nowrap}.kv-why-small .kv-checklist li:before,.kv-cta-list li:before{color:#fff}.kv-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:850px;margin:0 auto}.kv-detail-card,.kv-info-card,.kv-portal-card{background:#fff;border:1px solid #d8e6f7;border-radius:8px;box-shadow:0 7px 20px rgba(9,45,104,.09);padding:20px 24px;color:#071b63;text-decoration:none}.kv-detail-card h3,.kv-info-card h2,.kv-portal-card strong{display:block;margin:0 0 10px;color:#071b63;font-size:19px;line-height:1.12;font-weight:900}.kv-two-col{display:grid;grid-template-columns:1fr 1.45fr;gap:18px;max-width:850px;margin:18px auto 0}.kv-info-card p,.kv-portal-card span{margin:0 0 14px;color:#0b276f;font-size:12px;line-height:1.45;font-weight:700}.kv-primary{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 18px;border-radius:999px;background:#0069ff;color:#fff;text-decoration:none;font-size:12px;font-weight:900}.kv-contact-two{grid-template-columns:1.25fr .85fr}.kv-qr{text-align:center}.kv-qr img{display:block;max-width:160px;width:100%;height:auto;margin:10px auto}.kv-small-note{font-size:11px!important;color:#24427f!important}.kv-portals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:850px;margin:0 auto 18px}.kv-portal-card em{color:#0069ff;font-style:normal;font-weight:900}.kv-reference{max-width:850px;margin:0 auto}.kv-cta{background:#fff;padding:0 0 18px}.kv-cta-inner{position:relative;min-height:105px;background:linear-gradient(135deg,#003987,#001f64);border-radius:8px;box-shadow:0 8px 22px rgba(0,33,96,.15);display:grid;grid-template-columns:1.25fr 190px .85fr;align-items:center;overflow:visible;padding:18px 40px}.kv-cta h2{margin:0 0 4px;color:#fff;font-size:20px;line-height:1.1;font-weight:900}.kv-cta p{margin:0 0 12px;color:#fff;font-size:12px;font-weight:700}.kv-cta-actions{display:flex;gap:12px}.kv-phone{display:inline-flex;align-items:center;height:30px;padding:0 18px;background:#0069ff;border-radius:5px;color:#fff;text-decoration:none;font-size:12px;font-weight:800}.kv-white-button{display:inline-flex;align-items:center;height:30px;padding:0 18px;background:#fff;border-radius:5px;color:#0069ff;text-decoration:none;font-size:12px;font-weight:900}.kv-cta-mascot{position:absolute;left:52%;bottom:0;transform:translateX(-50%);width:145px;height:auto;display:block}.kv-cta-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.kv-cta-list li{position:relative;padding-left:22px}.kv-cta-list li:before{content:"✓";position:absolute;left:0;top:-1px;font-weight:900}.kv-contactbar{background:linear-gradient(90deg,#002464,#001b55);color:#fff;padding:14px 0}.kv-contactbar-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.25fr 1.2fr;gap:26px;font-size:11px;line-height:1.35}.kv-contactbar strong{font-size:12px}.kv-contactbar small{font-size:9px;color:rgba(255,255,255,.8)}.kv-wa{display:inline-flex;margin-top:8px;height:26px;align-items:center;padding:0 12px;background:#0bbf19;color:#fff;text-decoration:none;border-radius:4px;font-weight:900}.kv-region{background:#fff;padding:18px 0}.kv-region h2{margin:0 0 6px;color:#071b63;font-size:18px;line-height:1.2;font-weight:900}.kv-region p{margin:0;color:#0b276f;font-size:12px;line-height:1.45;font-weight:500}.kv-footer{background:linear-gradient(90deg,#003987,#001f64);color:#fff;padding:22px 0 0}.kv-footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:48px;font-size:11px;line-height:1.35}.kv-footer img{width:72px;height:auto;display:block;margin-bottom:8px}.kv-footer h3{margin:0 0 8px;color:#fff;font-size:12px}.kv-footer p{margin:0;color:rgba(255,255,255,.86)}.kv-footer-bottom{width:min(1088px,calc(100% - 120px));margin:18px auto 0;border-top:1px solid rgba(255,255,255,.16);padding:8px 0;color:rgba(255,255,255,.9);font-size:10px}.kv-footer-bottom span{display:inline-block;margin-left:34%}
@media(max-width:900px){.kv-wrap,.kv-footer-bottom{width:min(100% - 28px,1088px)}.kv-header{height:auto}.kv-header-inner{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 0}.kv-nav{order:3;width:100%;margin:8px 0 0;justify-content:center;gap:15px;flex-wrap:wrap}.kv-services-grid,.kv-detail-grid,.kv-two-col,.kv-portals,.kv-contactbar-grid,.kv-footer-grid{grid-template-columns:1fr}.kv-content-zone{min-height:auto;padding:30px 0}.kv-cta-inner{grid-template-columns:1fr;padding:20px;text-align:left}.kv-cta-mascot{display:none}.kv-cta-list{margin-top:14px}.kv-why-small .kv-checklist{display:grid;justify-content:start}.admin-bar .kv-header{margin-top:46px}}

/* V18 correctie: CTA-blok weer conform subpagina-template, zonder wit gat. */
.kv-cta{background:#fff;padding:0 0 18px;}
.kv-cta-inner{
  position:relative;
  min-height:100px;
  max-width:1088px;
  background:linear-gradient(90deg,#002464 0%,#002f86 55%,#002464 100%);
  border-radius:8px;
  box-shadow:0 8px 22px rgba(0,33,96,.15);
  display:grid;
  grid-template-columns:1.35fr 130px .9fr;
  align-items:center;
  overflow:hidden;
  padding:14px 40px;
}
.kv-cta h2{margin:0 0 5px;color:#fff;font-size:20px;line-height:1.08;font-weight:900;letter-spacing:-.02em;}
.kv-cta p{margin:0 0 12px;color:#fff;font-size:12px;font-weight:700;}
.kv-cta-actions{display:flex;gap:12px;align-items:center;}
.kv-phone,.kv-white-button{height:28px;border-radius:5px;font-size:11px;font-weight:900;}
.kv-phone{background:#0069ff;color:#fff;}
.kv-white-button{background:#fff;color:#0069ff;}
.kv-cta-mascot{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  justify-self:center;
  align-self:end;
  width:105px;
  height:110px;
  display:block;
  margin:0;
  object-fit:cover;
}
.kv-cta-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;justify-self:start;}
.kv-cta-list li{position:relative;padding-left:22px;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;}
.kv-cta-list li:before{content:"✓";position:absolute;left:0;top:-1px;color:#fff;font-weight:900;}

/* V18 header iets strakker richting subpagina-template */
.kv-header{height:56px;background:linear-gradient(90deg,#003987 0%,#002464 100%);}
.kv-header-inner{height:56px;}
.kv-logo{width:108px;}
.kv-nav{gap:30px;margin-right:36px;}
.kv-nav a{font-size:13px;font-weight:800;color:#fff;}
.kv-top-button{height:30px;border-radius:5px;background:#0069ff;color:#fff;font-size:12px;font-weight:800;}

@media(max-width:900px){
  .kv-cta-inner{grid-template-columns:1fr;padding:20px;text-align:left;overflow:hidden;}
  .kv-cta-mascot{display:none;}
}
