/*
Theme Name: Wolters Coach Luxe
Theme URI: https://wolterswebdesign.com
Author: Wolters Webdesign
Description: Rustig en luxe WordPress theme voor coaches.
Version: 1.0.0
Text Domain: wolters-coach-luxe
*/

:root{
  --wc-bg:#f6f3ee;
  --wc-surface:#ffffff;
  --wc-surface-soft:#f1ebe2;
  --wc-surface-dark:#ddd0bf;
  --wc-panel:#111111;
  --wc-text:#171717;
  --wc-muted:#5f5a55;
  --wc-accent:#c9bcab;
  --wc-border:#d8cec1;
  --wc-max:1240px;
  --wc-shadow:0 22px 60px rgba(0,0,0,.08);
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--wc-bg);
  color:var(--wc-text);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.6;
}

img{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
textarea,
select{
  font:inherit;
}

.site{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.site-main{
  flex:1;
}

.container{
  width:min(calc(100% - 40px), var(--wc-max));
  margin:0 auto;
}

/* TYPO */
p,
li,
small,
span,
.wc-hero-text,
.wc-service-content p,
.wc-statement-box p,
.wc-cta-box p,
.footer-brand p,
.footer-credit,
.footer-meta a,
.wc-btn,
.wc-page-hero p,
.wc-text-card p,
.wc-quote-card p,
.wc-contact-layout p,
.wc-404 p{
  font-family:Arial, Helvetica, sans-serif;
}

h1,h2,h3,h4,.site-title{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.02em;
}

/* HEADER */
.site-header{
  position:sticky;
  top:0;
  z-index:2000;
  background:rgba(241,235,226,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
}

.header-inner{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.site-branding{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.custom-logo{
  width:auto;
  max-height:58px;
}

.site-title{
  font-size:clamp(1.7rem,2vw,2.2rem);
  font-weight:700;
  white-space:nowrap;
}

/* MENU TOGGLE */
.nav-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--wc-text);
  width:48px;
  height:48px;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
  z-index:2200;
}

.nav-toggle .bar{
  display:block;
  width:28px;
  height:2px;
  background:currentColor;
  border-radius:2px;
  margin:4px 0;
  transition:transform .25s ease, opacity .25s ease;
}

.nav-toggle.is-active .bar:nth-child(1){
  transform:translateY(6px) rotate(45deg);
}

.nav-toggle.is-active .bar:nth-child(2){
  opacity:0;
}

.nav-toggle.is-active .bar:nth-child(3){
  transform:translateY(-6px) rotate(-45deg);
}

/* MENU */
.menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.25);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
  z-index:2100;
}

.menu-overlay.active{
  opacity:1;
  pointer-events:auto;
}

.main-navigation{
  position:fixed;
  top:0;
  right:0;
  width:min(360px,88vw);
  height:100dvh;
  background:var(--wc-surface);
  box-shadow:-14px 0 42px rgba(0,0,0,.12);
  transform:translateX(100%);
  transition:transform .28s ease;
  z-index:2150;
  padding:110px 34px 34px;
  overflow-y:auto;
}

.main-navigation.is-open{
  transform:translateX(0);
}

.main-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.main-navigation a{
  font-size:1.12rem;
  font-weight:700;
}

.main-navigation a:hover{
  color:var(--wc-muted);
}

.menu-close{
  position:absolute;
  top:22px;
  right:24px;
  border:0;
  background:transparent;
  color:var(--wc-text);
  font-size:36px;
  line-height:1;
  cursor:pointer;
}

/* BUTTONS */
.wc-btn,
.wp-block-button__link,
button[type=submit],
input[type=submit]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 28px;
  border:1px solid transparent;
  background:var(--wc-accent);
  color:var(--wc-text);
  font-size:1rem;
  font-weight:700;
  line-height:1;
  transition:transform .2s ease, opacity .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.wc-btn:hover,
.wp-block-button__link:hover,
button[type=submit]:hover,
input[type=submit]:hover{
  transform:translateY(-1px);
  opacity:.97;
}

.wc-btn--dark{
  background:var(--wc-panel);
  color:#fff;
}

.wc-btn--outline{
  background:transparent;
  color:var(--wc-text);
  border-color:var(--wc-text);
}

/* HOME HERO */
.wc-hero{
  padding:0 0 140px;
}

.wc-hero-shell{
  background:var(--wc-accent);
  padding:0 0 150px;
  overflow:hidden;
}

.wc-hero-inner{
  display:grid;
  grid-template-columns:minmax(300px,37%) minmax(0,63%);
  align-items:stretch;
  position:relative;
}

.wc-hero-photo{
  position:relative;
  z-index:2;
}

.wc-hero-photo img{
  width:100%;
  height:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

.wc-hero-panel{
  position:relative;
  z-index:2;
  background:var(--wc-panel);
  color:#fff;
  min-height:560px;
  padding:86px 70px 240px 92px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.wc-eyebrow{
  margin:0 0 14px;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.wc-hero-panel .wc-eyebrow{
  color:rgba(255,255,255,.82);
  position:relative;
  z-index:3;
}

.wc-hero-title{
  margin:0 0 20px;
  font-size:clamp(2.4rem,4.2vw,4.7rem);
  line-height:1;
  color:#fff;
  max-width:650px;
  position:relative;
  z-index:3;
}

.wc-hero-text{
  margin:0 0 28px;
  max-width:540px;
  color:rgba(255,255,255,.84);
  font-size:1.06rem;
  position:relative;
  z-index:3;
}

.wc-hero-panel .wc-btn{
  position:relative;
  z-index:3;
}

.wc-hero-bottom{
  position:absolute;
  left:-10%;
  bottom:-160px;
  width:min(78%,860px);
  background:var(--wc-surface);
  padding:34px 36px;
  box-shadow:0 30px 80px rgba(0,0,0,.12);
  display:grid;
  grid-template-columns:minmax(0,1.35fr) 220px;
  gap:28px;
  align-items:center;
  z-index:3;
}

.wc-hero-bottom-copy{
  align-self:center;
}

.wc-hero-bottom h2{
  margin:0 0 12px;
  font-size:clamp(1.7rem,2.3vw,2.5rem);
  line-height:1.12;
  color:var(--wc-text);
  font-weight:700;
  letter-spacing:-0.02em;
}

.wc-hero-bottom p{
  margin:0 0 18px;
  color:var(--wc-muted);
  font-size:1rem;
  line-height:1.55;
}

.wc-hero-bottom-photo{
  align-self:center;
}

.wc-hero-bottom-photo img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  display:block;
}

/* HOME STATEMENT */
.wc-statement{
  padding:30px 0 64px;
}

.wc-statement-box{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}

.wc-statement-box h2{
  margin:0 0 18px;
  font-size:clamp(2.2rem,3.2vw,3.8rem);
  line-height:1.04;
}

.wc-statement-box p{
  margin:0;
  color:var(--wc-muted);
  font-size:1.1rem;
}

/* HOME SERVICES */
.wc-services{
  padding:0 0 86px;
  background:var(--wc-surface-dark);
}

.wc-services .container{
  padding-top:54px;
  padding-bottom:54px;
}

.wc-services-intro{
  text-align:center;
  margin-bottom:34px;
}

.wc-services-intro h2{
  margin:8px 0 0;
  font-size:clamp(2rem,3vw,3.2rem);
  line-height:1.08;
}

.wc-services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:start;
}

.wc-service-card{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.wc-service-image{
  margin-bottom:18px;
}

.wc-service-image img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
}

.wc-service-content{
  text-align:center;
  align-items:center;
}

.wc-service-content h3{
  margin:0 0 12px;
  font-size:2rem;
  line-height:1.08;
  text-align:center;
}

.wc-service-content p{
  margin:0;
  color:var(--wc-muted);
  font-size:1rem;
  text-align:center;
  max-width:320px;
}

.wc-service-content .wc-btn{
  display:none;
}

/* CTA */
.wc-cta-section{
  padding:60px 0 90px;
}

.wc-cta-box{
  background:#f1ebe2;
  text-align:center;
  padding:80px 40px;
  max-width:900px;
  margin:40px auto 0;
  box-shadow:0 20px 60px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.04);
}

.wc-cta-box h2{
  max-width:820px;
  margin:0 auto 16px;
  font-size:clamp(2.4rem,3.6vw,3.6rem);
  line-height:1.1;
}

.wc-cta-box p{
  max-width:760px;
  margin:0 auto 28px;
  color:#6b645d;
  font-size:1.05rem;
}

.wc-cta-box .wc-btn{
  background:#111;
  color:#fff;
  padding:14px 28px;
  font-weight:600;
}

.wc-cta-box .wc-btn:hover{
  background:#2a2a2a;
  color:#fff;
  opacity:1;
}

/* GENERIC PAGE HERO */
.wc-page{
  padding:0 0 60px;
}

.wc-page-hero{
  padding:60px 0 70px;
}

.wc-page-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:40px;
  align-items:center;
}

