:root{--bg:#FEF5F0;--ink:#3E2233;--rose:#7A294F;--berry:#571B42;--petal:#FCD9D8;--blush:#FEEAE6;--line:#F4D6D1;--fur:#A98268;--leaf:#4E7D5B;--danger:#B3402F;--r:18px;
--kop:"Lora",Georgia,"Times New Roman",serif;--script:"Lobster","Lobster Two","Brush Script MT",cursive;--body:"Jost",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:1.08rem/1.65 var(--body);
background:radial-gradient(circle at 0 0,var(--petal) 0,transparent 30rem),radial-gradient(circle at 100% 45%,var(--blush) 0,transparent 32rem),var(--bg)}
h1,h2{font-family:var(--kop);font-weight:600;color:var(--berry);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3rem)}
h2{font-size:clamp(1.5rem,3.5vw,2rem)}
h3{font:600 1.15rem var(--body);color:var(--berry);margin:0 0 .6em}
p{margin:0 0 1em;max-width:60ch}
a{color:var(--rose)}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
[hidden]{display:none!important}

.site{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1.5rem;padding:.6rem clamp(1rem,4vw,3rem);border-bottom:2px dotted var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;font:400 2rem var(--script);color:var(--berry);text-decoration:none}
.merk{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--petal)}
.site nav{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap}
.site nav a,.linkbtn{color:var(--ink);text-decoration:none;background:none;border:0;padding:.2rem 0;font:500 1rem var(--body);cursor:pointer;border-bottom:2px solid transparent}
.site nav a:hover,.linkbtn:hover,[aria-current=page]{border-bottom-color:var(--rose)}

main{padding:0 clamp(1rem,4vw,3rem)}
.view{max-width:1100px;margin:0 auto;padding:3rem 0 4rem}

.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.hero p{font-size:1.2rem}
.arch{border-radius:28px;overflow:hidden;background:var(--bg);box-shadow:0 12px 34px rgba(87,27,66,.14);max-width:460px;justify-self:center}
.arch img{display:block;width:100%;height:auto}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:3rem 0 0}
.facts div{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1rem 1.3rem}
.facts dt{font:600 1.35rem var(--body);color:var(--rose)}
.facts dd{margin:0}
.included{margin-top:4rem;display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;align-items:start}
.tierlist{list-style:none;margin:0;padding:0}
.tierlist li{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:2px dotted var(--line)}

