/* === DE GOUDEN ZON – THEME CSS v1.0 === */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Nunito:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');

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

:root {
  --lila:       #c9b4e8;
  --lila-soft:  #ede4f8;
  --lila-deep:  #3d6ba5;
  --rose:       #f2c4ce;
  --rose-soft:  #fce8ed;
  --rose-deep:  #c4788e;
  --gold:       #c49830;
  --gold-soft:  #f5e4b8;
  --cream:      #fefcf9;
  --text:       #2e2238;
  --text-mid:   #4e3e5e;
  --text-light: #9a88aa;
  --shadow:     0 8px 40px rgba(138,104,190,0.16);
  --shadow-lg:  0 20px 60px rgba(138,104,190,0.20);
  --r:          20px;
  --r-lg:       30px;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Nunito', sans-serif;
  font-size: 1rem;
  line-height: 1.85;
  color: var(--text);
  background: var(--cream);
  overflow-x: hidden;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(ellipse 65% 55% at 12% 12%, rgba(225,210,248,0.16) 0%, transparent 58%),
    radial-gradient(ellipse 55% 50% at 88% 10%, rgba(252,228,236,0.14) 0%, transparent 55%),
    radial-gradient(ellipse 50% 55% at 65% 88%, rgba(245,228,184,0.10) 0%, transparent 58%),
    radial-gradient(ellipse 70% 70% at 50% 50%, #fefcf9 0%, #fefcf9 100%);
}

/* ZWEVENDE ORBS */
.dgz-orb { position: fixed; border-radius: 50%; filter: blur(72px); pointer-events: none; z-index: -1; animation: dgz-drift 15s ease-in-out infinite alternate; }
.dgz-orb-1 { width:520px;height:520px;background:rgba(201,180,232,0.07);top:-120px;left:-130px; }
.dgz-orb-2 { width:420px;height:420px;background:rgba(242,196,206,0.07);top:8%;right:-110px;animation-delay:-5s; }
.dgz-orb-3 { width:380px;height:380px;background:rgba(245,228,184,0.06);bottom:4%;left:18%;animation-delay:-9s; }
.dgz-orb-4 { width:300px;height:300px;background:rgba(196,120,142,0.04);bottom:18%;right:8%;animation-delay:-3s; }
@keyframes dgz-drift { from{transform:translate(0,0) scale(1)} to{transform:translate(22px,16px) scale(1.06)} }

/* TYPOGRAFIE */
h1,h2,h3,h4 { font-family:'Cormorant Garamond',serif; font-weight:400; line-height:1.18; letter-spacing:0.03em; color:var(--text); }

/* NAV */
.dgz-nav { position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:12px 5vw;background:rgba(255,255,255,0.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(201,180,232,0.28); }
.dgz-nav-logo { display:flex;align-items:center;gap:10px;text-decoration:none; }
.dgz-nav-logo img { height:48px;width:auto;filter:hue-rotate(260deg) saturate(0.6) brightness(0.85); }
.dgz-nav-logo span { font-family:'Cormorant Garamond',serif;font-size:1.2rem;letter-spacing:0.12em;color:var(--text); }
.dgz-nav ul { list-style:none;display:flex;gap:2.2rem; }
.dgz-nav ul a { text-decoration:none;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-mid);transition:color .2s; }
.dgz-nav ul a:hover { color:var(--lila-deep); }

/* GLASS PANELEN */
.glass      { background:rgba(255,255,255,0.65);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,0.88);border-radius:var(--r);box-shadow:var(--shadow); }
.glass-lila { background:rgba(237,228,248,0.28);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(201,180,232,0.28);border-radius:var(--r);box-shadow:0 8px 40px rgba(61,107,165,0.07); }
.glass-rose { background:rgba(252,232,237,0.28);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(242,196,206,0.28);border-radius:var(--r);box-shadow:0 8px 40px rgba(196,120,142,0.07); }

