/* === Reset & Base === */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

/* Skip-to-content link (a11y) */
.skip-link {
  position: absolute; left: -9999px; top: auto;
  background: var(--clr-gold); color: #fff; padding: 8px 16px;
  z-index: 9999; font-weight: 600; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; top: 0; }

:root {
  /* Kleurenpalet */
  --clr-gold: #d8b759;
  --clr-gold-dark: #b69650;
  --clr-gold-light: #e5dcbc;
  --clr-cream: #f5f0e3;
  --clr-beige: #e5dcbc;
  --clr-brown: #c89d6c;
  --clr-brown-text: #4c4444;
  --clr-dark: #212121;
  --clr-navy: #274580;
  --clr-text: #4c4444;
  --clr-muted: #706334;
  --clr-light: #faf8f2;
  --clr-white: #fff;
  --clr-border: #e0dfdf;
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', -apple-system, sans-serif;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 4px 24px rgba(33,33,33,0.06);
  --shadow-lg: 0 12px 48px rgba(33,33,33,0.1);
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: 80px; }

body {
  font-family: var(--font-body);
  color: var(--clr-text);
  line-height: 1.7;
  background: var(--clr-white);
  -webkit-font-smoothing: antialiased;
}

.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

h1, h2, h3 { font-family: var(--font-heading); color: var(--clr-dark); line-height: 1.25; }
h2 { font-size: 2.4rem; text-align: center; margin-bottom: 0.5rem; }
.section-sub { text-align: center; color: var(--clr-muted); margin-bottom: 3.5rem; font-size: 1.05rem; }

.section-line {
  width: 48px;
  height: 3px;
  background: var(--clr-gold);
  border-radius: 3px;
  margin: 12px auto 0;
}

/* === Buttons === */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 15px 36px;
  border-radius: 50px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: var(--transition);
  letter-spacing: 0.01em;
}

.btn--primary {
  background: var(--clr-gold);
  color: var(--clr-dark);
}
.btn--primary:hover {
  background: var(--clr-gold-dark);
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.btn--outline {
  background: transparent;
  color: var(--clr-gold-dark);
  border: 2px solid var(--clr-gold);
}
.btn--outline:hover {
  background: var(--clr-gold);
  color: var(--clr-dark);
  transform: translateY(-2px);
}

.btn--ghost {
  background: rgba(255,255,255,0.15);
  color: var(--clr-white);
  border: 2px solid rgba(255,255,255,0.4);
  backdrop-filter: blur(4px);
}
.btn--ghost:hover {
  background: var(--clr-white);
  color: var(--clr-dark);
}

.btn--large { padding: 18px 44px; font-size: 1.1rem; }
.btn--full { width: 100%; }

/* === Header === */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px);
  transition: var(--transition);
}

.header--scrolled {
  box-shadow: 0 1px 16px rgba(0,0,0,0.06);
  border-bottom: 1px solid var(--clr-border);
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
}

.header__logo {
  text-decoration: none;
  display: flex;
  align-items: center;
}
.header__logo-img {
  height: 80px;
  width: auto;
}

.header__nav { display: flex; align-items: center; gap: 28px; }
.header__nav > a {
  text-decoration: none;
  color: var(--clr-text);
  font-weight: 500;
  font-size: 0.88rem;
  transition: var(--transition);
  position: relative;
  white-space: nowrap;
}
.header__nav > a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--clr-gold);
  border-radius: 2px;
  transition: var(--transition);
}
.header__nav > a:hover { color: var(--clr-dark); }
.header__nav > a:hover::after { width: 100%; }

/* More dropdown */
.header__more { position: relative; }
.header__more-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  color: var(--clr-text);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.88rem;
  cursor: pointer;
  padding: 0;
  transition: var(--transition);
}
.header__more-btn:hover { color: var(--clr-dark); }
.header__more-btn svg { transition: transform 0.2s ease; }
.header__more-btn.active svg { transform: rotate(180deg); }

.header__dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--clr-white);
  border-radius: var(--radius-sm);
  box-shadow: 0 12px 40px rgba(0,0,0,0.12);
  border: 1px solid var(--clr-border);
  min-width: 180px;
  padding: 8px 0;
  z-index: 100;
  opacity: 0;
  transform: translateX(-50%) translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.header__dropdown.show {
  display: block;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.header__dropdown a {
  display: block;
  padding: 10px 20px;
  color: var(--clr-text);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 500;
  transition: all 0.15s ease;
}
.header__dropdown a:hover {
  background: var(--clr-light);
  color: var(--clr-dark);
  padding-left: 24px;
}

/* Spaarkaart link */
.header__spaarkaart {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: var(--clr-gold-dark);
  font-weight: 600;
  font-size: 0.82rem;
  padding: 6px 14px;
  border-radius: 50px;
  border: 1.5px solid var(--clr-gold);
  transition: var(--transition);
  white-space: nowrap;
}
.header__spaarkaart:hover {
  background: var(--clr-gold);
  color: var(--clr-dark);
}
.header__spaarkaart::after { display: none; }

.header__cta { padding: 10px 24px; font-size: 0.88rem; }

.header__menu {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.header__menu span {
  width: 22px;
  height: 2px;
  background: var(--clr-dark);
  border-radius: 2px;
  transition: var(--transition);
}

/* === Hero === */
.hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    135deg,
    rgba(33,33,33,0.82) 0%,
    rgba(33,33,33,0.55) 50%,
    rgba(33,33,33,0.2) 100%
  );
}

.hero__inner {
  position: relative;
  z-index: 2;
  padding: 160px 0 100px;
  max-width: 640px;
}

.hero__content { text-align: left; }

.hero__tagline {
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--clr-gold);
  margin-bottom: 1rem;
}

.hero h1 {
  font-size: 4.2rem;
  line-height: 1.06;
  margin-bottom: 1.6rem;
  color: var(--clr-white);
  letter-spacing: -0.02em;
}
.hero__accent {
  color: var(--clr-gold);
  font-style: italic;
  position: relative;
}
.hero__accent::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: -4px;
  right: -4px;
  height: 10px;
  background: rgba(216,183,89,0.35);
  border-radius: 4px;
  z-index: -1;
}

.hero__desc {
  font-size: 1.1rem;
  color: rgba(255,255,255,0.82);
  max-width: 460px;
  margin: 0 0 2.4rem;
  line-height: 1.8;
}

.hero__actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }

.btn--ghost {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 24px;
  color: rgba(255,255,255,0.85);
  font-weight: 500;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: var(--transition);
  font-size: 0.95rem;
}
.btn--ghost:hover {
  color: #fff;
  border-color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.08);
}

/* === Section Tag === */
.section-tag {
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--clr-gold-dark);
  text-align: center;
  margin-bottom: 0.6rem;
}
.section-tag--light { color: var(--clr-gold); text-align: left; }

/* === Behandelingen (image grid) === */
.behandelingen {
  padding: 100px 0;
  background: var(--clr-white);
}

.behandelingen__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 3rem;
}

.behandeling-card {
  background: var(--clr-light);
  border-radius: var(--radius);
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  border: 1px solid transparent;
  transition: var(--transition);
}
.behandeling-card:hover {
  border-color: var(--clr-gold-light);
  box-shadow: 0 8px 32px rgba(33,33,33,0.1);
  transform: translateY(-4px);
}

.behandeling-card__img {
  aspect-ratio: 1;
  overflow: hidden;
}
.behandeling-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.behandeling-card:hover .behandeling-card__img img { transform: scale(1.06); }

.behandeling-card__body {
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.behandeling-card__body h3 {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  color: var(--clr-dark);
  margin-bottom: 8px;
}
.behandeling-card__body p {
  font-size: 0.88rem;
  color: var(--clr-muted);
  line-height: 1.65;
  flex: 1;
  margin-bottom: 14px;
}
.behandeling-card__price {
  font-weight: 700;
  color: var(--clr-gold-dark);
  font-size: 0.9rem;
}

/* === Prijslijst === */
.prijslijst {
  padding: 100px 0;
  background: var(--clr-light);
}

.prijslijst__tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.prijslijst__tab {
  padding: 10px 24px;
  border-radius: 50px;
  border: 2px solid var(--clr-gold);
  background: transparent;
  color: var(--clr-text);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.9rem;
  cursor: pointer;
  transition: var(--transition);
}
.prijslijst__tab:hover,
.prijslijst__tab.active {
  background: var(--clr-gold);
  color: var(--clr-dark);
}

.prijslijst__table {
  max-width: 700px;
  margin: 0 auto;
  background: var(--clr-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.prijslijst__cta { text-align: center; margin-top: 2.5rem; }

.prijs-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 18px 32px;
  border-bottom: 1px solid var(--clr-border);
  transition: var(--transition);
}
.prijs-row:last-child { border-bottom: none; }
.prijs-row:hover { background: var(--clr-light); }

.prijs-row__dienst {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.prijs-row__dienst strong { color: var(--clr-brown-text); font-size: 0.95rem; }
.prijs-row__dienst span { font-size: 0.82rem; color: var(--clr-muted); }

.prijs-row__prijs {
  font-weight: 700;
  color: var(--clr-gold-dark);
  font-size: 0.95rem;
  white-space: nowrap;
}

.prijs-category { display: none; }
.prijs-category.active { display: block; }

/* === Over Ons === */
.over-ons {
  padding: 100px 0;
  background: var(--clr-light);
}

.over-ons__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}

.over-ons__text .section-tag { text-align: left; }
.over-ons__text h2 { text-align: left; margin-bottom: 1.5rem; font-size: 2.2rem; }
.over-ons__text p { color: var(--clr-text); margin-bottom: 1rem; font-size: 1.02rem; }
.over-ons__cta { margin-top: 1.5rem; }

.over-ons__features {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.feature {
  background: var(--clr-white);
  border: 1px solid var(--clr-border);
  padding: 24px 28px;
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  gap: 18px;
  transition: var(--transition);
}
.feature:hover {
  border-color: var(--clr-gold);
  box-shadow: 0 4px 20px rgba(216,183,89,0.12);
}
.feature__icon-wrap {
  width: 48px;
  height: 48px;
  background: var(--clr-cream);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--clr-gold-dark);
}
.feature__text strong {
  display: block;
  color: var(--clr-dark);
  font-size: 0.95rem;
  margin-bottom: 3px;
}
.feature__text span { font-size: 0.84rem; color: var(--clr-muted); line-height: 1.5; }

/* === Reviews === */
.reviews {
  padding: 80px 0;
  background: var(--clr-white);
}

.reviews__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}
.reviews__header h2 { margin-bottom: 0; }
.reviews__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: var(--clr-light);
  border: 1px solid var(--clr-border);
  border-radius: 16px;
  text-decoration: none;
  font-size: 0.75rem;
  color: var(--clr-dark);
  transition: all 0.2s ease;
}
.reviews__badge:hover {
  border-color: var(--clr-gold);
  box-shadow: 0 2px 8px rgba(216,183,89,0.15);
  transform: scale(1.03);
}
.reviews__badge-icon { flex-shrink: 0; }
.reviews__badge-score { font-weight: 600; }
.reviews__badge-stars { color: var(--clr-gold); font-size: 0.65rem; letter-spacing: -1px; }
.reviews__badge-count { color: var(--clr-muted); font-size: 0.7rem; }
.reviews__badge-external { color: var(--clr-muted); margin-left: 2px; transition: transform 0.2s ease; }
.reviews__badge:hover .reviews__badge-external { color: var(--clr-gold); transform: translate(1px, -1px); }

/* Reviews Slider */
.reviews__slider-container {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 1rem;
}
.reviews__slider {
  overflow: hidden;
  flex: 1;
  border-radius: 12px;
}
.reviews__track {
  display: flex;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  gap: 16px;
}
.reviews__track .review-card {
  flex: 0 0 100%;
  min-width: 0;
}
@media (min-width: 768px) {
  .reviews__track .review-card {
    flex: 0 0 calc(50% - 8px);
  }
}
@media (min-width: 1024px) {
  .reviews__track .review-card {
    flex: 0 0 calc(33.333% - 11px);
  }
}
.reviews__nav {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--clr-border);
  background: var(--clr-white);
  color: var(--clr-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  z-index: 2;
}
.reviews__nav svg {
  width: 16px;
  height: 16px;
}
.reviews__nav:hover {
  background: var(--clr-gold);
  border-color: var(--clr-gold);
  color: var(--clr-white);
}
.reviews__nav:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.reviews__dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-bottom: 1rem;
}
.reviews__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--clr-border);
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.reviews__dot:hover {
  background: var(--clr-gold-light);
}
.reviews__dot--active {
  background: var(--clr-gold);
  width: 18px;
  border-radius: 3px;
}
@media (max-width: 600px) {
  .reviews__nav { width: 32px; height: 32px; }
  .reviews__nav svg { width: 14px; height: 14px; }
  .reviews__slider-container { gap: 6px; }
}

.review-card {
  background: var(--clr-white);
  border-radius: 12px;
  padding: 20px;
  border: 1px solid var(--clr-border);
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.review-card:hover {
  border-color: var(--clr-gold-light);
  box-shadow: 0 4px 12px rgba(216,183,89,0.12);
  transform: translateY(-2px);
}

.review-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.review-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--clr-gold) 0%, var(--clr-gold-dark) 100%);
  color: var(--clr-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.85rem;
  flex-shrink: 0;
}
.review-card__author { font-weight: 600; color: var(--clr-dark); font-size: 0.85rem; display: block; }
.review-card__stars {
  color: var(--clr-gold);
  font-size: 0.7rem;
  letter-spacing: 1px;
  margin-top: 1px;
}

.review-card p {
  color: var(--clr-text);
  line-height: 1.6;
  font-size: 0.875rem;
  margin: 0;
}

/* Review text truncation */
.review-card__text--truncated {
  max-height: 7.2em; /* 4.5 lines x 1.6 line-height */
  overflow: hidden;
  position: relative;
}
.review-card__text--truncated::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2.5em;
  background: linear-gradient(transparent, var(--clr-white));
  pointer-events: none;
}
.review-card:hover .review-card__text--truncated::after {
  background: linear-gradient(transparent, var(--clr-white));
}
.review-card__more {
  background: none;
  border: none;
  color: var(--clr-gold);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  margin-top: 6px;
  transition: var(--transition);
}
.review-card__more:hover {
  color: var(--clr-gold-dark);
}

/* Review card with profile photo */
.review-card__avatar--photo {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--clr-light);
}
.review-card__time {
  font-size: 0.7rem;
  color: var(--clr-muted);
  margin-top: 10px;
  display: block;
}

/* Loading skeleton for reviews */
.review-card--loading {
  min-height: 140px;
  position: relative;
  overflow: hidden;
}
.review-card__skeleton {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--clr-light) 25%, var(--clr-cream) 50%, var(--clr-light) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 12px;
}
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* === Contact === */
.contact {
  padding: 100px 0;
  background: var(--clr-navy);
  color: var(--clr-white);
}

.contact__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: start;
}

.contact h2 { color: var(--clr-white); text-align: left; margin-bottom: 2rem; font-size: 2.2rem; }

.contact__details { display: flex; flex-direction: column; gap: 20px; margin-bottom: 2.5rem; }
.contact__detail {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.contact__detail svg { color: var(--clr-gold); flex-shrink: 0; margin-top: 2px; }
.contact__detail strong { display: block; color: var(--clr-white); font-size: 0.95rem; }
.contact__detail strong a { color: var(--clr-white); text-decoration: none; }
.contact__detail strong a:hover { color: var(--clr-gold); }
.contact__detail span { font-size: 0.85rem; color: rgba(255,255,255,0.6); }

.contact__buttons { display: flex; gap: 12px; flex-wrap: wrap; }

.contact__map {
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 380px;
  background: rgba(255,255,255,0.05);
}
.contact__map iframe { width: 100%; height: 100%; min-height: 380px; }
/* === Footer === */
.footer {
  background: var(--clr-dark);
  color: rgba(255,255,255,0.45);
  padding: 28px 0;
  font-size: 0.82rem;
}
.footer a { color: rgba(255,255,255,0.6); text-decoration: none; }
.footer a:hover { color: var(--clr-gold); }
.footer__inner { display: flex; justify-content: space-between; align-items: center; }
.footer__links { display: flex; gap: 12px; align-items: center; }
.footer__links span { color: rgba(255,255,255,0.25); }

/* === Mobile CTA === */
.mobile-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  padding: 14px 20px;
  background: var(--clr-white);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.08);
}

