/* ===== CONTACTPAGINA ===== */
.ct-hero{background:var(--dark);color:#fff;padding:64px 0 80px}
.ct-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:start}
.ct-hero .crumbs{color:rgba(255,255,255,.6);margin-bottom:26px}
.ct-hero .crumbs a{color:rgba(255,255,255,.6)}
.ct-hero .crumbs a:hover{color:#fff}
.ct-hero .crumbs .cur{color:#fff}
.ct-hero .d-eyebrow{color:var(--terra)}
.ct-hero h1{color:#fff;font-weight:400;font-size:clamp(2.1rem,3.6vw,3rem);line-height:1.1;margin:8px 0 22px}
.ct-hero h1 b{font-weight:700}
.ct-hero p{color:rgba(255,255,255,.75);font-size:1.15rem;max-width:540px;line-height:1.6}

/* contactmethodes — rijen rechts */
.ct-methods{display:flex;flex-direction:column;margin-top:64px}
.ct-method{background:transparent;border:none;border-bottom:1px solid var(--line-dark);border-radius:0;padding:22px 4px;transition:.2s;display:flex;align-items:center;gap:18px}
.ct-method:first-child{border-top:1px solid var(--line-dark)}
.ct-method:hover{transform:none}
.ct-method .ic{width:auto;height:auto;border:none;background:transparent;color:var(--terra);display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:.2s}
.ct-method:hover .ic{border:none;background:transparent;color:var(--terra)}
.ct-method .ic svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.8}
.ct-method-txt{flex:1}
.ct-method .ct-lbl{display:block;color:rgba(255,255,255,.5);font-weight:500;font-size:.82rem;margin-bottom:5px}
.ct-method .val{color:#fff;font-weight:600;font-size:1.2rem}
.ct-method-arrow{color:var(--terra);font-size:1.3rem;transition:.2s}
.ct-method:hover .ct-method-arrow{color:var(--terra);transform:translateX(5px)}

/* hoofdblok: formulier + zijbalk */
.ct-main{padding:100px 0}
.ct-grid{display:grid;grid-template-columns:1.4fr .85fr;gap:64px;align-items:start}
.ct-form-wrap h2{color:var(--dark);font-weight:700;margin-bottom:10px}
.ct-form-wrap .sub{color:var(--muted);font-size:1.12rem;margin-bottom:36px}
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ct-field{display:flex;flex-direction:column;gap:8px}
.ct-field.full{grid-column:1 / -1}
.ct-field label{font-weight:600;font-size:.92rem;color:var(--dark)}
.ct-field label .req{color:var(--lime-d)}
.ct-field input,.ct-field select,.ct-field textarea{font-family:var(--sans);font-size:1rem;padding:14px 16px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--dark);transition:.2s;width:100%}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:var(--dark)}
.ct-field textarea{resize:vertical;min-height:130px}
.ct-form .ct-submit{grid-column:1 / -1;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
.ct-form .ct-submit .note{color:var(--muted);font-size:.9rem}
.ct-form-done{display:none;background:var(--grey);border-radius:16px;padding:40px;text-align:center}
.ct-form-done .check{width:64px;height:64px;border-radius:50%;background:var(--lime);color:var(--dark);font-size:1.8rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-weight:700}
.ct-form-done h3{color:var(--dark);font-weight:600;margin-bottom:8px}
.ct-form-done p{color:var(--muted)}

/* zijbalk */
.ct-aside{background:var(--grey);border-radius:20px;padding:38px 34px}
.ct-person{display:flex;align-items:center;gap:16px;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:26px}
.ct-person img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.ct-person .nm{font-weight:600;color:var(--dark);font-size:1.1rem}
.ct-person .role{color:var(--muted);font-size:.92rem}
.ct-aside h4{color:var(--dark);font-weight:600;font-size:1.05rem;margin:0 0 16px}
.ct-info{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:14px}
.ct-info li{display:flex;gap:13px;align-items:flex-start;color:var(--dark);font-size:1rem}
.ct-info li svg{width:19px;height:19px;stroke:var(--lime-d);fill:none;stroke-width:2;flex:none;margin-top:2px}
.ct-info li a{color:var(--dark)}
.ct-info li a:hover{color:var(--lime-d)}
.ct-hours{border-top:1px solid var(--line);padding-top:22px}
.ct-hours .row{display:flex;justify-content:space-between;font-size:.95rem;color:var(--dark);padding:5px 0}
.ct-hours .row span:last-child{color:var(--muted)}

/* vestigingen */
.ct-loc{background:var(--grey);padding:100px 0}
.ct-loc .sec-head{max-width:620px;margin-bottom:48px}
.ct-loc .sec-head h2{color:var(--dark);font-weight:700;margin:14px 0 14px}
.ct-loc .sec-head p{color:var(--muted);font-size:1.15rem}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.loc-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.loc-card .map{height:200px;background:#dfe3dd;position:relative;overflow:hidden}
.loc-card .map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.3)}
.loc-card .body{padding:28px 30px}
.loc-card h3{color:var(--dark);font-weight:600;font-size:1.3rem;margin-bottom:10px}
.loc-card p{color:var(--muted);margin-bottom:14px;line-height:1.6}
.loc-card .route{color:var(--lime-d);font-weight:600;display:inline-flex;gap:8px;align-items:center}

@media(max-width:980px){
  .ct-hero-grid{grid-template-columns:1fr;gap:40px}
  .ct-grid{grid-template-columns:1fr;gap:44px}
  .loc-grid{grid-template-columns:1fr}
  .ct-main{padding:70px 0}
}
@media(max-width:560px){
  .ct-form{grid-template-columns:1fr}
}

.ct-hero h1 b{font-weight:700}

/* Procescheck-knop in de contact-hero */
.ct-hero-acts{margin-top:26px}
