/* All selectors belong to the v3 calculator. */
.kov3_rekentool_titel { text-align:center; color:#174c47; font-size:clamp(1.8rem,4vw,2.5rem); margin:1.5rem 0; }
#v3-kov-calculator .v3-kov-section { margin-bottom:24px; }
#v3-kov-calculator .v3-kov-hidden { display:none; }
#v3-kov-calculator .v3-kov-visible { display:block; }
#v3-kov-calculator .v3-kov-accordion-content { display:none; }
#v3-kov-calculator .v3-dag-select { display:flex; flex-wrap:wrap; }
#v3-kov-calculator .v3-kov-kind-card { background:#fff; }
#v3-kov-calculator #v3-add-kind, #v3-kov-calculator #v3-kov-terug { margin-bottom:20px; }
#v3-kov-calculator .v3-kov-pakket-advies { margin:20px 0 0; background:#f3f7f5; padding:16px; border-radius:10px; }
#v3-kov-calculator .v3-kov-vergelijk-table { width:100%; border-collapse:collapse; margin-top:12px; font-size:14px; }
#v3-kov-calculator .v3-kov-vergelijk-table :is(th,td) { padding:10px; text-align:center; border-bottom:1px solid #d3dfdc; }
#v3-kov-calculator .v3-kov-vergelijk-table :is(th,td):first-child { text-align:left; }
#v3-kov-calculator .kov3_beste { background:#d8ece1; }
#v3-kov-calculator .kov3_gekozen { box-shadow:inset 0 0 0 1px #79a79c; }
#v3-kov-calculator .kov3_badges { display:flex; flex-direction:column; gap:6px; margin-top:6px; }
#v3-kov-calculator .kov3_badge { display:inline-block; padding:6px 9px; border-radius:5px; font-size:12px; line-height:1.2; white-space:nowrap; }
#v3-kov-calculator .v3-badge-beste { background:#176c61; color:white; }
#v3-kov-calculator .v3-badge-gekozen { background:#e0f2fe; color:#075985; }
#v3-kov-calculator .v3-kov-besparing { margin-top:14px; padding:12px; background:#faf2dc; border-left:3px solid #d0b36a; }
#v3-kov-calculator .v3-kov-uitgebreid-wrapper { margin-top:20px; }
#v3-kov-calculator .v3-kov-uitgebreid-content { padding-top:16px; }
#v3-kov-calculator .v3-kov-uitleg-blok { padding:12px 0; line-height:1.65; border-bottom:1px solid #d3dfdc; }
#v3-kov-calculator .kov3_kindDataBereken :is(th,td) { padding:10px; border-bottom:1px solid #d3dfdc; }
#v3-kov-calculator #kov3_kindDataBerekening { overflow-x:auto; }
.v3-kov-locatie-mode .v3-kov-locatie, .v3-kov-locatie-mode .v3-kov-opvangtype { display:none; }
.v3-kov-pakket-item { margin-bottom:12px; }
.v3-kov-pakket-omschrijving { margin-top:5px; }
#v3-kov-loader { display:none; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:10000; padding:16px 24px; border-radius:12px; background:#fff; color:#233d39; box-shadow:0 4px 30px #0002; max-width:90vw; }
.v3-kov-loader-content { display:flex; align-items:center; gap:12px; }
.v3-kov-spinner { width:22px; height:22px; flex-shrink:0; border:3px solid #d3dfdc; border-top-color:#176c61; border-radius:50%; animation:kov3-spin .8s linear infinite; }
@keyframes kov3-spin { to { transform:rotate(360deg); } }
#v3-kov-calculator .v3-kov-tooltip { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; margin-left:6px; border-radius:50%; background:#e0efe8; cursor:help; position:relative; }
#v3-kov-calculator .v3-kov-tooltip::after { content:attr(data-tooltip); display:none; white-space:pre-line; font-weight:400; line-height:1.5; font-size:14px; background:#fff; color:#233d39; padding:16px; border:1px solid #d3dfdc; box-shadow:0 8px 30px #0002; border-radius:10px; width:280px; max-width:85vw; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:10001; }
#v3-kov-calculator .v3-kov-tooltip.active::after, #v3-kov-calculator .v3-kov-tooltip:focus-visible::after { display:block; }
@media (hover:hover) { #v3-kov-calculator .v3-kov-tooltip:hover::after { display:block; } }
@media (max-width:600px) { #v3-kov-calculator .v3-kov-vergelijk-table { min-width:440px; } #v3-kov-calculator .kov3_kindDataBereken { min-width:600px; } }
@media (prefers-reduced-motion:reduce) { .v3-kov-spinner { animation:none; } }
/* v3: rustige kaarten, duidelijke focus en ruime bediening op mobiel. */
#v3-kov-calculator { --kov3-accent: #176c61; --kov3-button-text:#ffffff; --kov3-year:#e0efe8; --kov3-year-text:#000000; --kov3-days:#176c61; --kov3-days-soft:#e0f3ec; --kov3-dropdown:#67b8a2; --kov3-border: #d3dfdc; max-width: 900px; padding: clamp(18px, 4vw, 36px); background: #f2f7f5; color: #233d39; border: 1px solid #dce8e2; border-radius: 22px; box-shadow: 0 12px 40px #173f3410; font-family: inherit; }
#v3-kov-calculator * { box-sizing: border-box; }
#v3-kov-calculator .v3-kind-blok { padding: 22px; background: #fff; border: 1px solid var(--kov3-border); border-radius: 16px; margin-bottom: 20px; }
#v3-kov-calculator label { display: block; font-weight: 600; margin: 10px 0 6px; }
#v3-kov-calculator input:not([type=checkbox]), #v3-kov-calculator select { width: 100%; min-height: 46px; padding: 10px 12px; color: #233d39; background: white; border: 1px solid var(--kov3-border) !important; border-radius: 9px; font: inherit; }
#v3-kov-calculator :is(input,select,button):focus-visible { outline: 3px solid var(--kov3-dropdown); outline-offset: 3px; }
#v3-kov-calculator button { background: var(--kov3-accent); color: var(--kov3-button-text) !important; border: 0 !important; border-radius: 9px; padding: 12px 18px; font: inherit; font-weight: 600; cursor: pointer; }
#v3-kov-calculator button:hover { background: var(--kov3-accent); filter:brightness(.88); }
#v3-kov-calculator button:disabled { opacity: .6; cursor: wait; }
#v3-kov-calculator .v3-dag-select { gap: 9px; }
#v3-kov-calculator .v3-dag-select label { display: flex; align-items: center; gap: 6px; padding: 9px 12px; border: 1px solid var(--kov3-border); border-radius: 9px; margin: 0; }
#v3-kov-calculator .v3-dag-select label:has(input:checked) { background: var(--kov3-days-soft); border-color: var(--kov3-days); }
#v3-kov-calculator .v3-dag-checkbox { width: 20px; height: 20px; margin: 0; accent-color: var(--kov3-days); }
#v3-kov-calculator .kov3-year { padding: 18px; background: var(--kov3-year); color:var(--kov3-year-text); border-radius: 12px; margin-bottom: 24px; }
#v3-kov-calculator .kov3-year p, #v3-kov-calculator .v3-school-search-status { font-size: .875rem; line-height: 1.5; color: #49675f; margin: 6px 0 12px; }
#v3-kov-calculator #v3-bereken-kosten-btn { width: 100%; min-height: 52px; }
#v3-kov-calculator #v3-bereken-kosten-btn { background:var(--kov3-calculate,var(--kov3-accent)); color:var(--kov3-calculate-text,var(--kov3-button-text))!important; }
#v3-kov-resultaat { border-radius: 12px; padding: 18px; overflow-wrap: anywhere; }
#v3-kov-calculator .v3-kov-vergelijk-wrapper { overflow-x: auto; }
#v3-kov-calculator .v3-dag-disabled { opacity: .45; }
@media (max-width: 540px) { #v3-kov-calculator .v3-kind-blok { padding: 15px; } #v3-kov-calculator .v3-dag-select label { padding: 8px; } }
#v3-kov-calculator .v3-kov-hidden { display: none; }
#v3-kov-calculator .v3-kov-visible { display: block; }
#v3-kov-calculator .v3-br-card, #v3-kov-calculator .v3-nt-card { display: block; padding: 8px 0; }
#v3-kov-resultaat > ul { list-style: none; padding: 0; }
#v3-kov-resultaat .v3-kov-kind-card { padding: 16px; border: 1px solid #d3dfdc; border-radius: 12px; margin: 12px 0; }
/* A single accessible school combobox, scoped to the new calculator. */
#v3-kov-calculator .v3-school-picker { position:relative; }
#v3-kov-calculator .v3-bso-school-select { display:none!important; }
#v3-kov-calculator .v3-school-results { position:absolute; top:100%; left:0; right:0; max-height:260px; overflow-y:auto; overscroll-behavior:contain; background:#fff; border:1px solid #8bb4a8; border-radius:10px; box-shadow:0 10px 25px #0002; z-index:100; }
#v3-kov-calculator .v3-school-results[hidden] { display:none!important; }
#v3-kov-calculator .v3-school-option { padding:12px 14px; cursor:pointer; border-bottom:1px solid #edf2ef; }
#v3-kov-calculator .v3-school-option:hover, #v3-kov-calculator .v3-school-active { background:#e0f3ec; color:#174c47; }
#v3-kov-calculator .v3-school-empty { padding:12px 14px; color:#49675f; }

/* Administrator-selected colors stay inside this calculator. */
#v3-kov-calculator .kov3-year p { color:var(--kov3-year-text); }
#v3-kov-calculator select:has(option:checked:not([value=""])),
#v3-kov-calculator .v3-school-picker:has(.v3-bso-school-select option:checked:not([value=""])) .v3-bso-school-search,
#v3-kov-calculator :is(select,input):focus { border-color:var(--kov3-dropdown)!important; }
