/* Scope every rule to the Höxter authority overview. */
.fs-authority-design { --hx-ink:#193d35; --hx-green:#28734e; --hx-line:#dfe6e1; }
.fs-authority-design main.wp-block-group { margin-top:24px!important; }
.fs-authority-design .wp-block-post-content { color:#293c36;  }
.fs-authority-design .fs-behoerde-breadcrumb { margin:0 0 24px; }
.fs-authority-design .hx-hero { display:grid; grid-template-columns:1.1fr 1fr; align-items:stretch; min-height:350px; overflow:hidden; border-radius:18px; background:#f0f5ee; }
.fs-authority-design .hx-hero__copy { padding:42px 38px; align-self:center;  }
.fs-authority-design .hx-eyebrow { margin:0 0 12px; color:#527063;  }
.fs-authority-design .hx-hero h1 { margin:0 0 22px; padding:0; color:var(--hx-ink); background:none;    }
.fs-authority-design .hx-hero .fs-contact-modern__office-image { display:block; margin:0; min-width:0; }
.fs-authority-design .hx-hero .fs-contact-modern__office-image img { display:block; width:100%; height:100%; min-height:350px; object-fit:cover; border:0; border-radius:0; }
.fs-authority-design .hx-quick { display:flex; flex-direction:column; gap:8px; margin-bottom:26px; }
.fs-authority-design .hx-quick a { color:var(--hx-ink); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.fs-authority-design .hx-button,.fs-authority-design .hx-appointment .fs-cta { display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:13px 22px; min-height:48px; border-radius:7px; background:var(--hx-green); color:#fff; text-decoration:none;  }
.fs-authority-design .hx-button:hover,.fs-authority-design .hx-appointment .fs-cta:hover { background:#1d573b; }
.fs-authority-design .hx-nav {  display:flex; flex-wrap:wrap; gap:0 32px; margin:24px 0 36px; border-bottom:1px solid var(--hx-line); }
.fs-authority-design .hx-nav a { padding:15px 0; border-bottom:3px solid transparent; color:var(--hx-ink);  text-decoration:none; }
.fs-authority-design .hx-nav a:hover { border-color:var(--hx-green); }
.fs-authority-design :is(#hx-kontakt,#hx-oeffnungszeiten,#hx-termin,#hx-dienstleistungen) { scroll-margin-top:28px; }
.fs-authority-design .fs-contact-modern {  display:grid; grid-template-columns:1fr 1fr; gap:0 64px; padding:32px; border:1px solid var(--hx-line); border-radius:12px; color:#293c36; }
.fs-authority-design .fs-contact-modern h2 { grid-column:1/-1; margin:0 0 24px; color:var(--hx-ink); }
.fs-authority-design .fs-contact-modern__address { grid-column:1; margin:0 0 8px; }
.fs-authority-design .fs-contact-modern__map-route,.fs-authority-design .fs-contact-modern > h3,.fs-authority-design .fs-contact-modern__rows,.fs-authority-design .fs-contact-modern__updated { grid-column:1; }
.fs-authority-design .fs-contact-modern > h3 { margin:24px 0 10px; }
.fs-authority-design .fs-contact-modern__hours { grid-column:2; grid-row:2/7; margin:0; padding:0 0 0 32px; border-top:0; border-left:1px solid var(--hx-line); }
.fs-authority-design .fs-contact-modern__hours h2 { color:var(--hx-ink); }
.fs-authority-design .fs-contact-modern__row { padding:13px 0; gap:3px; }
.fs-authority-design .fs-contact-modern__value { white-space:normal; overflow:visible; }
.fs-authority-design .fs-contact-modern__label { color:#66766d; }
.fs-authority-design .fs-contact-modern__action { color:var(--hx-green); }
.fs-authority-design .fs-contact-modern__updated { margin-top:18px; background:#f5f7f4; border-left:3px solid #b8cdbd; }
.fs-authority-design .hx-appointment {  display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; padding:28px 32px; margin:28px 0 44px; border:1px solid #d6e4d8; border-radius:12px; background:#f0f5ee; }
.fs-authority-design .hx-appointment h2 { margin:0; color:var(--hx-ink); }
.fs-authority-design .fs-authority-layout { display:block!important; }
.fs-authority-design .hx-section-title { margin:0 0 24px; color:var(--hx-ink); text-align:center; }
.fs-authority-design .fs-authority-content .fs-services-grid {  display:grid!important; grid-template-columns:1fr!important; gap:12px!important; }
.fs-authority-design .fs-services-overview .fs-services-grid .fs-service-accordion { border:1px solid var(--hx-line); border-radius:9px; box-shadow:none; }
.fs-authority-design .fs-services-overview .fs-service-accordion > summary { padding:20px 24px; background:#f7f9f6; color:var(--hx-ink);  }
.fs-authority-design .fs-services-overview .fs-service-accordion[open] > summary { background:#edf4ec; border-bottom:1px solid var(--hx-line); }
.fs-authority-design .fs-services-overview .fs-service-accordion__content { padding:8px 24px 24px; }
.fs-authority-design a:focus-visible,.fs-authority-design summary:focus-visible { outline:3px solid #28734e; outline-offset:4px; }
@media(max-width:760px) {
 .fs-authority-design .hx-hero { grid-template-columns:1fr; }
 .fs-authority-design .hx-hero__copy { padding:28px 24px; }
 .fs-authority-design .hx-hero .fs-contact-modern__office-image img { min-height:0; height:230px; }
 .fs-authority-design .hx-nav { gap:0 20px; margin-bottom:24px; }
 .fs-authority-design .fs-contact-modern { display:block; padding:24px 20px; }
 .fs-authority-design .fs-contact-modern__hours { margin-top:28px; padding:24px 0 0; border-left:0; border-top:1px solid var(--hx-line); }
 .fs-authority-design .hx-appointment { padding:24px 20px; margin-bottom:32px; }
 .fs-authority-design .hx-appointment .fs-cta { width:100%; }
 .fs-authority-design .fs-services-overview .fs-service-accordion > summary { padding:18px; }
 .fs-authority-design .fs-services-overview .fs-service-accordion__content { padding:4px 18px 18px; }
}
/* The contact component now appears outside its former sidebar. */
.fs-authority-design .wp-block-post-content > :is(.fs-behoerde-breadcrumb,.hx-hero,.hx-nav,.fs-contact-modern,.hx-appointment,.fs-authority-layout,.fs-public-form-documents) { box-sizing:border-box; width:100%; max-width:1200px; margin-left:auto; margin-right:auto; }
.fs-authority-design .hx-hero h1 { background:transparent!important; }
.fs-authority-design .fs-contact-modern * { box-sizing:border-box; }
.fs-authority-design .fs-contact-modern__row { display:grid; grid-template-columns:1fr; border-bottom:1px solid var(--hx-line); }
.fs-authority-design .fs-contact-modern__label,.fs-authority-design .fs-contact-modern__value,.fs-authority-design .fs-contact-modern__action { display:block; min-width:0; overflow-wrap:anywhere; }
.fs-authority-design .fs-contact-modern__hours h2 { margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid var(--hx-line); }
.fs-authority-design .fs-contact-modern__hours .fs-status-box { margin:0 0 14px; padding:10px 14px; border-radius:6px; background:#f4f6f3; }
.fs-authority-design .fs-contact-modern__hours .fs-hours__row { display:flex; justify-content:space-between; gap:16px; padding:12px 8px; border-bottom:1px solid var(--hx-line); }
.fs-authority-design .fs-contact-modern__hours .fs-hours__time { white-space:normal; }
.fs-authority-design .fs-contact-modern__updated .fs-source-note { margin:0; }
.fs-authority-design .fs-contact-modern__hours .fs-hours-source-note { margin:20px 0 0; color:#66766d; }
.fs-authority-design .fs-services-overview .fs-services-grid .fs-service-accordion > summary { background:#f7f9f6!important; }

/* Keep the header divider and remove only the separator above the breadcrumb. */
.fs-authority-design header.wp-block-template-part > .wp-block-separator {
    display:block !important;
}
.fs-authority-design main > .wp-block-group.alignfull > .wp-block-separator {
    display:none !important;
}

/* Use the full available page width for the article and its sections. */
.fs-authority-design .wp-block-post-content {
    box-sizing:border-box;
    width:98%;
    max-width:98% !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.fs-authority-design .wp-block-post-content > :is(.fs-behoerde-breadcrumb,.hx-hero,.hx-nav,.fs-contact-modern,.hx-appointment,.fs-authority-layout,.fs-public-form-documents) {
    max-width:none;
}

/* Keep today's opening-hours status visible outside the former sidebar. */
.fs-authority-design .fs-contact-modern__hours .fs-hours__row.is-today {
    background:#cfeadf;
    color:#1f5f3a;
    border-bottom-color:#a9c7b4;
}
.fs-authority-design .fs-contact-modern__hours .fs-hours__row.is-today-closed {
    background:#fff5f5;
    color:#8f2d2d;
    border-bottom-color:#f3caca;
}
.fs-authority-design .fs-contact-modern__hours .fs-hours__row.is-today > * { color:inherit; }

/* Status colours follow the live state, independently of the surrounding card. */
body.fs-authority-design .fs-contact-modern__hours .fs-status-box.closed { background:#fff1f1;color:#b12828;border:1px solid #f4c2c2; }
body.fs-authority-design .fs-contact-modern__hours .fs-status-box.open { background:#eafff6;color:#1f7a5c;border:1px solid #bfead8; }
body.fs-authority-design .fs-contact-modern__hours .fs-status-box.holiday { background:#fffbeb;color:#b45309;border:1px solid #fde68a; }
body.fs-authority-design .fs-contact-modern__hours .fs-status-box.unknown { background:#f9fafb;color:#6b7280;border:1px solid #e5e7eb; }

/* Decorative SVG status icons match the vector style of the site logo. */
body.fs-authority-design .fs-contact-modern__hours .fs-status-box { display:flex;align-items:center;gap:12px; }
body.fs-authority-design .fs-contact-modern__hours .fs-status-box:is(.open,.closed)::before {
    content:"";display:block;flex:0 0 40px;width:40px;height:40px;
    background-color:currentColor;
    -webkit-mask:var(--fs-status-icon) center/contain no-repeat;
    mask:var(--fs-status-icon) center/contain no-repeat;
}
body.fs-authority-design .fs-contact-modern__hours .fs-status-box.open { --fs-status-icon:url('office-open.svg'); }
body.fs-authority-design .fs-contact-modern__hours .fs-status-box.closed { --fs-status-icon:url('office-closed.svg'); }