.btn{display:inline-block;background:var(--rose);color:#fff;border:2px solid var(--rose);border-radius:999px;padding:.7rem 1.7rem;font:600 1rem var(--body);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--berry);border-color:var(--berry)}
.btn.ghost{background:none;color:var(--rose)}
.btn.ghost:hover{background:var(--blush);color:var(--berry)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
form{display:grid;gap:1rem}
label{display:grid;gap:.3rem;font-weight:500}
input,select,textarea{font:inherit;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
textarea{min-height:5rem;resize:vertical}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.msg{min-height:1.5em;margin:0;font-weight:600;color:var(--danger)}
.msg.ok{color:var(--leaf)}
.total{background:var(--blush);border:1.5px solid var(--line);border-radius:12px;padding:.8rem 1rem;margin:0}
.note{font-size:.92rem;color:#6d5a63}

.list{display:grid;gap:.8rem;margin-top:1rem}
.item{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.item p{margin:0}
.tag{display:inline-block;border-radius:999px;padding:.15rem .75rem;font-size:.85rem;font-weight:600;background:var(--petal);color:var(--berry)}
.tag.bevestigd{background:var(--leaf);color:#fff}
.tag.geannuleerd{background:#f0d6d0;color:var(--danger)}
.empty{color:#6d5a63}

.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;border:0;padding:0;margin:0}
.tiers legend{font-weight:500;margin-bottom:.4rem}
.tiers label{position:relative;border:1.5px solid var(--line);border-radius:14px;padding:.6rem .8rem;background:#fff;cursor:pointer;gap:0}
.tiers input{position:absolute;opacity:0}
.tiers label:has(input:checked){border-color:var(--rose);background:var(--blush)}
.tiers label:has(input:focus-visible){outline:3px solid var(--rose);outline-offset:2px}
.tiers small{font-weight:400}
.calhead{display:flex;justify-content:space-between;align-items:center;margin:1rem 0 .5rem}
.calhead h3{margin:0;text-transform:capitalize}
.calhead button{background:#fff;border:1.5px solid var(--line);color:var(--rose);border-radius:999px;width:2.4rem;height:2.4rem;font-size:1.1rem;cursor:pointer}
.calhead button:disabled{opacity:.35;cursor:default}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}
.cal b{text-align:center;font-size:.85rem;color:var(--fur)}
.day{display:flex;flex-direction:column;align-items:center;padding:.4rem 0;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;cursor:pointer;min-height:3.2rem}
.day small{font-size:.7rem;color:var(--rose)}
.day.few small{color:var(--berry);font-weight:700}
.day:disabled{background:transparent;border-color:transparent;color:#c4b3ba;cursor:default}
.day.in{background:var(--petal);border-color:var(--petal)}
.day.edge{background:var(--rose);color:#fff;border-color:var(--rose)}
.day.edge small{color:#fff}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin:1.5rem 0 2.5rem}
.stat{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.stat b{display:block;font:600 2rem var(--body);color:var(--rose)}
.strip{display:grid;grid-template-columns:repeat(14,1fr);gap:.4rem;align-items:end;height:140px;margin:1rem 0 2.5rem}
.strip div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;font-size:.75rem;gap:.3rem}
.strip i{display:block;width:100%;background:var(--rose);border-radius:8px 8px 0 0;min-height:4px}
.strip i.full{background:var(--berry)}
.tablewrap{overflow-x:auto;border:1.5px solid var(--line);border-radius:var(--r);background:#fff}
table{border-collapse:collapse;width:100%;min-width:760px}
th,td{padding:.7rem 1rem;text-align:left;border-bottom:1px solid var(--line);font-size:.95rem}
th{background:var(--blush);color:var(--berry)}
td select{padding:.35rem .5rem}
footer{border-top:2px dotted var(--line);padding:2rem clamp(1rem,4vw,3rem);color:#6d5a63;font-size:.95rem;text-align:center}

@media (max-width:760px){.hero,.included,.split,.row,.facts{grid-template-columns:1fr}.view{padding-top:2rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#home{padding-bottom:1rem}
#home + #login{padding-top:2rem}

.invite{display:grid;gap:.6rem;background:var(--blush);border:1.5px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;margin:1rem 0 0;max-width:40rem}

.contact{background:var(--petal);border-radius:var(--r);padding:1.4rem 1.6rem;max-width:34rem;margin-top:1.5rem}
.contact h3{font:600 1.45rem/1.25 var(--kop);color:var(--berry);margin:0 0 .3rem}
.contact p{margin:0 0 1rem}
.contact-links{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}
.contact-links a{display:inline-block;background:#fff;color:var(--berry);border:2px solid var(--rose);border-radius:999px;padding:.55rem 1.2rem;font-weight:600;text-decoration:none}
.contact-links a:hover{background:var(--rose);color:#fff}

/* Bezetting per soort */
.bezt{min-width:0;font-size:.85rem}
.bezt th,.bezt td{padding:.35rem .4rem;text-align:center;min-width:1.9rem}
.bezt th:first-child,.bezt td:first-child{text-align:left;position:sticky;left:0;min-width:8rem;font-weight:600;background:#fff}
.bezt th:first-child{background:var(--blush)}
.o0{color:#b7a3ab}
.o1{background:#FEEDE8}
.o2{background:#FCCBCB}
.o3{background:#F5A3A8}
.o4{background:#7A294F;color:#fff}
.o5{background:#571B42;color:#fff}
#bez h3{margin:1.2rem 0 .5rem}
.calhead h3{font-size:1.05rem}

/* Beheer: tabbladen, overzicht, planbord, kalender */
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.5rem 0 1rem;border-bottom:2px dotted var(--line)}
.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:.6rem 1rem;min-height:44px;font:500 1.05rem var(--body);color:var(--ink);cursor:pointer}
.tabs button[aria-current=true]{border-bottom-color:var(--rose);color:var(--berry);font-weight:600}
.daybar{display:flex;align-items:stretch;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.daybar>button:not(.btn){width:2.6rem;border:1.5px solid var(--line);background:#fff;color:var(--rose);border-radius:12px;cursor:pointer;font-size:1.1rem}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;flex:1;min-width:0}
.wd{position:relative;display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.5rem .2rem;min-height:4.6rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;color:var(--ink);cursor:pointer}
.wd b{font-size:1.05rem}
.wd small{font-size:.75rem;color:#6d5a63}
.wd.td b{color:var(--rose)}
.wd.on{background:var(--rose);border-color:var(--rose)}
.wd.on b,.wd.on small{color:#fff}
.dot{position:absolute;top:-.45rem;right:-.3rem;min-width:1.4rem;height:1.4rem;padding:0 .3rem;border-radius:999px;background:var(--berry);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.stat small{display:block;font-size:.85rem;color:#6d5a63}
.mbar{display:block;height:8px;border-radius:4px;background:var(--petal);margin-top:.4rem}
.mbar i{display:block;height:8px;border-radius:4px;background:var(--rose)}
.mbar i.full{background:var(--berry)}
.split2{display:grid;grid-template-columns:1fr 1.25fr;gap:1.2rem;margin:1.5rem 0}
.panel{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1rem 1.3rem}
.panel h3{margin-bottom:.4rem}
.li{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.55rem 0;border-top:1px solid var(--line)}
.li>div{flex:1;min-width:9rem}
.li small{display:block;color:#6d5a63}
.li.hl{background:var(--blush);margin:0 -.6rem;padding-left:.6rem;padding-right:.6rem;border-radius:10px}
.li .btn{padding:.35rem 1rem;font-size:.9rem;min-height:44px}
.tag.aank{background:var(--rose);color:#fff}
.tag.vertr{background:#fff;border:1.5px solid var(--rose);color:var(--berry)}
.mrow{display:flex;justify-content:space-between;margin-top:.7rem}
.pb{min-width:840px}
.pbrow{display:flex;align-items:center}
.pbl{width:110px;flex-shrink:0;padding-left:.6rem;font-weight:500;font-size:.9rem}
.pbt{flex:1;position:relative;display:flex}
.pbt.track{height:28px;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 14 - 1px),var(--line) calc(100% / 14 - 1px),var(--line) calc(100% / 14))}
.pbd{flex:1;text-align:center;font-size:.8rem;line-height:1.2;padding:.25rem 0;border-radius:8px}
.pbd b{display:block;font-size:1rem}
.pbd.we{background:var(--petal)}
.pbd.td{background:var(--rose);color:#fff}
.pbgroup{margin-top:.6rem;padding:.3rem .8rem;background:var(--blush);border-radius:8px;font-size:.95rem}
.pbgroup b{color:var(--berry)}
.pbb{position:absolute;top:3px;height:22px;box-sizing:border-box;border-radius:6px;overflow:hidden;white-space:nowrap;padding:0 .4rem;font-size:.75rem;font-weight:600;line-height:19px}
.pbb.ok{background:var(--rose);color:#fff}
.pbb.req{background:var(--petal);color:var(--berry);border:1.5px dashed var(--rose);line-height:16px}
.kalwrap{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start;margin-bottom:2rem}
.acal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}
.acal>b{text-align:center;font-size:.85rem;color:var(--fur)}
.acell{display:flex;flex-direction:column;gap:.25rem;padding:.4rem .5rem;min-height:5.2rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;color:var(--ink);cursor:pointer;text-align:left}
.acell>span:first-child{display:flex;justify-content:space-between;align-items:baseline}
.acell small{font-size:.72rem;color:#6d5a63}
.acell.td b{color:var(--rose)}
.acell.on{border:2px solid var(--rose);background:var(--blush)}
.ab{display:block;height:6px;border-radius:3px;background:var(--petal)}
.ab i{display:block;height:6px;border-radius:3px;background:var(--rose)}
.ab i.full{background:var(--berry)}
@media (max-width:900px){.split2,.kalwrap{grid-template-columns:1fr}.week{gap:.25rem}.wd small{font-size:.65rem}}

/* Boekpagina */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.split.boek{grid-template-columns:1.4fr 1fr}
.stap{display:flex;align-items:center;gap:.6rem;margin:1.4rem 0 0;color:var(--ink);font-size:1.2rem}
.stap span{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--rose);color:#fff;font-size:1rem}
.tiers label{padding:.8rem 1rem}
.tn{font-weight:600}
.tp{display:block;font:600 1.5rem var(--body);color:var(--rose)}
.kcard{display:grid;gap:.8rem;margin:0 0 .8rem;padding:1rem 1.2rem;background:#fff;border:1.5px solid var(--line);border-radius:var(--r)}
.kcard legend{font-weight:600;color:var(--berry);padding:0 .4rem}
.kcard .linkbtn{justify-self:start;color:var(--berry);border-bottom:1px solid var(--berry)}
td small{display:block;color:#6d5a63}
.tag.warn{background:#FFF0D6;color:#8A5A00}
@media (max-width:760px){.split.boek{grid-template-columns:1fr}}

/* Vinkvakjes, infoblok en privacypagina */
.chk{display:flex;align-items:center;gap:.7rem;font-weight:500;min-height:44px}
.chk input{width:1.4rem;height:1.4rem;flex:none;padding:0;accent-color:var(--rose)}
.info{background:var(--petal);border-radius:12px;padding:.8rem 1rem;margin:0;max-width:none;font-size:.98rem}
.prose{max-width:46rem}
.prose h3{margin:1.6rem 0 .4rem}
.prose ul{padding-left:1.2rem;margin:0 0 1rem}
.prose li{margin:.25rem 0}

/* Boeken: stappen (pc en telefoon) */
.steps{display:flex;align-items:flex-start;margin:.4rem 0 1.4rem}
.st{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:5.2rem;text-align:center;font-size:.9rem;font-weight:500}
.stn{width:2.4rem;height:2.4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;background:var(--petal);border:3px solid transparent}
.st.done .stn{background:var(--rose);color:#fff}
.st.now .stn{background:#fff;color:var(--berry);border-color:var(--rose)}
.stline{flex:1;min-width:1rem;height:3px;border-radius:2px;background:var(--petal);margin-top:1.1rem}
.stline.done{background:var(--rose)}
.stmob,.stbar{display:none}
.wh{font:600 1.7rem/1.25 var(--kop);color:var(--berry);margin:.2rem 0 .8rem}
.stapblok{display:grid;gap:1rem}
.jouw h3.scr{font:600 1.45rem/1.25 var(--kop);color:var(--berry);margin:0 0 .5rem}
.jr{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-top:1px solid var(--line)}
.jr span{color:#6d5a63}
.jr b{font-weight:500;text-align:right}
.jt{display:flex;justify-content:space-between;align-items:baseline;padding-top:.7rem;border-top:2px solid var(--line)}
.jt b{font:600 1.9rem var(--body);color:var(--berry)}
.jk{text-align:right}
.jk small{display:block;color:#6d5a63;font-weight:400}
#mine{margin-top:.6rem}
.wiznav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem}
.wkort{display:none}
.wbtns{display:flex;gap:.7rem;margin-left:auto}
.kcard.err{border:2px solid var(--danger)}
.tpw small{display:block}
@media (max-width:760px){
  .st,.stline{display:none}
  .steps{display:block}
  .stmob{display:flex;justify-content:space-between;font-size:.9rem;color:#6d5a63}
  .stbar{display:block;height:6px;border-radius:3px;background:var(--petal);margin:.4rem 0 1rem}
  .stbar i{display:block;height:6px;border-radius:3px;background:var(--rose)}
  .jouw{display:none}
  .wh{font-size:1.5rem}
  .wiznav{position:sticky;bottom:0;z-index:5;flex-wrap:wrap;background:#fff;border-top:1.5px solid var(--line);margin:1.2rem -1rem 0;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom))}
  .wkort{display:block;flex:1 0 100%;font-size:.95rem;font-weight:600}
  .wbtns{width:100%}
  .wbtns .btn{flex:1;min-height:48px}
  .tiers{grid-template-columns:1fr}
  .tiers label{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:5rem}
  .tpw{text-align:right}
}

/* Klanten */
.zoek{display:block;max-width:26rem;margin:0 0 .6rem}
.linkbtn.gevaar{color:var(--danger)}
td .linkbtn{margin-right:.7rem}
#k-linkveld{font-size:.85rem}

/* Sluitingen en blokkades */
.blokform{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;align-items:end;margin:.6rem 0}
tr.oud{opacity:.55}
.pbb.blok{background:repeating-linear-gradient(45deg,#e7dde1,#e7dde1 6px,#f4eef1 6px,#f4eef1 12px);color:#6d5a63;border:1.5px solid #cdbfc5;line-height:16px}
.acell.dicht{background:#eee6e9;border-color:#d8ccd1}
.wd.dicht:not(.on){background:#eee6e9}

/* Betalen en meerdere plekken kiezen */
.betaal{flex:1 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.6rem;border-top:1px solid var(--line)}
.betaal .btn{padding:.45rem 1.1rem;font-size:.95rem;min-height:44px}
.betaal small{color:#6d5a63}
.roomsel{border:1.5px solid var(--line);border-radius:var(--r);padding:.8rem 1rem;background:#fff;margin:.4rem 0 .8rem;display:grid;gap:.6rem}
.roomsel legend{font-weight:600;color:var(--berry);padding:0 .4rem}
.rgroep b{color:var(--berry)}
.rlijst{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem}
.rlijst .chk{min-height:40px}

/* Website: pagina's, kaarten, veelgestelde vragen en voettekst */
.site nav{flex-wrap:wrap;gap:.3rem 1.2rem}
.klantknop{white-space:nowrap;padding:.5rem 1.4rem}
.hero h1{font-size:clamp(2rem,5vw,3.1rem)}
.pagina h1{font-size:clamp(2rem,5vw,2.7rem)}
.smal{max-width:900px}
.knoppen{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.2rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.2rem;margin:1rem 0 1.5rem}
.kaart{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1.2rem 1.5rem}
.kaart h3{margin:0 0 .4rem;font-size:1.3rem}
.kaart p{margin:0 0 .8rem}
.kaart a{font-weight:600}
.stappen{counter-reset:s;list-style:none;padding:0;margin:1rem 0 2rem;display:grid;gap:.8rem}
.stappen li{counter-increment:s;display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem}
.stappen li::before{content:counter(s);flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}
details{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:.1rem 1.2rem;margin:.7rem 0}
summary{cursor:pointer;font-weight:600;padding:.8rem 0;min-height:44px}
details[open] summary{color:var(--berry)}
details p{margin:0 0 1rem}
.voet{border-top:2px dotted var(--line);padding:2rem clamp(1rem,4vw,3rem);margin-top:3rem;background:#fff}
.voet-kolommen{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.5rem;max-width:1100px;margin:0 auto;font-size:.95rem;line-height:1.7}
.invul{background:#FFF0D6;border-radius:4px;padding:0 .3rem}
.menuknop{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.8rem;height:2.8rem;padding:0 .75rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.menuknop span{display:block;height:2px;border-radius:2px;background:var(--berry)}
@media (max-width:1180px){
  .site{gap:.6rem}
  .brand{order:1}
  .klantknop{order:2;margin-left:auto}
  .menuknop{order:3;display:flex}
  .site nav:not(#hoofdmenu){order:3;width:100%}
  .site nav#hoofdmenu{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;gap:0;margin-top:.3rem;border-top:2px dotted var(--line)}
  .site nav#hoofdmenu.open{display:flex}
  .site nav#hoofdmenu a{display:flex;align-items:center;min-height:48px;padding:.4rem .2rem;border-bottom:1px solid var(--line)}
  .site nav#hoofdmenu a[aria-current=page]{color:var(--berry);font-weight:600}
}

.intro{font-size:1.25rem}

/* Verblijven en maximaal aantal konijnen */
.eigen{margin:0}
.eigen div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-top:1px solid var(--line)}
.eigen dt{color:#6d5a63}
.eigen dd{margin:0;font-weight:500;text-align:right}
.tn small.mk{display:block;font-weight:400;font-size:.8rem;color:#6d5a63}

/* Vergelijkingstabel van de verblijven */
.vergelijk{min-width:680px}
.vergelijk th,.vergelijk td{padding:.65rem .9rem;text-align:left;border-bottom:1px solid var(--line)}
.vergelijk thead th{background:var(--blush);color:var(--berry)}
.vergelijk tbody th{position:sticky;left:0;background:#fff;font-weight:600;min-width:11rem}
.vergelijk thead th:first-child{position:sticky;left:0;z-index:1}
.vergelijk tbody tr:last-child th,.vergelijk tbody tr:last-child td{border-bottom:0}

/* Extra opties */
.oph{margin:1.2rem 0 .3rem;font:600 1.1rem var(--body);color:var(--berry)}
#opties .chk{align-items:flex-start}
#opties .chk span em{font-style:normal;font-weight:600;color:var(--berry)}
#opties small{display:block;font-weight:400;color:#6d5a63}
.optform{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;align-items:end;margin:.6rem 0}
.extra{list-style:none;padding:0;margin:0 0 1rem}
.extra li{padding:.6rem 0;border-bottom:1px solid var(--line)}
.extra li small{display:block;color:#6d5a63}

.kopt{display:grid;gap:.2rem}
.kopt:empty{display:none}
.kcard .kopt .chk{align-items:flex-start}
.kcard .kopt em{font-style:normal;font-weight:600;color:var(--berry)}
.kcard .kopt small{display:block;font-weight:400;color:#6d5a63}

/* Prijslijst trimsalon */
.prijzen{min-width:0;width:100%}
.prijzen td{padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.prijzen tr:last-child td{border-bottom:0}
.prijzen td:last-child{text-align:right;font-weight:600;color:var(--berry);white-space:nowrap}

/* Binnenkort beschikbaar */
.soon{display:inline-block;margin:0 0 .8rem;padding:.3rem .95rem;border-radius:999px;background:var(--petal);color:var(--berry);font-weight:600;letter-spacing:.12em;font-size:.9rem}
.kaart .soon{margin-bottom:.8rem}

/* Menu als losse knoppen */
.site nav#hoofdmenu{gap:.5rem}
.site nav#hoofdmenu a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem .9rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:500;text-decoration:none}
.site nav#hoofdmenu a:hover{background:var(--petal);border-color:var(--petal);color:var(--berry)}
.site nav#hoofdmenu a[aria-current=page]{background:var(--petal);border-color:var(--rose);color:var(--berry);font-weight:600}
@media (max-width:1180px){
  .site nav#hoofdmenu{gap:.45rem;padding:.6rem 0 .3rem}
  .site nav#hoofdmenu a{display:flex;width:100%;min-height:48px;padding:.5rem 1rem;border-radius:14px}
}

.kaart .soon-regel{margin:0 0 .8rem;padding:.45rem .8rem;border-radius:10px;background:var(--blush);color:var(--berry);font-size:.95rem}

/* Sluitingen in bulk weer beschikbaar maken */
.bulk{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.8rem 0}
.bulk .btn{padding:.4rem 1.1rem;font-size:.92rem;min-height:44px}
.chip{display:inline-flex;align-items:center;min-height:34px;padding:.15rem .75rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--berry);font:600 .85rem var(--body);cursor:pointer}
.chip:hover{background:var(--petal)}
.b-sel{width:1.3rem;height:1.3rem;accent-color:var(--rose)}

/* Foto's */
.fotos{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem;margin:1rem 0 1.5rem}
.fotos figure{margin:0}
.fotos img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);box-shadow:0 6px 18px rgba(87,27,66,.12)}
.verhaal{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:2rem;align-items:start}
.portret{margin:0}
.portret img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:28px;box-shadow:0 10px 26px rgba(87,27,66,.15)}
@media (max-width:760px){.verhaal{grid-template-columns:1fr}.portret{order:-1;max-width:260px}}

/* Beschikbaarheid en details bij het kiezen van een verblijf */
.uitval{display:block;flex:1 0 100%;margin-top:.45rem;padding:.25rem .6rem;border-radius:8px;background:#FFF0D6;color:#8A5A00;font-size:.82rem;font-weight:500}
.vdetails{margin-top:.6rem}
.vdetails .eigen{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:.3rem 1.1rem}
@media (max-width:760px){.tiers label{flex-wrap:wrap}}

/* Beheer: groepen met onderdelen, financieel overzicht */
.subtabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.2rem 0 1rem}
.subtabs button{padding:.35rem 1rem;min-height:40px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:500 .95rem var(--body);cursor:pointer}
.subtabs button[aria-current=true]{background:var(--petal);border-color:var(--rose);color:var(--berry);font-weight:600}
@media (max-width:760px){.tabs{flex-wrap:nowrap;overflow-x:auto}.tabs button{white-space:nowrap}}
.fin{min-width:640px}
.fin td,.fin th{padding:.55rem .8rem}
.fin td.r,.fin th.r{text-align:right;white-space:nowrap}
.fbar{display:block;height:8px;border-radius:4px;background:var(--rose);margin-top:.3rem;min-width:2px}
.finfilter{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.6rem 0}
.finfilter select{width:auto}

/* Boekingen aanmaken en verplaatsen, Mijn gegevens */
.nieuwboek{margin:.8rem 0;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:.4rem 1.1rem}
.nieuwboek summary{cursor:pointer;font-weight:600;color:var(--berry);padding:.6rem 0;min-height:44px}
.nbform{display:grid;gap:.8rem;padding:.4rem 0 1rem}
.nbnieuw{display:grid;gap:.8rem;padding:.8rem 1rem;background:var(--blush);border-radius:var(--r)}
#bk-verplaats{margin:.8rem 0;padding:1rem 1.2rem;background:#fff;border:1.5px solid var(--rose);border-radius:var(--r)}
#bk-verplaats form{display:grid;gap:.8rem}
#account form{display:grid;gap:.8rem;margin:0 0 1.6rem}
.kies{display:grid;gap:.3rem}

/* Betaalwijze */
.bwsel{width:auto;max-width:14rem;margin:0 0 .3rem}
.li .bwsel{align-self:center}