.wc-page-hero-content h1{
  margin:0 0 16px;
  font-size:clamp(2.6rem,4vw,4.2rem);
  line-height:1.02;
}

.wc-page-hero-content p{
  margin:0;
  max-width:620px;
  color:var(--wc-muted);
  font-size:1.08rem;
}

.wc-page-hero-image img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

.wc-page-hero-simple{
  padding:70px 0 40px;
}

.wc-page-hero-simple-inner{
  max-width:820px;
  margin:0 auto;
  text-align:center;
}

.wc-page-hero-simple-inner h1{
  margin:0 0 16px;
  font-size:clamp(2.6rem,4vw,4.2rem);
  line-height:1.02;
}

.wc-page-hero-simple-inner p{
  margin:0;
  color:var(--wc-muted);
  font-size:1.08rem;
}

/* GENERIC PAGE SECTIONS */
.wc-page-section{
  padding:20px 0 70px;
}

.wc-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

.wc-text-card{
  background:var(--wc-surface);
  padding:36px 34px;
  box-shadow:var(--wc-shadow);
}

.wc-text-card h2{
  margin:0 0 14px;
  font-size:clamp(1.8rem,2.4vw,2.5rem);
  line-height:1.08;
}

.wc-text-card p{
  margin:0;
  color:var(--wc-muted);
  font-size:1rem;
}

