
/* --- Typografie-standaard: De Bloesem (chique) --- */
html, body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, .heading, .section-title{
  font-family: 'Lora', Georgia, serif;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.15;
  color: #111827;
}
h1{ font-size: clamp(32px, 4.2vw, 52px); }
h2{ font-size: clamp(26px, 3vw, 36px); }
h3{ font-size: clamp(20px, 2.2vw, 24px); }
p, li{ color:#374151; }
:root{
  --brand: #b48fbf;
  --ink: #111827;
  --muted: #6b7280;
  --line: #E5E7EB;
}
a.button, .btn, .cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 10px 16px; border-radius: 14px; border:1px solid var(--line);
  text-decoration:none;
}
.btn-primary{ background: var(--brand); color:#fff; border-color: var(--brand); }
footer a, nav a{ text-decoration:none; }


:root{
  --ink:#111827; --muted:#6B7280; --line:#E5E7EB; --brand:#b48fbf;
  --bg:#ffffff; --maxw:1100px;
  --hero-size: min(88svh, 500px);
  --bg: #f9fbfa;
  --ink: #1f2937;
  --muted: #6b7280;
  --line: #E5E7EB;
  --brand: #86b5a5;
  --brand-ink: #6f9f90;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink)}
body{font:400 16px/1.6 'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* Topbar */
.topbar{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:flex-start;height:52px}
.links{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.links a{color:#374151;text-decoration:none;letter-spacing:.02em}
.links a:hover{color:var(--ink)}
.links a[aria-current="page"]{font-weight:600;border-bottom:2px solid currentColor}
.btn-pill{background:var(--brand);color:#fff;padding:6px 12px;border-radius:999px;border:0;
  box-shadow:0 6px 18px rgba(180,143,191,.25)}

/* Hero full */
.hero-full{position:relative;width:100%;height:var(--hero-size);
  background:var(--hero,#e9eef6) center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.35))}
.hero-center{position:relative;min-height:var(--hero-size);display:grid;place-content:center;text-align:center;color:#fff;gap:16px}
.hero-title{font:700 42px/1.1 'Lora',serif;margin:0}
.hero-sub{font-size:18px;opacity:.95;margin:0 0 8px}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.scroll-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;cursor:pointer}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:500;text-decoration:none;transition:.2s}
.btn:hover{background:#F9FAFB}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{filter:brightness(.95)}

/* Sections */
.section{padding:64px 0;border-top:1px solid var(--line)}
.kicker{letter-spacing:.35em;color:var(--muted);font-size:12px;text-transform:uppercase;margin-bottom:6px}
.h{font:600 28px/1.2 'Lora',serif;margin:0 0 10px}
.lead{color:var(--muted)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.intro-section{padding:28px 0 46px}
.intro-text{max-width:980px;color:var(--ink);margin:0 0 18px}
.btn-wide{display:block;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px;color:var(--ink);text-decoration:none;text-align:center}
.btn-wide:hover{background:#f9fafb}
.ph{border:1px solid var(--line);border-radius:16px;overflow:hidden}

/* Accordion (+/− in a circle) */
.ac-list{border-top:1px solid var(--line)}
.ac-item{border-bottom:1px solid var(--line)}
.ac-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 0;background:transparent;border:0;cursor:pointer;text-align:left}
.ac-title{font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.ac-symbol{width:26px;height:26px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;font-size:16px;color:var(--ink)}
.ac-item.open .ac-symbol::after{content:"−"}
.ac-item:not(.open) .ac-symbol::after{content:"+"}
.ac-body{padding:10px 0 18px;color:var(--ink)}
.ac-body[hidden]{display:none}

/* Pricing lists for tarieven.html */
.pricing .grid-2{gap:40px}
.pricing h1{font:600 32px/1.2 'Lora',serif;margin:0 0 8px}
.category h2{
	     font:600 20px/1.2 'Lora',serif;
	     margin:2px 0 12px;
	     color:var(--ink);
	     border-bottom:1px solid rgba(0,0,0,.1);
	     padding-bottom:10px;   
	     margin-top: 28px;               /* extra ruimte boven sectietitel */
	     margin-bottom: 5px;        /* iets meer onder de titel */
}

.items{list-style:none;padding:0;margin:0;display:grid;row-gap: 1px; }
.item{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.item:last-child{border-bottom:0}
.name{font-size:15px;flex:1;padding-right:10px}
.price{font-size:15px;font-weight:600;min-width:40px;text-align:right;font-variant-numeric:tabular-nums}
.price::before{content:"€ "}
.note{color:var(--muted);font-size:13px}

/* Footer */
footer{border-top:1px solid var(--line);padding:40px 0;margin-top:20px;color:#6b7280;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.copyright{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}

/* Responsive */
@media (max-width: 900px){
  .grid-2{grid-template-columns:1fr}
  .hero-title{font-size:32px}
  .hero-sub{font-size:16px}
}\n\n/* Contact page (foto links + formulier rechts) – FINAL OVERRIDES */
.contact-top{padding-top:48px}
.contact-grid{
  display:grid;
  grid-template-columns:0.8fr 1.2fr;   /* rechter kolom breder */
  gap:32px; align-items:start;
}
@media (min-width:1200px){
  .contact-grid{ grid-template-columns:0.75fr 1.25fr; } /* nog ruimer op brede schermen */
}
@media (max-width:640px){
  .contact-grid{ grid-template-columns:1fr; }
}

.contact-photo img{width:100%;height:auto;display:block;border-radius:16px}

/* Form */
.contact-form{max-width:none}
.contact-form .field{margin-bottom:12px}
.contact-form .input{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px 14px;
  font-size:16px;
}
.input-lg{padding:16px 18px}
.contact-form textarea.input{min-height:200px;resize:vertical}
.visually-hidden{
  position:absolute!important;height:1px;width:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap
}
.contact-form .consent-line{display:flex;gap:8px;align-items:flex-start;margin:8px 0 10px}
.form-status{min-height:18px;font-size:14px;margin-bottom:8px}
.form-status.success{color:#059669}.form-status.error{color:#dc2626}
.form-actions{margin-top:4px}

/* Socials */
.socials{display:flex;gap:10px;margin-top:16px}
.soc{width:36px;height:36px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:center;color:var(--ink);text-decoration:none}
.soc:hover{background:#f9fafb}

/* Locaties */
.locations{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media (max-width:1000px){.locations{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.locations{grid-template-columns:1fr}}
.hours{border-collapse:collapse;width:100%;font-size:14px}
.hours td{padding:4px 0;border-bottom:1px dashed var(--line)}
.loc-sub{margin:10px 0 6px;font-size:14px;color:var(--muted);letter-spacing:.03em;text-transform:uppercase}\n
/* === Palette & dark mode === */
@media (hover:hover){
  .btn:hover{background:#F3F4F6}
  .btn-primary:hover{filter:brightness(.95)}
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0b0f14; --ink:#e6e6e6; --muted:#94a3b8; --line:#233044;
    --brand:#b48fbf; --brand-600:#c49fcd; --brand-200:#3b2f42;
  }
  body{background:var(--bg); color:var(--ink)}
  .btn{background:#0f1620; border-color:#233044; color:var(--ink)}
  .ph{border-color:#233044}
  .section{border-top-color:#233044}
  .footer-grid{color:var(--muted)}
}

  .checklist {
    list-style: none;
    padding-left: 0;
  }

  .checklist li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 8px;
    font-size: 1rem;
  }

  .checklist li::before {
    content: "✔";
    color: #38b000; /* groen vinkje */
    position: absolute;
    left: 0;
    top: 0;
  }
.form-status {
  margin-bottom: 10px;
  font-size: 0.95rem;
  color: #006837;
}
.form-status:empty {
  display: none;
}


/* === Over ons: brands & gallery === */
.brand-badges{
  list-style:none; padding:0; margin:14px 0 18px;
  display:flex; flex-wrap:wrap; gap:10px;
}
.brand-badges .badge{
  display:inline-block; padding:6px 10px; border:1px solid var(--line);
  border-radius:999px; background:#fff; font-weight:600; font-size:13px;
}
.gallery{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:10px;
}
.gallery figure{margin:0}
.gallery figcaption{font-size:12px; color:var(--muted); margin-top:6px}
@media (max-width:1000px){ .gallery{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .gallery{grid-template-columns:1fr} }


.brand-badges .badge a{display:inline-block;text-decoration:none;color:inherit;padding:6px 10px}
.brand-badges .badge a:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:999px}
.brand-details{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.brand-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
@media (max-width: 800px){.brand-details{grid-template-columns:1fr}}


/* === Brand cards (Over ons) === */
.brand-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  margin-top:24px;
}
.brand-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}
.brand-card .h{font-size:18px;margin:0 0 6px}


/* === Galerij & Cards – visuele verfijning === */
.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.gallery figure {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.gallery figure:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

.gallery img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
}

.gallery figcaption {
  padding: 8px 10px;
  font-size: 0.85rem;
  color: var(--muted);
}

/* Brand cards met subtiele diepte */
.brand-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.brand-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(0,0,0,0.06);
}


/* === Final palette override (site-wide) === */
:root{
  --ink:#1f2937;
  --muted:#6b7280;
  --line:#E5E7EB;
  --brand:#86b5a5;
  --brand-ink:#6f9f90;
  --bg:#ffffff;
  --maxw:1100px;
}


/* === Feature layout (Behandelingen) === */
.feature .h-sm{font:600 18px/1.25 'Lora',serif;margin:12px 0 6px;color:var(--ink)}
.feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.feature.reverse .content{order:2}.feature.reverse .media{order:1}
.media img{width:100%;height:auto;display:block}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}
.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:10px;border:1px solid var(--line)}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%}
@media (max-width: 900px){
  .feature-grid{grid-template-columns:1fr}
  .feature.reverse .content,.feature.reverse .media{order:initial}
  .cards-3{grid-template-columns:1fr}
}
