/* Huurprijscheck: OpenSein-kleurrollen, echte voortgang en mobiele bediening. */
.hc { --hc-bg:#f2f4f3; --hc-card:#fff; --hc-ink:#102f39; --hc-muted:#465f68; --hc-line:#c7d5d7; --hc-accent:#a84a22; --hc-soft:#f7e9de; --hc-error:#a33417; background:var(--hc-bg);color:var(--hc-ink);padding:32px 0 56px; }
html[data-thema=nacht] .hc, html:not([data-thema=dag])[data-stand]:not([data-stand=bezoeker]) .hc { --hc-bg:#0b1f27; --hc-card:#12343f; --hc-ink:#f2f4f3; --hc-muted:#c0d2d6; --hc-line:#42636c; --hc-accent:#e4a882; --hc-soft:#283c40; --hc-error:#ffb396; }
.hc .wrap { max-width:1100px; }
.kop-nacht.hp-kop { padding-block:42px; }
.hp-kop h1 { font-size:clamp(30px,4vw,48px); }
.hc [hidden] { display:none!important; }
.hc-stappen { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px; }
.hc-stappen button { display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:12px;text-align:left;min-height:76px;min-width:0;border:0;border-top:3px solid var(--hc-line);border-radius:0;background:transparent;color:var(--hc-muted);font-family:inherit;font-size:14px;line-height:1.4;font-weight:600;cursor:pointer; }
.hc-stappen button span { display:grid;place-items:center;width:26px;height:26px;flex:none;font-variant-numeric:tabular-nums; }
.hc-stappen button b { font-weight:600;overflow-wrap:anywhere;hyphens:auto; }
.hc-stappen button[aria-current=step] { border-color:var(--steen);color:var(--hc-ink); }
.hc-stappen button.is-af:not([aria-current=step]) { border-color:var(--messing); }
.hc-stappen button.is-af span { color:var(--hc-accent); }
.hc-voortgang { margin-bottom:24px;max-width:72ch; }
.hc-voortgang .hc-stap-stand { margin:0 0 10px;font-size:16px;font-weight:650; }
.hc-voortgang #hp-voortgang-tekst { margin:8px 0; }
.hc-mobiel-stand { display:none; }
.hc-layout { display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:26px;align-items:start; }
.hc-layout>div,.hc-zij { min-width:0; }
.hc-stap { padding:0; }
.hc-stap>h2 { font-size:26px;line-height:1.25;margin:0 0 20px;scroll-margin-top:90px; }
.hc h3 { font-size:24px;line-height:1.3; }
.hc h4 { font-size:18px;margin:24px 0 10px; }
.hc p { line-height:1.65;margin:10px 0 16px; }
.hc-kaart { min-width:0;margin:0 0 20px;padding:22px;border:1px solid var(--hc-line);border-radius:16px;background:var(--hc-card); }
.hc-kaart legend { padding:0 8px;font-size:19px;font-weight:700;max-width:100%; }
.hc-velden { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin:18px 0 4px; }
.hc-veld { display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:14px; }
.hc-veld label { font-size:16px;font-weight:650;line-height:1.4; }
.hc-veld :is(input,select,textarea) { box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid var(--hc-line);border-radius:9px;padding:11px 12px;font-family:inherit;font-size:16px;line-height:1.35;font-weight:400;color:var(--hc-ink);background:var(--hc-bg); }
.hc-veld select { padding-right:22px; }
.hc-veld input::placeholder { color:var(--hc-muted);opacity:.85; }
.hc small,.hc .hc-hint { font-size:14px;line-height:1.6;color:var(--hc-muted); }
.hc-veld small:empty,.hc-fout:empty { display:none; }
.hc-fout { font-size:14px;line-height:1.4;color:var(--hc-error); }
.hc [aria-invalid=true] { border:2px solid var(--hc-error); }
.hc :is(input,select,button,a,summary):focus-visible { outline:3px solid var(--hc-accent);outline-offset:3px; }
.hc a:not(.btn) { color:var(--hc-accent);text-decoration:underline;text-underline-offset:3px; }
.hc-vinkjes { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0; }
.hc-vink { display:flex;align-items:center;gap:10px;font-size:16px;line-height:1.45;cursor:pointer;padding:12px 0;min-height:48px; }
.hc-vink input { width:22px;height:22px;flex:none;margin:0;accent-color:var(--hc-accent); }
.hc-details { border:1px solid var(--hc-line);border-radius:13px;background:var(--hc-card);margin:0 0 15px; }
.hc-details>summary { padding:16px 18px;font-size:16px;line-height:1.5;font-weight:650;cursor:pointer;min-height:48px; }
.hc-details>div { padding:3px 18px 18px; }
.hc-details .hc-details { margin-top:14px; }
.hc-voorwaardelijk { margin-top:16px; }
.hc-acties { display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px; }
.hc .btn { white-space:normal;line-height:1.4;min-height:48px;display:inline-flex;justify-content:center;align-items:center;font-size:16px; }
.hc .btn-kaal { color:var(--hc-ink);border-color:var(--hc-line);background:var(--hc-card); }
.hc .btn:disabled { cursor:wait;opacity:.7; }
.hc-navigatie { display:flex;justify-content:space-between;gap:12px;margin-top:25px;padding:18px 0;border-top:1px solid var(--hc-line); }
.hc-navigatie>:is(.btn-steen) { margin-left:auto; }
.hc-zij { position:sticky;top:90px; }
.hc-zij .eyebrow { color:var(--hc-muted);font-size:14px; }
.hc #hp-punten-getal { display:inline;font-size:44px;line-height:1;font-variant-numeric:tabular-nums; }
.hc #hp-stand-tekst { font-size:14px; }
.hc progress { display:block;width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;appearance:none;background:var(--hc-line);accent-color:var(--messing); }
.hc progress::-webkit-progress-bar { background:var(--hc-line); }
.hc progress::-webkit-progress-value { background:var(--messing);border-radius:999px; }
.hc progress::-moz-progress-bar { background:var(--messing);border-radius:999px; }
.hc-bewaren { padding:0 8px; }
.hc-bewaren p { font-size:14px; }
.hc-tekstknop { border:0;padding:10px 0;min-height:44px;background:transparent;color:var(--hc-accent);font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer; }
.hc-tekstknop.hc-wis { color:var(--hc-error); }
.hc ul { padding-left:22px; }
.hc li { line-height:1.65;margin-bottom:7px; }
.hc-prijs { padding:18px;border-radius:12px;background:var(--hc-soft);margin:22px 0; }
.hc-prijs>strong { font-size:clamp(30px,4vw,43px);font-variant-numeric:tabular-nums; }
.hc-melding { padding:14px;border-left:3px solid var(--messing);background:var(--hc-soft); }
.hc-tabel { overflow:auto; }
.hc table { width:100%;border-collapse:collapse;font-size:14px; }
.hc th,.hc td { text-align:left;padding:10px 4px;border-bottom:1px solid var(--hc-line);vertical-align:top;overflow-wrap:anywhere; }
.hc td { text-align:right;font-variant-numeric:tabular-nums; }
.hc th { font-weight:500; }
.hc-bronnen { margin-top:38px;padding-top:26px;border-top:1px solid var(--hc-line);max-width:850px; }
.hc-bronnen h2 { font-size:23px; }
.hc-veld textarea { resize:vertical; }
.hc-import-rijen small { display:block;margin-top:4px;overflow-wrap:anywhere; }
.hc-import-rijen .hc-vink { border-bottom:1px solid var(--hc-line); }
@media(max-width:1100px) {
  .hc-layout { grid-template-columns:minmax(0,1fr); }
  .hc-zij { position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px; }
}
@media(max-width:700px) {
  .hc { padding-top:22px;padding-bottom:calc(120px + env(safe-area-inset-bottom)); }
  .hc-stappen { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .hc-stappen button { flex-direction:row;align-items:center;gap:4px;font-size:14px;padding:10px 2px;min-height:52px; }
  .hc-stappen button b { min-width:0;word-break:break-all;text-wrap:balance; }
  .hc-velden { grid-template-columns:1fr;gap:4px; }
  .hc-kaart { padding:18px 15px; }
  .hc-vinkjes { grid-template-columns:1fr;gap:0; }
  .hc-zij { grid-template-columns:1fr; }
  .hc-zij #hp-uitkomst { display:none; }
  .hc-mobiel-stand { display:block; }
  .hc-details>div { padding:2px 14px 16px; }
  .hc-navigatie { position:fixed;z-index:55;bottom:0;left:0;right:0;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));margin:0;background:var(--hc-card);box-shadow:0 -6px 22px rgb(0 0 0 / .12); }
  /* De accounttabs blijven bereikbaar; zonder tabbalk staat de actie op de onderrand. */
  html:has(.ac-tabbalk:not([hidden])) .hc-navigatie { bottom:calc(61px + env(safe-area-inset-bottom));padding-bottom:12px; }
  html:has(.ac-tabbalk:not([hidden])) .hc { padding-bottom:calc(181px + env(safe-area-inset-bottom)); }
  html:has(.ac-tabbalk:not([hidden])) .hc :is(input,select,button,a,summary) { scroll-margin-bottom:calc(201px + env(safe-area-inset-bottom)); }
  .hc-navigatie .btn { min-width:0;font-size:14px; }
  .hc-navigatie .btn-kaal { flex:0 0 auto;padding-inline:12px; }
  .hc-navigatie .btn-steen { flex:1; }
  .hc-acties { align-items:stretch; }
  .hc-acties .btn { width:100%; }
  .hc :is(input,select,button,a,summary) { scroll-margin-bottom:140px; }
}
@media(prefers-reduced-motion:no-preference) {
  .hc .btn { transition:transform 80ms ease,opacity 120ms ease; }
  .hc .btn:active:not(:disabled) { transform:scale(.97); }
}
@media(prefers-reduced-motion:reduce) {
  .hc * { animation:none!important;transition:none!important;scroll-behavior:auto; }
}
@media print {
  body { background:#fff!important;color:#000!important;margin:0!important;padding:0!important; }
  .site-header,.site-voet,body>footer,[data-menu-shell],.menu-schil,.mn-rail,.mn-mobiel,.kop-nacht,.hc-stappen,.hc-voortgang,.hc-zij,.hc-navigatie,.hc-acties,.hc-bronnen,#hp-form,#hp-status,.situatie-rij,#tekenen { display:none!important; }
  #hoofd { margin:0!important;padding:0!important; }
  .hc,.hc-kaart { background:#fff!important;color:#000!important;border-color:#aaa!important; }
  .hc-layout { display:block; }
  .hc #hp-stap-3 { display:block!important; }
  .hc .hc-antwoorden>div { display:block!important; }
  .hc details { break-inside:avoid; }
  .hc { padding:0; }
}
