/* Kupers Reisaanvraag 1.0.4: alleen geladen op pagina's met [reisaanvraag]. Kleuren en vormen gelijk aan de homepage (kh-). */
.kra, .kra-team, .kra-branches {
	--kra-red: #E10C16; --kra-red-dark: #C20A12; --kra-ink: #2D2F30; --kra-text: #55595C; --kra-muted: #666B6F; --kra-field: #8A8F93;
	--kra-beige: #F2EDE8; --kra-sky: #EAF4FA; --kra-sky-soft: #F1F7FB; --kra-line: #E6E2DE; --kra-soft-red: #FBEDEC;
	--kra-head: neue-haas-grotesk-display, 'Helvetica Neue', Arial, sans-serif; --kra-body: Inter, system-ui, sans-serif;
	font-family: var(--kra-body); color: var(--kra-text); -webkit-hyphens: manual; hyphens: manual;
}
.kra *, .kra *::before, .kra *::after, .kra-team *, .kra-branches * { box-sizing: border-box; }
.kra [hidden], .kra-team [hidden], .kra-branches [hidden] { display: none !important; }
.kra p { margin: 0; }
.kra-ico { display: block; flex: 0 0 auto; }
.kra-sr, .kra-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; margin: -1px; padding: 0; border: 0; }
.kra-hp { left: -9999px; }
.kra-noscript { padding: 16px; border-radius: 14px; background: var(--kra-beige); }

/* ---------- koppen per stap ---------- */
.kra .kra-title { font-family: var(--kra-head); font-weight: 600; font-size: 28px; line-height: 1.15; color: var(--kra-ink); margin: 0 0 22px; outline: none; text-wrap: balance; }
.kra .kra-sub { font-family: var(--kra-head); font-weight: 600; font-size: 18px; color: var(--kra-ink); margin: 26px 0 10px; }

