/* Pagina "Toegang aanvragen": één rustige kolom van boven naar beneden, niets plakt of schuift mee. Kleuren volgen het thema. */
.tv{display:block}

/* kop: titel links, uitleg rechts */
.tv-kop{display:grid;gap:1.25rem 4rem;align-items:end}
@media (min-width:56rem){.tv-kop{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.tv-kop h1{margin:0;font-size:clamp(2.6rem,7vw,4.5rem);font-weight:800;line-height:.98;text-transform:uppercase;color:var(--color-mist);text-wrap:balance}
.tv-kop p{margin:0;max-width:30rem;font-size:1.0625rem;line-height:1.6;color:var(--color-steel)}

/* de drie stappen hangen aan een liniaal */
.tv-stappen{position:relative;display:grid;gap:0 2.5rem;margin:2.75rem 0 0;padding:0;list-style:none;border-top:2px solid var(--color-mist)}
@media (min-width:48rem){.tv-stappen{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tv-stappen::before{content:"";position:absolute;left:0;right:0;top:0;height:.55rem;background:repeating-linear-gradient(90deg,var(--color-mist) 0 1px,transparent 1px 12px);opacity:.55}
.tv-stappen li{display:grid;grid-template-columns:3.25rem minmax(0,1fr);column-gap:.5rem;align-content:start;padding:1.5rem 0 1.25rem}
@media (min-width:48rem){.tv-stappen li{grid-template-columns:minmax(0,1fr);padding:1.75rem 0 0}}
.tv-stappen .nr{grid-row:span 2;display:block;font-family:"Big Shoulders",sans-serif;font-size:3rem;font-weight:800;line-height:.9;min-height:2.7rem;color:var(--color-gold)}
@media (min-width:48rem){.tv-stappen .nr{grid-row:auto;margin-bottom:.6rem}}
.tv-stappen strong{display:block;font-size:1.0625rem;font-weight:700;line-height:1.3;color:var(--color-mist)}
.tv-stappen .tekst{display:block;margin-top:.25rem;font-size:.9375rem;line-height:1.5;color:var(--color-steel)}
.tv-stappen .klaar .nr{color:#3fa66b}

/* formulier: links wat het is, rechts de velden */
.tv-form{position:relative;margin-top:3rem}
.tv-fout{margin:0 0 1.5rem;padding:.8rem 1rem;font-size:1rem;line-height:1.45;color:var(--color-mist);background:color-mix(in oklab,var(--color-alert) 12%,transparent);border-left:4px solid var(--color-alert)}
.tv-fout:focus{outline:3px solid var(--color-alert);outline-offset:2px}
.tv-groep{display:grid;gap:1.1rem 3rem;padding:2rem 0;border-top:1px solid var(--color-ridge)}
@media (min-width:56rem){.tv-groep{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.tv-uitleg h2{margin:0;font-size:1.25rem;font-weight:700;line-height:1.25;color:var(--color-mist)}
.tv-uitleg p{margin:.35rem 0 0;max-width:24rem;font-size:.9375rem;line-height:1.5;color:var(--color-steel)}
.tv-velden{display:grid;gap:1.25rem 1.5rem;align-content:start}
@media (min-width:40rem){.tv-velden{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tv-breed{grid-column:1/-1}
.tv-veld label{display:block;margin-bottom:.4rem;font-size:.9375rem;font-weight:600;color:var(--color-mist)}
.tv-veld label span{font-weight:400;color:var(--color-steel)}
.tv-veld input,.tv-veld textarea{display:block;width:100%;min-height:3.25rem;margin:0;padding:.7rem .9rem;font:inherit;font-size:1.0625rem;line-height:1.4;color:var(--color-mist);background:var(--color-graphite);border:1.5px solid var(--color-ridge);border-radius:3px;outline:0;transition:border-color .15s,box-shadow .15s}
.tv-veld textarea{min-height:7.5rem;resize:vertical;line-height:1.5}
.tv-veld input::placeholder,.tv-veld textarea::placeholder{color:var(--color-steel);opacity:.75}
.tv-veld input:hover,.tv-veld textarea:hover{border-color:var(--color-steel)}
.tv-veld input:focus,.tv-veld textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-gold) 30%,transparent)}

.tv-actie{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;padding:2rem 0 0;border-top:1px solid var(--color-ridge)}
.tv-actie p{margin:0;max-width:26rem;font-size:.875rem;line-height:1.5;color:var(--color-steel)}
.tv-login{margin:1rem 0 0;font-size:.9375rem;color:var(--color-steel)}
.tv-actie a,.tv-login a{color:var(--color-mist);text-decoration:underline;text-decoration-color:var(--color-gold);text-underline-offset:3px}
.tv-knop{display:inline-flex;align-items:center;justify-content:center;min-height:3.5rem;padding:0 2rem;font:inherit;font-size:1.0625rem;font-weight:700;color:#0a121a!important;background:var(--color-gold);border:0;border-radius:3px;cursor:pointer;text-decoration:none!important;transition:background-color .15s}
@media (max-width:39.99rem){.tv-knop{width:100%}}
.tv-knop:hover{background:var(--color-gold-bright)}
.tv-knop:focus-visible{outline:3px solid var(--color-mist);outline-offset:3px}

/* na het versturen */
.tv-klaar{margin-top:3rem;padding:2rem 0 0;border-top:1px solid var(--color-ridge)}
.tv-klaar h2{margin:0;font-size:1.5rem;font-weight:700;line-height:1.25;color:var(--color-mist)}
.tv-klaar p{margin:.5rem 0 1.5rem;max-width:32rem;line-height:1.6;color:var(--color-steel)}
