/* Shared registration authority overview. */
body:has(.stva-authority-hero) > header.wp-block-template-part > .wp-block-separator { display: none !important; }
body:has(.stva-authority-hero) main.wp-block-group > .wp-block-group.alignfull > .wp-block-separator { display: none !important; }
body:has(.stva-authority-hero) .wp-block-post-title { background: transparent !important; }
.wp-block-post-content > .stva-behoerde-breadcrumb { margin: 0 auto 24px !important; }
.stva-authority-hero {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    align-items: stretch;
    min-height: 350px;
    margin: 0 auto 30px;
    overflow: hidden;
    border-radius: 18px;
    background: #f0f5ee;
}
.stva-modern-contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 48px;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto 32px;
    padding: 32px;
    border: 1px solid #dfe6e1;
    border-radius: 12px;
    color: #293c36;
}
.stva-modern-contact > :is(.stva-modern-contact__title,.stva-modern-contact__office-image) { display: none; }
.stva-modern-contact__address,
.stva-modern-contact__map-route,
.stva-modern-contact > h3,
.stva-modern-contact__rows,
.stva-modern-contact__updated { grid-column: 1; }
.stva-modern-contact > h3 { margin: 24px 0 10px; }
.stva-modern-contact__hours { grid-column: 2; grid-row: 1 / span 8; margin: 0; padding: 0 0 0 28px; border: 0; border-left: 1px solid #dfe6e1; }
.stva-modern-contact__hours h3 { margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid #dfe6e1; }
.stva-modern-contact__row { display: grid; grid-template-columns: 1fr; gap: 3px; padding: 13px 0; border-bottom: 1px solid #dfe6e1; }
.stva-modern-contact__value,
.stva-modern-contact__action { overflow-wrap: anywhere; }
.stva-authority-hero__copy {
    align-self: center;
    padding: 42px 38px;
}
.stva-authority-hero__eyebrow {
    margin: 0 0 12px;
    color: #527063;
}
.stva-authority-hero h1 {
    margin: 0;
    padding: 0;
    color: #193d35;
    background: transparent;
}
.stva-authority-hero__image,
.stva-authority-hero__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 350px;
    margin: 0;
}
.stva-authority-hero__image img {
    object-fit: cover;
    border: 0;
    border-radius: 0;
}
@media (max-width: 760px) {
    .stva-authority-hero { grid-template-columns: 1fr; }
    .stva-authority-hero__copy { padding: 28px 24px; }
    .stva-authority-hero__image,
    .stva-authority-hero__image img { min-height: 0; height: 230px; }
    .stva-modern-contact { display: block; padding: 24px 20px; }
    .stva-modern-contact__hours { margin-top: 28px; padding: 24px 0 0; border-top: 1px solid #dfe6e1; border-left: 0; }
}

/* Match the FS authority overview; override the legacy sidebar styles. */
body.stva-authority-overview .wp-block-post-content { box-sizing:border-box;width:98%;max-width:98%!important;margin-inline:auto!important; }
body.stva-authority-overview .wp-block-post-content > * { box-sizing:border-box;max-width:none; }
body.stva-authority-overview .wp-block-post-content :where(*:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6)) { font-family:inherit!important;font-size:inherit!important; }
body.stva-authority-overview .stva-service-columns { display:block!important;grid-template-columns:minmax(0,1fr)!important; }
body.stva-authority-overview .stva-authority-hero h1 { background:transparent!important; }
body.stva-authority-overview .stva-modern-contact { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 64px;padding:32px;border:1px solid #dfe6e1;border-radius:12px;background:transparent;color:#293c36; }
body.stva-authority-overview .stva-modern-contact > h2 { grid-column:1/-1;margin:0 0 24px;color:#193d35; }
body.stva-authority-overview .stva-modern-contact__office-image { display:none; }
body.stva-authority-overview .stva-modern-contact__hours { grid-column:2;grid-row:2/7;margin:0;padding:0 0 0 32px;border-top:0;border-left:1px solid #dfe6e1; }
body.stva-authority-overview .stva-modern-contact__hours h2 { margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid #dfe6e1;color:#193d35; }
body.stva-authority-overview .stva-modern-contact__row { display:grid;grid-template-columns:1fr;padding:13px 0;gap:3px;border-bottom:1px solid #dfe6e1; }
body.stva-authority-overview .stva-modern-contact__value { white-space:normal;overflow:visible;text-overflow:clip; }
body.stva-authority-overview .stva-modern-contact__updated { display:block;margin-top:18px;padding:12px;background:#f5f7f4;border-left:3px solid #b8cdbd; }
body.stva-authority-overview .stva-modern-contact__updated > * { display:block; }
body.stva-authority-overview .stva-modern-contact__hours-list td { padding:12px 8px;border-bottom:1px solid #dfe6e1; }
body.stva-authority-overview .stva-authority-nav { display:flex;flex-wrap:wrap;gap:0 32px;margin:24px 0 36px;border-bottom:1px solid #dfe6e1; }
body.stva-authority-overview .stva-authority-nav a { padding:15px 0;color:#193d35;text-decoration:none;border-bottom:3px solid transparent; }
body.stva-authority-overview .stva-authority-nav a:hover { border-color:#28734e; }
body.stva-authority-overview :is(#stva-kontakt,#stva-servicezeiten,#stva-termin,#stva-dienstleistungen,#stva-dienstleistungen-vor-ort,#stva-wunschkennzeichen) { scroll-margin-top:28px; }
body.stva-authority-overview .stva-service-article .stva-vorort-services-title { text-align:center;background:transparent!important; }
@media(max-width:760px) {
 body.stva-authority-overview .stva-modern-contact { display:block;padding:24px 20px; }
 body.stva-authority-overview .stva-modern-contact__hours { margin-top:28px;padding:24px 0 0;border-left:0;border-top:1px solid #dfe6e1; }
}

/* Persistent navigation underlines identify each section. */
body.stva-authority-overview .stva-authority-nav a[href="#stva-kontakt"] { border-bottom-color:#000; }
body.stva-authority-overview .stva-authority-nav a[href="#stva-servicezeiten"] { border-bottom-color:#d32f2f; }
body.stva-authority-overview .stva-authority-nav a[href="#stva-termin"] { border-bottom-color:#1976d2; }
body.stva-authority-overview .stva-authority-nav a[href="#stva-dienstleistungen"] { border-bottom-color:#f2c200; }
body.stva-authority-overview .stva-authority-nav a[href="#stva-dienstleistungen-vor-ort"] { border-bottom-color:#808080; }
body.stva-authority-overview .stva-authority-nav a.stva-authority-nav__reservation { border-bottom-color:#28734e; }

/* Align each weekday and its hours in separate columns, as in FS Manager. */
body.stva-authority-overview .stva-modern-contact__hours-list { width:100%;border-collapse:collapse;table-layout:auto; }
body.stva-authority-overview .stva-modern-contact__hours-list td { display:table-cell;width:auto;vertical-align:top;text-align:left;padding:12px 8px;border-bottom:1px solid #dfe6e1; }
body.stva-authority-overview .stva-modern-contact__hours-list td:first-child { padding-right:16px; }
body.stva-authority-overview .stva-modern-contact__hours-list td.stva-hours-time { text-align:right;white-space:normal; }

body.stva-authority-overview .stva-local-services-heading { text-align:center; }

body.stva-authority-overview .stva-authority-nav--citizen-office a[href="#stva-dienstleistungen-vor-ort"] { border-bottom-color:#f2c200; }
body.stva-authority-overview .stva-authority-nav--citizen-office a[href="#stva-dienstleistungen"] { border-bottom-color:#1976d2; }