/* RESULTATEN */
.wc-results-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

.wc-quote-section{
  padding-top:0;
}

.wc-quote-card{
  background:var(--wc-surface-soft);
  padding:46px 38px;
  text-align:center;
}

.wc-quote-card p{
  margin:0;
  font-size:clamp(1.3rem,2vw,1.8rem);
  line-height:1.4;
  color:var(--wc-text);
}

/* CONTACT */
.wc-contact-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}

/* 404 */
.wc-404{
  padding:120px 0 140px;
  text-align:center;
}

.wc-404-inner{
  max-width:620px;
  margin:0 auto;
  background:var(--wc-surface-soft);
  padding:50px 40px;
  box-shadow:var(--wc-shadow);
}

.wc-404 h1{
  font-size:clamp(2.4rem,3vw,3.2rem);
  margin:0 0 18px;
}

.wc-404 p{
  color:var(--wc-muted);
  font-size:1.05rem;
  margin:0 0 30px;
}

/* FOOTER */
.site-footer{
  background:#e9e1d5;
  padding:56px 0 34px;
}

.footer-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:start;
}

.footer-brand h3{
  margin:0 0 10px;
  font-size:3rem;
  line-height:1;
}

.footer-brand p{
  margin:0 0 14px;
  max-width:480px;
  color:var(--wc-muted);
  font-size:1.04rem;
}

.footer-credit{
  font-size:.82rem;
  color:rgba(0,0,0,.58);
}

.footer-credit a{
  text-decoration:underline;
  color:inherit;
  font-weight:600;
}

.footer-credit a:hover{
  opacity:.7;
}

.footer-meta{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-start;
}

.footer-meta a{
  font-weight:700;
}

.footer-meta a:hover{
  color:var(--wc-muted);
}

.footer-socials{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
}

.footer-socials a{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--wc-panel);
  color:#fff;
  border-radius:999px;
}

.footer-socials svg{
  width:16px;
  height:16px;
  fill:currentColor;
}

