html{margin:0;padding:0}
body{margin:0;padding:0;container-type:inline-size;container-name:site}

/* ============================================================
   DOMBURG HOME ,  design system  (scope: body)
   ============================================================ */
body{
  /* brand */
  --brand:#2f5496; --brand-deep:#22405f; --brand-ink:#1c2c40;
  --gold:#f2c313; --gold-deep:#d8a708; --seafoam:#a9bcd6;
  --accent:#2f5496;              /* group A default = merkkleur */
  --accent-soft:color-mix(in srgb, var(--accent) 14%, transparent);

  /* fonts (data-font owns these) */
  --font-head:'Cormorant Garamond', Georgia, serif;
  --font-body:'Quicksand', system-ui, sans-serif;

  /* typography treatment (data-type owns these) */
  --head-weight:600; --head-tracking:-0.01em; --head-lh:1.06;
  --head-transform:none; --lead-weight:400;

  /* CTA (data-cta owns these) */
  --cta-bg:var(--accent); --cta-fg:#fff;
  --cta-hover-bg:var(--brand-deep); --cta-hover-fg:#fff;
  --cta2-fg:var(--ink-1); --cta2-border:color-mix(in srgb, var(--ink-1) 34%, transparent);
  --cta2-hover-bg:var(--ink-1); --cta2-hover-fg:var(--surface-1);

  /* button shape (data-buttons owns) */
  --btn-radius:999px;

  /* spacing scale (data-density owns --space) */
  --space:1.35;
  --sec-pad:calc(var(--space) * 46px);
  --gap:calc(var(--space) * 18px);

  /* surfaces (data-bg owns) ,  DEFAULT: warm linen light + deep navy contrast */
  --surface-1:#faf7f0;   /* base linen */
  --surface-2:#f1ead9;   /* deeper cream */
  --surface-3:#ffffff;   /* pure white cards */
  --surface-contrast:#1d3352;   /* deep navy band */
  --surface-contrast-2:#16283f;
  --ink-1:#23303f; --ink-2:#5d6875; --ink-contrast:#f3ecdc;
  --line:color-mix(in srgb, var(--brand) 16%, transparent);
  --card-bg:var(--surface-3);
  --hero-scrim:linear-gradient(180deg, rgba(18,32,52,.30) 0%, rgba(18,32,52,.34) 40%, rgba(16,27,44,.72) 100%);
  --hero-ink:#fff; --hero-sub:rgba(255,255,255,.86);

  /* card treatment (data-cards owns) */
  --card-radius:20px; --card-border:1px solid var(--line);
  --card-shadow:0 26px 60px -34px rgba(24,44,74,.55);
  --card-hover-shadow:0 40px 80px -30px rgba(24,44,74,.6);

  /* mood (data-mood owns) */
  --shadow-mult:1; --anim:1; --accent-warm:var(--gold);

  container-type:inline-size; container-name:site;
  background:var(--surface-1); color:var(--ink-1);
  font-family:var(--font-body);
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
body *{box-sizing:border-box}
:where(body h1,body h2,body h3,body h4,body p,body ul,body figure,body blockquote){margin:0}
body img{max-width:100%;display:block}
body a{color:inherit;text-decoration:none}
body .ic{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}
body .ic--star{fill:currentColor;stroke:none}
body.dh-lock, body.dh-lock, html.dh-lock{overflow:hidden !important; touch-action:none; overscroll-behavior:none}

/* layout container ,  one shared centered column */
body .dh-wrap{width:100%;max-width:1160px;margin-inline:auto;padding-inline:clamp(20px,5cqi,44px)}

/* ---------- Headings ---------- */
body .dh-h2{
  font-family:var(--font-head); font-weight:var(--head-weight);
  font-size:clamp(2rem, 6.4cqi, 3.6rem); line-height:var(--head-lh);
  letter-spacing:var(--head-tracking); text-transform:var(--head-transform);
  color:var(--ink-1); overflow-wrap:break-word;
}
body .dh-h2 em{font-style:italic; color:var(--accent)}
body .dh-lead{font-size:clamp(1.02rem,1.55cqi,1.18rem);color:var(--ink-2);max-width:52ch;font-weight:var(--lead-weight);line-height:1.65}

/* ---------- Eyebrow ---------- */
body .dh-eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-size:.76rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);margin-bottom:calc(var(--space)*14px);
}
body .dh-eyebrow__line{width:34px;height:1px;background:currentColor;opacity:.55;display:inline-block}
body .dh-eyebrow--light{color:var(--gold)}
body .dh-hero .dh-eyebrow{text-shadow:0 1px 14px rgba(12,22,40,.6)}
body .dh-eyebrow--center{justify-content:center}

/* ============================================================
   BUTTONS
   ============================================================ */
body .dh-btn{
  --_r:var(--btn-radius);
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-body);font-weight:600;font-size:.94rem;letter-spacing:.01em;
  padding:.85em 1.5em;border-radius:var(--_r);border:1.5px solid transparent;
  cursor:pointer;transition:all .3s cubic-bezier(.2,.7,.2,1);line-height:1;white-space:nowrap;
}
body .dh-btn .ic{width:1.05em;height:1.05em}
body .dh-btn--solid{background:var(--cta-bg);color:var(--cta-fg);box-shadow:0 14px 30px -16px color-mix(in srgb, var(--cta-bg) 70%, transparent)}
body .dh-btn--solid:hover{background:var(--cta-hover-bg);color:var(--cta-hover-fg);transform:translateY(-2px)}
body .dh-btn--ghost{background:transparent;color:var(--cta2-fg);border-color:var(--cta2-border)}
body .dh-btn--ghost:hover{background:var(--cta2-hover-bg);color:var(--cta2-hover-fg);border-color:var(--cta2-hover-bg)}
body .dh-btn--onDark{--cta2-fg:var(--ink-contrast);--cta2-border:rgba(255,255,255,.4);--cta2-hover-bg:#fff;--cta2-hover-fg:var(--brand-ink)}
body .dh-btn--lg{padding:1.02em 1.9em;font-size:1rem}
body .dh-btn--sm{padding:.62em 1.05em;font-size:.82rem}
body .dh-btn--mini{padding:.6em 1.1em;font-size:.82rem;background:transparent;color:var(--accent);border-color:var(--cta2-border)}
body .dh-btn--mini:hover{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ============================================================
   TOP BAR + HEADER
   ============================================================ */
body .dh-topbar{background:var(--surface-contrast);color:var(--ink-contrast);font-size:.78rem}
body .dh-topbar__in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:9px;min-height:38px}
body .dh-topbar__tag{display:inline-flex;align-items:center;gap:8px;letter-spacing:.03em;opacity:.9}
body .dh-topbar__tag .ic{color:var(--gold);width:15px;height:15px}
body .dh-lang{display:inline-flex;gap:4px;background:rgba(255,255,255,.1);border-radius:999px;padding:3px}
body .dh-lang button{border:0;background:transparent;color:inherit;font:inherit;font-weight:600;padding:3px 11px;border-radius:999px;cursor:pointer;opacity:.7}
body .dh-lang button.is-on{background:var(--gold);color:#1c2c40;opacity:1}

body .dh-head{position:sticky;top:0;z-index:30;background:var(--surface-1);border-bottom:1px solid transparent;transition:background .3s,border-color .3s,box-shadow .3s}
body .dh-head.is-stuck{border-bottom-color:var(--line);box-shadow:0 10px 30px -22px rgba(24,44,74,.5)}
body .dh-head__in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:14px}
body .dh-logo img{height:clamp(38px,5.2cqi,52px);width:auto;filter:var(--logo-filter,none)}
body .dh-nav{display:flex;align-items:center;gap:clamp(14px,2.4cqi,30px)}
body .dh-nav>a:not(.dh-btn){font-weight:600;font-size:.95rem;color:var(--ink-1);position:relative;padding:4px 0}
body .dh-nav>a:not(.dh-btn)::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:width .3s}
body .dh-nav>a:not(.dh-btn):hover::after,body .dh-nav>a.is-active::after{width:100%}
body .dh-nav>a.is-active{color:var(--accent)}
body .dh-nav__cta,body .dh-nav__close{display:none}
body .dh-head__actions{display:flex;align-items:center;gap:12px}
body .dh-burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--surface-3);border-radius:12px;flex-direction:column;gap:5px;align-items:center;justify-content:center;cursor:pointer}
body .dh-burger span{width:20px;height:2px;background:var(--ink-1);border-radius:2px;transition:.3s}

