/*
Theme Name: De Welzijnscoach
Theme URI: https://dewelzijnscoach.nl
Description: Maatwerk child theme voor De Welzijnscoach, gebouwd op Twenty Twenty-Five. Ontwerp: Nina. Bouw: Ike. Merk (kleuren, Avenir, typeschaal) staat in theme.json; per-sectie CSS staat in dit bestand.
Author: Ike
Template: twentytwentyfive
Version: 0.1.11
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: dewelzijnscoach
*/

/* =========================================================================
   De Welzijnscoach — maatwerk-CSS
   Merktokens (kleuren, fonts, groottes) staan in theme.json, niet hier.
   Mobile-first: basis geldt op mobiel, media queries schalen op naar desktop.
   ========================================================================= */


/* 00 — Algemene basis
   ------------------------------------------------------------------------- */


/* 01 — Header / navigatie
   ------------------------------------------------------------------------- */
.dwc-header { border-bottom: 1px solid rgba(22, 20, 28, .06); }
.dwc-header .wp-block-navigation { gap: clamp(1rem, 2.5vw, 2.25rem); }
.dwc-header .wp-block-navigation-item__content {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .8rem;
  font-weight: 500;
}
.dwc-header .wp-block-site-logo img { height: 48px; width: auto; }


/* 02 — Homepage: hero
   ------------------------------------------------------------------------- */
/* Paginatitel weg + geen loze ruimte boven de hero op de voorpagina */
.home .wp-block-post-title { display: none; }
.home main.wp-block-group { margin-top: 0 !important; padding-top: 0; }
.home main.wp-block-group > .wp-block-group:first-child { padding-top: 0 !important; }
.home .wp-block-post-content { margin-top: 0; }
.home .wp-block-post-content > *:first-child { margin-top: 0; }

