/* SYOH-PUBLIEK-20260930 — woningen te koop (overzicht + detail). Bouwt op syoh.css (tokens, .btn, .f, .msg, .label).
   ANIMATIE-VAL: niets is standaard onzichtbaar. Geen eigen opacity:0 / visibility:hidden op inhoud;
   verbergen van knoppen gaat met transform:scale (decoratie) of met het hidden-attribuut (JS zet ze aan). */

.wn-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wn-ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---------- kruimelpad */
.wn-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.88rem;color:var(--muted);margin:0 0 clamp(18px,3vw,32px);min-width:0}
.wn-crumb a{color:var(--navy);text-decoration:none;padding:6px 0}
.wn-crumb a:hover{text-decoration:underline}
.wn-crumb [aria-current]{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}

/* ---------- overzicht: kop */
.wn-hero{padding:clamp(24px,3.5vw,48px) 0 clamp(28px,4vw,48px);background:var(--cream)}
.wn-hero-in{display:grid;gap:clamp(24px,4vw,56px);align-items:end}
@media (min-width:1000px){.wn-hero-in{grid-template-columns:1.25fr 1fr}}
.wn-h1{font-size:clamp(2.4rem,5.2vw,4.5rem);line-height:1.04;margin:0 0 20px}
.wn-h1 em{font-style:italic;color:var(--terra-ink)}
.wn-lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--muted);max-width:58ch;margin:0}
.wn-usp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wn-usp li{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:16px;padding:16px;font:600 .95rem/1.35 var(--sans);color:var(--navy);box-shadow:0 10px 24px -18px rgba(15,23,42,.35)}
.wn-usp .wn-ic{width:36px;height:36px;padding:8px;border-radius:50%;background:#FBEDE6;color:var(--terra-ink)}
@media (max-width:520px){.wn-usp{grid-template-columns:1fr}.wn-usp li{padding:12px 14px}}

/* ---------- filters */
.wn-zoek{padding:0 0 clamp(56px,7vw,96px);background:var(--cream)}
.wn-filters{background:#fff;border-radius:var(--r-card);box-shadow:var(--sh-card);padding:clamp(16px,2.2vw,28px);margin:0 0 28px}
.wn-frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 14px}
.wn-f{margin-bottom:14px}
.wn-f label{font-size:.82rem}
.wn-meer{border-top:1px solid var(--line);padding-top:12px;margin-top:2px}
.wn-meer summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font:600 .95rem/1.2 var(--sans);color:var(--navy);list-style:none;padding:0 4px}
.wn-meer summary::-webkit-details-marker{display:none}
.wn-meer summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s var(--ease)}
.wn-meer[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.wn-kenm{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:6px 0 4px;padding:0;min-width:0}
.wn-chk{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1.5px solid var(--line-2);border-radius:999px;background:#FBF9F5;font-size:.92rem;cursor:pointer;transition:border-color .2s,background-color .2s}
.wn-chk input{width:18px;height:18px;margin:0;accent-color:var(--navy)}
.wn-chk:has(input:checked){border-color:var(--navy);background:#EEF3F6;color:var(--navy);font-weight:600}
.wn-chk:has(input:focus-visible){outline:3px solid var(--terra);outline-offset:3px}
.wn-facts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:14px}
.wn-fcount{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--terra);color:#fff;font:700 .75rem/1 var(--sans)}
.wn-ftoggle{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border:1.5px solid var(--navy);border-radius:999px;background:#fff;color:var(--navy);font:600 1rem/1.2 var(--sans);cursor:pointer}
.wn-ftoggle[aria-expanded="true"]{background:var(--navy);color:#fff}
.wn-ftoggle[aria-expanded="true"] .wn-fcount{background:#fff;color:var(--navy)}
.wn-ftoggle:not([hidden])+.wn-fpanel{margin-top:16px}
@media (min-width:768px){.wn-ftoggle{display:none!important}}
/* hidden-attribuut wint altijd (knoppen die alleen met JS werken, zoals .btn met display:inline-flex) */
.wn-page [hidden]{display:none!important}

.wn-resbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin:0 0 18px}
.wn-count{font:600 1.25rem/1.3 var(--sans);letter-spacing:0;color:var(--navy);margin:0}
.wn-sort{display:flex;align-items:center;gap:10px}
.wn-sort label{font:600 .88rem/1 var(--sans);color:var(--muted)}
.wn-sort select{min-height:44px;font:500 .95rem/1.2 var(--sans);color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%231B3A4B' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center/12px;border:1.5px solid var(--line-2);border-radius:999px;padding:8px 38px 8px 16px;appearance:none;-webkit-appearance:none;max-width:62vw}
.wn-sort select:focus-visible{outline:3px solid var(--terra);outline-offset:3px}
.wn-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.wn-chips a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 10px 6px 14px;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;font:600 .88rem/1.2 var(--sans)}
.wn-chips a .wn-ic{width:16px;height:16px}
.wn-chips a:hover{background:var(--navy-2)}

/* ---------- kaarten */
.wn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:clamp(18px,2.4vw,32px)}
.wn-card{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border-radius:var(--r-card);overflow:hidden;box-shadow:0 14px 30px -24px rgba(15,23,42,.45);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.wn-card:hover,.wn-card:focus-within{transform:translateY(-4px);box-shadow:0 30px 50px -28px rgba(15,23,42,.45)}
.wn-media{position:relative;aspect-ratio:4/3;background:var(--sand);overflow:hidden}
.wn-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.wn-track::-webkit-scrollbar{display:none}
.wn-slide{flex:0 0 100%;height:100%;scroll-snap-align:start;overflow:hidden;display:block}
.wn-slide img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.wn-card:hover .wn-slide img{transform:scale(1.045)}
.wn-car-btn{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--navy);box-shadow:0 8px 20px -8px rgba(15,23,42,.6);cursor:pointer;transform:translateY(-50%) scale(0);transition:transform .3s var(--ease)}
.wn-car-prev{left:12px}.wn-car-next{right:12px}
.wn-media:hover .wn-car-btn,.wn-car-btn:focus-visible{transform:translateY(-50%) scale(1)}
.wn-car-btn:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
@media (hover:none){.wn-car-btn{display:none}}
.wn-dots{position:absolute;left:50%;bottom:12px;z-index:2;display:flex;gap:6px;transform:translateX(-50%);pointer-events:none}
.wn-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(15,23,42,.18);transition:transform .3s var(--ease),background-color .3s}
.wn-dots i.on{background:#fff;transform:scale(1.3)}
.wn-nfoto{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(15,23,42,.74);color:#fff;font:600 .8rem/1 var(--sans);pointer-events:none}
.wn-nfoto .wn-ic{width:15px;height:15px}
.wn-body{position:relative;display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.wn-where{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:.88rem;line-height:1.35;color:var(--muted)}
.wn-where .wn-ic{width:17px;height:17px;margin-top:1px;color:var(--terra-ink)}
.wn-title{font-size:1.32rem;line-height:1.2;margin:0}
.wn-link{color:var(--navy);text-decoration:none}
.wn-link::after{content:"";position:absolute;inset:0;z-index:1}
.wn-link:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.wn-link:focus-visible{outline:none}
.wn-link:focus-visible::after{outline:3px solid var(--terra);outline-offset:-3px;border-radius:0 0 var(--r-card) var(--r-card)}
.wn-price{margin:2px 0 0;font:700 1.35rem/1.2 var(--sans);color:var(--navy);font-variant-numeric:tabular-nums}
.wn-specs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem;color:var(--ink)}
.wn-specs li{display:inline-flex;align-items:center;gap:6px}
.wn-specs .wn-ic{width:18px;height:18px;color:var(--muted)}
.wn-def{display:flex;align-items:flex-start;gap:8px;margin:auto 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:.86rem;line-height:1.35;color:#1D5C1D}
.wn-def .wn-ic{width:18px;height:18px}
.wn-def-ja{color:var(--terra-ink)}

.wn-pag{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:40px;font-weight:600;color:var(--navy)}
.wn-pag .btn{gap:6px}

/* ---------- lege staat */
.wn-leeg-sec{padding:clamp(24px,4vw,56px) 0 clamp(64px,8vw,110px);background:var(--cream)}
.wn-leeg{position:relative;overflow:hidden;max-width:760px;margin:0 auto;text-align:center;background:#fff;border-radius:28px;padding:clamp(36px,6vw,72px) clamp(20px,5vw,64px);box-shadow:var(--sh-card)}
.wn-leeg h2,.wn-leeg .wn-h1-klein{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.12;margin:0 0 16px}
.wn-leeg h3{font-size:1.5rem;margin:0 0 10px}
.wn-leeg p{color:var(--muted);max-width:56ch;margin:0 auto 24px}
.wn-leeg-ic{position:relative;z-index:1;width:64px;height:64px;padding:14px;margin:0 auto 20px;border-radius:50%;background:var(--navy);color:#fff;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block}
.wn-leeg-zon{position:absolute;left:50%;top:-6px;width:220px;height:auto;transform:translateX(-50%);fill:var(--amber);pointer-events:none}
.wn-leeg-zon+.wn-leeg-ic{margin-top:22px}
.wn-leeg-acts{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 26px}
.wn-leeg-klein{box-shadow:none;border:1.5px dashed var(--line-2);background:transparent}
.wn-leeg-klein .wn-leeg-ic{width:52px;height:52px;padding:12px}

/* ---------- verkopersband (navy) */
.wn-verkoop{padding:clamp(64px,8vw,110px) 0;background:var(--navy);color:#fff}
.wn-verkoop-in{display:grid;gap:24px clamp(32px,6vw,96px);align-items:end}
@media (min-width:900px){.wn-verkoop-in{grid-template-columns:1fr 1fr}}
.wn-verkoop h2{color:#fff;font-size:clamp(1.9rem,3.6vw,3rem)}
.wn-verkoop p{color:#E3EBEF;max-width:52ch;margin:0 0 24px}

/* ---------- detail: galerij */
.wn-d-top{padding:clamp(16px,2.4vw,28px) 0 0;background:var(--cream)}
.wn-gal{position:relative}
.wn-gal-list{display:grid;gap:8px;border-radius:var(--r-card);overflow:hidden}
.wn-gal-a{display:block;height:100%;overflow:hidden;background:var(--sand);cursor:zoom-in}
.wn-gal-a img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.wn-gal-a:hover img{transform:scale(1.035)}
.wn-gal-a:focus-visible{outline:3px solid var(--terra);outline-offset:-3px}
.wn-gal-n{position:absolute;right:12px;bottom:12px;padding:6px 12px;border-radius:999px;background:rgba(15,23,42,.74);color:#fff;font:600 .85rem/1 var(--sans);pointer-events:none}
.wn-gal-alle{position:absolute;right:16px;bottom:16px;gap:8px;box-shadow:0 10px 24px -10px rgba(15,23,42,.6)}
@media (min-width:768px){
  .wn-gal-list{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;height:clamp(380px,46vw,600px)}
  .wn-gal-hoofd{grid-row:span 2}
  .wn-gal-i:nth-child(n+6){display:none}
  .wn-gal-n{display:none}
}
@media (max-width:767.98px){
  .wn-gal{margin:0 calc(-1 * var(--gut))}
  .wn-gal-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:0;gap:0;overscroll-behavior-x:contain}
  .wn-gal-list::-webkit-scrollbar{display:none}
  .wn-gal-i{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/3}
  .wn-gal-alle{right:auto;left:12px;bottom:12px}
}

/* ---------- detail: inhoud + zijkaart */
.wn-d-in{display:grid;gap:40px;padding-top:clamp(28px,4vw,48px);padding-bottom:clamp(64px,8vw,110px)}
@media (min-width:1000px){.wn-d-in{grid-template-columns:minmax(0,1fr) 370px;gap:clamp(40px,5vw,72px)}}
.wn-d-main{min-width:0}
.wn-d-head .label{margin-bottom:12px}
.wn-d-h1{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.06;margin:0 0 14px;overflow-wrap:anywhere}
.wn-d-where{font-size:1rem}
.wn-d-prijs-m{margin:14px 0 0;font:700 1.9rem/1.1 var(--sans);color:var(--navy);font-variant-numeric:tabular-nums}
@media (min-width:1000px){.wn-d-prijs-m{display:none}}
.wn-feiten{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:28px 0 0}
.wn-feiten div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;background:#fff;border-radius:16px;padding:14px 16px}
.wn-feiten .wn-ic{grid-row:span 2;width:34px;height:34px;padding:7px;border-radius:50%;background:var(--cream);color:var(--navy)}
.wn-feiten dt{font-size:.78rem;color:var(--muted);line-height:1.2}
.wn-feiten dd{margin:0;font:700 1.02rem/1.25 var(--sans);color:var(--navy)}
.wn-blok{margin-top:clamp(40px,5vw,60px)}
.wn-blok h2,.wn-gebreken h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0 0 16px}
.wn-tekst p{max-width:68ch;overflow-wrap:anywhere}
.wn-kenm-lijst{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 20px}
.wn-kenm-lijst li{display:flex;align-items:center;gap:10px;font-weight:500}
.wn-kenm-lijst .wn-ic{width:26px;height:26px;padding:5px;border-radius:50%;background:var(--navy);color:#fff;stroke-width:2.2}

/* bekende gebreken: opvallend, eerlijk */
.wn-gebreken{position:relative;margin-top:clamp(40px,5vw,60px);background:#fff;border:2px solid var(--terra);border-radius:24px;padding:clamp(22px,3vw,36px);box-shadow:0 24px 40px -30px rgba(204,74,34,.7)}
.wn-geb-kop{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.wn-geb-kop .label{margin:0 0 4px}
.wn-geb-kop h2{margin:0}
.wn-geb-ic{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:16px;background:var(--terra);color:#fff}
.wn-geb-ic .wn-ic{width:28px;height:28px}
.wn-gebreken-geen .wn-geb-ic{background:#1D5C1D}
.wn-geb-intro{color:var(--muted);max-width:64ch}
.wn-geb-lijst{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.wn-geb-lijst li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#FBEDE6;color:var(--terra-ink);font:600 .95rem/1.2 var(--sans)}
.wn-geb-lijst .wn-ic{width:18px;height:18px}
.wn-geb-tekst{margin:0 0 18px;padding:16px 20px;border-left:4px solid var(--terra);background:var(--cream);border-radius:0 14px 14px 0}
.wn-geb-tekst figcaption{font:600 .78rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--terra-ink);margin-bottom:6px}
.wn-geb-tekst blockquote{margin:0;font:italic 400 1.12rem/1.55 var(--serif);color:var(--ink)}
.wn-geb-tekst p{margin:0;overflow-wrap:anywhere}
.wn-geb-geen{display:flex;align-items:center;gap:10px;font-weight:600;color:#1D5C1D;margin:4px 0 18px}
.wn-geb-note{font-size:.88rem;color:var(--muted);margin:0;padding-top:14px;border-top:1px solid var(--line)}

/* kaartje: alleen land + regio */
.wn-map{display:grid;gap:14px;align-items:stretch}
@media (min-width:640px){.wn-map{grid-template-columns:1.5fr 1fr}}
.wn-map-svg{display:block;width:100%;height:auto;aspect-ratio:5/4;border-radius:var(--r-img);background:#DDE7EC}
.wn-map-buur{fill:#EFE6D6;stroke:#fff;stroke-width:1.2}
.wn-map-land{fill:var(--terra);stroke:#fff;stroke-width:1.5}
.wn-map-kaart{display:flex;flex-direction:column;justify-content:center;background:var(--navy);color:#fff;border-radius:var(--r-img);padding:22px}
.wn-map-k{display:flex;align-items:center;gap:6px;margin:0 0 6px;font:600 .75rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#FFB08F}
.wn-map-k .wn-ic{width:16px;height:16px}
.wn-map-n{margin:0;font:500 1.7rem/1.15 var(--serif);overflow-wrap:anywhere}
.wn-map-l{margin:6px 0 0;color:#E3EBEF}
.wn-map-note{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:.9rem;color:var(--muted)}
.wn-map-note .wn-ic{color:var(--navy);margin-top:2px}

/* zijkaart met prijs */
.wn-d-side{min-width:0}
@media (min-width:1000px){.wn-d-side{position:relative}.wn-prijskaart{position:sticky;top:calc(var(--top-vis) + 24px);transition:top .35s var(--ease)}}
.wn-prijskaart{background:#fff;border-radius:24px;padding:clamp(22px,2.4vw,30px);box-shadow:var(--sh-card)}
.wn-pk-k{font:600 .75rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--terra-ink);margin:0 0 6px}
.wn-pk-p{font:500 clamp(2.2rem,3vw,2.7rem)/1.05 var(--serif);color:var(--navy);margin:0 0 10px;font-variant-numeric:lining-nums}
.wn-pk-n{font-size:.9rem;color:var(--muted);margin:0 0 20px}
.wn-prijskaart .btn+.btn{margin-top:10px}
.wn-pk-vraag{border-color:var(--line-2)}
.wn-pk-team{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;color:var(--ink);margin:16px 0 0;padding:12px 14px;border-radius:14px;background:var(--cream)}
.wn-pk-team .wn-ic{color:var(--navy)}
.wn-deel{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.wn-deel-b{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1.5px solid var(--line-2);border-radius:999px;background:#fff;color:var(--navy);font:600 .9rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:border-color .2s,background-color .2s}
.wn-deel-b:hover{border-color:var(--navy);background:#F3F6F8}
.wn-deel-b .wn-ic{width:18px;height:18px}
.wn-deel-b.is-klaar{border-color:#1D5C1D;color:#1D5C1D}
.wn-pk-ref{font-size:.8rem;color:var(--muted);margin:16px 0 0}

/* ---------- kopersformulier (terracotta) */
.wn-form-sec{position:relative;overflow:hidden;padding:var(--sec) 0;background:var(--terra-form);color:#fff;scroll-margin-top:var(--top-vis)}
.wn-form-zon{position:absolute;left:max(var(--gut),calc((100% - var(--wrap)) / 2));bottom:-1px;width:clamp(140px,18vw,260px);height:auto;fill:var(--amber);pointer-events:none}
.wn-form-in{position:relative;z-index:1;display:grid;gap:clamp(28px,5vw,80px);align-items:center}
@media (min-width:900px){.wn-form-in{grid-template-columns:5fr 6fr}}
.wn-form-copy h2{color:#fff;font-size:clamp(1.9rem,3.6vw,3rem);margin:0 0 18px}
.wn-form-copy p{color:#fff;max-width:48ch}
.wn-form-over{margin-top:22px;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
@media (max-width:899.98px){.wn-form-zon{display:none}}
.wn-soort{border:0;padding:0;margin:0 0 16px;min-width:0}
.wn-soort legend{font:600 .86rem/1.3 var(--sans);color:var(--navy);margin:0 0 8px;padding:0}
.wn-soort{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wn-soort legend,.wn-soort .wn-fe{grid-column:1/-1}
.wn-radio{display:block;cursor:pointer}
.wn-radio input{position:absolute;width:1px;height:1px;margin:0;clip:rect(0 0 0 0);overflow:hidden}
.wn-radio span{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border:1.5px solid #B9AE9C;border-radius:14px;background:#FBF9F5;font:600 .95rem/1.25 var(--sans);color:var(--ink);transition:border-color .2s,background-color .2s,box-shadow .2s}
.wn-radio .wn-ic{color:var(--navy)}
.wn-radio input:checked+span{border-color:var(--navy);background:#EEF3F6;box-shadow:inset 0 0 0 1px var(--navy);color:var(--navy)}
.wn-radio input:focus-visible+span{outline:3px solid var(--terra);outline-offset:3px}
@media (max-width:420px){.wn-soort{grid-template-columns:1fr}}
.wn-fe{color:#8A1F1F;font:600 .86rem/1.35 var(--sans);margin:6px 0 0}
.wn-opt{font-weight:400;color:var(--muted)}
.wn-form-weer{margin:0}
.wn-if .note a{color:var(--navy)}
@media (max-width:560px){.wn-if .f-row{grid-template-columns:1fr}}

/* ---------- meer woningen */
.wn-meer-sec{padding:var(--sec) 0;background:#fff}
.wn-meer-kop{margin-bottom:clamp(24px,3vw,40px)}
.wn-meer-kop h2{font-size:clamp(1.9rem,3.4vw,2.8rem)}
.wn-meer-sec .wn-card{box-shadow:0 0 0 1px var(--line),0 14px 30px -24px rgba(15,23,42,.45)}

/* ---------- mobiele balk (detail) */
.wn-detail #cta-bar{display:none!important}
.wn-bar{display:none}
@media (max-width:999.98px){
  .wn-bar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px -12px rgba(15,23,42,.35);transform:translateY(110%);transition:transform .35s var(--ease)}
  .wn-bar[hidden]{display:none}
  .wn-bar.show{transform:none}
  .wn-bar-p{margin:0;display:flex;flex-direction:column;font:700 1.15rem/1.15 var(--sans);color:var(--navy);min-width:0}
  .wn-bar-k{font:600 .7rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--terra-ink)}
  .wn-bar .btn{padding:12px 18px;white-space:nowrap}
}

/* ---------- lightbox */
.wn-lb{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0B1220;color:#fff;overflow:hidden}
.wn-lb[open]{display:grid;grid-template-rows:auto 1fr}
.wn-lb::backdrop{background:#0B1220}
.wn-lb-top{display:flex;align-items:center;gap:16px;padding:12px 12px 12px 20px}
.wn-lb-n{margin:0;font:600 .95rem/1 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
.wn-lb-t{margin:0;flex:1;min-width:0;font:500 1.05rem/1.2 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#E3EBEF}
.wn-lb-x{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.wn-lb-x:hover{background:rgba(255,255,255,.22)}
.wn-lb-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 clamp(0px,6vw,96px) 20px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.wn-lb-img{-webkit-user-drag:none;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;transition:transform .35s var(--ease)}
.wn-lb-img.is-slepen{transition:none}
.wn-lb-nav{position:absolute;top:50%;display:grid;place-items:center;width:54px;height:54px;margin-top:-6px;border-radius:50%;border:0;background:#fff;color:var(--navy);cursor:pointer;transform:translateY(-50%);box-shadow:0 10px 30px -10px rgba(0,0,0,.7)}
.wn-lb-prev{left:clamp(8px,2vw,28px)}.wn-lb-next{right:clamp(8px,2vw,28px)}
.wn-lb-nav .wn-ic,.wn-lb-x .wn-ic{width:24px;height:24px}
.wn-lb button:focus-visible{outline:3px solid var(--terra-lt);outline-offset:3px}
@media (max-width:767.98px){.wn-lb-nav{top:auto;bottom:18px;transform:none;width:48px;height:48px}.wn-lb-stage{padding-bottom:84px}}

/* ---------- 404 */
.wn-404{padding-top:clamp(40px,6vw,80px)}

@media (prefers-reduced-motion:reduce){
  .wn-card,.wn-slide img,.wn-gal-a img,.wn-car-btn,.wn-bar,.wn-lb-img,.wn-meer summary::after,.wn-dots i{transition:none!important}
  .wn-card:hover,.wn-card:focus-within{transform:none}
  .wn-card:hover .wn-slide img,.wn-gal-a:hover img{transform:none}
}