/* KNOPPEN */
.btn-lila { display:inline-flex;align-items:center;padding:14px 36px;border-radius:100px;background:linear-gradient(135deg,var(--lila-deep),#5b8ec8);color:white;text-decoration:none;font-size:0.85rem;letter-spacing:0.12em;text-transform:uppercase;box-shadow:0 8px 28px rgba(61,107,165,0.38);transition:transform .25s,box-shadow .25s; }
.btn-lila:hover { transform:translateY(-2px);box-shadow:0 12px 36px rgba(61,107,165,0.52);color:white; }
.btn-outline { display:inline-flex;align-items:center;padding:13px 34px;border-radius:100px;background:rgba(255,255,255,0.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(201,180,232,0.55);color:var(--lila-deep);text-decoration:none;font-size:0.85rem;letter-spacing:0.12em;text-transform:uppercase;transition:background .25s,border-color .25s; }
.btn-outline:hover { background:rgba(201,180,232,0.18);border-color:var(--lila-deep); }

/* SECTIES */
.dgz-section { padding:100px 6vw;position:relative; }
.dgz-section-alt { background:rgba(237,228,248,0.07); }
.stag { font-size:0.72rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--lila-deep);margin-bottom:0.9rem;display:flex;align-items:center;gap:10px; }
.stag::before { content:'';display:block;width:28px;height:1.5px;background:var(--lila-deep);border-radius:2px; }
.stitle { font-size:clamp(2rem,3.5vw,3.2rem);margin-bottom:1.4rem; }
.sbody  { font-size:1rem;line-height:1.9;color:var(--text-mid);max-width:580px; }

/* HERO */
.dgz-hero { min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 2rem 80px; }
@media(max-width:900px) { .dgz-hero { padding:48px 2rem 60px;min-height:auto; } }
.dgz-hero-inner { display:flex;flex-direction:column;align-items:center;z-index:2; }
.dgz-hero-logo { width:150px;height:150px;margin-bottom:2rem;object-fit:contain;filter:hue-rotate(260deg) saturate(0.6) brightness(0.85) drop-shadow(0 0 22px rgba(201,180,232,0.70)) drop-shadow(0 0 48px rgba(242,196,206,0.45));animation:dgz-glow 4s ease-in-out infinite alternate; }
@keyframes dgz-glow { from{filter:hue-rotate(260deg) saturate(0.6) brightness(0.85) drop-shadow(0 0 14px rgba(201,180,232,0.55)) drop-shadow(0 0 30px rgba(242,196,206,0.30))} to{filter:hue-rotate(260deg) saturate(0.6) brightness(0.85) drop-shadow(0 0 30px rgba(201,180,232,0.85)) drop-shadow(0 0 65px rgba(242,196,206,0.55))} }
.dgz-hero-tag { font-size:0.72rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--lila-deep);margin-bottom:1rem;display:flex;align-items:center;gap:12px; }
.dgz-hero-tag::before,.dgz-hero-tag::after { content:'';display:block;width:36px;height:1px;background:var(--lila-deep); }
.dgz-hero h1 { font-size:clamp(3.8rem,8.5vw,7rem);font-weight:300;letter-spacing:0.06em;margin-bottom:.5rem; }
.dgz-hero h1 span { background:linear-gradient(120deg,var(--lila-deep) 0%,var(--rose-deep) 50%,var(--gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.dgz-hero-sub { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.45rem;color:var(--text-mid);margin-bottom:2.8rem; }
.dgz-hero-btns { display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;margin-bottom:3.5rem; }
.pill { padding:11px 22px;border-radius:100px;background:rgba(255,255,255,0.68);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,0.88);box-shadow:0 4px 18px rgba(61,107,165,0.10);font-size:0.82rem;color:var(--text-mid);display:inline-flex;align-items:center;gap:8px; }
.pill-dot { width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--lila-deep),var(--rose-deep));flex-shrink:0; }
.dgz-hero-pills { display:flex;gap:1rem;flex-wrap:wrap;justify-content:center; }

/* WELKOM */
.dgz-welkom { display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center; }
.dgz-img-wrap { position:relative; }
.dgz-img-wrap img { width:100%;height:520px;object-fit:cover;border-radius:var(--r-lg);display:block;box-shadow:var(--shadow-lg); }
.dgz-float-card { position:absolute;bottom:-20px;right:-20px;padding:22px 26px;max-width:245px; }
.dgz-float-card p { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.02rem;color:var(--text);line-height:1.6; }
.dgz-float-card span { display:block;margin-top:10px;font-size:0.70rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--lila-deep); }
.dgz-welkom-text { display:flex;flex-direction:column;gap:1.4rem; }