/* MOBILE */
@media (max-width: 980px){
  .header-inner{
    min-height:78px;
  }

  .site-title{
    font-size:1rem;
  }

  .wc-hero{
    padding:0 0 54px;
  }

  .wc-hero-shell{
    padding:0 0 34px;
  }

  .wc-hero-inner{
    grid-template-columns:1fr;
  }

  .wc-hero-photo img{
    aspect-ratio:4/5;
  }

  .wc-hero-panel{
    min-height:auto;
    padding:34px 24px 34px;
  }

  .wc-hero-title{
    font-size:clamp(2rem,9vw,3.4rem);
  }

  .wc-hero-bottom{
    position:relative;
    left:auto;
    bottom:auto;
    width:100%;
    margin-top:28px;
    padding:24px 20px;
    grid-template-columns:1fr;
    gap:18px;
    z-index:2;
  }

  .wc-hero-bottom-photo img{
    aspect-ratio:4/5;
  }

  .wc-statement{
    padding:18px 0 48px;
  }

  .wc-statement-box h2{
    font-size:clamp(2rem,8vw,3rem);
  }

  .wc-services{
    padding:0 0 58px;
  }

  .wc-services-grid{
    grid-template-columns:1fr;
    gap:36px;
  }

  .wc-service-content h3{
    font-size:1.8rem;
  }

  .wc-cta-section{
    padding:40px 0 62px;
  }

  .wc-cta-box{
    padding:44px 22px;
    margin-top:20px;
  }

  .wc-page-hero{
    padding:40px 0 50px;
  }

  .wc-page-hero-inner,
  .wc-two-col,
  .wc-results-grid,
  .wc-contact-layout{
    grid-template-columns:1fr;
  }

  .wc-page-hero-simple{
    padding:50px 0 30px;
  }

  .wc-page-section{
    padding:12px 0 50px;
  }

  .footer-inner{
    grid-template-columns:1fr;
  }

  .wc-404{
    padding:80px 0 100px;
  }

  .wc-404-inner{
    padding:38px 24px;
  }
}
.wc-service-card{
  background:rgba(255,255,255,0.6);
  padding:24px;
  border-radius:6px;
  transition:all .25s ease;
}

.wc-service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}
/* DIENSTEN GRID FIX */
.wc-services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
}

/* kaarten consistent maken */
.wc-service-card{
  width:100%;
  max-width:100%;
}

/* content niet laten uitrekken */
.wc-service-content{
  max-width:100%;
}

/*  ↓ */
.wc-service-content p{
  max-width:none; /*  reset eerdere 320px */
}
/* GELIJKE HOOGTE DIENSTEN */
.wc-services-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:28px;
  align-items:stretch; /* 👈 belangrijk */
}

/* kaart vult altijd volledig */
.wc-service-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* content opvullen zodat alles gelijk wordt */
.wc-service-content{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.wc-service-content p{
  max-width:420px;
  margin:0 auto;
}
/* MOBILE FIX – DIENSTEN ONDER ELKAAR + GEEN HORIZONTAAL SCROLL */
@media (max-width: 768px){

  .wc-services-grid{
    grid-template-columns: 1fr !important;
  }

  .wc-service-card{
    width: 100%;
  }

  /* voorkomt dat iets breder wordt dan scherm */
  body{
    overflow-x: hidden;
  }

  .container{
    overflow-x: hidden;
  }

}
/* FORMULIER */
.wc-form-wrapper{
  max-width:600px;
  margin:0 auto;
  background:#f1ebe2;
  padding:40px 30px;
  box-shadow:0 20px 50px rgba(0,0,0,.05);
}

.wc-form-inner{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.wc-form-row input,
.wc-form-row textarea{
  width:100%;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.1);
  background:#fff;
  font-size:1rem;
  font-family:Arial, Helvetica, sans-serif;
}

.wc-form-row input:focus,
.wc-form-row textarea:focus{
  outline:none;
  border-color:#c9bcab;
}

.wc-form-row button{
  background:#111;
  color:#fff;
  border:none;
  padding:14px;
  font-weight:600;
  cursor:pointer;
  transition:.2s ease;
}

.wc-form-row button:hover{
  background:#2a2a2a;
}