/* === Open/Gesloten Status === */
.hero__status {
  margin-bottom: 1rem;
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px;
  border-radius: 50px;
  font-size: 0.88rem;
  font-weight: 600;
}
.status-badge--open {
  background: rgba(76, 175, 80, 0.2);
  color: #81c784;
  border: 1px solid rgba(76, 175, 80, 0.35);
}
.status-badge--closed {
  background: rgba(211, 47, 47, 0.15);
  color: #ef9a9a;
  border: 1px solid rgba(211, 47, 47, 0.3);
}
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.status-badge--open .status-dot { background: #4caf50; animation: pulse-dot 2s infinite; }
.status-badge--closed .status-dot { background: #d32f2f; }

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* === FAQ === */
.faq {
  padding: 100px 0;
  background: var(--clr-light);
}

.faq__list {
  max-width: 700px;
  margin: 3rem auto 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq__item {
  background: var(--clr-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  border: 1px solid transparent;
  transition: var(--transition);
}
.faq__item:hover { border-color: var(--clr-gold-light); }

.faq__item summary {
  padding: 20px 28px;
  font-weight: 600;
  color: var(--clr-dark);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.97rem;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after {
  content: '+';
  font-size: 1.3rem;
  color: var(--clr-gold);
  font-weight: 300;
  transition: var(--transition);
  flex-shrink: 0;
  margin-left: 16px;
}
.faq__item[open] summary::after {
  content: '\2212';
}

.faq__item p {
  padding: 0 28px 20px;
  color: var(--clr-text);
  font-size: 0.93rem;
  line-height: 1.7;
}
.faq__item p a { color: var(--clr-gold-dark); font-weight: 600; }

/* === Nieuwsbrief === */
.nieuwsbrief {
  padding: 80px 0;
  background: var(--clr-cream);
}
.nieuwsbrief__inner {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
}
.nieuwsbrief__text { margin-bottom: 2rem; }
.nieuwsbrief__text .section-tag { margin-bottom: 12px; }
.nieuwsbrief__text h2 { margin-bottom: 0.8rem; text-align: center; }
.nieuwsbrief__text p { color: var(--clr-text); font-size: 1rem; line-height: 1.6; }

.nieuwsbrief__form { text-align: left; }

.nieuwsbrief__input-row {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}
.nieuwsbrief__input-row input[type="email"] {
  flex: 1;
  min-width: 0;
  padding: 14px 18px;
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  font-size: 0.95rem;
  font-family: var(--font-body);
  background: var(--clr-white);
  transition: var(--transition);
}
.nieuwsbrief__input-row input[type="email"]:focus {
  outline: none;
  border-color: var(--clr-gold);
  box-shadow: 0 0 0 3px rgba(216,183,89,0.15);
}
.nieuwsbrief__input-row button {
  white-space: nowrap;
  flex-shrink: 0;
}

.nieuwsbrief__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
  font-size: 0.84rem;
  color: var(--clr-text);
  line-height: 1.5;
  cursor: pointer;
  margin-bottom: 12px;
}
.nieuwsbrief__consent input[type="checkbox"] {
  margin-top: 3px;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  accent-color: var(--clr-gold-dark);
}

.nieuwsbrief__privacy {
  font-size: 0.76rem;
  color: var(--clr-muted);
  line-height: 1.5;
  text-align: left;
}

.nieuwsbrief__message {
  margin-top: 12px;
  font-size: 0.9rem;
  font-weight: 600;
  display: none;
  text-align: center;
}
.nieuwsbrief__message--success {
  display: block;
  color: #4caf50;
}
.nieuwsbrief__message--error {
  display: block;
  color: #d32f2f;
}

/* === WhatsApp Float === */
.whatsapp-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 56px;
  height: 56px;
  background: #25d366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.4);
  z-index: 998;
  transition: var(--transition);
}
.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.5);
}


/* === Galerij === */
.galerij {
  padding: 100px 0;
  background: var(--clr-light);
}

.galerij__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 2rem;
}

.galerij__item {
  position: relative;
  aspect-ratio: 1;
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
}

.galerij__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.galerij__item:hover img {
  transform: scale(1.08);
}

.galerij__item-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(33,33,33,0.7) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: flex-end;
  padding: 20px;
}

.galerij__item:hover .galerij__item-overlay {
  opacity: 1;
}

.galerij__item-caption {
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
}

/* Lightbox */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(0,0,0,0.92);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.lightbox.active {
  display: flex;
}

.lightbox__img {
  max-width: 90vw;
  max-height: 80vh;
  border-radius: var(--radius);
  object-fit: contain;
  aspect-ratio: auto;
}

.lightbox__close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  color: #fff;
  font-size: 2.5rem;
  cursor: pointer;
  z-index: 10;
  line-height: 1;
  transition: opacity 0.2s;
}
.lightbox__close:hover { opacity: 0.7; }

.lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #fff;
  transition: all 0.2s;
  z-index: 10;
}
.lightbox__nav:hover {
  background: rgba(255,255,255,0.25);
}
.lightbox__nav--prev { left: 20px; }
.lightbox__nav--next { right: 20px; }

.lightbox__caption {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.8);
  font-size: 0.95rem;
  text-align: center;
}

/* === Team === */
.team {
  padding: 100px 0;
  background: var(--clr-white);
}

.team__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 2rem;
}

.team__card {
  background: var(--clr-light);
  border-radius: var(--radius);
  overflow: hidden;
  text-align: center;
  border: 1px solid transparent;
  transition: var(--transition);
}
.team__card:hover {
  border-color: var(--clr-gold-light);
  box-shadow: 0 8px 32px rgba(33,33,33,0.1);
  transform: translateY(-4px);
}

.team__card-img {
  aspect-ratio: 1;
  overflow: hidden;
}
.team__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.team__card:hover .team__card-img img {
  transform: scale(1.04);
}

.team__card-body {
  padding: 28px 24px;
}
.team__card-body h3 {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  color: var(--clr-dark);
  margin-bottom: 4px;
}
.team__card-role {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--clr-gold-dark);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}
.team__card-bio {
  font-size: 0.88rem;
  color: var(--clr-muted);
  line-height: 1.65;
}

/* === Acties (Promotions) === */
.acties {
  padding: 100px 0;
  background: var(--clr-white);
}

.acties__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 2rem;
}

.actie-card {
  background: var(--clr-light);
  border-radius: var(--radius);
  padding: 32px 28px;
  border: 1px solid transparent;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}
.actie-card:hover {
  border-color: var(--clr-gold-light);
  box-shadow: 0 8px 32px rgba(33,33,33,0.1);
  transform: translateY(-4px);
}

.actie-card__badge {
  display: inline-block;
  padding: 4px 14px;
  background: var(--clr-gold);
  color: var(--clr-dark);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 50px;
  margin-bottom: 16px;
}

.actie-card h3 {
  font-family: var(--font-heading);
  font-size: 1.2rem;
  color: var(--clr-dark);
  margin-bottom: 10px;
}

.actie-card p {
  font-size: 0.9rem;
  color: var(--clr-text);
  line-height: 1.7;
  margin-bottom: 16px;
}

.actie-card__valid {
  font-size: 0.8rem;
  color: var(--clr-muted);
  font-weight: 500;
}

.actie-card__icon {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 80px;
  height: 80px;
  opacity: 0.06;
  color: var(--clr-gold-dark);
}

/* === Fade-in Animatie === */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* === Responsive === */
@media (max-width: 968px) {
  .header__nav { display: none; }
  .header__nav.active {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 76px;
    left: 0;
    right: 0;
    background: var(--clr-white);
    padding: 28px;
    gap: 0;
    border-bottom: 1px solid var(--clr-border);
    box-shadow: var(--shadow-lg);
  }
  .header__nav.active > a,
  .header__nav.active .header__dropdown a,
  .header__nav.active .header__spaarkaart {
    padding: 14px 0;
    border-bottom: 1px solid var(--clr-border);
    font-size: 0.95rem;
  }
  .header__nav.active > a::after { display: none; }
  .header__nav.active .header__more-btn { display: none; }
  .header__nav.active .header__more { display: contents; }
  .header__nav.active .header__dropdown {
    display: contents !important;
    position: static;
    transform: none;
    background: none;
    box-shadow: none;
    border: none;
    padding: 0;
    opacity: 1;
    min-width: auto;
  }
  .header__nav.active .header__dropdown a {
    padding: 14px 0;
    border-bottom: 1px solid var(--clr-border);
  }
  .header__nav.active .header__dropdown a:hover { padding-left: 0; }
  .header__nav.active .header__spaarkaart {
    border: none;
    border-radius: 0;
    padding: 14px 0;
    justify-content: flex-start;
    font-size: 0.95rem;
    color: var(--clr-gold-dark);
  }
  .header__nav.active .header__spaarkaart:hover { background: none; }
  .header__cta { display: none; }
  .header__menu { display: flex; }

  .behandelingen__grid { grid-template-columns: repeat(2, 1fr); }
  .galerij__grid { grid-template-columns: repeat(2, 1fr); }
  .team__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .acties__grid { grid-template-columns: 1fr; }
  .contact__top { grid-template-columns: 1fr; gap: 40px; }
  .contact__map { min-height: 280px; }
  .contact__map iframe { min-height: 280px; }
  .over-ons__inner { grid-template-columns: 1fr; gap: 48px; }
  .over-ons__text h2 { text-align: center; }
  .over-ons__text .section-tag { text-align: center; }
}

@media (max-width: 768px) {
  h2 { font-size: 1.9rem; }
  .hero { min-height: 80vh; }
  .hero__inner { padding: 120px 0 60px; }
  .hero__content { text-align: center; }
  .hero h1 { font-size: 2.6rem; }
  .hero__desc { margin: 0 auto 2rem; }
  .hero__tagline { font-size: 0.78rem; }
  .hero__actions { justify-content: center; flex-direction: column; align-items: center; }

  .behandelingen__grid { grid-template-columns: repeat(2, 1fr); }
  .contact__top { grid-template-columns: 1fr; }
  .footer__inner { flex-direction: column; gap: 8px; text-align: center; }
  .footer__links { justify-content: center; }

  .mobile-cta { display: block; }
  body { padding-bottom: 80px; }

  .behandelingen, .prijslijst, .over-ons, .reviews, .contact, .faq, .nieuwsbrief, .galerij, .team, .acties { padding: 72px 0; }
  .team__grid { grid-template-columns: 1fr; }
  .galerij__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .lightbox__nav { width: 40px; height: 40px; }
  .lightbox__nav--prev { left: 10px; }
  .lightbox__nav--next { right: 10px; }
  .nieuwsbrief__input-row { flex-direction: column; }
  .nieuwsbrief__input-row button { width: 100%; }

  .prijs-row { padding: 14px 20px; }

  .whatsapp-float { bottom: 88px; right: 16px; width: 50px; height: 50px; }
}

/* =============================================
   DESIGN UPGRADES — Visual Uniqueness
   ============================================= */

/* --- 1. Wave Section Dividers --- */
.wave-divider {
  display: block;
  width: 100%;
  height: 60px;
  position: relative;
  z-index: 2;
  margin-top: -1px;
}
.wave-divider--flip { transform: scaleY(-1); margin-top: 0; margin-bottom: -1px; }
@media (max-width: 768px) { .wave-divider { height: 36px; } }

/* --- 2. Parallax Hero --- */
.hero__bg img {
  will-change: transform;
  transition: none;
}

/* --- 3. Staggered Scroll Animations --- */
.fade-in-stagger { opacity: 0; transform: translateY(32px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-in-stagger.visible { opacity: 1; transform: translateY(0); }
.fade-in-stagger:nth-child(1) { transition-delay: 0s; }
.fade-in-stagger:nth-child(2) { transition-delay: 0.12s; }
.fade-in-stagger:nth-child(3) { transition-delay: 0.24s; }
.fade-in-stagger:nth-child(4) { transition-delay: 0.36s; }
.fade-in-stagger:nth-child(5) { transition-delay: 0.48s; }
.fade-in-stagger:nth-child(6) { transition-delay: 0.6s; }

/* --- 4. Animated Gold Shimmer --- */
@keyframes gold-shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.section-line {
  background: linear-gradient(90deg, var(--clr-gold-dark), var(--clr-gold), #f0e4a8, var(--clr-gold), var(--clr-gold-dark));
  background-size: 200% 100%;
  animation: gold-shimmer 4s ease-in-out infinite;
}
.actie-card__badge {
  background: linear-gradient(90deg, var(--clr-gold-dark), var(--clr-gold), #f0e4a8, var(--clr-gold));
  background-size: 200% 100%;
  animation: gold-shimmer 3s ease-in-out infinite;
}

/* --- 5. Glassmorphism Accent Cards --- */
.actie-card {
  background: rgba(250, 248, 242, 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(216, 183, 89, 0.15);
}
.actie-card:hover {
  background: rgba(250, 248, 242, 0.9);
  border-color: rgba(216, 183, 89, 0.4);
}
.review-card {
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* --- 6. Hover Tilt Effect --- */
.tilt-card {
  transform-style: preserve-3d;
  perspective: 800px;
  will-change: transform;
}
.tilt-card:hover {
  transform: none; /* Override the old translateY, JS handles tilt */
}

/* --- 7. Organic Blob Shapes --- */
.blob-decorator {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.12;
  pointer-events: none;
  z-index: 0;
}
.behandelingen { position: relative; overflow: hidden; }
.behandelingen .blob-decorator {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, var(--clr-gold) 0%, transparent 70%);
  top: -80px;
  right: -120px;
}
.team { position: relative; overflow: hidden; }
.team .blob-decorator {
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, #e8a0bf 0%, transparent 70%);
  bottom: -60px;
  left: -100px;
}
.faq { position: relative; overflow: hidden; }
.faq .blob-decorator {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, var(--clr-gold-light) 0%, transparent 70%);
  top: 40px;
  right: -80px;
}
.acties { position: relative; overflow: hidden; }
.acties .blob-decorator {
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, #c7a0e8 0%, transparent 70%);
  top: -100px;
  left: -60px;
}
.galerij { position: relative; overflow: hidden; }
.galerij .blob-decorator {
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, #a0d8e8 0%, transparent 70%);
  bottom: -40px;
  right: -60px;
}

/* --- 8. Masonry Gallery --- */
.galerij__grid {
  display: block;
  columns: 3;
  column-gap: 16px;
}
.galerij__item {
  break-inside: avoid;
  margin-bottom: 16px;
  aspect-ratio: auto;
}
.galerij__item:nth-child(3n+1) { aspect-ratio: 3/4; }
.galerij__item:nth-child(3n+2) { aspect-ratio: 1; }
.galerij__item:nth-child(3n+3) { aspect-ratio: 4/3; }
@media (max-width: 768px) {
  .galerij__grid { columns: 2; column-gap: 10px; }
  .galerij__item { margin-bottom: 10px; }
}

/* --- 9. Floating Decorative Icons --- */
@keyframes float-gentle {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-12px) rotate(5deg); }
  66% { transform: translateY(6px) rotate(-3deg); }
}
@keyframes float-gentle-alt {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(8px) rotate(-4deg); }
  66% { transform: translateY(-10px) rotate(6deg); }
}
.float-icon {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  opacity: 0.07;
  color: var(--clr-gold);
}
.float-icon--1 { animation: float-gentle 8s ease-in-out infinite; }
.float-icon--2 { animation: float-gentle-alt 10s ease-in-out infinite; }
.float-icon--3 { animation: float-gentle 12s ease-in-out infinite 2s; }

/* ============================================================
   THEME SYSTEM
   Applied via data-theme attribute on <html>
   ============================================================ */

/* ══════════════════════════════════════════════════════════════
   THEME: MODERN
   Split-accent design. Left-aligned headings with vertical accent
   bar. Gradient hover reveals on cards. Dot-grid pattern on alt
   sections. Geometric divider strips. Fully customizable via
   Huisstijl — uses CSS variables, never overrides them.
   ══════════════════════════════════════════════════════════════ */
[data-theme="modern"] {
  --font-heading: 'DM Sans', -apple-system, sans-serif;
  --font-body: 'Inter', -apple-system, sans-serif;
  --radius: 14px;
  --radius-sm: 8px;
  --shadow: 0 1px 2px rgba(0,0,0,0.04), 0 4px 20px rgba(0,0,0,0.03);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.08);
}