/* EDELSTENEN */
.dgz-stenen-head { display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end;margin-bottom:3.5rem; }
.dgz-cards-4 { display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem; }
.dgz-card { padding:2.2rem 1.8rem 2.4rem;transition:transform .3s,box-shadow .3s; }
.dgz-card:hover { transform:translateY(-6px);box-shadow:0 18px 52px rgba(61,107,165,0.22); }
.dgz-card-icon { width:48px;height:48px;border-radius:14px;margin-bottom:1.2rem;display:flex;align-items:center;justify-content:center;font-size:1.4rem; }
.il { background:var(--lila-soft); } .ir { background:var(--rose-soft); } .ig { background:var(--gold-soft); } .im { background:linear-gradient(135deg,var(--lila-soft),var(--rose-soft)); }
.dgz-card h3 { font-size:1.2rem;margin-bottom:.6rem; }
.dgz-card p  { font-size:.92rem;line-height:1.75;color:var(--text-mid); }

/* THERAPIE */
.dgz-therapie { display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start; }
.dgz-panel { padding:3rem 3.2rem; }
.dgz-tlist { list-style:none;margin-top:2rem;display:flex;flex-direction:column; }
.dgz-titem { display:flex;gap:16px;align-items:flex-start;padding:1.2rem 0;border-bottom:1px solid rgba(201,180,232,0.20); }
.dgz-titem:last-child { border-bottom:none; }
.dgz-tdot { width:28px;height:28px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--lila-soft),var(--rose-soft));display:flex;align-items:center;justify-content:center;font-size:.75rem;margin-top:3px;color:var(--lila-deep); }
.dgz-tquote { position:absolute;bottom:-20px;left:-20px;padding:24px 28px;max-width:275px;background:rgba(255,255,255,0.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,0.95);border-radius:var(--r);box-shadow:0 8px 32px rgba(0,0,0,0.10); }
.dgz-tquote img { width:54px;height:54px;border-radius:50%;object-fit:cover;margin-bottom:12px;display:block;border:2px solid rgba(242,196,206,0.6); }
.dgz-tquote blockquote { font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.08rem;color:var(--text);line-height:1.65; }
.dgz-tquote cite { display:block;margin-top:10px;font-style:normal;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-deep); }

