/* STVA-Startseite: Portal-Einstieg und Online-Services. */
body.stva-portal-page .stva-portal-main { max-width:1440px; margin:32px auto 64px; }
body.stva-portal-page .wp-block-post-content { box-sizing:border-box; width:98%; max-width:1440px!important; margin-inline:auto; }
body.stva-portal-page .stva-portal-hero { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); align-items:stretch; min-height:260px; margin:0 auto; padding:0; overflow:hidden; border-radius:18px; background:#f0f5ee; }
body.stva-portal-page .stva-portal-hero__copy { min-width:0; align-self:center; padding:32px 38px; }
body.stva-portal-page .stva-portal-hero h1 { margin:0 0 14px; padding:0; background:transparent!important; color:#193d35;  }
body.stva-portal-page .stva-portal-hero__copy p { margin:0; color:#293c36;  }
body.stva-portal-page .stva-portal-hero__image { display:flex; align-items:center; justify-content:center; min-width:0; height:260px; margin:0; overflow:hidden; background:#f0f5ee; }
body.stva-portal-page .stva-portal-hero__image img { display:block; width:100%; max-width:100%; height:100%; object-fit:contain; object-position:center; border-radius:0; }
body.stva-portal-page .stva-portal-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; width:98%; max-width:1440px; margin:28px auto 0; }
body.stva-portal-page .stva-portal-service { display:flex; min-width:0; min-height:180px; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid #dfe6e1; border-radius:14px; background:#fff; color:#293c36; text-decoration:none; box-shadow:0 5px 18px rgba(25,61,53,.06); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
body.stva-portal-page a.stva-portal-service:hover { transform:translateY(-3px); border-color:#a9c8b2; box-shadow:0 9px 24px rgba(25,61,53,.11); }
body.stva-portal-page .stva-portal-service h2 { display:flex; align-items:center; gap:12px; margin:0 0 16px; color:#193d35;  }
body.stva-portal-page .stva-portal-service h2 img { display:block; flex:0 0 42px; width:42px; height:42px; object-fit:contain; }
body.stva-portal-page .stva-portal-service p { margin:0; color:#45574f;  }
body.stva-portal-page .stva-portal-service__note { margin-top:auto; padding-top:16px; color:#63736a;  }
body.stva-portal-page .stva-portal-service--soon { background:#f8faf7; }
body.stva-portal-page main.stva-portal-main > .stva-portal-dotted-divider { box-sizing:border-box; width:98%; max-width:1440px; height:0; margin:28px auto 0!important; border:0; border-top:3px dotted #8e9f94; opacity:1; }
@media(max-width:800px) {
 body.stva-portal-page .stva-portal-services { grid-template-columns:1fr; gap:14px; }
 body.stva-portal-page .stva-portal-service { min-height:0; padding:20px; }
}
@media(max-width:760px) {
 body.stva-portal-page .stva-portal-main { margin-top:24px; margin-bottom:40px; }
 body.stva-portal-page .stva-portal-hero { grid-template-columns:minmax(0,1fr); }
 body.stva-portal-page .stva-portal-hero__copy { padding:26px 24px; }
 body.stva-portal-page .stva-portal-hero__image { height:210px; }
 body.stva-portal-page .stva-portal-hero__image img { height:100%; min-height:210px; }
}

/* Single-column information section after the service tiles. */
body.stva-portal-page .stva-portal-section-divider { width:98%; max-width:1440px; margin:40px auto 28px; border-color:#dfe6e1; }
body.stva-portal-page .stva-portal-abmeldung { box-sizing:border-box; width:98%; max-width:1440px; margin:0 auto; padding:28px 32px; border-radius:12px; background:#fff2f1; }
body.stva-portal-page .stva-portal-abmeldung h2 { margin-top:0; color:#193d35; }
body.stva-portal-page .stva-portal-abmeldung p { margin-bottom:0; }

body.stva-portal-page .stva-portal-abmeldung { margin-top:56px; padding:40px 32px 34px; background:#fff2f1; }
body.stva-portal-page .stva-portal-abmeldung h2 { margin:0 auto 18px; color:#193d35; text-align:center; font-size:clamp(32px,4vw,44px); }
body.stva-portal-page .stva-portal-abmeldung .stva-portal-section-divider { width:100%; margin:0 auto 22px; border:0; border-top:1px solid #e5c9c6; }
body.stva-portal-page .stva-portal-abmeldung > p { margin:0 0 22px; text-align:center; }
body.stva-portal-page .stva-portal-abmeldung__link { display:flex; width:fit-content; max-width:100%; align-items:center; gap:14px; margin:0 auto; padding:12px 18px; border:1px solid #e2c7c4; border-radius:9px; background:#fff; color:#193d35; font-weight:600; text-decoration:none; }
body.stva-portal-page .stva-portal-abmeldung__link:hover { border-color:#b12828; color:#7d2020; }
body.stva-portal-page .stva-portal-abmeldung__link img { display:block; width:46px; height:40px; object-fit:contain; }
body.stva-portal-page .stva-portal-abmeldung__arrow { color:#b12828; font-size:1.3em; }
@media(max-width:600px) {
 body.stva-portal-page .stva-portal-abmeldung { margin-top:40px; padding:30px 18px 24px; }
 body.stva-portal-page .stva-portal-abmeldung__link { gap:9px; padding:11px 12px; }
}
body.stva-portal-page .stva-portal-abmeldung > p { text-align:left; }
body.stva-portal-page .stva-portal-abmeldung__link { width:auto; max-width:100%; justify-content:flex-start; gap:18px; margin:18px 0 0; padding:0; border:0; border-radius:0; background:transparent; color:#193d35; }
body.stva-portal-page .stva-portal-abmeldung__link:hover { border:0; background:transparent; color:#7d2020; text-decoration:underline; }
body.stva-portal-page .stva-portal-abmeldung__link img { flex:0 0 88px; width:88px; height:76px; }
body.stva-portal-page .stva-portal-abmeldung__arrow { font-size:1.2em; }
@media(max-width:600px) {
 body.stva-portal-page .stva-portal-abmeldung__link { gap:12px; }
 body.stva-portal-page .stva-portal-abmeldung__link img { flex-basis:68px; width:68px; height:62px; }
}
body.stva-portal-page .stva-portal-abmeldung { margin-top:88px; }
@media(max-width:600px) { body.stva-portal-page .stva-portal-abmeldung { margin-top:64px; } }
/* Keep the visual break after the tiles despite the theme's layout gap reset. */
body.stva-portal-page main.stva-portal-main > .stva-portal-abmeldung { margin-block-start:88px!important; }
@media(max-width:600px) { body.stva-portal-page main.stva-portal-main > .stva-portal-abmeldung { margin-block-start:64px!important; } }
body.stva-portal-page main.stva-portal-main > .stva-portal-abmeldung { margin-block-start:56px!important; }
@media(max-width:600px) { body.stva-portal-page main.stva-portal-main > .stva-portal-abmeldung { margin-block-start:40px!important; } }
body.stva-portal-page #stva-online-abmeldung { scroll-margin-top:24px; }
body.stva-portal-page .stva-portal-abmeldung__content { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); align-items:center; gap:28px; }
body.stva-portal-page .stva-portal-abmeldung__copy { min-width:0; }
body.stva-portal-page .stva-portal-abmeldung__copy > p { margin:0 0 20px; text-align:left; }
body.stva-portal-page .stva-portal-abmeldung__link { margin:0; }
body.stva-portal-page .stva-portal-abmeldung__image { display:flex; align-items:center; justify-content:center; min-width:0; margin:0; }
body.stva-portal-page .stva-portal-abmeldung__image img { display:block; width:100%; height:auto; max-height:300px; object-fit:contain; }
@media(max-width:700px) {
 body.stva-portal-page .stva-portal-abmeldung__content { grid-template-columns:1fr; gap:20px; }
 body.stva-portal-page .stva-portal-abmeldung__image img { max-height:230px; }
}
body.stva-portal-page .stva-portal-abmeldung__content { grid-template-columns:minmax(0,3fr) minmax(0,2fr); }
body.stva-portal-page .stva-portal-abmeldung__image img { width:100%; max-width:none; max-height:none; height:auto; object-fit:contain; }
@media(max-width:700px) {
 body.stva-portal-page .stva-portal-abmeldung__image img { max-height:none; }
}
body.stva-portal-page .stva-portal-abmeldung__content { display:block; }
body.stva-portal-page main.stva-portal-main > .stva-portal-abmeldung { margin-block-start:28px!important; }
body.stva-portal-page .stva-portal-zulassung { box-sizing:border-box; width:98%; max-width:1440px; margin:20px auto 0; padding:40px 32px 34px; border-radius:12px; background:#f1f8f1; }
body.stva-portal-page .stva-portal-zulassung h2 { margin:0 auto 18px; color:#193d35; text-align:center; }
body.stva-portal-page .stva-portal-zulassung .stva-portal-section-divider { width:100%; margin:0 auto 22px; border:0; border-top:1px solid #d4e3d4; }
body.stva-portal-page .stva-portal-zulassung > p { margin:0 0 20px; text-align:left; }
body.stva-portal-page .stva-portal-zulassung__link { display:flex; width:fit-content; max-width:100%; align-items:center; justify-content:flex-start; gap:18px; margin:0; padding:0; background:transparent; color:#193d35; text-decoration:none; }
body.stva-portal-page .stva-portal-zulassung__link:hover { color:#28734e; text-decoration:underline; }
body.stva-portal-page .stva-portal-zulassung__link img { display:block; flex:0 0 88px; width:88px; height:76px; object-fit:contain; }
body.stva-portal-page #stva-online-zulassung { scroll-margin-top:24px; }
@media(max-width:600px) {
 body.stva-portal-page main.stva-portal-main > .stva-portal-abmeldung { margin-block-start:20px!important; }
 body.stva-portal-page .stva-portal-zulassung { margin-top:14px; padding:30px 18px 24px; }
 body.stva-portal-page .stva-portal-zulassung__link { gap:12px; }
 body.stva-portal-page .stva-portal-zulassung__link img { flex-basis:68px; width:68px; height:62px; }
}
body.stva-portal-page .stva-portal-abmeldung,body.stva-portal-page .stva-portal-zulassung { min-height:280px; }
body.stva-portal-page .stva-portal-abmeldung h2,body.stva-portal-page .stva-portal-zulassung h2 { margin:0 auto 18px; color:#193d35; text-align:center; font-size:clamp(32px,4vw,44px); }
body.stva-portal-page .stva-portal-zulassung__link { width:fit-content; margin-left:0; margin-right:auto; text-align:left; }
@media(max-width:600px) {
 body.stva-portal-page .stva-portal-abmeldung,body.stva-portal-page .stva-portal-zulassung { min-height:0; }
}
body.stva-portal-page .stva-portal-zulassung .stva-portal-zulassung__link { display:flex!important; width:fit-content!important; align-self:flex-start!important; justify-content:flex-start!important; margin:0!important; text-align:left!important; }
body.stva-portal-page .stva-portal-wunschkennzeichen { box-sizing:border-box; width:98%; max-width:1440px; margin:20px auto 0; padding:40px 32px 34px; border-radius:12px; background:#f3f7fb; }
body.stva-portal-page .stva-portal-wunschkennzeichen h2 { margin:0 auto 18px; color:#193d35; text-align:center; font-size:clamp(32px,4vw,44px); }
body.stva-portal-page .stva-portal-wunschkennzeichen .stva-portal-section-divider { width:100%; margin:0 auto 22px; border:0; border-top:1px solid #d8e1e9; }
body.stva-portal-page .stva-portal-wunschkennzeichen > p { margin:0 0 20px; text-align:left; }
body.stva-portal-page .stva-portal-wunschkennzeichen__notice { display:flex; align-items:center; gap:18px; color:#193d35; }
body.stva-portal-page .stva-portal-wunschkennzeichen__notice img { display:block; flex:0 0 88px; width:88px; height:76px; object-fit:contain; }
body.stva-portal-page #stva-wunschkennzeichen { scroll-margin-top:24px; }
@media(max-width:600px) {
 body.stva-portal-page .stva-portal-wunschkennzeichen { margin-top:14px; padding:30px 18px 24px; }
 body.stva-portal-page .stva-portal-wunschkennzeichen__notice { gap:12px; }
 body.stva-portal-page .stva-portal-wunschkennzeichen__notice img { flex-basis:68px; width:68px; height:62px; }
}
body.stva-portal-page .stva-portal-service--soon { background:#fff; }
/* Match the split hero proportions and image treatment used on the Erbach authority page. */
body.stva-portal-page .stva-portal-hero { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); min-height:350px; }
body.stva-portal-page .stva-portal-hero__image { height:100%; min-height:350px; }
body.stva-portal-page .stva-portal-hero__image img { width:100%; max-width:none; height:100%; min-height:350px; object-fit:cover; }
@media(max-width:1024px) {
 body.stva-portal-page .stva-portal-hero { grid-template-columns:minmax(0,1fr); min-height:0; }
 body.stva-portal-page .stva-portal-hero__image { height:auto; min-height:0; }
 body.stva-portal-page .stva-portal-hero__image img { width:100%; max-width:100%; height:auto; min-height:0; object-fit:contain; }
}
body.stva-portal-page .stva-kennzeichen-tool { display:grid; gap:14px; max-width:760px; margin-top:20px; }
body.stva-portal-page .stva-kennzeichen-tool__vehicles { display:block; min-width:0; margin:0; padding:0; border:0; }
body.stva-portal-page .stva-kennzeichen-tool__vehicle-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body.stva-portal-page .stva-kennzeichen-tool__vehicles legend { width:100%; margin:0 0 6px; font-weight:600; }
body.stva-portal-page .stva-kennzeichen-tool__vehicles label { display:flex; min-width:105px; flex:1 1 auto; flex-direction:column; align-items:center; gap:4px; padding:10px 12px; border:1px solid #dfe6e1; border-radius:8px; background:#fff; cursor:pointer; text-align:center; }
body.stva-portal-page .stva-kennzeichen-tool__vehicles label:has(input:checked) { border-color:#193d35; background:#f0f5ee; }
body.stva-portal-page .stva-kennzeichen-tool__vehicles input { position:absolute; opacity:0; }
body.stva-portal-page .stva-kennzeichen-tool__vehicles label:focus-within { outline:2px solid #28734e; outline-offset:2px; }
body.stva-portal-page .stva-kennzeichen-tool__vehicles label span { font-size:24px; }
body.stva-portal-page .stva-kennzeichen-tool__plate-label { margin-bottom:-8px; font-weight:600; }
body.stva-portal-page .stva-kennzeichen-tool__plate { display:flex; width:min(100%,560px); min-height:84px; align-items:center; overflow:hidden; border:3px solid #2a3034; border-radius:9px; background:#fff; box-shadow:0 3px 7px #0002; }
body.stva-portal-page .stva-kennzeichen-tool__eu { display:flex; width:44px; min-width:44px; height:84px; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:#164b9b; color:#fff; }
body.stva-portal-page .stva-kennzeichen-tool__eu span { font-size:10px; letter-spacing:1px; }
body.stva-portal-page .stva-kennzeichen-tool__eu b { font-size:23px; }
body.stva-portal-page .stva-kennzeichen-tool__prefix { width:88px!important; min-width:70px; height:64px; margin:0 12px!important; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; color:#15191b!important; font-family:inherit; font-size:40px!important; font-weight:700; letter-spacing:1px; line-height:1; text-align:center; text-transform:uppercase; box-shadow:none!important; }
body.stva-portal-page .stva-kennzeichen-tool__prefix::placeholder { color:#aeb4b7; opacity:.65; }
body.stva-portal-page .stva-kennzeichen-tool__placeholder { color:#b6bdc1; font-size:29px; letter-spacing:1px; white-space:nowrap; }
body.stva-portal-page .stva-kennzeichen-tool__help,.stwa-kennzeichen-tool__message { margin:0; color:#526159; }
body.stva-portal-page .stva-kennzeichen-tool__message:empty { display:none; }
body.stva-portal-page .stva-kennzeichen-tool__submit { width:fit-content; padding:13px 18px; border-radius:7px; background:#193d35; color:white; font-weight:650; text-decoration:none; }
body.stva-portal-page .stva-kennzeichen-tool__submit[hidden] { display:none; }
body.stva-portal-page .stva-kennzeichen-tool__submit:hover { background:#28734e; }
@media(max-width:600px) {
 body.stva-portal-page .stva-kennzeichen-tool__vehicles label { min-width:calc(33% - 8px); }
 body.stva-portal-page .stva-kennzeichen-tool__plate { min-height:68px; }
 body.stva-portal-page .stva-kennzeichen-tool__eu { width:36px; min-width:36px; height:68px; }
 body.stva-portal-page .stva-kennzeichen-tool__prefix { width:70px!important; min-width:55px; height:54px; margin:0 8px!important; font-size:32px!important; }
 body.stva-portal-page .stva-kennzeichen-tool__placeholder { font-size:22px; }
}
body.stva-portal-page .stva-kennzeichen-tool__office-label { width:fit-content; font-weight:600; }
body.stva-portal-page .stva-kennzeichen-tool__office { display:block; min-width:260px; margin-top:6px; }
/* Keep both vehicle choices on one row, including theme-generated line breaks. */
body.stva-portal-page .stva-kennzeichen-tool__vehicle-row > br { display:none; }
body.stva-portal-page .stva-kennzeichen-tool__vehicle-row > label { min-width:0; margin:0; box-sizing:border-box; }
body.stva-portal-page .stva-kennzeichen-tool:has(input[value="motorrad"]:checked) .stva-kennzeichen-tool__plate { display:grid; grid-template-columns:36px minmax(0,1fr); grid-template-rows:1fr 1fr; width:210px; max-width:100%; height:210px; min-height:0; box-sizing:border-box; }
body.stva-portal-page .stva-kennzeichen-tool:has(input[value="motorrad"]:checked) .stva-kennzeichen-tool__plate .stva-kennzeichen-tool__eu { grid-column:1; grid-row:1 / 3; width:36px; min-width:0; height:100%; }
body.stva-portal-page .stva-kennzeichen-tool:has(input[value="motorrad"]:checked) .stva-kennzeichen-tool__plate .stva-kennzeichen-tool__prefix { grid-column:2; grid-row:1; justify-self:center; width:130px!important; max-width:100%; margin:0!important; font-size:40px!important; box-sizing:border-box; }
body.stva-portal-page .stva-kennzeichen-tool:has(input[value="motorrad"]:checked) .stva-kennzeichen-tool__plate .stva-kennzeichen-tool__placeholder { grid-column:2; grid-row:2; justify-self:center; font-size:21px; letter-spacing:0; }
body.stva-portal-page .stva-kennzeichen-tool { max-width:none; }
body.stva-portal-page .stva-kennzeichen-tool__columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
body.stva-portal-page .stva-kennzeichen-tool__plate-column { display:grid; gap:14px; min-width:0; }
body.stva-portal-page .stva-kennzeichen-tool__plate-column .stva-kennzeichen-tool__plate { box-sizing:border-box; max-width:100%; }
body.stva-portal-page .stva-kennzeichen-tool__plate-column .stva-kennzeichen-tool__placeholder { min-width:0; overflow:hidden; }
@media(max-width:600px) {
 body.stva-portal-page .stva-kennzeichen-tool__columns { grid-template-columns:minmax(0,1fr); }
}
body.stva-portal-page .stva-kennzeichen-tool__columns { position:relative; }
body.stva-portal-page .stva-kennzeichen-tool__columns::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:1px; background:#d9dfdb; pointer-events:none; }
body.stva-portal-page .stva-kennzeichen-tool__reservation-note { margin:16px 0 0; color:#526159; }
@media(max-width:600px) {
 body.stva-portal-page .stva-kennzeichen-tool__columns::before { display:none; }
 body.stva-portal-page .stva-kennzeichen-tool__plate-column { border-top:1px solid #d9dfdb; padding-top:24px; }
}
body.stva-portal-page .stva-kennzeichen-tool__office-label { width:100%; min-width:0; margin:0; padding:0; border:0; }
body.stva-portal-page .stva-kennzeichen-tool__office-label[hidden] { display:none; }
body.stva-portal-page .stva-kennzeichen-tool__office-label legend { margin-bottom:8px; padding:0; }
body.stva-portal-page .stva-kennzeichen-tool__office { display:grid; gap:8px; min-width:0; margin:0; }
body.stva-portal-page .stva-kennzeichen-tool__office label { display:flex; align-items:center; gap:10px; margin:0; padding:12px; border:1px solid #d9dfdb; border-radius:7px; background:#fff; cursor:pointer; font-weight:400; }
body.stva-portal-page .stva-kennzeichen-tool__office label:has(input:checked) { border-color:#193d35; background:#f0f5ee; }
body.stva-portal-page .stva-kennzeichen-tool__office input { margin:0; accent-color:#193d35; }

body.stva-portal-page .stva-portal-services { grid-template-columns:repeat(4,minmax(0,1fr)); }
body.stva-portal-page .stva-portal-service { padding:20px; box-sizing:border-box; }
body.stva-portal-page .stva-portal-termine { box-sizing:border-box; width:98%; max-width:1440px; margin:20px auto 0; padding:40px 32px 34px; border-radius:12px; background:#fff8ed; scroll-margin-top:24px; }
body.stva-portal-page .stva-portal-termine h2 { margin:0 auto 18px; color:#193d35; text-align:center; font-size:clamp(32px,4vw,44px); }
body.stva-portal-page .stva-portal-termine .stva-portal-section-divider { width:100%; margin:0 auto 22px; border:0; border-top:1px solid #e6dece; }
body.stva-portal-page .stva-portal-appointment-search { margin-top:24px; }
body.stva-portal-page .stva-portal-appointment-search > label { display:block; margin-bottom:8px; font-weight:600; }
body.stva-portal-page .stva-portal-appointment-search input { width:100%; max-width:650px; box-sizing:border-box; padding:14px 18px; border:1px solid #b8c8bd; border-radius:8px; font:inherit; background:white; }
body.stva-portal-page .stva-portal-appointment-status:empty { display:none; }
body.stva-portal-page .stva-portal-appointment-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; margin-top:20px; }
body.stva-portal-page .stva-portal-appointment-results[hidden] { display:none; }
body.stva-portal-page .stva-portal-appointment-card { padding:20px; border:1px solid #e6dece; border-radius:10px; background:white; display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
body.stva-portal-page .stva-portal-appointment-card h3 { margin:0; }
body.stva-portal-page .stva-portal-appointment-card a { margin-top:auto; color:#193d35; font-weight:600; }
@media(max-width:1100px) { body.stva-portal-page .stva-portal-services { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 body.stva-portal-page .stva-portal-services { grid-template-columns:1fr; }
 body.stva-portal-page .stva-portal-termine { margin-top:14px; padding:30px 18px 24px; }
}

/* Service overview and matching split appointment layout. */
body.stva-portal-page .stva-portal-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.stva-portal-page .stva-portal-service h2 img { flex-basis:72px; width:72px; height:72px; }
body.stva-portal-page .stva-portal-icon-description { display:flex; align-items:flex-start; gap:18px; min-width:0; }
body.stva-portal-page .stva-portal-icon-description > img { display:block; flex:0 0 88px; width:88px; height:88px; object-fit:contain; }
body.stva-portal-page .stva-portal-icon-description > p { min-width:0; margin:0; }
body.stva-portal-page .stva-portal-appointment-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:24px; position:relative; }
body.stva-portal-page .stva-portal-appointment-columns::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:1px; background:#d9dfdb; pointer-events:none; }
body.stva-portal-page .stva-portal-appointment-columns > * { min-width:0; margin:0; }
body.stva-portal-page .stva-portal-appointment-columns .stva-portal-appointment-search { margin:0; }
@media(max-width:600px) {
 body.stva-portal-page .stva-portal-services { grid-template-columns:minmax(0,1fr); }
 body.stva-portal-page .stva-portal-appointment-columns { grid-template-columns:minmax(0,1fr); }
 body.stva-portal-page .stva-portal-appointment-columns::before { display:none; }
 body.stva-portal-page .stva-portal-appointment-columns .stva-portal-appointment-search { border-top:1px solid #d9dfdb; padding-top:24px; }
 body.stva-portal-page .stva-portal-icon-description { gap:12px; }
 body.stva-portal-page .stva-portal-icon-description > img { flex-basis:64px; width:64px; height:64px; }
}

body.stva-portal-page main.stva-portal-main > .stva-portal-guides-divider { width:98%; max-width:1440px; margin:44px auto 32px; border:0; border-top:5px solid #193d35; opacity:1; }
body.stva-portal-page .stva-portal-guides { box-sizing:border-box; width:98%; max-width:1440px; margin:0 auto; padding:0 32px; }
body.stva-portal-page .stva-portal-guides h2 { margin:0 0 28px; text-align:center; color:#193d35; font-size:clamp(32px,4vw,44px); }
body.stva-portal-page .stva-portal-guides-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
body.stva-portal-page .stva-portal-guides-columns > * { min-width:0; margin:0; }
body.stva-portal-page .stva-portal-code-search { padding:24px; border:1px solid #dfe6e1; border-radius:12px; background:#f5f8f5; }
body.stva-portal-page .stva-portal-code-search label { display:block; margin-bottom:10px; font-weight:600; }
body.stva-portal-page .stva-portal-code-search input { width:100%; box-sizing:border-box; padding:14px 18px; border:1px solid #b8c8bd; border-radius:8px; background:#fff; font:inherit; text-transform:uppercase; }
body.stva-portal-page .stva-portal-code-search input::placeholder { text-transform:none; }
body.stva-portal-page .stva-portal-code-search p { margin:14px 0 0; }
body.stva-portal-page .stva-portal-code-result { padding-top:16px; border-top:1px solid #d9dfdb; color:#193d35; font-weight:600; }
body.stva-portal-page .stva-portal-code-result[hidden] { display:none; }
@media(max-width:600px) { body.stva-portal-page .stva-portal-guides { padding:0 18px; } body.stva-portal-page .stva-portal-guides-columns { grid-template-columns:minmax(0,1fr); } }

body.stva-portal-page .stva-portal-code-search > #stva-portal-code-help { margin:0; }
body.stva-portal-page .stva-portal-code-search > .stva-portal-code-divider { width:100%; max-width:none; margin:20px 0; border:0; border-top:1px solid #d9dfdb; }

body.stva-portal-page .stva-portal-guides-columns { align-items:start; }
body.stva-portal-page .stva-portal-guide-links { min-width:0; }
body.stva-portal-page .stva-portal-guide-link { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 18px; padding:18px 6px; color:#193d35; text-decoration:none; border-radius:6px; }
body.stva-portal-page .stva-portal-guide-link:first-child { padding-top:0; }
body.stva-portal-page .stva-portal-guide-links .stva-portal-guide-link h3 { grid-column:1; margin:0; text-align:left; color:inherit; }
body.stva-portal-page .stva-portal-guide-link p { grid-column:1; margin:0; color:#45574f; }
body.stva-portal-page .stva-portal-guide-link > span { grid-column:2; grid-row:1 / 3; align-self:center; font-size:1.5em; }
body.stva-portal-page .stva-portal-guide-link:hover { background:#f0f5ee; }
body.stva-portal-page .stva-portal-guide-link:focus-visible { outline:2px solid #193d35; outline-offset:4px; }
body.stva-portal-page .stva-portal-guide-links > hr { width:100%; max-width:none; margin:0; border:0; border-top:1px solid #d9dfdb; }

body.stva-portal-page .stva-portal-code-search > .stva-portal-code-icon { display:block; width:88px; height:88px; object-fit:contain; margin:0 0 18px; }

body.stva-portal-page main.stva-portal-main > .stva-portal-faq-divider { width:98%; max-width:1440px; margin:40px auto 32px; border:0; border-top:1px solid #d9dfdb; opacity:1; }
body.stva-portal-page .stva-portal-faq { box-sizing:border-box; display:block; width:98%; max-width:1440px; margin:0 auto; padding:0 32px; }
body.stva-portal-page .stva-portal-faq h2 { margin:0 0 20px; color:#193d35; text-align:center; font-size:clamp(32px,4vw,44px); }
body.stva-portal-page .stva-portal-faq > p { margin:0 0 24px; }
body.stva-portal-page .stva-portal-faq-list { display:grid; grid-template-columns:minmax(0,1fr); gap:0; border-top:1px solid #d9dfdb; }
body.stva-portal-page .stva-portal-faq-list details { border-bottom:1px solid #d9dfdb; padding:0; }
body.stva-portal-page .stva-portal-faq-list summary { position:relative; padding:20px 38px 20px 0; list-style:none; cursor:pointer; color:#193d35; font-weight:600; }
body.stva-portal-page .stva-portal-faq-list summary::-webkit-details-marker { display:none; }
body.stva-portal-page .stva-portal-faq-list summary::after { content:"+"; position:absolute; right:8px; top:50%; transform:translateY(-50%); font-size:1.4em; }
body.stva-portal-page .stva-portal-faq-list details[open] summary::after { content:"−"; }
body.stva-portal-page .stva-portal-faq-list summary:focus-visible { outline:2px solid #193d35; outline-offset:3px; }
body.stva-portal-page .stva-portal-faq-list details p { margin:0; padding:0 38px 20px 0; color:#45574f; }
body.stva-portal-page .stva-portal-faq .stva-portal-faq-more { margin:24px 0 0; }
body.stva-portal-page .stva-portal-faq-more a { color:#193d35; font-weight:600; }
@media(max-width:600px) { body.stva-portal-page .stva-portal-faq { padding:0 18px; } }

body.stva-portal-page .stva-portal-appointment-columns > .stva-portal-icon-description { flex-direction:column; gap:18px; }
body.stva-portal-page .stva-portal-appointment-columns > .stva-portal-icon-description > img { flex:0 0 auto; }

body.stva-portal-page .stva-portal-faq-intro { margin:0 0 24px; }
body.stva-portal-page .stva-portal-faq-intro > img { width:88px; height:88px; }

body.stva-portal-page .stva-portal-wunschkennzeichen-intro { margin:0 0 22px; }
body.stva-portal-page .stva-kennzeichen-tool__vehicle-column { display:flex; flex-direction:column; gap:16px; min-width:0; margin:0; padding:0; }
body.stva-portal-page .stva-kennzeichen-tool__illustration { display:block; margin:0; padding:0; width:88px; height:88px; }
body.stva-portal-page .stva-kennzeichen-tool__illustration img { display:block; width:88px; height:88px; object-fit:contain; }
body.stva-portal-page .stva-kennzeichen-tool__vehicles legend { padding:0; margin:0 0 10px; }

body.stva-portal-page .stva-portal-registration-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; position:relative; }
body.stva-portal-page .stva-portal-registration-columns::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:1px; background:#d9dfdb; pointer-events:none; }
body.stva-portal-page .stva-portal-registration-columns > * { min-width:0; margin:0; }
body.stva-portal-page .stva-portal-registration-columns > .stva-portal-icon-description { flex-direction:column; }
body.stva-portal-page .stva-portal-registration-columns > .stva-portal-icon-description > img { flex:0 0 auto; }
body.stva-portal-page .stva-portal-registration-search h3 { margin:0 0 10px; color:#193d35; }
body.stva-portal-page .stva-portal-registration-search p { margin:0 0 16px; }
body.stva-portal-page .stva-portal-registration-search label { display:block; margin-bottom:8px; font-weight:600; }
body.stva-portal-page .stva-portal-registration-fields { display:flex; flex-wrap:wrap; gap:10px; }
body.stva-portal-page .stva-portal-registration-fields input { flex:1 1 180px; min-width:0; width:100%; box-sizing:border-box; padding:14px 18px; border:1px solid #b8c8bd; border-radius:8px; font:inherit; background:#fff; }
body.stva-portal-page .stva-portal-registration-fields button,body.stva-portal-page .stva-portal-registration-card a { display:inline-block; padding:12px 16px; border:0; border-radius:7px; background:#193d35; color:#fff; font:inherit; font-weight:600; text-decoration:none; cursor:pointer; }
body.stva-portal-page .stva-portal-registration-status:not(:empty) { margin-top:16px; }
body.stva-portal-page .stva-portal-registration-status:empty { display:none; }
body.stva-portal-page .stva-portal-registration-results { display:grid; gap:14px; margin-top:16px; }
body.stva-portal-page .stva-portal-registration-results[hidden] { display:none; }
body.stva-portal-page .stva-portal-registration-card { padding:20px; border:1px solid #d4e3d4; border-radius:10px; background:#fff; }
body.stva-portal-page .stva-portal-registration-card h4 { margin:0 0 8px; color:#193d35; }
@media(max-width:600px) {
 body.stva-portal-page .stva-portal-registration-columns { grid-template-columns:minmax(0,1fr); }
 body.stva-portal-page .stva-portal-registration-columns::before { display:none; }
 body.stva-portal-page .stva-portal-registration-search { padding-top:24px; border-top:1px solid #d9dfdb; }
}

/* Alternating section backgrounds. */
body.stva-portal-page #stva-online-abmeldung,
body.stva-portal-page #stva-wunschkennzeichen,
body.stva-portal-page .stva-portal-guides { background:#f6f6f6; }
body.stva-portal-page #stva-online-zulassung,
body.stva-portal-page #stva-termine,
body.stva-portal-page #stva-haeufige-fragen { background:#fff; }
body.stva-portal-page .stva-portal-guides { padding-block:40px; border-radius:12px; }
body.stva-portal-page .stva-portal-code-search { background:#f6f6f6; }
@media(max-width:600px) { body.stva-portal-page .stva-portal-guides { padding-block:30px; } }

body.stva-portal-page .stva-portal-appointment-alternatives { width:100%; box-sizing:border-box; margin-top:6px; padding-top:18px; border-top:1px solid #d9dfdb; }
body.stva-portal-page .stva-portal-appointment-alternatives h4 { margin:0 0 8px; color:#193d35; }
body.stva-portal-page .stva-portal-appointment-alternatives p { margin:0 0 14px; color:#45574f; }
body.stva-portal-page .stva-portal-appointment-alternatives ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; }
body.stva-portal-page .stva-portal-appointment-alternatives li { margin:0; padding:0; }
body.stva-portal-page .stva-portal-appointment-alternatives a { display:inline-block; margin:0; padding:8px 12px; border:1px solid #d9dfdb; border-radius:18px; background:#f6f6f6; text-decoration:none; }
body.stva-portal-page .stva-portal-appointment-alternatives a:hover { background:#edf4ed; border-color:#a9c8b2; }

body.stva-portal-page .stva-portal-appointment-alternatives { padding:18px; background:#fff8d6; border:1px solid #efd77c; border-radius:10px; }
body.stva-portal-page .stva-portal-appointment-alternatives a { background:#fffdf1; border-color:#e5d388; }