/* ============================================================
   HERO
   ============================================================ */
body .dh-hero{position:relative;isolation:isolate;overflow:visible;z-index:1;padding-block:calc(var(--space)*64px) calc(var(--space)*54px);color:var(--hero-ink)}
body .dh-hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
body .dh-hero__img{width:100%;height:100%;object-fit:cover;animation:dh-kenburns 22s ease-in-out infinite alternate}
body .dh-hero__scrim{position:absolute;inset:0;background:var(--hero-scrim)}
body .dh-hero__glow{position:absolute;top:-14%;right:-6%;width:min(46cqi,560px);height:min(46cqi,560px);border-radius:50%;z-index:-1;background:radial-gradient(circle, color-mix(in srgb, var(--gold) 40%, transparent) 0%, transparent 62%);filter:blur(38px);opacity:.55;pointer-events:none}
@keyframes dh-kenburns{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.14) translate(-1.5%,-1.5%)}}
body .dh-hero__in{position:relative;max-width:920px}
body .dh-hero__title{font-family:var(--font-head);font-weight:600;font-size:clamp(3rem,11cqi,6.4rem);line-height:1.02;letter-spacing:-.01em;text-shadow:0 2px 30px rgba(12,22,40,.35);overflow-wrap:break-word}
body .dh-hero__title em{font-style:italic;color:var(--gold)}
body .dh-hero__sub{margin-top:calc(var(--space)*16px);font-size:clamp(1.05rem,1.9cqi,1.3rem);color:var(--hero-sub);max-width:44ch;line-height:1.6}

/* hero search */
body .dh-search{margin-top:calc(var(--space)*24px);display:grid;grid-template-columns:repeat(4,1fr) auto;gap:10px;align-items:end;background:color-mix(in srgb, var(--surface-1) 94%, transparent);backdrop-filter:blur(8px);padding:14px;border-radius:18px;box-shadow:0 30px 70px -34px rgba(12,22,40,.7);max-width:860px}
body .dh-search__field{display:flex;flex-direction:column;gap:5px;min-width:0}
body .dh-search__field label{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
body .dh-search__field select,body .dh-search__field input{font:inherit;font-size:.92rem;font-weight:500;color:var(--ink-1);background:var(--surface-3);border:1px solid var(--line);border-radius:11px;padding:.72em .8em;width:100%}
body .dh-search__field select:focus,body .dh-search__field input:focus{outline:2px solid var(--accent);outline-offset:1px}
body .dh-search__go{height:auto;align-self:stretch;margin-top:auto;padding-inline:1.4em}

body .dh-hero__proof{margin-top:calc(var(--space)*20px);display:flex;flex-wrap:wrap;gap:10px}
body .dh-chip{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);padding:8px 15px;border-radius:999px;font-size:.86rem;font-weight:600;color:#fff}
body .dh-chip .ic--star{color:var(--gold)}
body .dh-chip--plain strong{color:var(--gold)}

/* ============================================================
   TRUST STRIP
   ============================================================ */
body .dh-strip{background:var(--surface-2);border-block:1px solid var(--line)}
body .dh-strip__in{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,3cqi,38px);padding-block:calc(var(--space)*15px)}
body .dh-strip__item{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;font-weight:600;color:var(--ink-1)}
body .dh-strip__item .ic{color:var(--accent);width:20px;height:20px}

/* ============================================================
   SECTION HEADS
   ============================================================ */
body section{padding-block:var(--sec-pad)}
body .dh-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:calc(var(--space)*30px)}
body .dh-sec-head--center{justify-content:center;text-align:center}
body .dh-grid{display:grid;gap:calc(var(--space)*18px)}

/* ============================================================
   EDITORIAL SPLIT (signature)
   ============================================================ */
body .dh-editorial{background:var(--surface-1)}
body .dh-editorial__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6cqi,74px);align-items:center}
body .dh-frame{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--card-shadow)}
body .dh-frame--tall{aspect-ratio:4/5}
body .dh-frame--wide{aspect-ratio:5/4}
body .dh-frame img{width:100%;height:100%;object-fit:cover}
body .dh-editorial__media{position:relative}
body .dh-editorial__badge{position:absolute;right:-14px;bottom:26px;background:var(--gold);color:#1c2c40;border-radius:16px;padding:16px 22px;display:flex;flex-direction:column;line-height:1;box-shadow:0 24px 44px -22px rgba(216,167,8,.7);text-align:center}
body .dh-editorial__badge em{font-family:var(--font-head);font-style:italic;font-size:1.9rem;font-weight:600}
body .dh-editorial__badge span{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-top:5px}
body .dh-ticks{display:flex;flex-direction:column;gap:12px;margin:calc(var(--space)*20px) 0}
body .dh-ticks li{display:flex;align-items:center;gap:12px;font-weight:500;color:var(--ink-1)}
body .dh-ticks .ic{color:var(--accent);width:22px;height:22px;flex:none;background:var(--accent-soft);border-radius:50%;padding:4px}

/* ============================================================
   ATMO BAND
   ============================================================ */
body .dh-atmo{background:var(--surface-2)}
body .dh-atmo__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6cqi,74px);align-items:center}
body .dh-atmo__stats{display:flex;gap:clamp(16px,3cqi,34px);margin-top:calc(var(--space)*22px)}
body .dh-atmo__stats>div{display:flex;flex-direction:column}
body .dh-atmo__stats strong{font-family:var(--font-head);font-size:1.9rem;font-weight:600;color:var(--accent)}
body .dh-atmo__stats span{font-size:.82rem;color:var(--ink-2);font-weight:600;letter-spacing:.02em}