/* Replace waves with thin geometric gradient strips */
[data-theme="modern"] .wave-divider {
  height: 3px;
  overflow: hidden;
}
[data-theme="modern"] .wave-divider path { display: none; }
[data-theme="modern"] .wave-divider::after {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, var(--clr-gold) 20%, var(--clr-gold-dark) 80%, transparent 100%);
  opacity: 0.4;
}

/* Hide organic decorations */
[data-theme="modern"] .blob-decorator { display: none; }
[data-theme="modern"] .float-icon { display: none; }
[data-theme="modern"] .hero__accent { display: none; }

/* Sections */
[data-theme="modern"] .behandelingen,
[data-theme="modern"] .galerij,
[data-theme="modern"] .prijslijst,
[data-theme="modern"] .team,
[data-theme="modern"] .over-ons,
[data-theme="modern"] .reviews,
[data-theme="modern"] .acties,
[data-theme="modern"] .faq,
[data-theme="modern"] .nieuwsbrief { padding: 90px 0; }

/* Alt sections: subtle dot-grid background */
[data-theme="modern"] .galerij,
[data-theme="modern"] .team,
[data-theme="modern"] .reviews,
[data-theme="modern"] .faq {
  background: var(--clr-light);
  background-image: radial-gradient(circle, var(--clr-border) 1px, transparent 1px);
  background-size: 24px 24px;
}
[data-theme="modern"] .behandelingen,
[data-theme="modern"] .prijslijst,
[data-theme="modern"] .over-ons,
[data-theme="modern"] .acties,
[data-theme="modern"] .nieuwsbrief { background: #fff; }

/* Header: floating pill style */
[data-theme="modern"] .header {
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: none;
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
  margin: 0;
  border-radius: 0;
}

/* Hero */
[data-theme="modern"] .hero { min-height: 88vh; }
[data-theme="modern"] .hero__overlay {
  background: linear-gradient(160deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.15) 70%, transparent 100%);
}
[data-theme="modern"] .hero h1 {
  font-family: 'DM Sans', sans-serif;
  font-weight: 800;
  letter-spacing: -0.03em;
  font-style: normal;
  line-height: 1.1;
}
[data-theme="modern"] .hero__tagline {
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  font-style: normal;
  font-size: 0.75rem;
}

/* Section headings: left-aligned with vertical accent bar */
[data-theme="modern"] h2 {
  font-family: 'DM Sans', sans-serif;
  font-weight: 800;
  letter-spacing: -0.03em;
  text-align: left;
  position: relative;
  padding-left: 20px;
}
[data-theme="modern"] h2::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.15em;
  bottom: 0.15em;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--clr-gold), var(--clr-gold-dark));
}
/* Exception: hero and contact headings stay centered, no bar */
[data-theme="modern"] .hero h2,
[data-theme="modern"] .contact h2 { text-align: left; padding-left: 0; }
[data-theme="modern"] .hero h2::before,
[data-theme="modern"] .contact h2::before { display: none; }

/* Section tag: left-aligned, accent underline */
[data-theme="modern"] .section-tag {
  background: none;
  color: var(--clr-gold-dark);
  padding: 0 0 4px 0;
  border-radius: 0;
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-style: normal;
  text-align: left;
  border-bottom: 2px solid var(--clr-gold);
}
[data-theme="modern"] .section-tag--light {
  background: none;
  color: var(--clr-gold);
  border-bottom-color: var(--clr-gold);
}

/* Section line: hidden — replaced by heading bar */
[data-theme="modern"] .section-line { display: none; }

/* Section sub: left-aligned */
[data-theme="modern"] .section-sub { text-align: left; }