/* WINKEL / OPENINGSTIJDEN */
.dgz-winkel { display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start; }
.dgz-ot-card { overflow:hidden;background:rgba(255,255,255,0.90);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(201,180,232,0.22);border-radius:var(--r);box-shadow:0 4px 24px rgba(61,107,165,0.07); }
.dgz-ot-head { padding:18px 28px;background:linear-gradient(135deg,rgba(201,180,232,0.14),rgba(242,196,206,0.10));border-bottom:1px solid rgba(255,255,255,0.65);border-radius:var(--r) var(--r) 0 0; }
.dgz-ot-head h3 { font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lila-deep);font-family:'Nunito',sans-serif; }
.dgz-ot-table { width:100%;border-collapse:collapse; }
.dgz-ot-table td { padding:13px 28px;font-size:.92rem;border-bottom:1px solid rgba(201,180,232,0.14);color:var(--text);font-feature-settings:"zero" 0; }
.dgz-ot-table .day-open   { color:var(--text); }
.dgz-ot-table .day-closed { color:#aaa0aa; }
.dgz-ot-table .today-row  { background:rgba(104,170,120,0.07);border-left:3px solid rgba(80,150,100,0.50); }
.dgz-ot-table .exception-row { background:rgba(196,120,142,0.06); }
.dgz-ot-table .exception-row.today-row { background:rgba(196,120,142,0.10);border-left:3px solid var(--rose-deep); }
.dgz-ot-table .day-badge { display:inline-block;margin-left:8px;padding:1px 8px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--rose-deep);background:var(--rose-soft);border-radius:20px;vertical-align:middle; }
.dgz-ot-table .day-note { font-size:.76rem;color:#8a8090; }
.dgz-status-bar { display:flex;align-items:center;gap:10px;padding:14px 28px;border-top:1px solid rgba(201,180,232,0.14); }
.dgz-status-dot { width:10px;height:10px;border-radius:50%;background:#c4788e;box-shadow:0 0 0 3px rgba(196,120,142,0.20); }
.dgz-status-dot.open { background:#68aa78;box-shadow:0 0 0 3px rgba(104,170,120,0.20); }
.dgz-status-text { font-size:.82rem;color:var(--text-mid); }

/* Opening Hours plugin integratie */
.dgz-opening-hours-plugin .oh-display { font-family:'Nunito',sans-serif;font-size:.92rem;color:var(--text); }
.dgz-opening-hours-plugin table { width:100%;border-collapse:collapse; }
.dgz-opening-hours-plugin td { padding:13px 28px;border-bottom:1px solid rgba(201,180,232,0.14);font-feature-settings:"zero" 0; }
.dgz-is-open-label { display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-mid); }

.dgz-adres-card { padding:1.8rem 2.2rem;margin-top:1.2rem;display:flex;flex-direction:column;gap:1.2rem; }
.dgz-adres-row { display:flex;gap:14px;align-items:center; }
.dgz-adres-icon { width:38px;height:38px;border-radius:12px;flex-shrink:0;background:var(--lila-soft);display:flex;align-items:center;justify-content:center;font-size:1rem; }
.dgz-adres-label { font-size:.70rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:2px; }
.dgz-adres-val { font-size:.94rem;color:var(--text-mid); }
.dgz-map-wrap { border-radius:var(--r);overflow:hidden;height:360px;box-shadow:var(--shadow); }
.dgz-map-wrap iframe { width:100%;height:100%;border:none;filter:saturate(.75) brightness(1.04); }

/* CONTACT */
.dgz-contact { display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start; }
.dgz-form-glass { padding:2.8rem 3rem; }
.dgz-fgroup { display:flex;flex-direction:column;gap:6px;margin-bottom:1.3rem; }
.dgz-fgroup label { font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--lila-deep); }
.dgz-fgroup input,.dgz-fgroup textarea { background:rgba(255,255,255,0.78);border:1.5px solid rgba(201,180,232,0.35);border-radius:12px;padding:13px 16px;font-family:'Nunito',sans-serif;font-size:.94rem;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;resize:none;width:100%; }
.dgz-fgroup input:focus,.dgz-fgroup textarea:focus { border-color:var(--lila-deep);box-shadow:0 0 0 3px rgba(61,107,165,0.10); }
.dgz-fgroup textarea { height:130px; }
.dgz-frow { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.dgz-btn-send { padding:14px 42px;border-radius:100px;background:linear-gradient(135deg,var(--lila-deep),#5b8ec8);color:white;border:none;cursor:pointer;font-family:'Nunito',sans-serif;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 8px 26px rgba(61,107,165,0.38);transition:transform .25s,box-shadow .25s; }
.dgz-btn-send:hover { transform:translateY(-2px); }
.dgz-ccards { display:flex;flex-direction:column;gap:1rem;padding-top:.5rem; }
.dgz-ccard { padding:1.6rem 2rem;display:flex;gap:16px;align-items:center;transition:transform .25s; }
.dgz-ccard:hover { transform:translateX(4px); }
.dgz-ccard-icon { width:44px;height:44px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem; }
.dgz-ccard-txt strong { display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mid);margin-bottom:3px; }
.dgz-ccard-txt span { font-size:.94rem;color:var(--text); }

/* FOOTER */
.dgz-footer { background:rgba(255,255,255,0.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(201,180,232,0.26);padding:2rem 6vw;display:flex;justify-content:space-between;align-items:center;font-size:.80rem;color:var(--text-mid); }
.dgz-footer a { color:var(--lila-deep);text-decoration:none; }

/* ═══ GALERIJ — zen scrollende bar ═══════════════════════════ */
.dgz-galerij { position:relative; }
.dgz-galerij-head { margin-bottom:2.5rem; }

/* Viewport — de zichtbare ruimte met fade-kanten */
.dgz-gallery-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 18px 0;
}

/* Zachte fade-out aan de zijkanten */
.dgz-gallery-fade-left,
.dgz-gallery-fade-right {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 3;
  pointer-events: none;
}
.dgz-gallery-fade-left {
  left: 0;
  background: linear-gradient(to right, rgba(254,252,249,0.85) 0%, transparent 100%);
}
.dgz-gallery-fade-right {
  right: 0;
  background: linear-gradient(to left, rgba(254,252,249,0.85) 0%, transparent 100%);
}
/* Op alt-achtergrond iets andere fade */
.dgz-section-alt .dgz-gallery-fade-left {
  background: linear-gradient(to right, rgba(248,245,252,0.85) 0%, transparent 100%);
}
.dgz-section-alt .dgz-gallery-fade-right {
  background: linear-gradient(to left, rgba(248,245,252,0.85) 0%, transparent 100%);
}

/* Track — de scrollende strip */
.dgz-gallery-track {
  display: flex;
  gap: 20px;
  align-items: center;
  will-change: transform;
  /* Animatie wordt door JS gezet met juiste duur */
}

.dgz-gallery-track.scrolling {
  animation: dgz-zen-scroll var(--scroll-duration, 60s) linear infinite;
}

.dgz-gallery-track.paused {
  animation-play-state: paused;
}

@keyframes dgz-zen-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(var(--scroll-distance, -50%)); }
}

/* Enkele thumbnail */
.dgz-gallery-thumb {
  flex-shrink: 0;
  width: 180px;
  height: 180px;
  border-radius: var(--r);
  overflow: hidden;
  display: block;
  text-decoration: none;
  box-shadow: 0 6px 24px rgba(138,104,190,0.14);
  border: 1.5px solid rgba(201,180,232,0.22);
  transition: transform .5s cubic-bezier(.22,1,.36,1),
              box-shadow .5s cubic-bezier(.22,1,.36,1),
              border-color .4s;
  cursor: pointer;
}

.dgz-gallery-thumb:hover {
  transform: scale(1.08);
  box-shadow: 0 12px 40px rgba(138,104,190,0.26);
  border-color: rgba(201,180,232,0.45);
}

.dgz-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.22,1,.36,1), filter .4s;
}