/* ============================================================
   STAYS / CARDS
   ============================================================ */
body .dh-stays{background:var(--surface-1)}
body .dh-stays__grid{grid-template-columns:repeat(3,1fr)}
body .dh-card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);overflow:hidden;box-shadow:var(--card-shadow);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s;display:flex;flex-direction:column}
body .dh-card:hover{transform:translateY(-6px);box-shadow:var(--card-hover-shadow)}
body .dh-card__media{position:relative;aspect-ratio:3/2;overflow:hidden}
body .dh-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
body .dh-card:hover .dh-card__media img{transform:scale(1.06)}
body .dh-card__tag{position:absolute;left:14px;top:14px;background:color-mix(in srgb, var(--surface-1) 92%, transparent);color:var(--brand-ink);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
body .dh-card__flag{position:absolute;right:14px;top:14px;background:var(--gold);color:#1c2c40;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
body .dh-card__body{padding:clamp(18px,2.6cqi,24px);display:flex;flex-direction:column;gap:9px;flex:1}
body .dh-card__meta{display:flex;justify-content:space-between;gap:10px;font-size:.78rem;font-weight:600;color:var(--accent);letter-spacing:.02em}
body .dh-card__spec{color:var(--ink-2)}
body .dh-card__title{font-family:var(--font-head);font-size:1.6rem;font-weight:600;line-height:1.1;color:var(--ink-1)}
body .dh-card__desc{font-size:.92rem;color:var(--ink-2);line-height:1.55;flex:1}
body .dh-card__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
body .dh-price{display:flex;flex-direction:column;line-height:1.1}
body .dh-price small{font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
body .dh-price b{font-family:var(--font-head);font-size:1.35rem;font-weight:600;color:var(--ink-1)}

/* ============================================================
   AMENITIES
   ============================================================ */
body .dh-amen{background:var(--surface-contrast);color:var(--ink-contrast)}
body .dh-amen .dh-h2{color:var(--ink-contrast)}
body .dh-amen .dh-h2 em{color:var(--gold)}
body .dh-amen .dh-eyebrow{color:var(--gold)}
body .dh-amen__grid{grid-template-columns:repeat(3,1fr)}
body .dh-amen__item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:clamp(20px,2.6cqi,28px);transition:.35s}
body .dh-amen__item:hover{background:rgba(255,255,255,.09);transform:translateY(-4px)}
body .dh-amen__ic{display:inline-flex;width:50px;height:50px;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in srgb, var(--gold) 20%, transparent);color:var(--gold);margin-bottom:16px}
body .dh-amen__ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body .dh-amen__item h4{font-family:var(--font-head);font-size:1.32rem;font-weight:600;margin-bottom:6px}
body .dh-amen__item p{font-size:.9rem;color:rgba(243,236,220,.72);line-height:1.55}

/* ============================================================
   REVIEWS
   ============================================================ */
body .dh-reviews{background:var(--surface-1)}
body .dh-rating{display:flex;flex-direction:column;gap:6px;max-width:280px;font-size:.86rem;color:var(--ink-2)}
body .dh-rating__stars{color:var(--gold);font-size:1.3rem;display:inline-flex;gap:2px}
body .dh-reviews__grid{grid-template-columns:repeat(3,1fr)}
body .dh-quote{background:var(--surface-3);border:var(--card-border);border-radius:var(--card-radius);padding:clamp(22px,3cqi,30px);box-shadow:var(--card-shadow);position:relative;display:flex;flex-direction:column;gap:16px}
body .dh-quote__mark{width:40px;height:40px;color:var(--seafoam);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
body .dh-quote p{font-family:var(--font-head);font-size:1.28rem;font-style:italic;line-height:1.4;color:var(--ink-1)}
body .dh-quote footer{font-size:.8rem;font-weight:600;color:var(--ink-2);letter-spacing:.02em}
body .dh-quote footer span{color:var(--accent)}

/* ============================================================
   CTA BAND
   ============================================================ */
body .dh-cta{position:relative;overflow:hidden;background:var(--surface-contrast-2);color:var(--ink-contrast);text-align:center}
body .dh-cta__glow{position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:min(70cqi,760px);height:min(50cqi,520px);border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--gold) 26%, transparent) 0%, transparent 60%);filter:blur(44px);opacity:.5;pointer-events:none}
body .dh-cta__in{position:relative;max-width:660px;margin-inline:auto}
body .dh-cta__title{font-family:var(--font-head);font-weight:600;font-size:clamp(2.2rem,7cqi,4rem);line-height:1.05;margin-block:6px}
body .dh-cta__title em{font-style:italic;color:var(--gold)}
body .dh-cta__sub{color:rgba(243,236,220,.8);font-size:1.08rem;max-width:44ch;margin:14px auto 0}
body .dh-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:calc(var(--space)*24px)}

/* ============================================================
   FOOTER
   ============================================================ */