/* op het bedankscherm: de paginatitel (H1) alleen nog voor schermlezers, het scherm heeft zijn eigen kop */
.kh-card:has(.kra.is-klaar) .kh-ra-tool { margin-top: 0 !important; }
.kh-card:has(.kra.is-klaar) .kh-h1 { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- startscherm: twee keuzes, elk één regel uitleg; pijl donker (rood is alleen voor de verstuurknop) ---------- */
.kra-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.kra button.kra-choice { all: unset; box-sizing: border-box; display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 18px; padding: 22px 22px 22px 22px; border: 1.5px solid var(--kra-line); border-radius: 22px; background: #FFF; cursor: pointer; text-align: left; transition: border-color .2s, box-shadow .2s; }
.kra button.kra-choice:focus-visible { outline: 3px solid var(--kra-ink); outline-offset: 2px; }
.kra-choice-ico { width: 52px; height: 52px; border-radius: 50%; background: var(--kra-sky); color: var(--kra-ink); display: flex; align-items: center; justify-content: center; }
.kra-choice-txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.kra-choice-txt strong { font-family: var(--kra-head); font-weight: 600; font-size: 21px; line-height: 1.2; color: var(--kra-ink); }
.kra-choice-txt span { font-size: 15px; line-height: 1.45; color: var(--kra-text); }
.kra-choice-go { display: flex; align-items: center; color: var(--kra-ink); }
.kra-choice-go .kra-ico { transition: transform .2s; }
.kra-link { font-weight: 600; color: var(--kra-ink) !important; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; white-space: nowrap; }
.kra-link::after { content: "\2192"; display: inline-block; margin-left: 5px; transition: transform .2s; }

/* ---------- voortgang: stappen met een naam (de schermlezer hoort "Stap 1 van 3:" in de kop) ---------- */
.kra-progress { margin: 0 0 26px; }
ol.kra-steps { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; }
ol.kra-steps li { margin: 0 !important; padding: 10px 0 0 !important; border-top: 3px solid var(--kra-line); font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--kra-muted); }
ol.kra-steps li::before { display: none !important; }
ol.kra-steps li b { font-weight: inherit; }
ol.kra-steps li.is-done { border-top-color: var(--kra-ink); }
ol.kra-steps li.is-now { border-top-color: var(--kra-ink); color: var(--kra-ink); }

/* ---------- velden ---------- */
.kra-field { margin: 0 0 18px; border: 0; padding: 0; min-width: 0; }
.kra-field > label, .kra-field > legend, .kra-stepper > label { display: block; font-size: 15px; font-weight: 600; color: var(--kra-ink); margin: 0 0 8px; padding: 0; line-height: 1.35; }
.kra-opt { font-weight: 400; color: var(--kra-muted); }
.kra .kra-hint { font-size: 14px; color: var(--kra-muted); margin: -2px 0 8px; line-height: 1.4; }
.kra input[type="text"], .kra input[type="email"], .kra input[type="tel"], .kra input[type="date"], .kra input[type="number"], .kra select, .kra textarea {
	width: 100%; min-height: 52px; margin: 0; padding: 12px 16px; border: 1.5px solid var(--kra-field); border-radius: 14px; background: #FFF;
	font-family: var(--kra-body); font-size: 16px; line-height: 1.4; color: var(--kra-ink); box-shadow: none; -webkit-appearance: none; appearance: none; }
.kra textarea { min-height: 96px; resize: vertical; }
.kra select { padding-right: 44px; background-color: #FFF; background-image: linear-gradient(45deg, transparent 50%, #2D2F30 50%), linear-gradient(135deg, #2D2F30 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
.kra input::placeholder, .kra textarea::placeholder { color: #71767B; opacity: 1; }
.kra input:focus, .kra select:focus, .kra textarea:focus { outline: none; border-color: var(--kra-ink); box-shadow: 0 0 0 3px rgba(45, 47, 48, .12); }
.kra input:disabled { background: var(--kra-beige); color: var(--kra-muted); border-color: var(--kra-line); }
.kra .has-err input, .kra .has-err textarea, .kra .has-err select { border-color: var(--kra-red); }
.kra .kra-err, .kra .kra-err-txt { font-size: 14px; font-weight: 600; color: var(--kra-red-dark); margin: 6px 0 0; }
.kra .kra-err:empty { display: none; }
.kra .kra-err::before { content: "! "; }
.kra-row { display: grid; gap: 0 14px; }
.kra-row--2 { grid-template-columns: 1fr 1fr; }

/* teller */
.kra-step-ctrl { display: flex; align-items: center; gap: 8px; }
.kra button.kra-sbtn { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 50% !important; border: 1.5px solid var(--kra-field) !important; background: #FFF !important; color: var(--kra-ink) !important; display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
.kra button.kra-sbtn:focus-visible { outline: 3px solid var(--kra-ink); outline-offset: 2px; }
.kra .kra-step-ctrl input[type="number"] { width: 64px; min-height: 46px; padding: 0 4px; text-align: center; font-weight: 600; -moz-appearance: textfield; }
.kra .kra-step-ctrl input::-webkit-outer-spin-button, .kra .kra-step-ctrl input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.kra-ages { margin: -4px 0 18px; }
.kra-agegrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
.kra-age { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; color: var(--kra-text); }
.kra .kra-age select { min-height: 46px; padding: 8px 40px 8px 12px; font-size: 15px; }

/* keuzelabels (echte checkboxen en radioknoppen) */
.kra-chips legend { margin-bottom: 10px !important; }
.kra-chiprow, .kra-pc-keus { display: flex; flex-wrap: wrap; gap: 8px; }
.kra-chip { position: relative; display: inline-flex; margin: 0; }
.kra-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.kra-chip span, .kra button.kra-chipbtn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 16px; border: 1.5px solid transparent; border-radius: 999px; background: var(--kra-sky-soft); font-family: var(--kra-body); font-size: 15px; font-weight: 600; line-height: 1.2; color: var(--kra-ink); cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.kra-chip input:checked + span, .kra button.kra-chipbtn[aria-pressed="true"] { background: var(--kra-ink); border-color: var(--kra-ink); color: #FFF; }
.kra-chip input:checked + span::before { content: ""; width: 12px; height: 7px; border: solid #FFF; border-width: 0 0 2px 2px; transform: translate(0, -2px) rotate(-45deg); margin-right: 2px; }
.kra-chip input:focus-visible + span, .kra button.kra-chipbtn:focus-visible { outline: 3px solid var(--kra-ink); outline-offset: 2px; }
.kra button.kra-chipbtn em { font-style: normal; font-weight: 400; opacity: .75; }
.kra-check { display: flex !important; align-items: center; gap: 10px; min-height: 44px; margin: 10px 0 0 !important; font-size: 15px !important; font-weight: 500 !important; color: var(--kra-ink); cursor: pointer; }
.kra-check input { width: 22px; height: 22px; margin: 0; accent-color: var(--kra-ink); flex: 0 0 auto; }

/* schakelaar per e-mail / telefonisch (beige rail, wit actief deel) */
.kra-seg legend { margin-bottom: 10px !important; }
.kra-seg-rail { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--kra-beige); gap: 2px; }
.kra-seg-rail label { position: relative; margin: 0; }
.kra-seg-rail input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.kra-seg-rail span { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 0 18px; border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--kra-text); cursor: pointer; white-space: nowrap; }
.kra-seg-rail input:checked + span { background: #FFF; color: var(--kra-ink); box-shadow: 0 1px 4px rgba(0, 0, 0, .12); }
.kra-seg-rail input:focus-visible + span { outline: 3px solid var(--kra-ink); outline-offset: 1px; }

/* uitklappen: meer details, vaste data, postcode */
.kra-more, .kra-pc { margin: 4px 0 18px; }
.kra-more summary, .kra-pc summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; list-style: none; font-weight: 600; font-size: 15px; color: var(--kra-ink); }
.kra-more summary::-webkit-details-marker, .kra-pc summary::-webkit-details-marker { display: none; }
.kra-more summary > span:first-of-type, .kra-pc summary > span { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.kra-more summary .kra-ico { transition: transform .2s; }
.kra-more[open] > summary .kra-ico { transform: rotate(180deg); }
.kra-more--plain[open] > summary .kra-ico { transform: none; }
.kra-more summary:focus-visible, .kra-pc summary:focus-visible { outline: 3px solid var(--kra-ink); outline-offset: 2px; border-radius: 6px; }
.kra-more-in { padding: 12px 0 0; }
.kra-pc summary { font-size: 14px; min-height: 44px; }
.kra-pc-in { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding-top: 8px; }
.kra .kra-pc-in input { width: 150px; min-height: 46px; }
.kra-pc-in .kra-hint { flex: 0 0 100%; margin: 0; font-size: 13px; }
.kra-pc-uit { flex: 0 0 100%; }
.kra-pc-uit .kra-hint { margin: 4px 0 8px; }

/* ---------- knoppen ---------- */
.kra-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--kra-line); }
/* Terug is een secundaire actie: onderstreepte tekstlink met pijl */
.kra button.kra-back { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 4px; cursor: pointer; font-family: var(--kra-body); font-size: 15px; font-weight: 600; color: var(--kra-ink); }
.kra button.kra-back span { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.kra button.kra-back:focus-visible { outline: 3px solid var(--kra-ink); outline-offset: 2px; border-radius: 6px; }
.kra-nav-go { display: flex; flex-direction: column; align-items: flex-end; }
.kra .kra-reassure { margin: 10px 0 0; text-align: right; font-size: 13px; color: var(--kra-muted); }
.kra .kra-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 24px; border-radius: 999px; border: 0; font-family: var(--kra-body); font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none !important; cursor: pointer; white-space: nowrap; transition: background-color .2s; }
.kra .kra-btn:focus-visible { outline: 3px solid var(--kra-ink); outline-offset: 2px; }
.kra .kra-btn--dark { background: var(--kra-ink) !important; color: #FFF !important; border: 0 !important; }
.kra .kra-btn--red { background: var(--kra-red) !important; color: #FFF !important; border: 0 !important; }
.kra .kra-btn--red:focus-visible { outline-color: var(--kra-red); }
.kra .kra-btn--line { background: #FFF !important; color: var(--kra-ink) !important; border: 0 !important; box-shadow: inset 0 0 0 1.5px var(--kra-ink) !important; }
.kra .kra-btn--sm { min-height: 46px; padding: 0 18px; }
.kra .kra-btn.is-busy { opacity: .75; cursor: progress; }
.kra .kra-btn.is-busy .kra-ico { animation: kra-spin 1s linear infinite; }
@keyframes kra-spin { to { transform: rotate(360deg); } }
.kra .kra-privacy { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.45; color: var(--kra-muted); margin-top: 6px; }
.kra-privacy .kra-ico { margin-top: 1px; }
.kra-privacy a { color: var(--kra-text); text-decoration: underline; }

/* storing */
.kra-fail { margin: 18px 0 0; padding: 16px 18px; border-radius: 14px; background: var(--kra-soft-red); border-left: 4px solid var(--kra-red); color: var(--kra-ink); font-size: 15px; line-height: 1.5; outline: none; }
.kra .kra-fail-t { font-weight: 700; margin-bottom: 4px; }
.kra .kra-fail-act { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }

/* ---------- klaar ---------- */
/* ---------- bedankt: links wie je helpt, rechts wat er nu gebeurt, onderaan rondkijken ---------- */
.kra-done:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 28px 44px; align-items: start; text-align: left; }
.kra-done-main { padding-top: 6px; }
.kra .kra-done-status { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; font-weight: 600; color: var(--kra-ink); }
.kra-done-ico { width: 22px; height: 22px; border-radius: 50%; background: var(--kra-ink); color: #FFF; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.kra .kra-done .kra-title { font-size: 34px; line-height: 1.1; margin: 0 0 22px; text-align: left; }
.kra .kra-done .kra-title span { display: block; font-family: inherit; }  /* anders zet de homepage-CSS (.kh-sec span) Inter op de kop */
.kra-done-who { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; font-size: 16px; line-height: 1.55; }
.kra-done-who p { margin: 0; }
.kra-done-who strong { color: var(--kra-ink); }
.kra-done-who .kra-faces img, .kra-done-who .kra-ini-s { width: 48px !important; height: 48px !important; margin-right: -11px !important; }
.kra-done-who .kra-faces > :last-child { margin-right: 0 !important; }
.kra .kra-done-tel { margin: 18px 0 0; padding-top: 18px; border-top: 1px solid var(--kra-line); font-size: 15px; }
.kra-done-tel a { font-weight: 600; color: var(--kra-ink) !important; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; white-space: nowrap; }
.kra-done-tel:empty { display: none; }
/* tijdlijn in een beige vlak */
.kra-done-next { background: var(--kra-beige); border-radius: 22px; padding: 26px 26px 24px; }
.kra .kra-done-next-h { font-family: var(--kra-head); font-weight: 600; font-size: 19px; color: var(--kra-ink); margin: 0 0 18px; }
ol.kra-done-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
ol.kra-done-list li { position: relative; margin: 0 !important; padding: 0 0 18px 32px !important; font-size: 15px; line-height: 1.5; }
ol.kra-done-list li:last-child { padding-bottom: 0 !important; }
ol.kra-done-list li::before { content: ""; position: absolute; left: 0; top: 4px; width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--kra-ink); background: var(--kra-beige); box-sizing: border-box; z-index: 1; }
ol.kra-done-list li.is-done::before { background: var(--kra-ink); }
ol.kra-done-list li:not(:last-child)::after { content: ""; position: absolute; left: 6px; top: 20px; bottom: 2px; width: 2px; background: rgba(45, 47, 48, .18); }
ol.kra-done-list strong { display: block; color: var(--kra-ink); font-weight: 600; font-size: 16px; }
ol.kra-done-list span { display: block; overflow-wrap: anywhere; }
/* rondkijken: tekstlinks met pijl */
.kra-done-more { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 28px; padding-top: 22px; border-top: 1px solid var(--kra-line); }
.kra .kra-done-more > p { margin: 0; font-size: 15px; color: var(--kra-text); }
ul.kra-done-links { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 4px 24px; }
ul.kra-done-links li { margin: 0 !important; padding: 0 !important; }
ul.kra-done-links li::before { display: none !important; }
.kra-done-links a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; font-size: 15px; color: var(--kra-ink) !important; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.kra-done-links a::after { content: "\2192"; display: inline-block; margin-left: 6px; text-decoration: none; transition: transform .2s; }
.kra-faces { display: inline-flex; }
.kra-faces img, .kra-ini-s { width: 44px !important; height: 44px !important; border-radius: 50%; object-fit: cover; object-position: top; border: 2px solid #FFF; margin: 0 -10px 0 0 !important; background: var(--kra-beige); display: flex; align-items: center; justify-content: center; font-family: var(--kra-head); font-size: 15px; color: var(--kra-ink); }
.kra-faces > :last-child { margin-right: 0 !important; }

/* ---------- Wie helpt je? ---------- */
.kra-team-head { margin-bottom: 26px; }
.kra-team .kra-team-h { font-family: var(--kra-head) !important; font-weight: 600 !important; font-size: 38px !important; line-height: 1.1 !important; color: var(--kra-ink) !important; margin: 0 !important; letter-spacing: 0 !important; text-transform: none !important; text-wrap: balance; }
.kra-team .kra-team-lead { font-size: 17px; line-height: 1.55; color: var(--kra-text); margin: 10px 0 0; max-width: 62ch; }
.kra-people { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px 18px; }
.kra-person { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; margin: 0 !important; padding: 0 !important; font-size: 13px; line-height: 1.35; color: var(--kra-text); }
.kra-person::before { display: none !important; }
.kra-person img, .kra-person .kra-ini { width: 112px !important; height: 112px !important; max-width: 100%; border-radius: 50%; object-fit: cover; object-position: center top; background: #FFF; margin: 0 0 8px !important; display: flex; align-items: center; justify-content: center; font-family: var(--kra-head); font-weight: 600; font-size: 28px; color: var(--kra-ink); }
.kra-person strong { font-size: 15px; font-weight: 600; color: var(--kra-ink); }
.kra-person strong span { display: block; font-weight: 400; color: var(--kra-text); font-size: 14px; }
.kra-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin-top: 4px; }
.kra-tags i { font-style: normal; padding: 3px 9px; border-radius: 999px; background: #FFF; font-size: 12px; font-weight: 600; color: var(--kra-ink); }
.kra-team-more { margin: 26px 0 0 !important; }
.kra-people:focus-visible { outline: 3px solid var(--kra-ink); outline-offset: 4px; border-radius: 12px; }

/* ---------- Liever direct contact? Compacte lijst: naam (link naar het reisbureau), openingsstatus, belknop ---------- */
ul.kra-branches { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.kra-br { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 10px; margin: 0 !important; padding: 14px 12px 14px 18px !important; border: 1.5px solid var(--kra-line); border-radius: 16px; background: #FFF; font-size: 14px; line-height: 1.45; color: var(--kra-text); min-width: 0; }
.kra-br::before { display: none !important; }
.kra-br.is-chosen { border-color: var(--kra-ink); }
.kra-br-top { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.kra-br .kra-br-naam { font-family: var(--kra-head); font-weight: 600; font-size: 18px; line-height: 1.2; color: var(--kra-ink) !important; text-decoration: none; }
.kra-br-act { display: flex; align-items: center; margin: 0; padding: 0; }
.kra-br-act a.kra-br-tel { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--kra-sky); color: var(--kra-ink) !important; }
.kra-br-act a.kra-br-tel span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kra-br-act a.kra-br-tel:focus-visible { outline: 3px solid var(--kra-ink); outline-offset: 2px; }

@media (max-width: 1024px) {
	.kra-people { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	ul.kra-branches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.kra .kra-title { font-size: 23px; margin-bottom: 18px; }
	.kra-choices { grid-template-columns: 1fr; gap: 12px; }
	.kra button.kra-choice { padding: 16px 14px 16px 16px; column-gap: 14px; border-radius: 18px; }
	.kra-choice-ico { width: 44px; height: 44px; }
	.kra-choice-txt strong { font-size: 19px; }
	.kra-choice-txt span { font-size: 14.5px; }
	.kra-progress { margin-bottom: 20px; }
	/* stappen: alleen de huidige met naam, de andere met hun nummer */
	ol.kra-steps { display: flex; gap: 6px; }
	ol.kra-steps li { flex: 0 0 44px; font-size: 12.5px; white-space: nowrap; }
	ol.kra-steps li.is-now { flex: 1 1 auto; }
	ol.kra-steps li:not(.is-now) b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.kra-row--2 { grid-template-columns: 1fr; }
	/* tellers onder elkaar: label links, knoppen rechts */
	.kra-stepper { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
	.kra-stepper > label { margin: 0; }
	.kra-chip span, .kra button.kra-chipbtn { font-size: 14.5px; padding: 8px 14px; }
	.kra-seg-rail { display: flex; }
	.kra-seg-rail label { flex: 1 1 0; }
	.kra-seg-rail span { width: 100%; padding: 0 10px; }
	.kra-nav { flex-direction: column-reverse; gap: 6px; padding-top: 18px; }
	.kra button.kra-back { align-self: center; }
	.kra-nav-go { align-self: stretch; align-items: stretch; }
	.kra .kra-reassure { text-align: center; margin-top: 8px; }
	.kra .kra-btn { width: 100%; }
	.kra .kra-pc-in .kra-btn { width: auto; }
	.kra-fail-act .kra-btn { width: 100%; }
	.kra-done:not([hidden]) { grid-template-columns: 1fr; gap: 22px; }
	.kra .kra-done .kra-title { font-size: 26px; margin-bottom: 18px; }
	.kra-done-next { padding: 22px 18px 20px; border-radius: 18px; }
	.kra-done-more { flex-direction: column; align-items: flex-start; gap: 2px; }
	ul.kra-done-links { flex-direction: column; gap: 0; }
	.kra-team .kra-team-h { font-size: 27px !important; }
	.kra-team .kra-team-lead { font-size: 16px; }
	.kra-people { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 14px; margin-right: -20px !important; padding-right: 20px !important; }
	.kra-people::-webkit-scrollbar { display: none; }
	.kra-person { flex: 0 0 38%; scroll-snap-align: start; }
	.kra-person img, .kra-person .kra-ini { width: 96px !important; height: 96px !important; }
	ul.kra-branches { grid-template-columns: 1fr; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
	.kra *:not(.kra-fallback), .kra-team *, .kra-branches * { transition: none !important; animation: none !important; }
}

/* aanwijsstijlen alleen met een muis (anders blijven ze hangen op een touchscreen) */
@media (hover: hover) {
	.kra button.kra-choice:hover { border-color: var(--kra-ink); box-shadow: 0 6px 20px rgba(0, 0, 0, .08); }
	.kra-choice:hover .kra-choice-go .kra-ico { transform: translateX(3px); }
	.kra-link:hover::after { transform: translateX(3px); }
	.kra button.kra-back:hover span { text-decoration-thickness: 2px; }
	.kra button.kra-sbtn:hover { border-color: var(--kra-ink); }
	.kra-chip:hover span, .kra button.kra-chipbtn:hover { border-color: var(--kra-ink); }
	.kra .kra-btn--dark:hover { background: #000 !important; }
	.kra .kra-btn--red:hover { background: var(--kra-red-dark) !important; }
	.kra .kra-btn--line:hover { background: var(--kra-beige) !important; }
	.kra-done-links a:hover::after { transform: translateX(3px); }
	.kra-br a.kra-br-naam:hover { text-decoration: underline; text-underline-offset: 4px; }
	.kra-br-act a.kra-br-tel:hover { background: var(--kra-ink); color: #FFF !important; }
}

/* status open/dicht in de reisbureaulijst (tekst van het script van Kupers Data); staat hier zelf, want de filiaal-CSS staat niet op elke pagina */
.kra-br .kh-fil-status { display: inline-flex; align-items: center; gap: 7px; padding: 4px 11px 4px 10px; border-radius: 999px; background: #E9F5EC; color: #1C6234; font-weight: 600; font-size: 13px; line-height: 1.3; }
.kra-br .kh-fil-status::before { content: ""; width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #1E8E3E; }
.kra-br .kh-fil-status { font-size: 12.5px; padding: 3px 10px 3px 9px; }
/* gesloten: rustige tekst, geen label en geen rode stip (alleen "Nu open" valt op) */
.kra-br .kh-fil-status.is-closed { background: none; padding: 0; color: var(--kra-text); font-weight: 500; }
.kra-br .kh-fil-status.is-closed::before { display: none; }
.kra-br .kh-fil-status:empty { display: none !important; }
/* vangnet als het script niet laadt: na 4 seconden een belregel */
/* neemt geen ruimte in zolang hij verborgen is (geen verspringen tijdens het laden) */
.kra-fallback { display: none; overflow: hidden; max-height: 0; margin: 0; padding: 0 16px; border-radius: 14px; background: var(--kra-beige); color: var(--kra-ink); font-size: 15px; visibility: hidden; }
.kra:not(.is-ready) .kra-fallback { display: block; animation: kra-toon 0s linear 4s forwards; }
.kra-fallback a { color: var(--kra-ink) !important; font-weight: 600; text-decoration: underline; }
@keyframes kra-toon { to { max-height: 300px; padding: 12px 16px; margin: 0 0 14px; visibility: visible; } }
.kra-ext { font-weight: 400; }