.dgz-gallery-thumb:hover img {
  transform: scale(1.05);
}

/* Op alt-sectie: iets zachtere rand */
.dgz-section-alt .dgz-gallery-thumb {
  background: rgba(255,255,255,0.35);
}

/* ─── LIGHTBOX ──────────────────────────────────────────────────── */
.dgz-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s;
}

.dgz-lightbox.active {
  opacity: 1;
  visibility: visible;
}

.dgz-lightbox-overlay {
  position: absolute;
  inset: 0;
  background: rgba(20, 14, 30, 0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  cursor: pointer;
}

.dgz-lightbox-close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: white;
  font-size: 2rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background .2s, border-color .2s, transform .2s;
  line-height: 1;
  padding-bottom: 4px;
}

.dgz-lightbox-close:hover {
  background: rgba(255,255,255,0.22);
  border-color: rgba(255,255,255,0.50);
  transform: scale(1.08);
}

.dgz-lightbox-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.20);
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: white;
  font-size: 1.8rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background .2s, border-color .2s, transform .2s;
  line-height: 1;
  padding-bottom: 3px;
}

.dgz-lightbox-prev { left: 20px; }
.dgz-lightbox-next { right: 20px; }

.dgz-lightbox-arrow:hover {
  background: rgba(255,255,255,0.20);
  border-color: rgba(255,255,255,0.45);
}