body .dh-foot{background:var(--surface-contrast);color:var(--ink-contrast);padding-top:calc(var(--space)*44px)}
body .dh-foot__in{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:clamp(24px,4cqi,48px);padding-bottom:calc(var(--space)*34px)}
body .dh-foot__logo{height:44px;width:auto;background:#fff;padding:9px 14px;border-radius:11px;box-shadow:0 8px 22px -12px rgba(0,0,0,.5);margin-bottom:16px}
body .dh-foot__brand p{color:rgba(243,236,220,.66);font-size:.92rem;line-height:1.6;max-width:34ch}
body .dh-foot__col h4{font-family:var(--font-head);font-size:1.2rem;font-weight:600;margin-bottom:14px;color:var(--gold)}
body .dh-foot__col a{display:block;color:rgba(243,236,220,.78);font-size:.92rem;padding:5px 0;transition:.2s}
body .dh-foot__col a:hover{color:#fff;padding-left:4px}
body .dh-foot__addr{color:rgba(243,236,220,.66);font-size:.92rem;line-height:1.6;margin-bottom:14px}
body .dh-foot__bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-block:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;color:rgba(243,236,220,.6)}
body .dh-foot__bar a{color:var(--gold);font-weight:600}
body .dh-foot__note{opacity:.8}

/* ============================================================
   MODAL
   ============================================================ */
body .dh-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:clamp(16px,5vh,60px) 16px}
body .dh-modal[hidden]{display:none}
body .dh-modal__scrim{position:absolute;inset:0;background:rgba(16,27,44,.62);backdrop-filter:blur(4px);opacity:0;transition:.26s}
body .dh-modal.is-open .dh-modal__scrim{opacity:1}
body .dh-modal__card{position:relative;background:var(--surface-1);color:var(--ink-1);border-radius:22px;overflow:hidden;max-width:560px;width:100%;box-shadow:0 50px 100px -30px rgba(12,22,40,.7);transform:translateY(18px) scale(.98);opacity:0;transition:.3s cubic-bezier(.2,.7,.2,1);max-height:90vh;overflow-y:auto}
body .dh-modal.is-open .dh-modal__card{transform:none;opacity:1}
body .dh-modal__close{position:absolute;right:14px;top:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--brand-ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
body .dh-modal__close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
body .dh-modal__media{aspect-ratio:16/10;overflow:hidden}
body .dh-modal__media img{width:100%;height:100%;object-fit:cover}
body .dh-modal__body{padding:clamp(22px,4cqi,30px);display:flex;flex-direction:column;gap:12px}
body .dh-modal__type{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
body .dh-modal__title{font-family:var(--font-head);font-size:2rem;font-weight:600;line-height:1.1}
body .dh-modal__specs{display:flex;flex-wrap:wrap;gap:8px}
body .dh-modal__specs span{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:5px 13px;font-size:.82rem;font-weight:600;color:var(--ink-1)}
body .dh-modal__new{background:var(--gold) !important;color:#1c2c40 !important;border-color:var(--gold) !important}
body .dh-modal__desc{color:var(--ink-2);line-height:1.65;font-size:.98rem}
body .dh-modal__price{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--surface-2);border-radius:14px}
body .dh-modal__price .dh-modal__from{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
body .dh-modal__price b{font-family:var(--font-head);font-size:1.6rem;color:var(--ink-1)}
body .dh-modal__price em{font-size:.78rem;font-style:normal;color:var(--ink-2)}
body .dh-modal__cta{margin-top:4px}

/* ============================================================
   BACK TO TOP
   ============================================================ */
body .dh-top{position:fixed;right:22px;bottom:22px;z-index:40;width:50px;height:50px;border-radius:50%;border:0;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 16px 34px -14px rgba(24,44,74,.7);opacity:0;visibility:hidden;transform:translateY(14px);transition:.3s}
body .dh-top.is-show{opacity:1;visibility:visible;transform:none}
body .dh-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body .dh-top:hover{background:var(--brand-deep);transform:translateY(-3px)}

/* ============================================================
   REVEAL
   ============================================================ */
body .dh-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
body .dh-reveal.is-in{opacity:1;transform:none}

/* ============================================================
   SUBPAGE COMPONENTS
   ============================================================ */
/* page hero */
body .dh-phero{position:relative;overflow:hidden;background:var(--surface-contrast);color:var(--ink-contrast);padding-block:calc(var(--space)*56px) calc(var(--space)*44px)}
body .dh-phero__glow{position:absolute;top:-40%;right:-6%;width:min(56cqi,620px);height:min(56cqi,620px);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 30%,transparent) 0%,transparent 62%);filter:blur(42px);opacity:.5;pointer-events:none}
body .dh-phero__in{position:relative;max-width:860px}
body .dh-phero .dh-eyebrow{color:var(--gold)}
body .dh-phero__title{font-family:var(--font-head);font-weight:600;font-size:clamp(2.4rem,8.4cqi,4.6rem);line-height:1.04;letter-spacing:-.01em;overflow-wrap:break-word}
body .dh-phero__title em{font-style:italic;color:var(--gold)}
body .dh-phero__sub{margin-top:calc(var(--space)*14px);font-size:clamp(1.02rem,1.7cqi,1.22rem);color:color-mix(in srgb,var(--ink-contrast) 82%,transparent);max-width:56ch;line-height:1.6}
body .dh-crumb{display:flex;gap:8px;align-items:center;font-size:.82rem;font-weight:600;color:color-mix(in srgb,var(--ink-contrast) 72%,transparent);margin-bottom:calc(var(--space)*14px)}
body .dh-crumb a{color:inherit}body .dh-crumb a:hover{color:var(--gold)}
body .dh-crumb span{color:var(--gold)}

/* section base for subpages */
body .dh-part{padding-block:var(--sec-pad)}
body .dh-part--1{background:var(--surface-1)}
body .dh-part--2{background:var(--surface-2)}
body .dh-intro-lead{max-width:60ch;font-size:clamp(1.05rem,1.7cqi,1.25rem);color:var(--ink-2);line-height:1.7}

/* filter bar */
body .dh-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:calc(var(--space)*26px)}
body .dh-filter__btn{padding:.62em 1.25em;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--ink-1);font-family:var(--font-body);font-weight:600;font-size:.9rem;cursor:pointer;transition:.25s}
body .dh-filter__btn:hover{border-color:var(--accent);color:var(--accent)}
body .dh-filter__btn.is-on{background:var(--accent);color:#fff;border-color:var(--accent)}
body .dh-filter__count{margin-left:auto;color:var(--ink-2);font-size:.86rem;font-weight:600}
body .dh-prop.is-hide{display:none}

/* gallery masonry */
body .dh-gal{columns:3;column-gap:calc(var(--space)*16px)}
body .dh-gal__item{break-inside:avoid;margin-bottom:calc(var(--space)*16px);border-radius:16px;overflow:hidden;box-shadow:var(--card-shadow);cursor:pointer;position:relative;display:block;width:100%;border:0;padding:0;background:none}
body .dh-gal__item img{width:100%;height:auto;display:block;transition:transform .6s ease}
body .dh-gal__item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(16,27,44,.45));opacity:0;transition:.3s}
body .dh-gal__item:hover img{transform:scale(1.05)}
body .dh-gal__item:hover::after{opacity:1}
body .dh-gal__cap{position:absolute;left:14px;bottom:12px;z-index:2;color:#fff;font-weight:600;font-size:.9rem;opacity:0;transform:translateY(6px);transition:.3s;text-shadow:0 1px 8px rgba(0,0,0,.5)}
body .dh-gal__item:hover .dh-gal__cap{opacity:1;transform:none}

/* lightbox */
body .dh-lb{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}
body .dh-lb[hidden]{display:none}
body .dh-lb__scrim{position:absolute;inset:0;background:rgba(10,17,28,.82);backdrop-filter:blur(3px)}
body .dh-lb__img{position:relative;max-width:92%;max-height:86vh;border-radius:14px;box-shadow:0 40px 100px -30px #000}
body .dh-lb__close{position:absolute;top:18px;right:18px;z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#16283f;cursor:pointer;display:flex;align-items:center;justify-content:center}
body .dh-lb__close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round}
body .dh-lb__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:50px;height:50px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
body .dh-lb__nav:hover{background:rgba(255,255,255,.3)}
body .dh-lb__nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
body .dh-lb__prev{left:16px}body .dh-lb__next{right:16px}

/* FAQ */
body .dh-faq{max-width:840px;margin-inline:auto}
body .dh-faq__item{border-bottom:1px solid var(--line)}
body .dh-faq__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:calc(var(--space)*16px) 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--font-head);font-weight:600;font-size:clamp(1.15rem,2.2cqi,1.5rem);color:var(--ink-1);line-height:1.25}
body .dh-faq__ic{flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.3s}
body .dh-faq__ic svg{width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;transition:.3s}
body .dh-faq__item.is-open .dh-faq__ic{background:var(--accent);border-color:var(--accent)}
body .dh-faq__item.is-open .dh-faq__ic svg{stroke:#fff;transform:rotate(45deg)}
body .dh-faq__a{overflow:hidden;max-height:0;transition:max-height .4s ease}
body .dh-faq__a p{padding:0 0 calc(var(--space)*16px);color:var(--ink-2);line-height:1.7;max-width:64ch}

/* contact */
body .dh-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5cqi,60px);align-items:start}
body .dh-contact__info h3{font-family:var(--font-head);font-size:1.7rem;font-weight:600;margin-bottom:12px}
body .dh-contact__list{display:flex;flex-direction:column;gap:18px;margin-top:calc(var(--space)*20px)}
body .dh-contact__row{display:flex;gap:14px;align-items:flex-start}
body .dh-contact__ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}
body .dh-contact__ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body .dh-contact__row b{display:block;font-size:.98rem;color:var(--ink-1)}
body .dh-contact__row span{font-size:.9rem;color:var(--ink-2)}
body .dh-form{background:var(--surface-3);border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:clamp(22px,3.5cqi,34px);display:flex;flex-direction:column;gap:16px}
body .dh-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
body .dh-field{display:flex;flex-direction:column;gap:6px}
body .dh-field label{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
body .dh-field input,body .dh-field textarea,body .dh-field select{font:inherit;font-size:.95rem;color:var(--ink-1);background:var(--surface-1);border:1px solid var(--line);border-radius:11px;padding:.8em .9em;width:100%}
body .dh-field textarea{resize:vertical;min-height:120px}
body .dh-field input:focus,body .dh-field textarea:focus,body .dh-field select:focus{outline:2px solid var(--accent);outline-offset:1px}
body .dh-field.is-error input,body .dh-field.is-error textarea{border-color:#c0492f;background:color-mix(in srgb,#c0492f 6%,var(--surface-1))}
body .dh-field__err{color:#c0492f;font-size:.78rem;font-weight:600;display:none}
body .dh-field.is-error .dh-field__err{display:block}
body .dh-form__ok{display:none;align-items:center;gap:10px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-1));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:12px;padding:14px 16px;color:var(--ink-1);font-weight:600}
body .dh-form__ok.is-show{display:flex}
body .dh-form__ok svg{width:22px;height:22px;color:var(--accent);flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* prose (terms) */
body .dh-prose{max-width:800px;margin-inline:auto}
body .dh-prose h3{font-family:var(--font-head);font-size:clamp(1.4rem,3cqi,1.9rem);font-weight:600;color:var(--ink-1);margin:calc(var(--space)*26px) 0 12px}
body .dh-prose h3:first-child{margin-top:0}
body .dh-prose p{color:var(--ink-2);line-height:1.75;margin-bottom:14px}
body .dh-prose ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
body .dh-prose li{display:flex;gap:12px;color:var(--ink-2);line-height:1.6}
body .dh-prose li::before{content:"";flex:none;width:8px;height:8px;margin-top:9px;border-radius:2px;background:var(--gold);transform:rotate(45deg)}
body .dh-toc{position:sticky;top:100px;display:flex;flex-direction:column;gap:6px}

/* compare */
body .dh-cmp-pick{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:calc(var(--space)*24px)}
body .dh-cmp-chip{padding:.55em 1.1em;border-radius:999px;border:1.5px solid var(--line);background:var(--surface-3);color:var(--ink-1);font-weight:600;font-size:.86rem;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:8px}
body .dh-cmp-chip:hover{border-color:var(--accent)}
body .dh-cmp-chip.is-on{background:var(--accent);color:#fff;border-color:var(--accent)}
body .dh-cmp-grid{display:grid;gap:calc(var(--space)*16px);grid-template-columns:repeat(3,1fr)}
body .dh-cmp-col{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);overflow:hidden;box-shadow:var(--card-shadow)}
body .dh-cmp-col__media{aspect-ratio:16/10;overflow:hidden}
body .dh-cmp-col__media img{width:100%;height:100%;object-fit:cover}
body .dh-cmp-col__body{padding:20px}
body .dh-cmp-col__body h4{font-family:var(--font-head);font-size:1.35rem;font-weight:600;margin-bottom:4px}
body .dh-cmp-col__type{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
body .dh-cmp-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:.9rem}
body .dh-cmp-row span{color:var(--ink-2)}body .dh-cmp-row b{color:var(--ink-1);font-weight:600}
body .dh-cmp-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--ink-2);border:2px dashed var(--line);border-radius:var(--card-radius)}

