.msm-jachthaven-havenkaart{--hk-p:var(--m-primary,#1e3a5a);--hk-bg:var(--m-bg,#eef1f3);--hk-ink:var(--m-ink,#0f1b2a);--hk-s:var(--m-surface,#ffffff);--hk-mu:var(--m-muted,#5a6675);--hk-a:var(--m-accent2,#b8843a);--hk-l:color-mix(in srgb,var(--hk-ink) 14%,transparent);--hk-wood:color-mix(in srgb,var(--hk-a) 34%,var(--hk-s));position:relative;scroll-margin-top:112px;padding:clamp(72px,9vw,128px) 0 clamp(64px,8vw,112px);background:var(--hk-bg);color:var(--hk-ink);font-family:var(--m-font-body,"Public Sans","Segoe UI",system-ui,sans-serif);font-size:16px;line-height:1.55}
.msm-jachthaven-havenkaart *{box-sizing:border-box}
.msm-jachthaven-havenkaart [hidden]{display:none!important}
.msm-jachthaven-havenkaart .ms-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.msm-jachthaven-havenkaart .hk-wrap{width:min(1240px,100% - 32px);margin:0 auto}
.msm-jachthaven-havenkaart .hk-head{max-width:760px;margin-bottom:clamp(24px,3vw,36px)}
.msm-jachthaven-havenkaart .hk-kicker{margin:0 0 10px;color:var(--hk-p);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.msm-jachthaven-havenkaart .hk-title{margin:0;font:500 clamp(36px,5.2vw,62px)/1.05 var(--m-font-display,"Newsreader",Georgia,"Times New Roman",serif);letter-spacing:-.015em;color:var(--hk-ink)}
.msm-jachthaven-havenkaart .hk-intro{margin:16px 0 0;max-width:62ch;color:var(--hk-mu);font-size:18px}
.msm-jachthaven-havenkaart .hk-controls{display:grid;gap:12px;margin:0 0 18px;padding:16px;border:1px solid var(--hk-l);border-radius:20px;background:var(--hk-s)}
.msm-jachthaven-havenkaart .hk-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0;padding:0;border:0;min-width:0}
.msm-jachthaven-havenkaart .hk-field{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:700;color:var(--hk-ink)}
.msm-jachthaven-havenkaart .hk-unit{position:relative;display:block}
.msm-jachthaven-havenkaart .hk-unit>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--hk-mu);font-weight:400;font-size:14px;pointer-events:none}
.msm-jachthaven-havenkaart .hk-field input,.msm-jachthaven-havenkaart .hk-field select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--hk-l);border-radius:12px;background:var(--hk-bg);color:var(--hk-ink);font:inherit;font-weight:400;font-size:15px}
.msm-jachthaven-havenkaart .hk-unit input{padding-right:32px}
.msm-jachthaven-havenkaart .hk-field input[aria-invalid="true"]{border-color:var(--hk-a)}
.msm-jachthaven-havenkaart .hk-field input:focus-visible,.msm-jachthaven-havenkaart .hk-field select:focus-visible,.msm-jachthaven-havenkaart .hk-check input:focus-visible{outline:3px solid color-mix(in srgb,var(--hk-a) 75%,transparent);outline-offset:2px}
.msm-jachthaven-havenkaart .hk-status{margin:0;color:var(--hk-mu);font-size:14px}
.msm-jachthaven-havenkaart .hk-maplabel{margin:0 0 10px;color:var(--hk-mu);font-size:14px}
.msm-jachthaven-havenkaart .hk-hint{display:none}
.msm-jachthaven-havenkaart .hk-scroll{border-radius:24px}
.msm-jachthaven-havenkaart .hk-map{position:relative;aspect-ratio:1000/640;border:1px solid var(--hk-l);border-radius:24px;overflow:hidden;background:var(--hk-bg);isolation:isolate}
.msm-jachthaven-havenkaart .hk-water{position:absolute;inset:0;z-index:0;background:var(--hk-bg)}
.msm-jachthaven-havenkaart .minimal-ripple{position:absolute;inset:0;overflow:hidden}
.msm-jachthaven-havenkaart .minimal-ripple-canvas{position:absolute;inset:0}
.msm-jachthaven-havenkaart .minimal-ripple-content{position:relative;z-index:10;height:100%;width:100%}
.msm-jachthaven-havenkaart .hk-svg{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;font-family:var(--m-font-body,"Public Sans","Segoe UI",system-ui,sans-serif)}
.msm-jachthaven-havenkaart .hk-svg text{text-anchor:middle;pointer-events:none}
.msm-jachthaven-havenkaart .hk-land rect{fill:var(--hk-s)}
.msm-jachthaven-havenkaart .hk-kade{fill:none;stroke:color-mix(in srgb,var(--hk-ink) 45%,transparent);stroke-width:2}
.msm-jachthaven-havenkaart .hk-buildings rect,.msm-jachthaven-havenkaart .hk-buildings path{fill:color-mix(in srgb,var(--hk-p) 10%,var(--hk-s));stroke:color-mix(in srgb,var(--hk-p) 70%,transparent);stroke-width:1.5}
.msm-jachthaven-havenkaart .hk-buildings .hk-parking{fill:none;stroke-dasharray:6 5}
.msm-jachthaven-havenkaart .hk-buildings .hk-slope{fill:color-mix(in srgb,var(--hk-mu) 18%,var(--hk-s))}
.msm-jachthaven-havenkaart .hk-landlabels text{font-size:14px;font-weight:600;fill:var(--hk-ink)}
.msm-jachthaven-havenkaart .hk-jetties rect{fill:var(--hk-wood);stroke:color-mix(in srgb,var(--hk-a) 55%,var(--hk-ink));stroke-width:1}
.msm-jachthaven-havenkaart .hk-posts rect{fill:var(--hk-ink)}
.msm-jachthaven-havenkaart .hk-jettylabels text{font-size:14px;font-weight:700;fill:var(--hk-p)}
.msm-jachthaven-havenkaart .hk-jettylabels .hk-lake{font-weight:600;font-style:italic;fill:var(--hk-mu)}
.msm-jachthaven-havenkaart .hk-arrow{fill:none;stroke:var(--hk-mu);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.msm-jachthaven-havenkaart .hk-hatch-line{fill:color-mix(in srgb,var(--hk-ink) 32%,transparent)}
.msm-jachthaven-havenkaart .hk-box{cursor:pointer;outline:none}
.msm-jachthaven-havenkaart .hk-box rect{fill:color-mix(in srgb,var(--hk-s) 72%,transparent);stroke:color-mix(in srgb,var(--hk-ink) 34%,transparent);stroke-width:1.2;transition:fill .2s,stroke .2s,opacity .2s}
.msm-jachthaven-havenkaart .hk-box text{font-size:15px;font-weight:700;fill:var(--hk-ink);transition:opacity .2s}
.msm-jachthaven-havenkaart .hk-box[data-fit="1"][data-bezet="0"] rect{fill:color-mix(in srgb,var(--hk-p) 20%,var(--hk-s));stroke:var(--hk-p);stroke-width:1.6}
.msm-jachthaven-havenkaart .hk-box[data-bezet="1"] rect{fill:url(#hk-arcering);stroke:color-mix(in srgb,var(--hk-ink) 40%,transparent)}
.msm-jachthaven-havenkaart .hk-box[data-bezet="1"] text{opacity:.62}
.msm-jachthaven-havenkaart .hk-box[data-fit="0"]{opacity:.42}
.msm-jachthaven-havenkaart .hk-box:hover rect{stroke:var(--hk-ink);stroke-width:2}
.msm-jachthaven-havenkaart .hk-box[aria-checked="true"]{opacity:1}
.msm-jachthaven-havenkaart .hk-box.hk-box[aria-checked="true"] rect{fill:var(--hk-a);stroke:var(--hk-ink);stroke-width:2.6}
.msm-jachthaven-havenkaart .hk-box.hk-box[aria-checked="true"] text{opacity:1;fill:var(--hk-ink)}
.msm-jachthaven-havenkaart .hk-box.hk-box:focus-visible rect{stroke:var(--hk-ink);stroke-width:4;stroke-dasharray:none}
.msm-jachthaven-havenkaart .hk-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:12px 0 0;padding:0;list-style:none;color:var(--hk-mu);font-size:14px}
.msm-jachthaven-havenkaart .hk-legend li{display:inline-flex;align-items:center;gap:8px}
.msm-jachthaven-havenkaart .hk-swatch{display:inline-block;width:22px;height:14px;border-radius:4px;border:1.5px solid var(--hk-p);background:color-mix(in srgb,var(--hk-p) 20%,var(--hk-s))}
.msm-jachthaven-havenkaart .hk-swatch--busy{border-color:color-mix(in srgb,var(--hk-ink) 40%,transparent);background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--hk-ink) 32%,transparent) 0 3px,transparent 3px 7px)}
.msm-jachthaven-havenkaart .hk-swatch--no{border-color:color-mix(in srgb,var(--hk-ink) 34%,transparent);background:var(--hk-s);opacity:.6}
.msm-jachthaven-havenkaart .hk-swatch--on{border:2px solid var(--hk-ink);background:var(--hk-a)}
.msm-jachthaven-havenkaart .hk-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,3vw,40px);margin-top:20px;padding:clamp(20px,3vw,32px);border:1px solid var(--hk-l);border-radius:24px;background:var(--hk-s)}
.msm-jachthaven-havenkaart .hk-card-jetty{margin:0;color:var(--hk-p);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.msm-jachthaven-havenkaart .hk-card-title{margin:6px 0 0;font:500 clamp(30px,3.6vw,44px)/1.05 var(--m-font-display,"Newsreader",Georgia,"Times New Roman",serif)}
.msm-jachthaven-havenkaart .hk-card-dims{margin:12px 0 0;font-size:17px}
.msm-jachthaven-havenkaart .hk-card-state{margin:14px 0 0;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--hk-p) 40%,transparent);background:color-mix(in srgb,var(--hk-p) 8%,var(--hk-s));font-size:15px}
.msm-jachthaven-havenkaart .hk-card-state[data-state="bezet"],.msm-jachthaven-havenkaart .hk-card-state[data-state="past-niet"]{border-color:color-mix(in srgb,var(--hk-a) 70%,transparent);background:color-mix(in srgb,var(--hk-a) 12%,var(--hk-s))}
.msm-jachthaven-havenkaart .hk-wachtlijst{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--hk-p);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.msm-jachthaven-havenkaart .hk-wachtlijst svg,.msm-jachthaven-havenkaart .hk-check svg,.msm-jachthaven-havenkaart .hk-reserve svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.msm-jachthaven-havenkaart .hk-wachtlijst:focus-visible,.msm-jachthaven-havenkaart .hk-reserve:focus-visible,.msm-jachthaven-havenkaart summary:focus-visible{outline:3px solid var(--hk-a);outline-offset:3px;border-radius:8px}
.msm-jachthaven-havenkaart .hk-check{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:600;cursor:pointer}
.msm-jachthaven-havenkaart .hk-check input{width:20px;height:20px;accent-color:var(--hk-p)}
.msm-jachthaven-havenkaart .hk-check span{display:inline-flex;align-items:center;gap:8px}
.msm-jachthaven-havenkaart .hk-price{width:100%;margin-top:8px;border-collapse:collapse;font-size:15px}
.msm-jachthaven-havenkaart .hk-price th{padding:9px 0;text-align:left;font-weight:400;color:var(--hk-mu);border-bottom:1px solid var(--hk-l)}
.msm-jachthaven-havenkaart .hk-price td{padding:9px 0 9px 12px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--hk-l)}
.msm-jachthaven-havenkaart .hk-price tfoot th,.msm-jachthaven-havenkaart .hk-price tfoot td{padding-top:12px;border-bottom:0;color:var(--hk-ink);font-weight:700;font-size:18px}
.msm-jachthaven-havenkaart .hk-price-note{margin:10px 0 0;color:var(--hk-mu);font-size:13px}
.msm-jachthaven-havenkaart .hk-reserve{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:16px;padding:12px 22px;border:0;border-radius:999px;background:var(--hk-p);color:var(--hk-s);font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .2s}
.msm-jachthaven-havenkaart .hk-reserve:hover{background:var(--hk-ink)}
.msm-jachthaven-havenkaart .hk-reserve[aria-disabled="true"]{background:color-mix(in srgb,var(--hk-ink) 22%,var(--hk-s));color:var(--hk-ink);cursor:not-allowed}
.msm-jachthaven-havenkaart .hk-tabelblok{margin-top:20px;border:1px solid var(--hk-l);border-radius:18px;background:var(--hk-s)}
.msm-jachthaven-havenkaart .hk-tabelblok summary{padding:14px 18px;font-weight:700;cursor:pointer}
.msm-jachthaven-havenkaart .hk-tabel{overflow-x:auto;padding:0 18px}
.msm-jachthaven-havenkaart .hk-tabel table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px}
.msm-jachthaven-havenkaart .hk-tabel caption{padding:0 0 8px;text-align:left;color:var(--hk-mu);font-size:13px}
.msm-jachthaven-havenkaart .hk-tabel th,.msm-jachthaven-havenkaart .hk-tabel td{padding:9px 10px 9px 0;text-align:left;border-top:1px solid var(--hk-l)}
.msm-jachthaven-havenkaart .hk-tabelnoot{margin:0;padding:12px 18px 16px;color:var(--hk-mu);font-size:14px}
.msm-jachthaven-havenkaart .hk-booking{margin-top:clamp(36px,5vw,56px);scroll-margin-top:112px;outline:none}
@media (max-width:1100px){.msm-jachthaven-havenkaart .hk-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.msm-jachthaven-havenkaart .hk-card{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.msm-jachthaven-havenkaart .hk-hint{display:inline}.msm-jachthaven-havenkaart .hk-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.msm-jachthaven-havenkaart .hk-map{width:820px}.msm-jachthaven-havenkaart .hk-intro{font-size:17px}}
@media (max-width:560px){.msm-jachthaven-havenkaart .hk-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.msm-jachthaven-havenkaart .hk-box rect,.msm-jachthaven-havenkaart .hk-box text,.msm-jachthaven-havenkaart .hk-reserve{transition:none}}