.dwc-hero.wp-block-columns {
  gap: 0;
  align-items: stretch;
  margin-block: 0;
}
.dwc-hero .dwc-hero__content {
  background-color: var(--wp--preset--color--blauw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
  padding: clamp(2rem, 5vw, 4.5rem);
  padding-left: clamp(1.5rem, 6vw, 6rem);
}
.dwc-hero .dwc-hero__content > * { max-width: 30rem; }
.dwc-hero .dwc-hero__content .wp-block-image { margin: 0; }
.dwc-hero .dwc-hero__wordmark { max-width: 320px; }
.dwc-hero .dwc-hero__lead { line-height: 1.35; }

.dwc-hero .dwc-hero__media figure { height: 100%; margin: 0; }
.dwc-hero .dwc-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  display: block;
}
@media (max-width: 781px) {
  .dwc-hero .dwc-hero__media img { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
}


/* 03 — Homepage: klachtenlijst
   ------------------------------------------------------------------------- */

.dwc-klachten { padding-block: clamp(4rem, 9vw, 7rem); }
.dwc-klachten__title { margin-bottom: clamp(2.5rem, 6vw, 4rem); }
.dwc-klachten__cols { gap: clamp(1.5rem, 4vw, 3rem); }



/* 04 — Homepage: zakelijk blok
   ------------------------------------------------------------------------- */



.dwc-zakelijk.wp-block-columns { gap: 0; margin-block: 0; align-items: stretch; }
.dwc-zakelijk .dwc-zakelijk__media { padding: 0; }
.dwc-zakelijk .dwc-zakelijk__media figure { height: 100%; margin: 0; }
.dwc-zakelijk .dwc-zakelijk__media img {
  width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block;
}
.dwc-zakelijk .dwc-zakelijk__content {
  background: var(--wp--preset--color--wit, #fff);
  display: flex; flex-direction: column; justify-content: center;
  gap: 1.5rem;
  padding: clamp(2rem, 5vw, 4.5rem);
}
.dwc-zakelijk .dwc-zakelijk__intro { max-width: 42ch; line-height: 1.5; margin: 0; }
.dwc-zakelijk .dwc-zakelijk__title {
  font-weight: 300; font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.1; margin: 0; max-width: 18ch;
}
.dwc-zakelijk .dwc-zakelijk__title a {
  color: inherit; text-decoration: underline; text-underline-offset: .12em;
}
@media (max-width: 781px) {
  .dwc-zakelijk .dwc-zakelijk__media img { min-height: 0; aspect-ratio: 16 / 10; }
}


/* 05 — Footer
   ------------------------------------------------------------------------- */

.dwc-footer { border-top: 1px solid rgba(22,20,28,.08); }
.dwc-footer__inner { gap: clamp(1.5rem, 4vw, 3rem); }
.dwc-footer__logo { margin: 0; }
.dwc-footer__logo img { height: 54px; width: auto; display: block; }
.dwc-footer__contact { gap: clamp(1rem, 2.5vw, 2rem) !important; flex-wrap: wrap; }
.dwc-footer__row { gap: .6rem; align-items: center; }
.dwc-footer__icon { margin: 0; }
.dwc-footer__icon img { height: 18px; width: auto; display: block; }
.dwc-footer__ctext { margin: 0; font-size: .95rem; }
.dwc-footer__ctext a { color: inherit; text-decoration: none; }
.dwc-footer__ctext a:hover { text-decoration: underline; }
.dwc-footer__newsletter { display: flex; flex-direction: column; gap: .6rem; }
.dwc-footer__news-label { margin: 0; font-weight: 500; font-size: .95rem; }
.dwc-newsletter-form { display: flex; align-items: center; background: var(--wp--preset--color--wit,#fff); border: 1px solid rgba(22,20,28,.15); border-radius: 999px; padding: .3rem .3rem .3rem 1rem; max-width: 320px; }
.dwc-newsletter-form input { flex: 1; border: 0; background: transparent; font: inherit; font-size: .9rem; padding: .4rem 0; outline: none; min-width: 0; }
.dwc-newsletter-form button { border: 0; background: transparent; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: .3rem; }
.dwc-newsletter-form button img { height: 20px; width: auto; display: block; }
@media (max-width: 781px) {
  .dwc-footer__inner { flex-direction: column; align-items: flex-start; gap: 1.75rem; }
}


.dwc-klachten__list{list-style:none;margin:0;padding:0;}


/* =========================================================================
   COACHING-PAGINA
   ========================================================================= */

/* 06 — Coaching: hero (blauwe band)
   ------------------------------------------------------------------------- */
/* Binnenpagina-hero: sluit aan op de header, geen automatische paginatitel */
body:has(.dwc-page-hero) .wp-block-post-title { display: none; }
body:has(.dwc-page-hero) main.wp-block-group { margin-top: 0 !important; padding-top: 0; }
body:has(.dwc-page-hero) main.wp-block-group > .wp-block-group:first-child { padding-top: 0 !important; }
body:has(.dwc-page-hero) .wp-block-post-content { margin-top: 0; }
body:has(.dwc-page-hero) .wp-block-post-content > *:first-child { margin-top: 0; }

.dwc-page-hero { position: relative; padding-block: clamp(3rem, 7vw, 5.5rem); }
.dwc-page-hero__mark { position: absolute; top: clamp(1.5rem, 4vw, 3rem); right: clamp(1.5rem, 5vw, 4rem); margin: 0; width: clamp(150px, 22vw, 260px); }
.dwc-page-hero__mark img { width: 100%; height: auto; display: block; }
.dwc-page-hero__title { font-weight: 300; font-size: clamp(2.2rem, 5vw, 3.5rem); line-height: 1.05; margin: 0 0 clamp(1.5rem, 4vw, 2.5rem); }
.dwc-page-hero__lead { max-width: 60ch; line-height: 1.5; margin: 0 0 1.25rem; }
.dwc-page-hero__body { max-width: 60ch; line-height: 1.6; margin: 0; }
@media (max-width: 781px) {
  .dwc-page-hero__mark { position: static; width: 150px; margin-bottom: 1.5rem; }
}

/* 07 — Coaching: herstelfases
   ------------------------------------------------------------------------- */
.dwc-fases { padding-block: clamp(3.5rem, 8vw, 6rem); }
.dwc-fases__cols { gap: clamp(2rem, 5vw, 4rem); }
.dwc-fase__num { margin: 0 0 1.25rem; }
.dwc-fase__num img { width: 72px; height: 72px; display: block; }
.dwc-fase__title { font-weight: 300; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.1; margin: 0 0 1rem; max-width: 14ch; }
.dwc-fase__list { list-style: none; margin: 0; padding: 0; }
.dwc-fase__list li { margin-bottom: .6rem; line-height: 1.4; }

/* 08 — Coaching: wat ik voor jou kan betekenen
   ------------------------------------------------------------------------- */
.dwc-betekenen { padding-block: clamp(3.5rem, 8vw, 6rem); }
.dwc-betekenen__title { font-weight: 700; font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.1; margin: 0 0 clamp(1.5rem, 4vw, 2.5rem); }
.dwc-betekenen p { line-height: 1.6; margin: 0 0 1.25rem; }
.dwc-betekenen p:last-child { margin-bottom: 0; }

/* Actief menu-item blauw */
.dwc-header .wp-block-navigation-item a[aria-current="page"] { color: var(--wp--preset--color--blauw); }

/* Binnenpagina-secties tegen elkaar (geen randje) */
body:has(.dwc-page-hero) .wp-block-post-content > * { margin-block: 0 !important; }


/* 09 — Over mij
   ------------------------------------------------------------------------- */
body:has(.dwc-overmij) .wp-block-post-title { display: none; }
.dwc-overmij { padding-block: clamp(3rem, 7vw, 5.5rem); }
.dwc-overmij__top { align-items: flex-start; gap: clamp(1.5rem, 4vw, 3.5rem); margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.dwc-overmij__title { font-weight: 300; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.08; margin: 0; }
.dwc-overmij__photo { margin: 0; }
.dwc-overmij__photo img { display: block; width: 100%; height: auto; max-width: 340px; margin-left: auto; border-radius: 50%; }
.dwc-overmij p { max-width: 64ch; line-height: 1.6; margin: 0 0 1.25rem; }
.dwc-overmij p strong { font-weight: 500; }
.dwc-overmij .wp-block-buttons { margin-top: 1.25rem; }
@media (max-width: 781px) {
  .dwc-overmij__photo img { max-width: 220px; margin: 0; }
}


/* 10 — Tarieven
   ------------------------------------------------------------------------- */
.dwc-tarieven__intro { font-weight: 300; font-size: clamp(1.35rem, 3vw, 2.1rem); line-height: 1.3; margin: 0 0 1rem; max-width: 60%; }
.dwc-tarieven__intro strong { font-weight: 500; }
.dwc-tarieven__intro:last-of-type { margin-bottom: 0; }

.dwc-prijzen { padding-block: clamp(3.5rem, 8vw, 6rem); }
.dwc-prijzen__cols { gap: clamp(1.5rem, 4vw, 2.5rem); max-width: 900px; margin-inline: auto; }
.dwc-prijskaart {
  background: var(--wp--preset--color--wit, #fff);
  border-radius: 24px;
  padding: clamp(1.75rem, 4vw, 3rem);
  box-shadow: 0 18px 40px rgba(22, 20, 28, .08);
  height: 100%;
}
.dwc-prijskaart__title { font-weight: 300; font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 clamp(1.5rem, 3vw, 2.25rem); }
.dwc-prijskaart__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: baseline; margin-bottom: 1.4rem; }
.dwc-prijskaart__row:last-child { margin-bottom: 0; }
.dwc-prijskaart__label { margin: 0; }
.dwc-prijskaart__price { margin: 0; color: var(--wp--preset--color--blauw); font-weight: 500; }
.dwc-prijzen__note { max-width: 900px; margin-inline: auto; margin-top: clamp(1.5rem, 3vw, 2rem); font-size: .85rem; color: rgba(22, 20, 28, .6); }
.dwc-prijzen__note p { margin: 0 0 .25rem; }

.dwc-contactgegevens { padding-block: clamp(3rem, 6vw, 5rem); }
.dwc-contactgegevens__title { font-weight: 500; font-size: 1rem; margin: 0 0 1rem; }
.dwc-contactgegevens p { margin: 0 0 .35rem; line-height: 1.5; }

@media (max-width: 781px) {
  .dwc-tarieven__intro { max-width: none; }
}


/* 11 — Contact
   ------------------------------------------------------------------------- */
.dwc-contact { padding-block: clamp(3rem, 7vw, 5rem); }
.dwc-contact__title { font-weight: 300; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.1; margin: 0 0 clamp(1.5rem, 4vw, 2.25rem); }
.dwc-contact__list { gap: 1rem; margin-bottom: 1.5rem; }
.dwc-contact__row { gap: .75rem; align-items: center; }
.dwc-contact__icon { margin: 0; }
.dwc-contact__icon img { height: 22px; width: auto; display: block; }
.dwc-contact__row p { margin: 0; font-size: 1.05rem; }
.dwc-contact__row a { color: inherit; text-decoration: none; }
.dwc-contact__row a:hover { text-decoration: underline; }
.dwc-contact__days { margin: 0 0 2rem; color: rgba(22, 20, 28, .7); }