.dgz-lightbox-prev:hover { transform: translateY(-50%) translateX(-2px); }
.dgz-lightbox-next:hover { transform: translateY(-50%) translateX(2px); }

.dgz-lightbox-img-wrap {
  position: relative;
  z-index: 5;
  max-width: 88vw;
  max-height: 82vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dgz-lightbox-img {
  max-width: 88vw;
  max-height: 82vh;
  object-fit: contain;
  border-radius: var(--r);
  box-shadow: 0 24px 80px rgba(0,0,0,0.45);
  opacity: 0;
  transform: scale(0.92);
  transition: opacity .4s ease, transform .4s cubic-bezier(.22,1,.36,1);
}

.dgz-lightbox.active .dgz-lightbox-img {
  opacity: 1;
  transform: scale(1);
}

.dgz-lightbox-caption {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.1rem;
  color: rgba(255,255,255,0.80);
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity .35s;
}

.dgz-lightbox.active .dgz-lightbox-caption {
  opacity: 1;
}

.dgz-lightbox-counter {
  position: absolute;
  top: 28px;
  left: 28px;
  z-index: 10;
  font-family: 'Nunito', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.50);
  pointer-events: none;
  opacity: 0;
  transition: opacity .35s;
}

.dgz-lightbox.active .dgz-lightbox-counter {
  opacity: 1;
}

/* SITE CONTENT PADDING */
.dgz-site-content { padding-top: 72px; }

/* RESPONSIVE */
@media(max-width:900px) {
  .dgz-welkom,.dgz-therapie,.dgz-winkel,.dgz-contact { grid-template-columns:1fr; }
  .dgz-cards-4 { grid-template-columns:1fr 1fr; }
  .dgz-gallery-thumb { width:140px; height:140px; }
  .dgz-stenen-head { grid-template-columns:1fr; }
  .dgz-float-card { right:0; }
  .dgz-nav { display:none; }
  .dgz-site-content { padding-top:0; }
  .dgz-lightbox-arrow { width:42px;height:42px;font-size:1.5rem; }
  .dgz-gallery-fade-left, .dgz-gallery-fade-right { width:50px; }
  .dgz-lightbox-prev { left:10px; }
  .dgz-lightbox-next { right:10px; }
  .dgz-lightbox-caption { font-size:.95rem;bottom:20px; }
}
@media(max-width:560px) {
  .dgz-cards-4 { grid-template-columns:1fr; }
  .dgz-frow { grid-template-columns:1fr; }
}

/* ─── Contactformulier ──────────────────────────────────────────── */
.dgz-field { display:flex; flex-direction:column; gap:.35rem; margin-bottom:1.1rem; }
.dgz-field label { font-size:.85rem; font-weight:600; color:var(--kleur-kop,#4a3728); }
.dgz-field label span { color:#b07; }
.dgz-field input,
.dgz-field textarea {
  width:100%; padding:.6rem .85rem;
  border:1.5px solid rgba(160,120,80,.25);
  border-radius:.5rem; background:rgba(255,255,255,.6);
  font-family:inherit; font-size:1rem; color:inherit;
  transition:border-color .2s;
}
.dgz-field input:focus,
.dgz-field textarea:focus { outline:none; border-color:var(--kleur-accent,#b8860b); }
.dgz-form-succes { color:#2d6a2d; background:rgba(180,230,180,.25); border-radius:.5rem; padding:.75rem 1rem; margin-bottom:1rem; }
.dgz-form-fout   { color:#8b1a1a; background:rgba(230,180,180,.25); border-radius:.5rem; padding:.75rem 1rem; margin-bottom:1rem; }