@container site (max-width:900px){
  body .dh-gal{columns:2}
  body .dh-contact{grid-template-columns:1fr}
  body .dh-cmp-grid{grid-template-columns:repeat(2,1fr)}
}
@container site (max-width:560px){
  body .dh-gal{columns:1}
  body .dh-form__row{grid-template-columns:1fr}
  body .dh-cmp-grid{grid-template-columns:1fr}
}

/* ============================================================
   RESPONSIVE (container queries)
   ============================================================ */
@container site (max-width:1000px){
  body .dh-stays__grid,body .dh-amen__grid,body .dh-reviews__grid{grid-template-columns:repeat(2,1fr)}
}
@container site (max-width:860px){
  body .dh-topbar{display:none}
  body .dh-head__cta{display:none}
  body .dh-burger{display:flex}
  body .dh-nav{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(84vw,340px);max-width:100%;flex-direction:column;align-items:stretch;gap:4px;background:var(--surface-1);padding:76px 26px 30px;box-shadow:-30px 0 60px -30px rgba(12,22,40,.5);transform:translateX(105%);transition:transform .36s cubic-bezier(.2,.7,.2,1);z-index:60;overflow-y:auto}
  body .dh-nav.is-open{transform:none}
  body .dh-nav>a:not(.dh-btn){font-size:1.14rem;padding:12px 0;border-bottom:1px solid var(--line)}
  body .dh-nav>a:not(.dh-btn)::after{display:none}
  body .dh-nav__cta{display:inline-flex;margin-top:16px}
  body .dh-nav__close{display:flex;position:absolute;top:20px;right:20px;width:40px;height:40px;border:1px solid var(--line);background:var(--surface-3);border-radius:12px;align-items:center;justify-content:center;cursor:pointer}
  body .dh-nav__close svg{width:18px;height:18px;fill:none;stroke:var(--ink-1);stroke-width:2.2;stroke-linecap:round}
  body .dh-nav__scrim{position:fixed;inset:0;background:rgba(16,27,44,.5);z-index:20}
  body .dh-editorial__in,body .dh-atmo__in{grid-template-columns:1fr;gap:40px}
  body .dh-atmo__media{order:-1}
  body .dh-search{grid-template-columns:1fr 1fr;gap:9px}
  body .dh-search__go{grid-column:1/-1}
  body .dh-foot__in{grid-template-columns:1fr 1fr}
}
@container site (max-width:560px){
  body .dh-stays__grid,body .dh-amen__grid,body .dh-reviews__grid{grid-template-columns:1fr}
  body .dh-search{grid-template-columns:1fr}
  body .dh-foot__in{grid-template-columns:1fr}
  body .dh-sec-head{align-items:flex-start}
  body .dh-editorial__badge{right:14px}
}