/* Treatment cards: gradient reveal on hover */
[data-theme="modern"] .behandeling-card {
  border-radius: var(--radius);
  border: none;
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
[data-theme="modern"] .behandeling-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--clr-gold), var(--clr-gold-dark));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
[data-theme="modern"] .behandeling-card:hover::after { transform: scaleX(1); }
[data-theme="modern"] .behandeling-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}
[data-theme="modern"] .behandeling-card__body h3 {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
}
[data-theme="modern"] .behandeling-card__price {
  background: transparent;
  color: var(--clr-gold-dark);
  padding: 0;
  border-radius: 0;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: -0.01em;
}
[data-theme="modern"] .behandeling-card__img img {
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
[data-theme="modern"] .behandeling-card:hover .behandeling-card__img img {
  transform: scale(1.08);
}

/* Buttons: rounded with accent shadow */
[data-theme="modern"] .btn {
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: all 0.2s ease;
}
[data-theme="modern"] .btn--primary {
  background: var(--clr-gold);
  color: #fff;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--clr-gold) 35%, transparent);
}
[data-theme="modern"] .btn--primary:hover {
  background: var(--clr-gold-dark);
  box-shadow: 0 6px 20px color-mix(in srgb, var(--clr-gold) 45%, transparent);
  transform: translateY(-1px);
}
[data-theme="modern"] .btn--ghost {
  border: 2px solid rgba(255,255,255,0.4);
  color: #fff;
  backdrop-filter: blur(4px);
}
[data-theme="modern"] .btn--ghost:hover {
  background: rgba(255,255,255,0.12);
  border-color: #fff;
}

/* Price list: underline tabs + left accent on active rows */
[data-theme="modern"] .prijslijst__tabs {
  border-bottom: 2px solid var(--clr-border);
  gap: 0;
}
[data-theme="modern"] .prijslijst__tab {
  border-radius: 0;
  padding: 10px 24px;
  border: none;
  border-bottom: 3px solid transparent;
  background: transparent;
  font-weight: 600;
  margin-bottom: -2px;
  transition: all 0.2s ease;
}
[data-theme="modern"] .prijslijst__tab.active {
  background: transparent;
  color: var(--clr-gold-dark);
  border-bottom-color: var(--clr-gold);
}
[data-theme="modern"] .prijslijst__tab:hover:not(.active) {
  color: var(--clr-gold);
}
[data-theme="modern"] .prijs-row {
  border-radius: 8px;
  padding: 14px 16px;
  border-left: 3px solid transparent;
  transition: all 0.15s ease;
}
[data-theme="modern"] .prijs-row:hover {
  background: color-mix(in srgb, var(--clr-gold) 5%, transparent);
  border-left-color: var(--clr-gold);
}

/* Gallery: hover zoom with gradient overlay */
[data-theme="modern"] .galerij__item {
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}
[data-theme="modern"] .galerij__item img {
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
[data-theme="modern"] .galerij__item:hover img {
  transform: scale(1.1);
}
[data-theme="modern"] .galerij__item-overlay {
  background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, transparent 60%);
}

/* Team cards: image with gradient footer */
[data-theme="modern"] .team__card {
  border-radius: var(--radius);
  border: none;
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}
[data-theme="modern"] .team__card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--clr-gold), var(--clr-gold-dark));
  opacity: 0;
  transition: opacity 0.25s ease;
}
[data-theme="modern"] .team__card:hover::after { opacity: 1; }
[data-theme="modern"] .team__card-img { border-radius: var(--radius) var(--radius) 0 0; }
[data-theme="modern"] .team__card-role {
  color: var(--clr-gold-dark);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* FAQ: left accent border, stacked */
[data-theme="modern"] .faq__item {
  border: none;
  border-left: 4px solid var(--clr-border);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 20px 24px;
  margin-bottom: 8px;
  background: #fff;
  box-shadow: var(--shadow);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
[data-theme="modern"] .faq__item summary {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
}
[data-theme="modern"] .faq__item[open] {
  border-left-color: var(--clr-gold);
  box-shadow: var(--shadow-lg);
}
[data-theme="modern"] .faq__item:hover {
  border-left-color: color-mix(in srgb, var(--clr-gold) 50%, var(--clr-border));
}

/* Promo/Actie cards: top gradient border */
[data-theme="modern"] .actie-card {
  border-radius: var(--radius);
  border: none;
  border-top: 4px solid var(--clr-gold);
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
[data-theme="modern"] .actie-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
[data-theme="modern"] .actie-card__badge {
  border-radius: 6px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
[data-theme="modern"] .actie-card__icon {
  color: var(--clr-gold);
}

/* About features: icon-left layout feel with accent border */
[data-theme="modern"] .feature {
  border-radius: var(--radius);
  border: none;
  border-left: 4px solid var(--clr-gold);
  box-shadow: var(--shadow);
  transition: transform 0.2s ease;
}
[data-theme="modern"] .feature:hover {
  transform: translateX(4px);
}
[data-theme="modern"] .over-ons h2 { padding-left: 0; }
[data-theme="modern"] .over-ons h2::before { display: none; }

/* Newsletter: split-layout card */
[data-theme="modern"] .nieuwsbrief { background: #fff; }
[data-theme="modern"] .nieuwsbrief__inner {
  max-width: 820px;
  display: flex;
  align-items: stretch;
  text-align: left;
  padding: 0;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
[data-theme="modern"] .nieuwsbrief__text {
  flex: 0 0 42%;
  padding: 40px 32px;
  margin-bottom: 0;
  background: linear-gradient(135deg, var(--clr-dark) 0%, color-mix(in srgb, var(--clr-dark) 85%, var(--clr-gold)) 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
[data-theme="modern"] .nieuwsbrief__text .section-tag {
  color: var(--clr-gold);
  border-bottom-color: var(--clr-gold);
  align-self: flex-start;
}
[data-theme="modern"] .nieuwsbrief__text h2 {
  color: #fff;
  text-align: left;
  padding-left: 0;
  font-size: 1.6rem;
  margin-bottom: 0.6rem;
}
[data-theme="modern"] .nieuwsbrief__text h2::before { display: none; }
[data-theme="modern"] .nieuwsbrief__text p {
  color: rgba(255,255,255,0.7);
  font-size: 0.9rem;
  line-height: 1.6;
}
[data-theme="modern"] .nieuwsbrief__form {
  flex: 1;
  padding: 40px 32px;
  background: var(--clr-light);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
[data-theme="modern"] .nieuwsbrief__input-row {
  flex-direction: column;
  gap: 10px;
}
[data-theme="modern"] .nieuwsbrief__input-row input[type="email"] {
  border-radius: 10px;
  padding: 14px 18px;
  border: 2px solid var(--clr-border);
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}
[data-theme="modern"] .nieuwsbrief__input-row input[type="email"]:focus {
  border-color: var(--clr-gold);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--clr-gold) 15%, transparent);
}
[data-theme="modern"] .nieuwsbrief__input-row button {
  border-radius: 10px;
  width: 100%;
  padding: 14px 20px;
}
[data-theme="modern"] .nieuwsbrief__consent {
  font-size: 0.8rem;
  color: var(--clr-muted);
}
[data-theme="modern"] .nieuwsbrief__privacy {
  font-size: 0.72rem;
  color: var(--clr-muted);
  opacity: 0.8;
}

/* Contact */
[data-theme="modern"] .contact {
  background: var(--clr-navy);
}
[data-theme="modern"] .contact h2 { color: #fff; }
[data-theme="modern"] .contact__detail {
  border-color: rgba(255,255,255,0.1);
  transition: border-color 0.2s ease;
}
[data-theme="modern"] .contact__detail:hover {
  border-color: rgba(255,255,255,0.25);
}
[data-theme="modern"] .contact__detail-icon {
  background: color-mix(in srgb, var(--clr-gold) 20%, transparent);
  border-radius: 10px;
}

/* Status badge */
[data-theme="modern"] .status-badge {
  border-radius: 8px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Open status */
[data-theme="modern"] #open-status { border-radius: 8px; }

/* Reviews nav */
[data-theme="modern"] .reviews__nav {
  border-radius: 10px;
}

/* Mobile */
@media (max-width: 768px) {
  [data-theme="modern"] .hero h1 { font-size: 2.2rem; }
  [data-theme="modern"] h2 { font-size: 1.7rem; }
  [data-theme="modern"] .behandelingen,
  [data-theme="modern"] .galerij,
  [data-theme="modern"] .prijslijst,
  [data-theme="modern"] .team,
  [data-theme="modern"] .over-ons,
  [data-theme="modern"] .reviews,
  [data-theme="modern"] .acties,
  [data-theme="modern"] .faq,
  [data-theme="modern"] .nieuwsbrief { padding: 60px 0; }
  [data-theme="modern"] .galerij,
  [data-theme="modern"] .team,
  [data-theme="modern"] .reviews,
  [data-theme="modern"] .faq { background-size: 20px 20px; }
  [data-theme="modern"] .nieuwsbrief__inner {
    flex-direction: column;
  }
  [data-theme="modern"] .nieuwsbrief__text {
    flex: none;
    padding: 28px 24px;
  }
  [data-theme="modern"] .nieuwsbrief__text h2 { font-size: 1.4rem; }
  [data-theme="modern"] .nieuwsbrief__form { padding: 24px; }
}

/* ══════════════════════════════════════════════════════════════
   THEME: SHOWCASE
   Portfolio-style layout. Asymmetric treatment grid (first card
   hero-sized), horizontal scrolling gallery, 2-column FAQ,
   horizontal team cards, full-bleed newsletter. Fully customizable
   via Huisstijl — uses CSS variables, never overrides them.
   ══════════════════════════════════════════════════════════════ */
[data-theme="showcase"] {
  --font-heading: 'Poppins', -apple-system, sans-serif;
  --font-body: 'Inter', -apple-system, sans-serif;
  --radius: 10px;
  --radius-sm: 6px;
  --shadow: 0 2px 12px rgba(0,0,0,0.05);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.1);
}

/* Remove organic decorations */
[data-theme="showcase"] .wave-divider { display: none; }
[data-theme="showcase"] .blob-decorator { display: none; }
[data-theme="showcase"] .float-icon { display: none; }
[data-theme="showcase"] .hero__accent { display: none; }

/* Section spacing */
[data-theme="showcase"] .behandelingen,
[data-theme="showcase"] .galerij,
[data-theme="showcase"] .prijslijst,
[data-theme="showcase"] .team,
[data-theme="showcase"] .over-ons,
[data-theme="showcase"] .reviews,
[data-theme="showcase"] .acties,
[data-theme="showcase"] .faq,
[data-theme="showcase"] .nieuwsbrief { padding: 100px 0; }

/* Subtle separator lines between sections */
[data-theme="showcase"] .behandelingen,
[data-theme="showcase"] .prijslijst,
[data-theme="showcase"] .team,
[data-theme="showcase"] .over-ons,
[data-theme="showcase"] .faq,
[data-theme="showcase"] .nieuwsbrief { border-top: 1px solid var(--clr-border); }

/* Alternating backgrounds */
[data-theme="showcase"] .galerij,
[data-theme="showcase"] .reviews { background: var(--clr-dark); color: #fff; }
[data-theme="showcase"] .galerij h2,
[data-theme="showcase"] .reviews h2 { color: #fff; }
[data-theme="showcase"] .galerij .section-tag,
[data-theme="showcase"] .reviews .section-tag { color: var(--clr-gold); }
[data-theme="showcase"] .galerij .section-sub,
[data-theme="showcase"] .reviews .section-sub { color: rgba(255,255,255,0.6); }

/* Typography */
[data-theme="showcase"] h2 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.8rem;
  letter-spacing: -0.03em;
  line-height: 1.1;
  text-align: center;
}
[data-theme="showcase"] .section-tag {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--clr-gold-dark);
  background: none;
  font-style: normal;
}
[data-theme="showcase"] .section-tag--light { color: var(--clr-gold); background: none; }
[data-theme="showcase"] .section-line { display: none; }
[data-theme="showcase"] .section-sub { text-align: center; }

/* Header */
[data-theme="showcase"] .header {
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  box-shadow: none;
}

/* Hero: full viewport, bottom-aligned content */
[data-theme="showcase"] .hero { min-height: 100vh; }
[data-theme="showcase"] .hero__overlay {
  background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.7) 100%);
}
[data-theme="showcase"] .hero__inner {
  justify-content: flex-end;
  padding-bottom: 80px;
}
[data-theme="showcase"] .hero h1 {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 4.5rem;
  letter-spacing: -0.04em;
  line-height: 1.0;
  font-style: normal;
}
[data-theme="showcase"] .hero__tagline {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  letter-spacing: 0.25em;
  font-size: 0.72rem;
  font-style: normal;
}
[data-theme="showcase"] .hero__desc {
  max-width: 500px;
}

/* Buttons */
[data-theme="showcase"] .btn {
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  letter-spacing: 0.02em;
}
[data-theme="showcase"] .btn--primary {
  background: var(--clr-gold);
  color: #fff;
}
[data-theme="showcase"] .btn--primary:hover {
  background: var(--clr-gold-dark);
}

/* ── LAYOUT: Image-overlay treatment cards ── */
[data-theme="showcase"] .behandelingen__grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
[data-theme="showcase"] .behandeling-card {
  position: relative;
  border-radius: var(--radius);
  border: none;
  overflow: hidden;
  background: var(--clr-dark);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: var(--shadow);
}
[data-theme="showcase"] .behandeling-card__img {
  aspect-ratio: 3 / 4;
}
[data-theme="showcase"] .behandeling-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
[data-theme="showcase"] .behandeling-card:hover .behandeling-card__img img {
  transform: scale(1.06);
  opacity: 0.8;
}
[data-theme="showcase"] .behandeling-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
[data-theme="showcase"] .behandeling-card__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 48px 18px 18px;
  background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
  color: #fff;
}
[data-theme="showcase"] .behandeling-card__body h3 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1.05rem;
  color: #fff;
}
[data-theme="showcase"] .behandeling-card__body p {
  font-size: 0.82rem;
  margin-top: 4px;
  color: rgba(255,255,255,0.8);
  line-height: 1.4;
}
[data-theme="showcase"] .behandeling-card__price {
  color: var(--clr-gold);
  font-weight: 700;
  font-size: 0.9rem;
}

/* ── LAYOUT: Horizontal scrolling gallery ── */
[data-theme="showcase"] .galerij__grid {
  columns: unset;
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
  margin-left: -24px;
  margin-right: -24px;
  padding-left: 24px;
  padding-right: 24px;
}
[data-theme="showcase"] .galerij__item {
  flex: 0 0 320px;
  scroll-snap-align: start;
  aspect-ratio: 3 / 4;
  border-radius: var(--radius);
}
/* Hide scrollbar */
[data-theme="showcase"] .galerij__grid::-webkit-scrollbar { height: 4px; }
[data-theme="showcase"] .galerij__grid::-webkit-scrollbar-track { background: transparent; }
[data-theme="showcase"] .galerij__grid::-webkit-scrollbar-thumb {
  background: var(--clr-gold);
  border-radius: 4px;
}

/* ── LAYOUT: Pricing with accent tabs ── */
[data-theme="showcase"] .prijslijst__tab {
  border-radius: 8px;
  padding: 10px 22px;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  border: 2px solid var(--clr-border);
  background: transparent;
  transition: all 0.2s ease;
}
[data-theme="showcase"] .prijslijst__tab.active {
  background: var(--clr-dark);
  color: #fff;
  border-color: var(--clr-dark);
}
[data-theme="showcase"] .prijs-row {
  border-radius: 8px;
  transition: background 0.15s ease;
}
[data-theme="showcase"] .prijs-row:hover {
  background: var(--clr-light);
}
[data-theme="showcase"] .prijs-row .prijs-naam { font-weight: 600; }

/* ── LAYOUT: Horizontal team cards ── */
[data-theme="showcase"] .team__grid {
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
[data-theme="showcase"] .team__card {
  display: grid;
  grid-template-columns: 180px 1fr;
  text-align: left;
  border-radius: var(--radius);
  border: 1px solid var(--clr-border);
  box-shadow: var(--shadow);
  overflow: hidden;
  background: #fff;
}
[data-theme="showcase"] .team__card-img {
  aspect-ratio: 1;
  height: 100%;
}
[data-theme="showcase"] .team__card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
[data-theme="showcase"] .team__card-body {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
[data-theme="showcase"] .team__card-body h3 {
  font-family: 'Poppins', sans-serif;
  font-size: 1.15rem;
  margin-bottom: 4px;
}
[data-theme="showcase"] .team__card-role {
  color: var(--clr-gold-dark);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

/* ── LAYOUT: Over Ons ── */
[data-theme="showcase"] .over-ons h2 { text-align: left; }

/* ── LAYOUT: 2-column FAQ grid ── */
[data-theme="showcase"] .faq__list {
  max-width: 900px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
[data-theme="showcase"] .faq__item {
  border-radius: var(--radius);
  border: 1px solid var(--clr-border);
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.03);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
[data-theme="showcase"] .faq__item summary {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.92rem;
}
[data-theme="showcase"] .faq__item[open] {
  border-color: var(--clr-gold);
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}

/* ── LAYOUT: Promo cards ── */
[data-theme="showcase"] .actie-card {
  border-radius: var(--radius);
  border: 1px solid var(--clr-border);
  box-shadow: var(--shadow);
  background: #fff;
}
[data-theme="showcase"] .actie-card__badge { border-radius: 6px; }
[data-theme="showcase"] .actie-card__icon { color: var(--clr-gold); }

/* ── LAYOUT: Full-bleed newsletter ── */
[data-theme="showcase"] .nieuwsbrief {
  background: var(--clr-dark);
  border-top: none;
}
[data-theme="showcase"] .nieuwsbrief__inner {
  max-width: 700px;
  text-align: center;
  padding: 0;
}
[data-theme="showcase"] .nieuwsbrief__text h2 {
  color: #fff;
  text-align: center;
  font-size: 2.2rem;
}
[data-theme="showcase"] .nieuwsbrief__text .section-tag {
  color: var(--clr-gold);
}
[data-theme="showcase"] .nieuwsbrief__text p {
  color: rgba(255,255,255,0.6);
}
[data-theme="showcase"] .nieuwsbrief__form { text-align: center; }
[data-theme="showcase"] .nieuwsbrief__input-row {
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
}
[data-theme="showcase"] .nieuwsbrief__input-row input[type="email"] {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  border-radius: 8px;
}
[data-theme="showcase"] .nieuwsbrief__input-row input[type="email"]::placeholder {
  color: rgba(255,255,255,0.4);
}
[data-theme="showcase"] .nieuwsbrief__input-row input[type="email"]:focus {
  border-color: var(--clr-gold);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--clr-gold) 20%, transparent);
}
[data-theme="showcase"] .nieuwsbrief__input-row button {
  border-radius: 8px;
}
[data-theme="showcase"] .nieuwsbrief__consent {
  color: rgba(255,255,255,0.5);
  justify-content: center;
  text-align: center;
}
[data-theme="showcase"] .nieuwsbrief__consent input[type="checkbox"] {
  accent-color: var(--clr-gold);
}
[data-theme="showcase"] .nieuwsbrief__privacy {
  color: rgba(255,255,255,0.35);
  text-align: center;
}

/* ── About features ── */
[data-theme="showcase"] .feature {
  border-radius: var(--radius);
  border: 1px solid var(--clr-border);
  box-shadow: var(--shadow);
}

/* Contact */
[data-theme="showcase"] .contact { background: var(--clr-navy); }
[data-theme="showcase"] .contact__detail {
  border-color: rgba(255,255,255,0.1);
}
[data-theme="showcase"] .contact__detail-icon {
  background: color-mix(in srgb, var(--clr-gold) 20%, transparent);
  border-radius: 8px;
}

/* Status */
[data-theme="showcase"] .status-badge { border-radius: 8px; font-weight: 700; }
[data-theme="showcase"] #open-status { border-radius: 8px; }

/* Reviews */
[data-theme="showcase"] .reviews .review-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius);
}
[data-theme="showcase"] .reviews .review-card p { color: rgba(255,255,255,0.8); }
[data-theme="showcase"] .reviews .review-card strong { color: #fff; }
[data-theme="showcase"] .reviews__nav {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
}
[data-theme="showcase"] .reviews__nav:hover {
  background: rgba(255,255,255,0.2);
}
[data-theme="showcase"] .reviews__dots span {
  background: rgba(255,255,255,0.3);
}
[data-theme="showcase"] .reviews__dots span.active {
  background: var(--clr-gold);
}

/* ── Mobile ── */
@media (max-width: 1024px) {
  [data-theme="showcase"] h2 { font-size: 2.2rem; }
}
@media (max-width: 768px) {
  [data-theme="showcase"] .hero h1 { font-size: 2.8rem; }
  [data-theme="showcase"] h2 { font-size: 1.8rem; }
  [data-theme="showcase"] .behandelingen,
  [data-theme="showcase"] .galerij,
  [data-theme="showcase"] .prijslijst,
  [data-theme="showcase"] .team,
  [data-theme="showcase"] .over-ons,
  [data-theme="showcase"] .reviews,
  [data-theme="showcase"] .acties,
  [data-theme="showcase"] .faq,
  [data-theme="showcase"] .nieuwsbrief { padding: 64px 0; }
  [data-theme="showcase"] .behandelingen__grid {
    grid-template-columns: 1fr 1fr;
  }
  [data-theme="showcase"] .faq__list {
    grid-template-columns: 1fr;
  }
  [data-theme="showcase"] .team__card {
    grid-template-columns: 120px 1fr;
  }
  [data-theme="showcase"] .galerij__item {
    flex: 0 0 260px;
  }
  [data-theme="showcase"] .nieuwsbrief__text h2 { font-size: 1.6rem; }
  [data-theme="showcase"] .hero__inner { padding-bottom: 60px; }
}

/* ══════════════════════════════════════════════════════════════
   THEME 1: BRUTALIST
   Industrial, raw, high-contrast. Zero decoration. Thick borders.
   Monospace labels. Black sections. Oversized typography.
   ══════════════════════════════════════════════════════════════ */
[data-theme="brutalist"] {
  --clr-gold: #ff4d00;
  --clr-gold-dark: #cc3d00;
  --clr-gold-light: #ffe0d0;
  --clr-cream: #f2f2f2;
  --clr-beige: #e5e5e5;
  --clr-brown: #ff4d00;
  --clr-brown-text: #111;
  --clr-dark: #000;
  --clr-navy: #000;
  --clr-text: #222;
  --clr-muted: #666;
  --clr-light: #f5f5f5;
  --clr-white: #fff;
  --clr-border: #000;
  --font-heading: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --font-body: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow: none;
  --shadow-lg: none;
}

/* Brutalist: kill ALL decoration */
[data-theme="brutalist"] .wave-divider { display: none; }
[data-theme="brutalist"] .blob-decorator { display: none; }
[data-theme="brutalist"] .float-icon { display: none; }
[data-theme="brutalist"] .section-line { display: none; }

/* Brutalist: Header — stark, black bottom line */
[data-theme="brutalist"] .header { background: #fff; backdrop-filter: none; border-bottom: 3px solid #000; }
[data-theme="brutalist"] .header--scrolled { box-shadow: none; border-bottom: 3px solid #000; }
[data-theme="brutalist"] .header__nav > a { text-transform: uppercase; font-size: 0.78rem; letter-spacing: 0.1em; font-weight: 700; }
[data-theme="brutalist"] .header__more-btn { text-transform: uppercase; font-size: 0.78rem; letter-spacing: 0.1em; font-weight: 700; }
[data-theme="brutalist"] .header__spaarkaart { border-radius: 0; border: 2px solid #000; color: #000; font-weight: 700; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.08em; }
[data-theme="brutalist"] .header__spaarkaart:hover { background: #000; color: #fff; }
[data-theme="brutalist"] .header__dropdown { border-radius: 0; border: 2px solid #000; }

/* Brutalist: Buttons — sharp, black, industrial */
[data-theme="brutalist"] .btn { border-radius: 0; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.82rem; border: 3px solid #000; }
[data-theme="brutalist"] .btn--primary { background: #000; color: #fff; border-color: #000; }
[data-theme="brutalist"] .btn--primary:hover { background: #ff4d00; color: #000; border-color: #000; transform: none; box-shadow: 6px 6px 0 #000; }
[data-theme="brutalist"] .btn--outline { background: #fff; color: #000; border-color: #000; }
[data-theme="brutalist"] .btn--outline:hover { background: #000; color: #fff; box-shadow: 6px 6px 0 #ff4d00; }
[data-theme="brutalist"] .btn--ghost { background: transparent; color: #fff; border: 3px solid #fff; }
[data-theme="brutalist"] .btn--ghost:hover { background: #fff; color: #000; box-shadow: 6px 6px 0 rgba(255,255,255,0.3); }

/* Brutalist: Section tags — monospace-style */
[data-theme="brutalist"] .section-tag { text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.7rem; font-weight: 800; color: #ff4d00; font-family: 'DM Sans', monospace; background: #000; color: #ff4d00; display: inline-block; padding: 4px 12px; }
[data-theme="brutalist"] .section-tag--light { background: #ff4d00; color: #000; }

/* Brutalist: h2 — oversized, black */
[data-theme="brutalist"] h2 { font-weight: 900; letter-spacing: -0.04em; font-size: 3rem; text-transform: uppercase; }

/* Brutalist: Hero — extreme contrast */
[data-theme="brutalist"] .hero__overlay { background: rgba(0,0,0,0.7); }
[data-theme="brutalist"] .hero h1 { font-weight: 900; font-size: 5rem; letter-spacing: -0.05em; text-transform: uppercase; line-height: 0.95; }
[data-theme="brutalist"] .hero__accent { color: #ff4d00; font-style: normal; }
[data-theme="brutalist"] .hero__accent::after { display: none; }
[data-theme="brutalist"] .hero__tagline { font-weight: 800; letter-spacing: 0.25em; color: #ff4d00; }
[data-theme="brutalist"] .hero__desc { color: rgba(255,255,255,0.7); font-weight: 400; }

/* Brutalist: Alternating black/white sections */
[data-theme="brutalist"] .behandelingen { background: #fff; border-top: 3px solid #000; border-bottom: 3px solid #000; }
[data-theme="brutalist"] .galerij { background: #000; color: #fff; border-bottom: 3px solid #ff4d00; }
[data-theme="brutalist"] .galerij h2, [data-theme="brutalist"] .galerij .section-tag { color: #fff; }
[data-theme="brutalist"] .galerij .section-sub { color: rgba(255,255,255,0.6); }
[data-theme="brutalist"] .prijslijst { background: #f5f5f5; border-bottom: 3px solid #000; }
[data-theme="brutalist"] .team { background: #000; color: #fff; border-bottom: 3px solid #ff4d00; }
[data-theme="brutalist"] .team h2, [data-theme="brutalist"] .team .section-tag { color: #fff; }
[data-theme="brutalist"] .team .section-sub { color: rgba(255,255,255,0.6); }
[data-theme="brutalist"] .over-ons { border-bottom: 3px solid #000; }
[data-theme="brutalist"] .reviews { background: #f5f5f5; border-bottom: 3px solid #000; }
[data-theme="brutalist"] .acties { background: #000; color: #fff; border-bottom: 3px solid #ff4d00; }
[data-theme="brutalist"] .acties h2, [data-theme="brutalist"] .acties .section-tag { color: #fff; }
[data-theme="brutalist"] .acties .section-sub { color: rgba(255,255,255,0.6); }
[data-theme="brutalist"] .faq { border-bottom: 3px solid #000; }
[data-theme="brutalist"] .nieuwsbrief { background: #ff4d00; border-bottom: 3px solid #000; }
[data-theme="brutalist"] .nieuwsbrief h2 { color: #000; }
[data-theme="brutalist"] .nieuwsbrief .section-tag { background: #000; color: #ff4d00; }
[data-theme="brutalist"] .nieuwsbrief p, [data-theme="brutalist"] .nieuwsbrief label { color: #000; }
[data-theme="brutalist"] .contact { background: #000; }

/* Brutalist: Cards — thick borders, no shadow, brutal hover */
[data-theme="brutalist"] .behandeling-card { border: 3px solid #000; border-radius: 0; background: #fff; }
[data-theme="brutalist"] .behandeling-card:hover { transform: none; box-shadow: 8px 8px 0 #000; border-color: #000; }
[data-theme="brutalist"] .behandeling-card__img { border-radius: 0; }
[data-theme="brutalist"] .behandeling-card__price { color: #c43800; font-weight: 900; }

[data-theme="brutalist"] .team__card { border: 3px solid #fff; border-radius: 0; background: transparent; }
[data-theme="brutalist"] .team__card:hover { box-shadow: 8px 8px 0 #ff4d00; }
[data-theme="brutalist"] .team__card h3 { color: #fff; }
[data-theme="brutalist"] .team__card-role { color: #ff4d00; }
[data-theme="brutalist"] .team__card-bio { color: rgba(255,255,255,0.7); }
[data-theme="brutalist"] .team__card-img { border-radius: 0; }

[data-theme="brutalist"] .actie-card { background: transparent; border: 3px solid #fff; border-radius: 0; backdrop-filter: none; }
[data-theme="brutalist"] .actie-card:hover { background: transparent; border-color: #ff4d00; box-shadow: 8px 8px 0 #ff4d00; }
[data-theme="brutalist"] .actie-card h3 { color: #fff; }
[data-theme="brutalist"] .actie-card p { color: rgba(255,255,255,0.7); }
[data-theme="brutalist"] .actie-card__badge { background: #ff4d00; color: #000; border-radius: 0; animation: none; font-weight: 800; }
[data-theme="brutalist"] .actie-card__icon { color: #ff4d00; }

[data-theme="brutalist"] .review-card { border: 3px solid #000; border-radius: 0; background: #fff; backdrop-filter: none; }
[data-theme="brutalist"] .review-card:hover { box-shadow: 6px 6px 0 #000; }

[data-theme="brutalist"] .faq__item { border: 3px solid #000; border-radius: 0; background: #fff; }
[data-theme="brutalist"] .faq__item:hover { border-color: #ff4d00; }
[data-theme="brutalist"] .faq__item summary { font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; }

[data-theme="brutalist"] .prijs-table { border: 3px solid #000; border-radius: 0; }
[data-theme="brutalist"] .prijslijst__tab { border-radius: 0; border: 2px solid #000; }
[data-theme="brutalist"] .prijslijst__tab.active { background: #000; color: #fff; }

[data-theme="brutalist"] .feature { border: 3px solid #000; border-radius: 0; }
[data-theme="brutalist"] .feature:hover { box-shadow: 6px 6px 0 #000; border-color: #000; }
[data-theme="brutalist"] .feature__icon { background: #000; border-radius: 0; }
[data-theme="brutalist"] .feature__icon svg { color: #ff4d00; }

[data-theme="brutalist"] .galerij__item { border-radius: 0; border: 3px solid #fff; }
[data-theme="brutalist"] .galerij__item:hover { box-shadow: 6px 6px 0 #ff4d00; }

[data-theme="brutalist"] .nieuwsbrief__input { border-radius: 0; border: 3px solid #000; }
[data-theme="brutalist"] .nieuwsbrief__input:focus { border-color: #000; }
[data-theme="brutalist"] .contact__map-frame { border-radius: 0; border: 3px solid #fff; }

/* Brutalist: Gallery — standard grid, no masonry */
[data-theme="brutalist"] .galerij__grid { columns: unset; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
[data-theme="brutalist"] .galerij__item { aspect-ratio: 1 !important; margin-bottom: 0; }

/* Brutalist: Status badge */
[data-theme="brutalist"] .status-badge { border-radius: 0; border: 2px solid currentColor; font-weight: 700; text-transform: uppercase; font-size: 0.7rem; letter-spacing: 0.05em; }
[data-theme="brutalist"] .status-dot { border-radius: 0; width: 8px; height: 8px; }

/* Brutalist: Contact details */
[data-theme="brutalist"] .contact__detail { border-color: rgba(255,255,255,0.2); }
[data-theme="brutalist"] .contact__detail-icon { background: #ff4d00; border-radius: 0; }

/* Brutalist: Footer */
[data-theme="brutalist"] .footer { background: #000; border-top: 3px solid #ff4d00; }

/* Brutalist: Responsive */
@media (max-width: 768px) {
  [data-theme="brutalist"] .hero h1 { font-size: 2.8rem; }
  [data-theme="brutalist"] h2 { font-size: 2rem; }
  [data-theme="brutalist"] .galerij__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ══════════════════════════════════════════════════════════════
   THEME 2: SOFT AURORA
   Dreamy glassmorphism. Animated gradient background. Floating
   cards. Colored shadows. Everything blurs and glows.
   ══════════════════════════════════════════════════════════════ */
[data-theme="soft-aurora"] {
  --clr-gold: #8b5cf6;
  --clr-gold-dark: #7c3aed;
  --clr-gold-light: #ede9fe;
  --clr-cream: #faf5ff;
  --clr-beige: #ede9fe;
  --clr-brown: #ec4899;
  --clr-brown-text: #3b0764;
  --clr-dark: #1e1040;
  --clr-navy: #1e1040;
  --clr-text: #4c1d95;
  --clr-muted: #6d28d9;
  --clr-light: #faf8ff;
  --clr-white: #fff;
  --clr-border: rgba(139,92,246,0.12);
  --font-heading: 'Poppins', -apple-system, sans-serif;
  --font-body: 'Inter', -apple-system, sans-serif;
  --radius: 28px;
  --radius-sm: 18px;
  --shadow: 0 8px 32px rgba(139,92,246,0.08);
  --shadow-lg: 0 20px 60px rgba(139,92,246,0.15);
}

/* Aurora: Animated gradient body background */
@keyframes aurora-shift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
[data-theme="soft-aurora"] body {
  background: linear-gradient(-45deg, #faf8ff, #ede9fe, #fce7f3, #e0e7ff, #faf8ff);
  background-size: 400% 400%;
  animation: aurora-shift 20s ease infinite;
}

/* Aurora: Wave dividers become gradient fades */
[data-theme="soft-aurora"] .wave-divider { display: none; }
[data-theme="soft-aurora"] .blob-decorator { opacity: 0.2; filter: blur(100px); }
[data-theme="soft-aurora"] .float-icon { color: var(--clr-gold); opacity: 0.12; }

/* Aurora: Blobs recolored */
[data-theme="soft-aurora"] .behandelingen .blob-decorator { background: radial-gradient(circle, #8b5cf6 0%, transparent 70%); }
[data-theme="soft-aurora"] .team .blob-decorator { background: radial-gradient(circle, #ec4899 0%, transparent 70%); }
[data-theme="soft-aurora"] .faq .blob-decorator { background: radial-gradient(circle, #06b6d4 0%, transparent 70%); }
[data-theme="soft-aurora"] .acties .blob-decorator { background: radial-gradient(circle, #f59e0b 0%, transparent 70%); }
[data-theme="soft-aurora"] .galerij .blob-decorator { background: radial-gradient(circle, #ec4899 0%, transparent 70%); }

/* Aurora: Header — frosted glass, floating */
[data-theme="soft-aurora"] .header { background: rgba(255,255,255,0.6); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-bottom: 1px solid rgba(139,92,246,0.08); }
[data-theme="soft-aurora"] .header--scrolled { box-shadow: 0 4px 30px rgba(139,92,246,0.08); border-bottom-color: rgba(139,92,246,0.12); }
[data-theme="soft-aurora"] .header__dropdown { border-radius: 20px; background: rgba(255,255,255,0.8); backdrop-filter: blur(20px); border: 1px solid rgba(139,92,246,0.1); }

/* Aurora: Buttons — gradient pill with glow */
[data-theme="soft-aurora"] .btn { border-radius: 50px; }
[data-theme="soft-aurora"] .btn--primary { background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; border: none; }
[data-theme="soft-aurora"] .btn--primary:hover { box-shadow: 0 8px 30px rgba(139,92,246,0.35); transform: translateY(-3px); }
[data-theme="soft-aurora"] .btn--ghost { border: 2px solid rgba(255,255,255,0.5); backdrop-filter: blur(8px); }
[data-theme="soft-aurora"] .btn--ghost:hover { background: rgba(255,255,255,0.9); color: var(--clr-dark); border-color: rgba(255,255,255,0.8); }
[data-theme="soft-aurora"] .btn--outline { border: 2px solid rgba(139,92,246,0.3); color: var(--clr-gold); }
[data-theme="soft-aurora"] .btn--outline:hover { background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; border-color: transparent; }
[data-theme="soft-aurora"] .header__spaarkaart { border-color: rgba(139,92,246,0.3); color: var(--clr-gold); }
[data-theme="soft-aurora"] .header__spaarkaart:hover { background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; border-color: transparent; }

/* Aurora: Section tags — darken for contrast on light bg */
[data-theme="soft-aurora"] .section-tag { color: #6d28d9; }

/* Aurora: Section line — gradient */
[data-theme="soft-aurora"] .section-line { background: linear-gradient(90deg, #8b5cf6, #ec4899, #06b6d4, #ec4899, #8b5cf6); background-size: 200% 100%; animation: gold-shimmer 5s ease-in-out infinite; }

/* Aurora: Section styling — transparent, glass-heavy */
[data-theme="soft-aurora"] .behandelingen { background: transparent; }
[data-theme="soft-aurora"] .prijslijst { background: rgba(255,255,255,0.4); backdrop-filter: blur(8px); }
[data-theme="soft-aurora"] .galerij { background: transparent; }
[data-theme="soft-aurora"] .team { background: transparent; }
[data-theme="soft-aurora"] .over-ons { background: transparent; }
[data-theme="soft-aurora"] .reviews { background: rgba(255,255,255,0.3); backdrop-filter: blur(8px); }
[data-theme="soft-aurora"] .faq { background: transparent; }
[data-theme="soft-aurora"] .acties { background: transparent; }
[data-theme="soft-aurora"] .nieuwsbrief { background: rgba(139,92,246,0.06); backdrop-filter: blur(8px); border: 1px solid rgba(139,92,246,0.08); }
[data-theme="soft-aurora"] .contact { background: linear-gradient(135deg, #1e1040, #2d1060); }

/* Aurora: Hero — dreamy gradient overlay */
[data-theme="soft-aurora"] .hero__overlay { background: linear-gradient(135deg, rgba(30,16,64,0.7) 0%, rgba(100,30,80,0.4) 50%, rgba(6,60,90,0.3) 100%); }
[data-theme="soft-aurora"] .hero__accent { color: #c084fc; }
[data-theme="soft-aurora"] .hero__accent::after { background: rgba(139,92,246,0.25); }
[data-theme="soft-aurora"] .hero__tagline { color: #c084fc; }
[data-theme="soft-aurora"] h2 { font-weight: 700; }

/* Aurora: Cards — frosted glass with colored shadows */
[data-theme="soft-aurora"] .behandeling-card { background: rgba(255,255,255,0.7); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(139,92,246,0.08); border-radius: 28px; }
[data-theme="soft-aurora"] .behandeling-card:hover { box-shadow: 0 16px 48px rgba(139,92,246,0.15); transform: translateY(-8px); border-color: rgba(139,92,246,0.2); }
[data-theme="soft-aurora"] .behandeling-card__img { border-radius: 28px 28px 0 0; }
[data-theme="soft-aurora"] .behandeling-card__price { color: var(--clr-gold); background: linear-gradient(135deg, #8b5cf6, #ec4899); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: 800; }

[data-theme="soft-aurora"] .team__card { background: rgba(255,255,255,0.6); backdrop-filter: blur(16px); border: 1px solid rgba(236,72,153,0.08); border-radius: 28px; }
[data-theme="soft-aurora"] .team__card:hover { box-shadow: 0 16px 48px rgba(236,72,153,0.12); transform: translateY(-8px); }
[data-theme="soft-aurora"] .team__card-img { border-radius: 28px 28px 0 0; }
[data-theme="soft-aurora"] .team__card-role { color: var(--clr-gold); }

[data-theme="soft-aurora"] .actie-card { background: rgba(255,255,255,0.5); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(139,92,246,0.1); border-radius: 28px; }
[data-theme="soft-aurora"] .actie-card:hover { background: rgba(255,255,255,0.7); box-shadow: 0 16px 48px rgba(139,92,246,0.12); border-color: rgba(139,92,246,0.25); }
[data-theme="soft-aurora"] .actie-card__badge { background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; border-radius: 50px; animation: none; }
[data-theme="soft-aurora"] .actie-card__icon { color: var(--clr-gold); }

[data-theme="soft-aurora"] .review-card { background: rgba(255,255,255,0.6); backdrop-filter: blur(16px); border: 1px solid rgba(139,92,246,0.08); border-radius: 24px; }

[data-theme="soft-aurora"] .faq__item { background: rgba(255,255,255,0.6); backdrop-filter: blur(12px); border: 1px solid rgba(139,92,246,0.08); border-radius: 24px; }
[data-theme="soft-aurora"] .faq__item:hover { border-color: rgba(139,92,246,0.2); box-shadow: 0 8px 24px rgba(139,92,246,0.08); }
[data-theme="soft-aurora"] .faq__item summary::after { color: var(--clr-gold); }

[data-theme="soft-aurora"] .prijs-table { background: rgba(255,255,255,0.7); backdrop-filter: blur(12px); border: 1px solid rgba(139,92,246,0.08); border-radius: 24px; }
[data-theme="soft-aurora"] .prijslijst__tab { border-radius: 50px; }
[data-theme="soft-aurora"] .prijslijst__tab.active { background: linear-gradient(135deg, #8b5cf6, #ec4899); color: #fff; }

[data-theme="soft-aurora"] .feature { background: rgba(255,255,255,0.6); backdrop-filter: blur(12px); border: 1px solid rgba(139,92,246,0.08); border-radius: 24px; }
[data-theme="soft-aurora"] .feature:hover { box-shadow: 0 8px 30px rgba(139,92,246,0.1); border-color: rgba(139,92,246,0.2); }
[data-theme="soft-aurora"] .feature__icon { background: linear-gradient(135deg, #ede9fe, #fce7f3); }

[data-theme="soft-aurora"] .galerij__item { border-radius: 24px; }
[data-theme="soft-aurora"] .galerij__item:hover { box-shadow: 0 12px 40px rgba(139,92,246,0.15); }

[data-theme="soft-aurora"] .nieuwsbrief__input { border-radius: 50px; border: 1px solid rgba(139,92,246,0.15); background: rgba(255,255,255,0.8); }
[data-theme="soft-aurora"] .nieuwsbrief__input:focus { border-color: var(--clr-gold); box-shadow: 0 0 0 4px rgba(139,92,246,0.1); }
[data-theme="soft-aurora"] .contact__map-frame { border-radius: 28px; }
[data-theme="soft-aurora"] .footer { background: #1e1040; }

/* Aurora: Gallery — relaxed grid with large gaps */
[data-theme="soft-aurora"] .galerij__grid { column-gap: 20px; }
[data-theme="soft-aurora"] .galerij__item { margin-bottom: 20px; }

/* Aurora: Status badge — gradient pill */
[data-theme="soft-aurora"] .status-badge { border-radius: 50px; background: rgba(139,92,246,0.08); backdrop-filter: blur(8px); }
[data-theme="soft-aurora"] .status-badge--open .status-dot { background: #8b5cf6; box-shadow: 0 0 8px rgba(139,92,246,0.5); }

/* Aurora: Contact details — glass */
[data-theme="soft-aurora"] .contact__detail { border-color: rgba(255,255,255,0.15); }
[data-theme="soft-aurora"] .contact__detail-icon { background: linear-gradient(135deg, #8b5cf6, #ec4899); border-radius: 50%; }

/* Aurora: Increase card opacity for readability */
[data-theme="soft-aurora"] .actie-card { background: rgba(255,255,255,0.65); }
[data-theme="soft-aurora"] .team__card { background: rgba(255,255,255,0.7); }

/* Aurora: Responsive */
@media (max-width: 768px) {
  [data-theme="soft-aurora"] .behandeling-card { backdrop-filter: blur(8px); }
}

/* ══════════════════════════════════════════════════════════════
   THEME 3: EDITORIAL
   Magazine-inspired. Large serif type. Thin hairline borders.
   Asymmetric layouts. Muted earth tones. Photo-centric.
   Horizontal cards. Elegant and editorial.
   ══════════════════════════════════════════════════════════════ */
[data-theme="editorial"] {
  --clr-gold: #756040;
  --clr-gold-dark: #5c4a30;
  --clr-gold-light: #e8dfd4;
  --clr-cream: #f5f0e8;
  --clr-beige: #e8dfd4;
  --clr-brown: #8a7050;
  --clr-brown-text: #3d3428;
  --clr-dark: #1a1610;
  --clr-navy: #1a1610;
  --clr-text: #3d3428;
  --clr-muted: #6b6050;
  --clr-light: #f8f5f0;
  --clr-white: #fdfcf9;
  --clr-border: #d4cec2;
  --font-heading: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body: 'DM Sans', -apple-system, sans-serif;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow: 0 2px 12px rgba(0,0,0,0.04);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.06);
}

/* Editorial: kill heavy decorations, keep subtle ones */
[data-theme="editorial"] .wave-divider { display: none; }
[data-theme="editorial"] .blob-decorator { display: none; }
[data-theme="editorial"] .float-icon { display: none; }

/* Editorial: Section line — thin, elegant */
[data-theme="editorial"] .section-line { width: 80px; height: 1px; background: var(--clr-border); animation: none; border-radius: 0; }

/* Editorial: Header — minimal, airy */
[data-theme="editorial"] .header { background: rgba(253,252,249,0.95); backdrop-filter: blur(8px); }
[data-theme="editorial"] .header--scrolled { border-bottom: 1px solid var(--clr-border); box-shadow: none; }
[data-theme="editorial"] .header__nav > a { font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 500; }
[data-theme="editorial"] .header__more-btn { font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 500; }
[data-theme="editorial"] .header__dropdown { border-radius: 0; border: 1px solid var(--clr-border); }
[data-theme="editorial"] .header__spaarkaart { border-radius: 0; border: 1px solid var(--clr-dark); color: var(--clr-dark); text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.08em; }
[data-theme="editorial"] .header__spaarkaart:hover { background: var(--clr-dark); color: var(--clr-white); }

/* Editorial: Buttons — understated, borderless primary */
[data-theme="editorial"] .btn { border-radius: 0; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.8rem; }
[data-theme="editorial"] .btn--primary { background: var(--clr-gold); color: var(--clr-white); }
[data-theme="editorial"] .btn--primary:hover { background: var(--clr-gold-dark); transform: none; box-shadow: none; }
[data-theme="editorial"] .btn--ghost { border: 1px solid rgba(255,255,255,0.4); background: transparent; }
[data-theme="editorial"] .btn--ghost:hover { background: var(--clr-white); color: var(--clr-dark); }

/* Editorial: Typography — oversized italic serifs */
[data-theme="editorial"] h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; font-size: 3.2rem; font-style: italic; letter-spacing: -0.01em; line-height: 1.15; }
[data-theme="editorial"] .section-tag { font-family: 'DM Sans', sans-serif; text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.68rem; font-weight: 500; color: var(--clr-muted); }
[data-theme="editorial"] .section-sub { font-style: italic; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.15rem; color: var(--clr-muted); }

/* Editorial: Hero — cinematic, editorial overlay */
[data-theme="editorial"] .hero { min-height: 100vh; }
[data-theme="editorial"] .hero__overlay { background: linear-gradient(to right, rgba(26,22,16,0.85) 0%, rgba(26,22,16,0.4) 60%, transparent 100%); }
[data-theme="editorial"] .hero h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 400; font-size: 5rem; font-style: italic; letter-spacing: -0.02em; line-height: 1.0; }
[data-theme="editorial"] .hero__accent { color: var(--clr-white); font-style: italic; }
[data-theme="editorial"] .hero__accent::after { display: none; }
[data-theme="editorial"] .hero__tagline { color: var(--clr-gold-light); font-weight: 400; letter-spacing: 0.25em; font-size: 0.78rem; }
[data-theme="editorial"] .hero__desc { font-style: italic; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.25rem; color: rgba(255,255,255,0.7); line-height: 1.6; }

/* Editorial: Sections — alternating warm tones with thin dividers */
[data-theme="editorial"] .behandelingen { background: var(--clr-white); padding: 120px 0; }
[data-theme="editorial"] .galerij { background: var(--clr-light); padding: 120px 0; }
[data-theme="editorial"] .prijslijst { background: var(--clr-white); padding: 120px 0; }
[data-theme="editorial"] .team { background: var(--clr-light); padding: 120px 0; }
[data-theme="editorial"] .over-ons { background: var(--clr-white); padding: 120px 0; }
[data-theme="editorial"] .reviews { background: var(--clr-light); padding: 120px 0; }
[data-theme="editorial"] .acties { background: var(--clr-white); padding: 120px 0; }
[data-theme="editorial"] .faq { background: var(--clr-light); padding: 120px 0; }
[data-theme="editorial"] .nieuwsbrief { background: var(--clr-cream); padding: 100px 0; }
[data-theme="editorial"] .contact { background: #1b3c72; }

/* Editorial: Treatment cards — horizontal layout */
[data-theme="editorial"] .behandelingen__grid { grid-template-columns: repeat(2, 1fr); gap: 0; }
[data-theme="editorial"] .behandeling-card { flex-direction: row; border-radius: 0; border: none; border-bottom: 1px solid var(--clr-border); background: transparent; }
[data-theme="editorial"] .behandeling-card:hover { box-shadow: none; transform: none; border-color: var(--clr-gold); }
[data-theme="editorial"] .behandeling-card__img { aspect-ratio: 4/5; width: 180px; min-width: 180px; border-radius: 0; }
[data-theme="editorial"] .behandeling-card__body { padding: 28px 24px; justify-content: center; }
[data-theme="editorial"] .behandeling-card__body h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.3rem; font-weight: 500; font-style: italic; }
[data-theme="editorial"] .behandeling-card__price { font-family: 'DM Sans', sans-serif; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; }

/* Editorial: Team cards — photo emphasis, minimal text */
[data-theme="editorial"] .team__card { border-radius: 0; border: none; background: transparent; }
[data-theme="editorial"] .team__card:hover { box-shadow: none; }
[data-theme="editorial"] .team__card-img { border-radius: 0; aspect-ratio: 3/4; }
[data-theme="editorial"] .team__card h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.25rem; }

/* Editorial: Promo cards — text-forward, hairline borders */
[data-theme="editorial"] .actie-card { background: transparent; backdrop-filter: none; border: none; border-bottom: 1px solid var(--clr-border); border-radius: 0; padding-bottom: 28px; }
[data-theme="editorial"] .actie-card:hover { background: transparent; border-color: var(--clr-gold); }
[data-theme="editorial"] .actie-card h3 { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.4rem; font-weight: 400; }
[data-theme="editorial"] .actie-card__badge { background: var(--clr-dark); color: var(--clr-white); border-radius: 0; animation: none; font-family: 'DM Sans', sans-serif; font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; }
[data-theme="editorial"] .actie-card__icon { display: none; }

/* Editorial: FAQ — minimal, thin borders */
[data-theme="editorial"] .faq__item { border-radius: 0; border: none; border-bottom: 1px solid var(--clr-border); box-shadow: none; background: transparent; padding-left: 0; padding-right: 0; }
[data-theme="editorial"] .faq__item:hover { border-color: var(--clr-gold); }
[data-theme="editorial"] .faq__item summary { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.15rem; font-weight: 400; }

/* Editorial: Reviews */
[data-theme="editorial"] .review-card { border-radius: 0; border: none; border-left: 2px solid var(--clr-gold); background: transparent; backdrop-filter: none; padding-left: 24px; }
[data-theme="editorial"] .review-card__text { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 1.1rem; }

/* Editorial: Pricelist */
[data-theme="editorial"] .prijs-table { border-radius: 0; }
[data-theme="editorial"] .prijslijst__tab { border-radius: 0; border: 1px solid var(--clr-border); }
[data-theme="editorial"] .prijslijst__tab.active { background: var(--clr-dark); color: var(--clr-white); border-color: var(--clr-dark); }

/* Editorial: Features — no background box */
[data-theme="editorial"] .feature { border: none; border-radius: 0; border-bottom: 1px solid var(--clr-border); background: transparent; }
[data-theme="editorial"] .feature:hover { border-color: var(--clr-gold); box-shadow: none; }
[data-theme="editorial"] .feature__icon { background: var(--clr-cream); border-radius: 50%; }
[data-theme="editorial"] .feature__text h4 { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.1rem; }

/* Editorial: Gallery — clean, tight grid */
[data-theme="editorial"] .galerij__grid { column-gap: 8px; }
[data-theme="editorial"] .galerij__item { margin-bottom: 8px; border-radius: 0; }

/* Editorial: Newsletter */
[data-theme="editorial"] .nieuwsbrief__input { border-radius: 0; border: 1px solid var(--clr-border); }
[data-theme="editorial"] .nieuwsbrief h2 { font-size: 2.6rem; }
[data-theme="editorial"] .contact__map-frame { border-radius: 0; }
[data-theme="editorial"] .footer { background: var(--clr-dark); }

/* Editorial: Status badge */
[data-theme="editorial"] .status-badge { border-radius: 0; font-family: 'DM Sans', sans-serif; font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; }

/* Editorial: Contact details */
[data-theme="editorial"] .contact__detail-icon { background: var(--clr-gold); border-radius: 0; }

/* Editorial: Responsive — stack horizontal cards on mobile */
@media (max-width: 768px) {
  [data-theme="editorial"] .behandelingen__grid { grid-template-columns: 1fr; }
  [data-theme="editorial"] .behandeling-card { flex-direction: column; }
  [data-theme="editorial"] .behandeling-card__img { width: 100%; min-width: unset; aspect-ratio: 16/9; }
  [data-theme="editorial"] .hero h1 { font-size: 3rem; }
  [data-theme="editorial"] h2 { font-size: 2.4rem; }
  [data-theme="editorial"] .behandelingen,
  [data-theme="editorial"] .galerij,
  [data-theme="editorial"] .prijslijst,
  [data-theme="editorial"] .team,
  [data-theme="editorial"] .over-ons,
  [data-theme="editorial"] .reviews,
  [data-theme="editorial"] .acties,
  [data-theme="editorial"] .faq { padding: 80px 0; }
}

/* ══════════════════════════════════════════════════════════════
   THEME 4: NEON CYBER
   Dark futuristic. Neon glow borders. Cyan & magenta accents.
   Tech-inspired grid. Glowing cards. Pulsing section lines.
   ══════════════════════════════════════════════════════════════ */
[data-theme="neon-cyber"] {
  --clr-gold: #00e5ff;
  --clr-gold-dark: #00b8d4;
  --clr-gold-light: #0a1628;
  --clr-cream: #0e0e1a;
  --clr-beige: #12121f;
  --clr-brown: #ff2d7b;
  --clr-brown-text: #e0e0f0;
  --clr-dark: #06060c;
  --clr-navy: #06060c;
  --clr-text: #c8c8e0;
  --clr-muted: #8888a8;
  --clr-light: #0a0a14;
  --clr-white: #e0e0f0;
  --clr-border: rgba(0,229,255,0.15);
  --font-heading: 'Rajdhani', 'Inter', sans-serif;
  --font-body: 'Inter', -apple-system, sans-serif;
  --radius: 4px;
  --radius-sm: 2px;
  --shadow: 0 0 20px rgba(0,229,255,0.08);
  --shadow-lg: 0 0 40px rgba(0,229,255,0.12);
}

/* Neon: Dark body */
[data-theme="neon-cyber"] body { background: #0a0a14; color: #c8c8e0; }

/* Neon: Kill organic decorations */
[data-theme="neon-cyber"] .wave-divider { display: none; }
[data-theme="neon-cyber"] .blob-decorator { display: none; }
[data-theme="neon-cyber"] .float-icon { display: none; }

/* Neon: Section line — pulsing neon */
@keyframes neon-pulse { 0%, 100% { opacity: 0.6; box-shadow: 0 0 8px rgba(0,229,255,0.3); } 50% { opacity: 1; box-shadow: 0 0 20px rgba(0,229,255,0.6); } }
[data-theme="neon-cyber"] .section-line { width: 60px; height: 2px; background: #00e5ff; animation: neon-pulse 2s ease-in-out infinite; border-radius: 0; }

/* Neon: Header — dark glass */
[data-theme="neon-cyber"] .header { background: rgba(10,10,20,0.85); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(0,229,255,0.12); }
[data-theme="neon-cyber"] .header--scrolled { box-shadow: 0 0 30px rgba(0,229,255,0.06); }
[data-theme="neon-cyber"] .header__logo-img { filter: brightness(1.2); }
[data-theme="neon-cyber"] .header__nav > a { color: #c8c8e0; font-weight: 600; font-size: 0.82rem; letter-spacing: 0.04em; }
[data-theme="neon-cyber"] .header__nav > a:hover { color: #00e5ff; }
[data-theme="neon-cyber"] .header__more-btn { color: #c8c8e0; font-weight: 600; }
[data-theme="neon-cyber"] .header__dropdown { background: rgba(10,10,20,0.95); border: 1px solid rgba(0,229,255,0.15); border-radius: 4px; backdrop-filter: blur(16px); }
[data-theme="neon-cyber"] .header__dropdown a { color: #c8c8e0; }
[data-theme="neon-cyber"] .header__dropdown a:hover { color: #00e5ff; }
[data-theme="neon-cyber"] .header__spaarkaart { border: 1px solid rgba(0,229,255,0.3); color: #00e5ff; border-radius: 4px; }
[data-theme="neon-cyber"] .header__spaarkaart:hover { background: #00e5ff; color: #0a0a14; border-color: #00e5ff; }

/* Neon: Buttons — outlined neon glow */
[data-theme="neon-cyber"] .btn { border-radius: 4px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.82rem; }
[data-theme="neon-cyber"] .btn--primary { background: transparent; color: #00e5ff; border: 2px solid #00e5ff; }
[data-theme="neon-cyber"] .btn--primary:hover { background: #00e5ff; color: #0a0a14; box-shadow: 0 0 24px rgba(0,229,255,0.4); transform: none; }
[data-theme="neon-cyber"] .btn--outline { background: transparent; color: #ff2d7b; border: 2px solid #ff2d7b; }
[data-theme="neon-cyber"] .btn--outline:hover { background: #ff2d7b; color: #0a0a14; box-shadow: 0 0 24px rgba(255,45,123,0.4); }
[data-theme="neon-cyber"] .btn--ghost { border: 1px solid rgba(255,255,255,0.2); color: #fff; }
[data-theme="neon-cyber"] .btn--ghost:hover { border-color: #00e5ff; color: #00e5ff; box-shadow: 0 0 16px rgba(0,229,255,0.2); background: transparent; }

/* Neon: Section tags */
[data-theme="neon-cyber"] .section-tag { text-transform: uppercase; letter-spacing: 0.15em; font-size: 0.7rem; font-weight: 700; color: #00e5ff; border: 1px solid rgba(0,229,255,0.3); padding: 4px 14px; display: inline-block; }
[data-theme="neon-cyber"] .section-tag--light { color: #00e5ff; border-color: rgba(0,229,255,0.3); }

/* Neon: Typography */
[data-theme="neon-cyber"] h2 { font-weight: 700; font-size: 2.8rem; text-transform: uppercase; letter-spacing: 0.02em; color: #e0e0f0; }
[data-theme="neon-cyber"] .section-sub { color: #8888a8; }

/* Neon: Hero */
[data-theme="neon-cyber"] .hero__overlay { background: linear-gradient(180deg, rgba(6,6,12,0.85) 0%, rgba(10,10,20,0.6) 100%); }
[data-theme="neon-cyber"] .hero h1 { font-weight: 700; font-size: 4.5rem; text-transform: uppercase; letter-spacing: 0.02em; color: #fff; }
[data-theme="neon-cyber"] .hero__accent { color: #00e5ff; text-shadow: 0 0 30px rgba(0,229,255,0.4); font-style: normal; }
[data-theme="neon-cyber"] .hero__accent::after { display: none; }
[data-theme="neon-cyber"] .hero__tagline { color: #ff2d7b; font-weight: 600; letter-spacing: 0.2em; }
[data-theme="neon-cyber"] .hero__desc { color: rgba(200,200,224,0.7); }

/* Neon: Sections — dark alternating */
[data-theme="neon-cyber"] .behandelingen { background: #0a0a14; }
[data-theme="neon-cyber"] .galerij { background: #080810; }
[data-theme="neon-cyber"] .prijslijst { background: #0a0a14; }
[data-theme="neon-cyber"] .team { background: #080810; }
[data-theme="neon-cyber"] .over-ons { background: #0a0a14; }
[data-theme="neon-cyber"] .over-ons h2 { color: #e0e0f0; }
[data-theme="neon-cyber"] .over-ons p { color: #c8c8e0; }
[data-theme="neon-cyber"] .reviews { background: #080810; }
[data-theme="neon-cyber"] .acties { background: #0a0a14; }
[data-theme="neon-cyber"] .faq { background: #080810; }
[data-theme="neon-cyber"] .nieuwsbrief { background: rgba(0,229,255,0.04); border-top: 1px solid rgba(0,229,255,0.1); border-bottom: 1px solid rgba(0,229,255,0.1); }
[data-theme="neon-cyber"] .nieuwsbrief h2 { color: #e0e0f0; }
[data-theme="neon-cyber"] .nieuwsbrief p, [data-theme="neon-cyber"] .nieuwsbrief label { color: #c8c8e0; }
[data-theme="neon-cyber"] .contact { background: #06060c; }

/* Neon: Cards — dark bg, neon border glow */
[data-theme="neon-cyber"] .behandeling-card { background: #12121f; border: 1px solid rgba(0,229,255,0.1); border-radius: 4px; }
[data-theme="neon-cyber"] .behandeling-card:hover { border-color: #00e5ff; box-shadow: 0 0 24px rgba(0,229,255,0.15); transform: translateY(-4px); }
[data-theme="neon-cyber"] .behandeling-card__img { border-radius: 4px 4px 0 0; }
[data-theme="neon-cyber"] .behandeling-card__body h3 { color: #e0e0f0; }
[data-theme="neon-cyber"] .behandeling-card__body p { color: #8888a8; }
[data-theme="neon-cyber"] .behandeling-card__price { color: #00e5ff; font-weight: 700; }

[data-theme="neon-cyber"] .team__card { background: #12121f; border: 1px solid rgba(255,45,123,0.1); border-radius: 4px; }
[data-theme="neon-cyber"] .team__card:hover { border-color: #ff2d7b; box-shadow: 0 0 24px rgba(255,45,123,0.15); }
[data-theme="neon-cyber"] .team__card-img { border-radius: 4px 4px 0 0; }
[data-theme="neon-cyber"] .team__card h3 { color: #e0e0f0; }
[data-theme="neon-cyber"] .team__card-role { color: #ff2d7b; }
[data-theme="neon-cyber"] .team__card-bio { color: #8888a8; }

[data-theme="neon-cyber"] .actie-card { background: #12121f; border: 1px solid rgba(0,229,255,0.08); border-radius: 4px; backdrop-filter: none; }
[data-theme="neon-cyber"] .actie-card:hover { border-color: #00e5ff; box-shadow: 0 0 20px rgba(0,229,255,0.12); }
[data-theme="neon-cyber"] .actie-card h3 { color: #e0e0f0; }
[data-theme="neon-cyber"] .actie-card p { color: #8888a8; }
[data-theme="neon-cyber"] .actie-card__badge { background: #ff2d7b; color: #fff; border-radius: 4px; animation: none; }
[data-theme="neon-cyber"] .actie-card__icon { color: #00e5ff; }

[data-theme="neon-cyber"] .review-card { background: #12121f; border: 1px solid rgba(0,229,255,0.08); border-radius: 4px; backdrop-filter: none; }
[data-theme="neon-cyber"] .review-card__text { color: #c8c8e0; }

[data-theme="neon-cyber"] .faq__item { background: #12121f; border: 1px solid rgba(0,229,255,0.08); border-radius: 4px; }
[data-theme="neon-cyber"] .faq__item:hover { border-color: #00e5ff; box-shadow: 0 0 12px rgba(0,229,255,0.08); }
[data-theme="neon-cyber"] .faq__item summary { color: #e0e0f0; font-weight: 600; }
[data-theme="neon-cyber"] .faq__item summary::after { color: #00e5ff; }
[data-theme="neon-cyber"] .faq__item p { color: #c8c8e0; }

[data-theme="neon-cyber"] .prijs-table { background: #12121f; border: 1px solid rgba(0,229,255,0.08); border-radius: 4px; }
[data-theme="neon-cyber"] .prijs-row { border-color: rgba(0,229,255,0.06); }
[data-theme="neon-cyber"] .prijs-row span:first-child { color: #c8c8e0; }
[data-theme="neon-cyber"] .prijs-row span:last-child { color: #00e5ff; }
[data-theme="neon-cyber"] .prijslijst__tab { border-radius: 4px; border: 1px solid rgba(0,229,255,0.2); color: #8888a8; }
[data-theme="neon-cyber"] .prijslijst__tab.active { background: #00e5ff; color: #0a0a14; border-color: #00e5ff; }

[data-theme="neon-cyber"] .feature { background: #12121f; border: 1px solid rgba(0,229,255,0.08); border-radius: 4px; }
[data-theme="neon-cyber"] .feature:hover { border-color: #00e5ff; box-shadow: 0 0 16px rgba(0,229,255,0.1); }
[data-theme="neon-cyber"] .feature__icon { background: rgba(0,229,255,0.08); border-radius: 4px; }
[data-theme="neon-cyber"] .feature__icon svg { color: #00e5ff; }
[data-theme="neon-cyber"] .feature__text h4 { color: #e0e0f0; }

[data-theme="neon-cyber"] .galerij__item { border-radius: 4px; border: 1px solid rgba(0,229,255,0.08); }
[data-theme="neon-cyber"] .galerij__item:hover { box-shadow: 0 0 20px rgba(0,229,255,0.2); border-color: #00e5ff; }

[data-theme="neon-cyber"] .nieuwsbrief__input { border-radius: 4px; border: 1px solid rgba(0,229,255,0.2); background: #12121f; color: #e0e0f0; }
[data-theme="neon-cyber"] .nieuwsbrief__input:focus { border-color: #00e5ff; box-shadow: 0 0 12px rgba(0,229,255,0.15); }
[data-theme="neon-cyber"] .contact__detail { border-color: rgba(0,229,255,0.1); }
[data-theme="neon-cyber"] .contact__detail-icon { background: rgba(0,229,255,0.1); border-radius: 4px; }
[data-theme="neon-cyber"] .contact__detail-icon svg { color: #00e5ff; }
[data-theme="neon-cyber"] .contact h2 { color: #e0e0f0; }
[data-theme="neon-cyber"] .contact p, [data-theme="neon-cyber"] .contact a { color: #c8c8e0; }
[data-theme="neon-cyber"] .contact__map-frame { border-radius: 4px; border: 1px solid rgba(0,229,255,0.1); }
[data-theme="neon-cyber"] .status-badge { border: 1px solid rgba(0,229,255,0.2); border-radius: 4px; color: #c8c8e0; }
[data-theme="neon-cyber"] .status-badge--open .status-dot { background: #00e5ff; box-shadow: 0 0 8px rgba(0,229,255,0.6); }
[data-theme="neon-cyber"] .footer { background: #06060c; border-top: 1px solid rgba(0,229,255,0.1); }

/* Neon: Responsive */
@media (max-width: 768px) {
  [data-theme="neon-cyber"] .hero h1 { font-size: 2.6rem; }
  [data-theme="neon-cyber"] h2 { font-size: 2rem; }
}

/* ══════════════════════════════════════════════════════════════
   THEME 5: TROPICAL PARADISE
   Warm organic nature. Lush greens, warm gold accents.
   Rounded soft shapes. Natural calm spa feeling.
   ══════════════════════════════════════════════════════════════ */
[data-theme="tropical"] {
  --clr-gold: #207848;
  --clr-gold-dark: #186838;
  --clr-gold-light: #d4eddb;
  --clr-cream: #f5f1e8;
  --clr-beige: #e8e0d0;
  --clr-brown: #d4943a;
  --clr-brown-text: #2a3a24;
  --clr-dark: #1a2e1a;
  --clr-navy: #1a2e1a;
  --clr-text: #2a3a24;
  --clr-muted: #4d6142;
  --clr-light: #faf8f2;
  --clr-white: #fdfcf7;
  --clr-border: #c8d4b8;
  --font-heading: 'Lora', Georgia, serif;
  --font-body: 'DM Sans', -apple-system, sans-serif;
  --radius: 20px;
  --radius-sm: 12px;
  --shadow: 0 4px 20px rgba(45,138,84,0.06);
  --shadow-lg: 0 12px 40px rgba(45,138,84,0.1);
}

/* Tropical: Body */
[data-theme="tropical"] body { background: #faf8f2; }

/* Tropical: Decorations — keep blobs, recolor to green/gold */
[data-theme="tropical"] .wave-divider path { fill: #f5f1e8; }
[data-theme="tropical"] .blob-decorator { opacity: 0.08; filter: blur(80px); }
[data-theme="tropical"] .behandelingen .blob-decorator { background: radial-gradient(circle, #2d8a54 0%, transparent 70%); }
[data-theme="tropical"] .team .blob-decorator { background: radial-gradient(circle, #d4943a 0%, transparent 70%); }
[data-theme="tropical"] .faq .blob-decorator { background: radial-gradient(circle, #2d8a54 0%, transparent 70%); }
[data-theme="tropical"] .acties .blob-decorator { background: radial-gradient(circle, #d4943a 0%, transparent 70%); }
[data-theme="tropical"] .galerij .blob-decorator { background: radial-gradient(circle, #2d8a54 0%, transparent 70%); }
[data-theme="tropical"] .float-icon { color: #207848; opacity: 0.06; }

/* Tropical: Section line */
[data-theme="tropical"] .section-line { background: linear-gradient(90deg, #2d8a54, #d4943a); border-radius: 4px; animation: none; }

/* Tropical: Header — warm, organic */
[data-theme="tropical"] .header { background: rgba(253,252,247,0.92); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(45,138,84,0.08); }
[data-theme="tropical"] .header--scrolled { box-shadow: 0 2px 20px rgba(45,138,84,0.06); }
[data-theme="tropical"] .header__dropdown { border-radius: 16px; background: rgba(253,252,247,0.95); border: 1px solid rgba(45,138,84,0.1); }
[data-theme="tropical"] .header__spaarkaart { border: 1px solid #207848; color: #207848; border-radius: 50px; }
[data-theme="tropical"] .header__spaarkaart:hover { background: #207848; color: #fff; }

/* Tropical: Buttons — warm greens, rounded */
[data-theme="tropical"] .btn { border-radius: 50px; font-weight: 600; }
[data-theme="tropical"] .btn--primary { background: #207848; color: #fff; border: none; }
[data-theme="tropical"] .btn--primary:hover { background: #1e6b3e; transform: translateY(-2px); box-shadow: 0 6px 24px rgba(45,138,84,0.25); }
[data-theme="tropical"] .btn--ghost { border: 2px solid rgba(255,255,255,0.5); }
[data-theme="tropical"] .btn--ghost:hover { background: #fff; color: #1a2e1a; border-color: #fff; }
[data-theme="tropical"] .btn--outline { border: 2px solid #207848; color: #207848; }
[data-theme="tropical"] .btn--outline:hover { background: #207848; color: #fff; }

/* Tropical: Section tags */
[data-theme="tropical"] .section-tag { color: #207848; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.72rem; }
[data-theme="tropical"] .section-tag--light { color: #d4943a; }

/* Tropical: Typography */
[data-theme="tropical"] h2 { font-weight: 600; font-size: 2.8rem; letter-spacing: -0.01em; }

/* Tropical: Hero — warm overlay */
[data-theme="tropical"] .hero__overlay { background: linear-gradient(135deg, rgba(26,46,26,0.75) 0%, rgba(42,58,36,0.5) 50%, rgba(26,46,26,0.3) 100%); }
[data-theme="tropical"] .hero h1 { font-weight: 600; font-size: 4rem; }
[data-theme="tropical"] .hero__accent { color: #d4943a; }
[data-theme="tropical"] .hero__accent::after { background: rgba(212,148,58,0.2); }
[data-theme="tropical"] .hero__tagline { color: #d4943a; font-weight: 500; letter-spacing: 0.2em; }

/* Tropical: Sections — warm alternating */
[data-theme="tropical"] .behandelingen { background: #fdfcf7; }
[data-theme="tropical"] .galerij { background: #f5f1e8; }
[data-theme="tropical"] .prijslijst { background: #fdfcf7; }
[data-theme="tropical"] .team { background: #f5f1e8; }
[data-theme="tropical"] .over-ons { background: #fdfcf7; }
[data-theme="tropical"] .reviews { background: #f5f1e8; }
[data-theme="tropical"] .acties { background: #fdfcf7; }
[data-theme="tropical"] .faq { background: #f5f1e8; }
[data-theme="tropical"] .nieuwsbrief { background: #d4eddb; }
[data-theme="tropical"] .nieuwsbrief h2 { color: #1a2e1a; }
[data-theme="tropical"] .nieuwsbrief .section-tag { color: #1e6b3e; }
[data-theme="tropical"] .contact { background: #1a2e1a; }

/* Tropical: Cards — warm rounded, soft shadows */
[data-theme="tropical"] .behandeling-card { background: #fff; border: 1px solid rgba(45,138,84,0.08); border-radius: 20px; }
[data-theme="tropical"] .behandeling-card:hover { box-shadow: 0 12px 36px rgba(45,138,84,0.12); transform: translateY(-6px); border-color: rgba(45,138,84,0.15); }
[data-theme="tropical"] .behandeling-card__img { border-radius: 20px 20px 0 0; }
[data-theme="tropical"] .behandeling-card__price { color: #8a5c1a; font-weight: 700; }

[data-theme="tropical"] .team__card { background: #fff; border: 1px solid rgba(45,138,84,0.08); border-radius: 20px; }
[data-theme="tropical"] .team__card:hover { box-shadow: 0 12px 36px rgba(45,138,84,0.12); transform: translateY(-6px); }
[data-theme="tropical"] .team__card-img { border-radius: 20px 20px 0 0; }
[data-theme="tropical"] .team__card-role { color: #207848; }

[data-theme="tropical"] .actie-card { background: #fff; border: 1px solid rgba(212,148,58,0.1); border-radius: 20px; backdrop-filter: none; }
[data-theme="tropical"] .actie-card:hover { box-shadow: 0 12px 36px rgba(212,148,58,0.12); border-color: rgba(212,148,58,0.2); }
[data-theme="tropical"] .actie-card__badge { background: #d4943a; color: #fff; border-radius: 50px; animation: none; }
[data-theme="tropical"] .actie-card__icon { color: #d4943a; }

[data-theme="tropical"] .review-card { background: #fff; border: 1px solid rgba(45,138,84,0.08); border-radius: 20px; backdrop-filter: none; }

[data-theme="tropical"] .faq__item { background: #fff; border: 1px solid rgba(45,138,84,0.08); border-radius: 16px; }
[data-theme="tropical"] .faq__item:hover { border-color: #207848; }
[data-theme="tropical"] .faq__item summary::after { color: #207848; }

[data-theme="tropical"] .prijs-table { background: #fff; border: 1px solid rgba(45,138,84,0.08); border-radius: 16px; }
[data-theme="tropical"] .prijslijst__tab { border-radius: 50px; }
[data-theme="tropical"] .prijslijst__tab.active { background: #207848; color: #fff; }
[data-theme="tropical"] .prijs-row span:last-child { color: #8a5c1a; font-weight: 600; }

[data-theme="tropical"] .feature { background: #fff; border: 1px solid rgba(45,138,84,0.08); border-radius: 16px; }
[data-theme="tropical"] .feature:hover { box-shadow: 0 8px 24px rgba(45,138,84,0.1); border-color: rgba(45,138,84,0.15); }
[data-theme="tropical"] .feature__icon { background: #d4eddb; border-radius: 50%; }
[data-theme="tropical"] .feature__icon svg { color: #207848; }

[data-theme="tropical"] .galerij__item { border-radius: 16px; }
[data-theme="tropical"] .galerij__item:hover { box-shadow: 0 8px 28px rgba(45,138,84,0.12); }

[data-theme="tropical"] .nieuwsbrief__input { border-radius: 50px; border: 1px solid rgba(45,138,84,0.15); }
[data-theme="tropical"] .nieuwsbrief__input:focus { border-color: #207848; box-shadow: 0 0 0 3px rgba(45,138,84,0.1); }
[data-theme="tropical"] .contact__detail-icon { background: rgba(45,138,84,0.15); border-radius: 50%; }
[data-theme="tropical"] .contact__detail-icon svg { color: #d4943a; }
[data-theme="tropical"] .contact__map-frame { border-radius: 20px; }
[data-theme="tropical"] .status-badge { border-radius: 50px; }
[data-theme="tropical"] .status-badge--open .status-dot { background: #207848; }
[data-theme="tropical"] .footer { background: #1a2e1a; }

/* Tropical: Responsive */
@media (max-width: 768px) {
  [data-theme="tropical"] .hero h1 { font-size: 2.6rem; }
  [data-theme="tropical"] h2 { font-size: 2rem; }
}

/* ══════════════════════════════════════════════════════════════
   THEME 6: ART DECO GLAM
   1920s glamour. Geometric gold on navy. Ornamental borders.
   Symmetric layouts. Cinzel serif. Classic luxury.
   ══════════════════════════════════════════════════════════════ */
[data-theme="art-deco"] {
  --clr-gold: #c9a84c;
  --clr-gold-dark: #a88a36;
  --clr-gold-light: #f0e8d0;
  --clr-cream: #f7f4eb;
  --clr-beige: #ede6d4;
  --clr-brown: #c9a84c;
  --clr-brown-text: #1a1a2e;
  --clr-dark: #0d1326;
  --clr-navy: #0d1326;
  --clr-text: #1a1a2e;
  --clr-muted: #6a6880;
  --clr-light: #f7f4eb;
  --clr-white: #fcfaf5;
  --clr-border: #d4c8a0;
  --font-heading: 'Cinzel', 'Times New Roman', serif;
  --font-body: 'DM Sans', -apple-system, sans-serif;
  --radius: 0px;
  --radius-sm: 0px;
  --shadow: 0 2px 16px rgba(13,19,38,0.06);
  --shadow-lg: 0 8px 32px rgba(13,19,38,0.1);
}

/* Art Deco: Kill waves and organic blobs */
[data-theme="art-deco"] .wave-divider { display: none; }
[data-theme="art-deco"] .blob-decorator { display: none; }
[data-theme="art-deco"] .float-icon { display: none; }

/* Art Deco: Section line — gold ornamental bar */
[data-theme="art-deco"] .section-line { width: 100px; height: 2px; background: linear-gradient(90deg, transparent, #c9a84c, transparent); animation: none; border-radius: 0; }

/* Art Deco: Header — dark navy, gold accents */
[data-theme="art-deco"] .header { background: #0d1326; border-bottom: 2px solid #c9a84c; }
[data-theme="art-deco"] .header--scrolled { box-shadow: 0 4px 20px rgba(13,19,38,0.3); }
[data-theme="art-deco"] .header__logo-img { filter: brightness(1.1); }
[data-theme="art-deco"] .header__nav > a { color: #f0e8d0; font-weight: 500; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; }
[data-theme="art-deco"] .header__nav > a:hover { color: #c9a84c; }
[data-theme="art-deco"] .header__more-btn { color: #f0e8d0; font-weight: 500; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; }
[data-theme="art-deco"] .header__dropdown { background: #0d1326; border: 1px solid #c9a84c; border-radius: 0; }
[data-theme="art-deco"] .header__dropdown a { color: #f0e8d0; }
[data-theme="art-deco"] .header__dropdown a:hover { color: #c9a84c; }
[data-theme="art-deco"] .header__spaarkaart { border: 1px solid #c9a84c; color: #c9a84c; border-radius: 0; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.08em; }
[data-theme="art-deco"] .header__spaarkaart:hover { background: #c9a84c; color: #0d1326; }
[data-theme="art-deco"] .header__cta { background: #c9a84c; color: #0d1326; border: none; }
[data-theme="art-deco"] .header__cta:hover { background: #a88a36; }

/* Art Deco: Buttons — geometric gold */
[data-theme="art-deco"] .btn { border-radius: 0; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.78rem; }
[data-theme="art-deco"] .btn--primary { background: #c9a84c; color: #0d1326; border: none; }
[data-theme="art-deco"] .btn--primary:hover { background: #a88a36; transform: none; box-shadow: 0 4px 20px rgba(201,168,76,0.3); }
[data-theme="art-deco"] .btn--ghost { border: 1px solid rgba(201,168,76,0.5); color: #f0e8d0; }
[data-theme="art-deco"] .btn--ghost:hover { background: #c9a84c; color: #0d1326; border-color: #c9a84c; }
[data-theme="art-deco"] .btn--outline { border: 1px solid #7a6828; color: #7a6828; }
[data-theme="art-deco"] .btn--outline:hover { background: #c9a84c; color: #0d1326; }

/* Art Deco: Section tags — gold underlined */
[data-theme="art-deco"] .section-tag { text-transform: uppercase; letter-spacing: 0.25em; font-size: 0.68rem; font-weight: 600; color: #7a6828; }
[data-theme="art-deco"] .section-tag--light { color: #c9a84c; }
/* Art Deco: Gold stays bright on dark sections */
[data-theme="art-deco"] .galerij .section-tag,
[data-theme="art-deco"] .team .section-tag,
[data-theme="art-deco"] .acties .section-tag,
[data-theme="art-deco"] .nieuwsbrief .section-tag { color: #c9a84c; }

/* Art Deco: Typography — ornamental serif */
[data-theme="art-deco"] h2 { font-weight: 400; font-size: 2.8rem; letter-spacing: 0.06em; text-transform: uppercase; }
[data-theme="art-deco"] .section-sub { color: var(--clr-muted); letter-spacing: 0.03em; }

/* Art Deco: Hero — dramatic cinematic */
[data-theme="art-deco"] .hero__overlay { background: linear-gradient(180deg, rgba(13,19,38,0.8) 0%, rgba(13,19,38,0.5) 50%, rgba(13,19,38,0.7) 100%); }
[data-theme="art-deco"] .hero h1 { font-weight: 400; font-size: 4.5rem; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.1; }
[data-theme="art-deco"] .hero__accent { color: #c9a84c; font-style: normal; }
[data-theme="art-deco"] .hero__accent::after { display: none; }
[data-theme="art-deco"] .hero__tagline { color: #c9a84c; font-weight: 400; letter-spacing: 0.35em; font-size: 0.75rem; }
[data-theme="art-deco"] .hero__desc { color: rgba(240,232,208,0.7); letter-spacing: 0.02em; }

/* Art Deco: Sections — navy/cream alternating with gold borders */
[data-theme="art-deco"] .behandelingen { background: #fcfaf5; border-top: 2px solid #c9a84c; }
[data-theme="art-deco"] .galerij { background: #0d1326; color: #f0e8d0; }
[data-theme="art-deco"] .galerij h2, [data-theme="art-deco"] .galerij .section-tag { color: #c9a84c; }
[data-theme="art-deco"] .galerij .section-sub { color: rgba(240,232,208,0.6); }
[data-theme="art-deco"] .prijslijst { background: #f7f4eb; }
[data-theme="art-deco"] .team { background: #0d1326; color: #f0e8d0; }
[data-theme="art-deco"] .team h2, [data-theme="art-deco"] .team .section-tag { color: #c9a84c; }
[data-theme="art-deco"] .team .section-sub { color: rgba(240,232,208,0.6); }
[data-theme="art-deco"] .over-ons { background: #fcfaf5; }
[data-theme="art-deco"] .reviews { background: #f7f4eb; }
[data-theme="art-deco"] .acties { background: #0d1326; color: #f0e8d0; }
[data-theme="art-deco"] .acties h2, [data-theme="art-deco"] .acties .section-tag { color: #c9a84c; }
[data-theme="art-deco"] .acties .section-sub { color: rgba(240,232,208,0.6); }
[data-theme="art-deco"] .faq { background: #fcfaf5; }
[data-theme="art-deco"] .nieuwsbrief { background: #0d1326; color: #f0e8d0; border-top: 2px solid #c9a84c; }
[data-theme="art-deco"] .nieuwsbrief h2 { color: #c9a84c; }
[data-theme="art-deco"] .nieuwsbrief .section-tag { color: #c9a84c; }
[data-theme="art-deco"] .nieuwsbrief p, [data-theme="art-deco"] .nieuwsbrief label { color: #f0e8d0; }
[data-theme="art-deco"] .contact { background: #060a18; }

/* Art Deco: Cards — gold top border, geometric */
[data-theme="art-deco"] .behandeling-card { background: #fff; border: none; border-top: 3px solid #c9a84c; border-radius: 0; }
[data-theme="art-deco"] .behandeling-card:hover { box-shadow: 0 8px 28px rgba(201,168,76,0.15); transform: translateY(-4px); }
[data-theme="art-deco"] .behandeling-card__img { border-radius: 0; }
[data-theme="art-deco"] .behandeling-card__price { color: #7a6828; font-weight: 700; letter-spacing: 0.04em; }

[data-theme="art-deco"] .team__card { background: rgba(240,232,208,0.08); border: 1px solid rgba(201,168,76,0.2); border-radius: 0; }
[data-theme="art-deco"] .team__card:hover { border-color: #c9a84c; box-shadow: 0 8px 28px rgba(201,168,76,0.15); }
[data-theme="art-deco"] .team__card-img { border-radius: 0; }
[data-theme="art-deco"] .team__card h3 { color: #f0e8d0; }
[data-theme="art-deco"] .team__card-role { color: #c9a84c; }
[data-theme="art-deco"] .team__card-bio { color: rgba(240,232,208,0.7); }

[data-theme="art-deco"] .actie-card { background: rgba(240,232,208,0.06); border: 1px solid rgba(201,168,76,0.2); border-radius: 0; backdrop-filter: none; }
[data-theme="art-deco"] .actie-card:hover { border-color: #c9a84c; background: rgba(201,168,76,0.08); }
[data-theme="art-deco"] .actie-card h3 { color: #f0e8d0; }
[data-theme="art-deco"] .actie-card p { color: rgba(240,232,208,0.7); }
[data-theme="art-deco"] .actie-card__badge { background: #c9a84c; color: #0d1326; border-radius: 0; animation: none; font-weight: 700; letter-spacing: 0.08em; }
[data-theme="art-deco"] .actie-card__icon { color: #c9a84c; }

[data-theme="art-deco"] .review-card { background: #fff; border: none; border-left: 3px solid #c9a84c; border-radius: 0; backdrop-filter: none; }

[data-theme="art-deco"] .faq__item { background: #fff; border: none; border-left: 3px solid #c9a84c; border-radius: 0; }
[data-theme="art-deco"] .faq__item:hover { border-left-color: #a88a36; }
[data-theme="art-deco"] .faq__item summary { font-weight: 600; letter-spacing: 0.02em; }
[data-theme="art-deco"] .faq__item summary::after { color: #7a6828; }

[data-theme="art-deco"] .prijs-table { background: #fff; border: none; border-top: 3px solid #c9a84c; border-radius: 0; }
[data-theme="art-deco"] .prijs-row span:last-child { color: #7a6828; }
[data-theme="art-deco"] .prijslijst__tab { border-radius: 0; border: 1px solid #d4c8a0; }
[data-theme="art-deco"] .prijslijst__tab.active { background: #0d1326; color: #c9a84c; border-color: #0d1326; }

[data-theme="art-deco"] .feature { background: #fff; border: none; border-top: 2px solid #c9a84c; border-radius: 0; }
[data-theme="art-deco"] .feature:hover { box-shadow: 0 6px 20px rgba(201,168,76,0.1); }
[data-theme="art-deco"] .feature__icon { background: #0d1326; border-radius: 0; }
[data-theme="art-deco"] .feature__icon svg { color: #c9a84c; }

[data-theme="art-deco"] .galerij__item { border-radius: 0; }
[data-theme="art-deco"] .galerij__item:hover { box-shadow: 0 6px 24px rgba(201,168,76,0.2); }

[data-theme="art-deco"] .nieuwsbrief__input { border-radius: 0; border: 1px solid rgba(201,168,76,0.3); background: rgba(255,255,255,0.05); color: #f0e8d0; }
[data-theme="art-deco"] .nieuwsbrief__input:focus { border-color: #c9a84c; box-shadow: 0 0 0 2px rgba(201,168,76,0.2); }
[data-theme="art-deco"] .contact__detail { border-color: rgba(201,168,76,0.15); }
[data-theme="art-deco"] .contact__detail-icon { background: rgba(201,168,76,0.1); border-radius: 0; }
[data-theme="art-deco"] .contact__detail-icon svg { color: #c9a84c; }
[data-theme="art-deco"] .contact h2 { color: #f0e8d0; }
[data-theme="art-deco"] .contact p, [data-theme="art-deco"] .contact a { color: rgba(240,232,208,0.8); }
[data-theme="art-deco"] .contact__map-frame { border-radius: 0; border: 2px solid rgba(201,168,76,0.2); }
[data-theme="art-deco"] .status-badge { border-radius: 0; font-weight: 600; letter-spacing: 0.06em; }
[data-theme="art-deco"] .footer { background: #060a18; border-top: 2px solid #c9a84c; }

/* Art Deco: Responsive */
@media (max-width: 768px) {
  [data-theme="art-deco"] .hero h1 { font-size: 2.6rem; letter-spacing: 0.04em; }
  [data-theme="art-deco"] h2 { font-size: 2rem; }
}

/* --- 10. Reduced Motion --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .fade-in, .fade-in-stagger { opacity: 1; transform: none; }
  .hero__bg img { transform: none !important; }
  .section-line { animation: none; background: var(--clr-gold); }
  .float-icon { display: none; }
}