/* ============================================================
   ===============  TWEAK DIMENSIONS  =========================
   ============================================================ */

/* ---------- A2: data-font (families) ---------- */

/* ---------- A3: data-cta ---------- */

/* ---------- B: data-density (drives --space) ---------- */

/* ---------- C: data-type (treatment only) ---------- */

/* ---------- D: data-hero (layout only) ---------- */
@container site (max-width:860px){}

/* ---------- E: data-buttons (shape) ---------- */

/* ---------- F: data-mood (tone only) ---------- */

/* ---------- G: data-cards ---------- */

/* ============================================================
   BG SCHEMES (data-bg)
   ============================================================ */
/* Exclusief licht */

/* Exclusief donker */

/* reduce motion */
@media (prefers-reduced-motion:reduce){
  body .dh-hero__img{animation:none}
  body .dh-reveal{transition:none;opacity:1;transform:none}
}
body{--cta-bg:var(--gold);--cta-fg:#1c2c40;--cta-hover-bg:var(--gold-deep);--cta-hover-fg:#1c2c40}
body{--space:1.7}
body{--head-weight:600;--head-tracking:-0.005em;--head-lh:1.07}
body .dh-hero{text-align:center}
body .dh-hero__in{max-width:820px;margin-inline:auto}
body .dh-hero__sub{margin-inline:auto}
body .dh-search{margin-inline:auto}
body .dh-hero__proof{justify-content:center}
body .dh-eyebrow{justify-content:center}
body{--btn-radius:8px}
body .dh-btn--solid{box-shadow:none}
body{--card-shadow:0 34px 74px -34px rgba(24,44,74,.62);--card-hover-shadow:0 48px 96px -30px rgba(24,44,74,.66)}
body .dh-h2 em{text-shadow:0 1px 20px color-mix(in srgb,var(--accent) 30%,transparent)}
body{--card-border:1.5px solid var(--line);--card-shadow:0 10px 30px -20px rgba(24,44,74,.4);--card-radius:16px}
body{--accent:#2f5496}

/* ============================================================
   Recranet-widgets — geel maken + dropdowns niet afknippen.
   Werkt op ALLE pagina's (home, /reserveren, enz.).
   ============================================================ */

/* 1) Zoek-dropdowns niet meer afgeknipt / achter de sectie eronder.
   Home-hero (.dh-hero) is al gefixt; subpagina-hero (.dh-phero, o.a.
   /reserveren) hier ook. */
body .dh-phero{overflow:visible;z-index:1}

/* 2) Recranet-knoppen (Zoeken, Boek nu) geel met donkere tekst,
   net als de thema-/header-knop. Thema's eigen knoppen zijn al geel
   en worden uitgesloten (.dh-btn / .dh-filter__btn). */
body button[type="submit"]:not(.dh-btn):not(.dh-filter__btn),
body input[type="submit"]:not(.dh-btn),
body button.btn-primary,
body a.btn-primary,
body a[href*="boek"]:not(.dh-btn),
body a[href*="booking"]:not(.dh-btn),
body [class*="recranet"] button,
body [class*="recranet"] a[class*="btn"]{
  background:var(--gold) !important;
  color:#1c2c40 !important;
  border-color:var(--gold) !important;
  font-weight:700 !important;
}
body button[type="submit"]:not(.dh-btn):not(.dh-filter__btn):hover,
body input[type="submit"]:not(.dh-btn):hover,
body button.btn-primary:hover,
body a.btn-primary:hover,
body a[href*="boek"]:not(.dh-btn):hover,
body a[href*="booking"]:not(.dh-btn):hover,
body [class*="recranet"] button:hover,
body [class*="recranet"] a[class*="btn"]:hover{
  background:var(--gold-deep) !important;
  color:#1c2c40 !important;
  border-color:var(--gold-deep) !important;
}

/* ============================================================
   Recranet huiskaarten in Domburg Home (dh-card) stijl.
   Getarget op Recranet's .rn-accommodation-cards-* markup.
   ============================================================ */
.rn-accommodation-cards-item{background:#fff;border:1px solid rgba(47,84,150,.16);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px -20px rgba(24,44,74,.4);display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.rn-accommodation-cards-item:hover{transform:translateY(-4px);box-shadow:0 34px 74px -30px rgba(24,44,74,.5)}
.rn-accommodation-cards-item-image-container,.rn-accommodation-cards-item-image{position:relative}
.rn-accommodation-cards-item-image{aspect-ratio:3/2;overflow:hidden}
.rn-accommodation-cards-item-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.rn-accommodation-cards-item:hover .rn-accommodation-cards-item-image img{transform:scale(1.05)}
/* "Nieuw" -> gouden pill rechtsboven */
.rn-accommodation-cards-item-image-overlay .rn-accommodation-cards-item-new-label{position:absolute!important;right:14px!important;top:14px!important;left:auto!important;z-index:3;background:var(--gold,#f2c313)!important;color:#1c2c40!important;font-size:.72rem!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase!important;padding:6px 12px!important;border-radius:999px!important;line-height:1!important;box-shadow:0 6px 16px -8px rgba(0,0,0,.35)!important}
/* Details */
.rn-accommodation-cards-item-details{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.rn-accommodation-cards-item-details-section{padding:0!important;border:0!important;background:none!important;margin:0}
/* Titel (serif) */
.rn-accommodation-cards-item .rn-h3{font-family:var(--font-head,"Cormorant Garamond",Georgia,serif)!important;font-weight:600!important;font-size:1.6rem!important;color:#23303f!important;margin:0 0 3px!important;line-height:1.1!important}
/* Subtitel -> blauw accent (1 regel) */
.rn-accommodation-cards-item .rn-h4{font-family:var(--font-body,"Quicksand",sans-serif)!important;color:var(--accent,#2f5496)!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.02em!important;line-height:1.35!important;margin:0 0 9px!important;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
/* Beschrijving (max 2 regels) */
.rn-accommodation-cards-item-details-section-description p{color:#5d6875;font-size:.92rem;font-weight:400;line-height:1.55;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Kenmerken (gasten · m²) */
ul.rn-accommodation-cards-item-features{list-style:none!important;margin:0 0 2px!important;padding:0!important;display:flex;flex-wrap:wrap;align-items:center;gap:0;color:#5d6875;font-size:.78rem;font-weight:600;letter-spacing:.02em}
ul.rn-accommodation-cards-item-features li{display:inline-flex;align-items:center;margin:0}
ul.rn-accommodation-cards-item-features li:not(:first-child)::before{content:"·";margin:0 8px;color:#aab2bd}
ul.rn-accommodation-cards-item-features .rn-accommodation-cards-item-feature-icon{color:var(--accent,#2f5496)}
/* Prijs-sectie: divider + rij */
.rn-accommodation-cards-item-details-section-price{border-top:1px solid rgba(47,84,150,.16)!important;margin-top:auto!important;padding-top:14px!important;margin-bottom:0!important}
.rn-accommodation-cards-item-details-price{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rn-accommodation-cards-item-price-period{display:none!important}
.rn-accommodation-cards-item-price::before{content:"Weekprijs vanaf";display:block;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a94a3;margin-bottom:2px}
.rn-accommodation-cards-item-price-label{font-family:var(--font-head,"Cormorant Garamond",Georgia,serif)!important;font-weight:600!important;font-size:1.4rem!important;color:#23303f!important;line-height:1.1!important}
/* Knop -> mini ghost (blauw, outline) */
.rn-accommodation-cards-item-btn .rn-btn.rn-btn-default{background:transparent!important;color:var(--accent,#2f5496)!important;border:1px solid rgba(35,48,63,.34)!important;border-radius:8px!important;padding:.62em 1.1em!important;font-weight:600!important;font-size:.82rem!important;letter-spacing:.01em!important;box-shadow:none!important;white-space:nowrap;transition:.25s}
.rn-accommodation-cards-item-btn .rn-btn.rn-btn-default:hover{background:var(--accent,#2f5496)!important;color:#fff!important;border-color:var(--accent,#2f5496)!important}
/* Knoptekst altijd "Bekijk" */
.rn-accommodation-cards-item-btn .rn-btn .rn-d-xl-inline-block{display:none!important}
.rn-accommodation-cards-item-btn .rn-btn .rn-d-lg-inline-block{display:inline-block!important}

/* ============================================================
   Accommodatie-detailpagina (Recranet SPA-route, bv. /ooststraat-4).
   Deze views renderen binnen de home-template; body blijft "home".
   Zodra <rn-accommodation-detail> in de DOM staat is er een detail
   open -> verberg alle home-marketingsecties zodat de pagina direct
   bij de huisfoto's begint. Op de echte home ontbreekt dat element,
   dus daar verandert er niets.
   ============================================================ */
body:has(rn-accommodation-detail) .dh-hero,
body:has(rn-accommodation-detail) .dh-strip,
body:has(rn-accommodation-detail) .dh-editorial,
body:has(rn-accommodation-detail) .dh-atmo,
body:has(rn-accommodation-detail) .dh-amen,
body:has(rn-accommodation-detail) .dh-reviews,
body:has(rn-accommodation-detail) .dh-cta{display:none!important}
body:has(rn-accommodation-detail) .dh-stays>.dh-wrap>.dh-sec-head{display:none!important}
body:has(rn-accommodation-detail) .dh-stays{padding-top:30px!important}

/* ============================================================
   Accommodatie-detail: Airbnb-stijl layout in Domburg Home thema.
   Serif koppen + goud CTA behouden; verder Airbnb-achtig (dunne
   #ddd dividers, inline meta-rij, ruime spacing, bordered kaart).
   Gescoped op <rn-accommodation-detail>.
   ============================================================ */
rn-accommodation-detail{font-family:var(--font-body,"Quicksand",sans-serif);color:#222}
/* Galerij: afgeronde mozaïek */
rn-accommodation-detail .rn-media-grid{border-radius:12px;overflow:hidden}
rn-accommodation-detail .rn-media-grid button.rn-btn{background:#fff!important;color:#222!important;border:1px solid #222!important;border-radius:8px!important;font-weight:600!important;box-shadow:none!important;padding:7px 14px!important}
/* Titel (serif) */
rn-accommodation-detail .rn-h1{font-family:var(--font-head,"Cormorant Garamond",Georgia,serif)!important;font-weight:600!important;font-size:2.1rem!important;color:#222!important;line-height:1.1!important;margin:0 0 8px!important}
/* Sectiekoppen (serif) */
rn-accommodation-detail .rn-h2,rn-accommodation-detail .rn-h3{font-family:var(--font-head,"Cormorant Garamond",Georgia,serif)!important;font-weight:600!important;color:#222!important;font-size:1.55rem!important}
/* Kenmerken -> inline meta-rij */
rn-accommodation-detail .rn-accommodation-features-list{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:0!important}
rn-accommodation-detail .feature-list-item{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;margin:0!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-size:1rem!important;font-weight:400!important;color:#222!important;min-width:0!important}
rn-accommodation-detail .feature-list-item:not(:first-child)::before{content:"·";margin:0 12px;color:#999}
rn-accommodation-detail .rn-accommodation-features-list-item-icon{color:#717171!important;font-size:1rem!important}
/* Beschrijving + "Lees meer" als linktekst */
rn-accommodation-detail .rn-accommodation-description p{color:#222!important;font-size:1rem!important;line-height:1.65!important}
rn-accommodation-detail .rn-accommodation-description-section button.rn-btn.rn-btn-link-underline{background-color:transparent!important;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;color:#222!important;text-decoration:underline!important;font-weight:600!important}
rn-accommodation-detail .rn-accommodation-description-section button.rn-btn.rn-btn-link-underline span{background:transparent!important;color:#222!important}
/* Secties: dunne dividers + ruimte */
rn-accommodation-detail .rn-accommodation-details-section{border-top:1px solid #ddd!important;padding-top:32px!important;margin-top:32px!important}
/* Tab-nav (underline) */
rn-accommodation-detail .rn-component-nav{border-bottom:1px solid #ddd!important;gap:6px!important}
rn-accommodation-detail .rn-nav-link{color:#717171!important;font-weight:600!important;font-size:.95rem!important;padding:12px 14px!important;border-bottom:2px solid transparent!important;background:none!important}
rn-accommodation-detail .rn-nav-link:hover{color:#222!important}
rn-accommodation-detail .rn-nav-link.active{color:#222!important;border-bottom-color:#222!important}
/* Voorzieningen-lijst */
rn-accommodation-detail .rn-accommodation-facility-list-item{padding:11px 0!important;color:#222!important;font-size:1rem!important}
rn-accommodation-detail .rn-accommodation-facility-list-item fa-icon,rn-accommodation-detail .rn-accommodation-facility-list-item svg{color:#222!important}
/* "Alle voorzieningen weergeven" -> outlined donker */
rn-accommodation-detail button.rn-btn-white{background:#fff!important;color:#222!important;border:1px solid #222!important;border-radius:8px!important;font-weight:600!important;padding:11px 20px!important;box-shadow:none!important}
rn-accommodation-detail button.rn-btn-white:hover{background:#f7f7f7!important}
/* Boekingskaart */
rn-accommodation-detail .rn-panel{background:#fff!important;border:1px solid #ddd!important;border-radius:14px!important;box-shadow:0 6px 16px rgba(0,0,0,.12)!important;padding:24px!important}
rn-accommodation-detail .rn-panel.rn-panel-muted{background:#fff!important}
rn-accommodation-detail .rn-panel .rn-h3,rn-accommodation-detail rn-accommodation-detail-sidebar .rn-h1,rn-accommodation-detail .rn-panel-section .rn-h2{font-size:1.35rem!important;line-height:1.15!important}
/* Boek-knop -> goud pill */
rn-accommodation-detail button.rn-btn-default.rn-btn-lg{background:var(--gold,#f2c313)!important;color:#1c2c40!important;border:0!important;border-radius:999px!important;font-weight:700!important;padding:14px 24px!important;box-shadow:none!important}
rn-accommodation-detail button.rn-btn-default.rn-btn-lg:hover{background:var(--gold-deep,#d8a708)!important}

/* Witte content-kaarten voor de detail-linkerkolom (samenhangend geheel). */
rn-accommodation-detail rn-accommodation-detail-overview,
rn-accommodation-detail .rn-accommodation-details-section{display:block!important;background:#fff!important;border:1px solid rgba(47,84,150,.12)!important;border-radius:16px!important;padding:28px!important;margin-top:20px!important;box-shadow:0 6px 22px -18px rgba(24,44,74,.5)!important}
rn-accommodation-detail rn-accommodation-detail-overview{margin-top:0!important}
/* Geen kaart-in-kaart: interne panelen binnen een sectie laten blenden. */
rn-accommodation-detail .rn-accommodation-details-section .rn-panel{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}

/* ============================================================
   Recranet sub-views (detail + hele boekflow): verberg de home-
   marketing zolang zo'n view actief is. Body krijgt .dh-rn-view
   via een klein script (zie functions.php): actief zodra we op de
   home-template zitten maar NIET op "/". Dekt detail én alle
   boekstappen (prijsopgave, gegevens, bevestiging, ...).
   ============================================================ */
body.dh-rn-view .dh-hero,
body.dh-rn-view .dh-phero,
body.dh-rn-view .dh-strip,
body.dh-rn-view .dh-filter,
body.dh-rn-view .dh-editorial,
body.dh-rn-view .dh-atmo,
body.dh-rn-view .dh-amen,
body.dh-rn-view .dh-reviews,
body.dh-rn-view .dh-cta{display:none!important}
body.dh-rn-view .dh-stays>.dh-wrap>.dh-sec-head{display:none!important}
body.dh-rn-view .dh-stays{padding-top:30px!important}
body.dh-rn-view .dh-part{padding-top:16px!important}

/* Boekstap (Prijsopgave) — zelfde witte-kaart look als het detail. */
rn-reservation-quotation{font-family:var(--font-body,"Quicksand",sans-serif)!important;color:#222!important;display:block!important}
rn-reservation-quotation .rn-h1,rn-reservation-quotation .rn-h2,rn-reservation-quotation .rn-h3{font-family:var(--font-head,"Cormorant Garamond",Georgia,serif)!important;font-weight:600!important;color:#222!important}
rn-reservation-quotation .rn-h1{font-size:2rem!important;margin-bottom:6px!important}
rn-reservation-quotation .rn-h3{font-size:1.35rem!important}
rn-reservation-quotation form.rn-quotation-form{background:#fff!important;border:1px solid rgba(47,84,150,.12)!important;border-radius:16px!important;padding:28px!important;box-shadow:0 6px 22px -18px rgba(24,44,74,.5)!important}
rn-reservation-quotation .rn-panel{background:#fff!important;border:1px solid #ddd!important;border-radius:14px!important;box-shadow:0 6px 16px rgba(0,0,0,.12)!important;padding:24px!important}

/* ============================================================
   Mobiel: header (logo + hamburger) echt sticky, en de zwevende
   Recranet-filterknop weg op home (inline zoekbalk blijft).
   De sticky brak doordat body overflow-x:clip heeft (sticky kleeft
   dan aan de niet-scrollende body); op mobiel lossen we dat op met
   een fixed header + ruimte-reservering op detail/boekstappen.
   ============================================================ */
@media (max-width:900px){
  body .wp-site-blocks > .wp-block-template-part:first-child{position:fixed;top:0;left:0;right:0;width:100%;z-index:50}
  body.dh-rn-view .dh-stays{padding-top:90px!important}
  body.dh-rn-view .dh-part{padding-top:82px!important}
}
/* Zwevende Recranet-filterknop weg op home; de inline zoekbalk in de hero blijft. */
body.home .rn-search-panel-anchor-btn{display:none!important}
