/* Generated by tools/build_theme.py. Edit the source stylesheets. */
/* Source: css.css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
sub, sup, tt, var,
dl, dt, dd, 
fieldset, form, label, legend, table, tr, td
 caption {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

:focus-visible{outline:3px solid #0f6f5c;outline-offset:3px;}
button,input,select,textarea{font:inherit;}
[id]{scroll-margin-top:16px;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}
TABLE {
 border-collapse: collapse;
}
.skip-link{position:absolute;left:8px;top:8px;z-index:1000;transform:translateY(-140%);padding:8px 10px;border:2px solid #8b0000;border-radius:6px;background:#fff;color:#5d0000;font-weight:bold;text-decoration:none;}
.skip-link:focus{transform:translateY(0);outline:2px solid #fff;outline-offset:2px;}
#footer,.site-footer{clear:both;text-align:center;}
.site-footer{padding:8px 4px;line-height:1.6;}
.site-footer-nav{display:inline;}
.site-footer a{margin:0 4px;}
.site-footer-brand{white-space:normal;}
.link-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;text-align:left;}
.link-list li{display:grid;gap:2px;padding:5px 3px;border-bottom:1px dotted #cbbea8;}
.link-list li:nth-child(even){background:#FFF5C5;}
.link-list-link{color:#00008b;font-size:11px;text-decoration:none;}
.link-list-link:hover,.link-list-link:focus{color:orange;text-decoration:underline;}
.link-list span{color:#555;font-size:11px;line-height:1.3;}
.link-list time{color:#666;font-size:11px;}
.link-list--recent-searches li{grid-template-columns:42px minmax(0,1fr);align-items:baseline;}
.link-list--district-branches li{grid-template-columns:42px minmax(0,1fr);align-items:baseline;}
.link-list--nearby-streets li{grid-template-columns:56px minmax(0,1fr);align-items:baseline;}

select.unstyled{background:none;padding:0px;border:1px solid lightgrey;margin:0px;font-size:10px;}
input.unstyled{background:none;padding:0px;border:0px;margin:0px;margin-left:15px;font-size:10px;}
.customer-entry-select{max-width:100%;}
.image-submit-button{background:none;border:0;padding:0;margin:0;}
.image-submit-button--right{float:right;}
.transparent-control{border:0;background:transparent;}
.form-action-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;margin:8px 0 0 0;padding:7px 12px;border:1px solid #8b0000;border-radius:6px;background:#fff5c5;color:#5d0000;font-weight:bold;line-height:1.2;cursor:pointer;}
.form-action-button:hover,.form-action-button:focus{background:#ffe7a2;text-decoration:none;}
.form-action-button img{width:18px;height:18px;flex:0 0 auto;}
.form-action-button--right{float:right;}
.form-action-button--compact{min-height:30px;margin:0;padding:5px 9px;}
.inline-confirmation-form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;}
.confirmation-code-input{width:min(100%,260px);}
.hours-copy-button{display:inline-flex;align-items:center;gap:5px;margin:0 8px 8px 0;padding:5px 8px;border:1px solid #cbbea8;border-radius:6px;background:#fff;color:#5d0000;font-size:11px;cursor:pointer;}
.hours-copy-button:hover,.hours-copy-button:focus{background:#fff5c5;}
.hours-copy-button img{width:18px;height:18px;}
.social-icon{width:18px;height:18px;vertical-align:middle;margin-right:4px;}
.dialog-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px;}
.dialog-field{display:flex;flex-direction:column;gap:5px;min-width:0;}
.dialog-field--wide,.dialog-actions{grid-column:1/-1;}
.dialog-field label,.dialog-field-label{font-weight:bold;}
.dialog-field input[type="text"],.dialog-field input[type="email"],.dialog-field textarea{box-sizing:border-box;width:100%;max-width:100%;}
.dialog-field textarea{min-height:64px;resize:vertical;}
.dialog-actions{display:flex;justify-content:flex-end;}
.dialog-rating-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.captcha-challenge{display:flex;flex-direction:column;gap:5px;}
.captcha-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.captcha-input{width:6ch;height:35px;margin:0;font-size:20px;text-align:center;}
.captcha-arrow-icon{width:24px;height:24px;margin:5px 8px;vertical-align:middle;}
.rating-value-label{font-size:14px;}
.rating{display:flex;align-items:center;gap:3px;list-style:none;margin:0;padding:0;}
.rating li{padding:0;margin:0;}
.rating li button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:2px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;}
.rating li button:hover,.rating li button:focus,.rating li button[aria-checked="true"]{border-color:#cbbea8;background:#fff5c5;}
.rating-star-img{display:block;width:22px;height:22px;}
.rating-stars{display:inline-flex;align-items:center;gap:2px;}
.rating-fill--0{width:0;}
.rating-fill--1{width:30px;}
.rating-fill--2{width:60px;}
.rating-fill--3{width:90px;}
.rating-fill--4{width:120px;}
.rating-fill--5{width:150px;}
.form-table{margin:auto;width:450px;}
.mapbox-editor{width:min(350px,100%);margin:auto;}
.address-check-button{float:right;margin:10px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #cbbea8;border-radius:6px;background:#fff;color:#5d0000;font-weight:bold;cursor:pointer;font-family:sans-serif;font-size:12px;}
.address-check-button:hover,.address-check-button:focus{background:#fff5c5;text-decoration:none;}
.address-check-button img{width:20px;height:20px;}
.address-check-inline{font-size:12px;font-weight:bold;}
.address-check-trigger{float:right;margin:10px;}
.address-check-help{width:350px;float:right;}
.wide-textarea{width:400px;}
.wide-select{width:400px;}
.backlink-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;}
.backlink-option{display:flex;flex-direction:column;gap:7px;min-width:0;padding:8px;border-bottom:1px dotted #cbbea8;background:#fff;}
.backlink-option h3{margin:0;color:#8b0000;}
.backlink-label{text-align:left;font-weight:bold;}
.backlink-preview{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;}
.backlink-preview--dark{background:#000;}
.backlink-code{box-sizing:border-box;width:100%;min-height:72px;}
.district-nav{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:8px;align-items:start;}
.district-nav-map{position:relative;}
.district-nav-map img{display:block;width:100%;height:auto;}
.district-filter-notice{padding:5px;opacity:0.88;border:1px dotted #111;margin:6px 0;background:#fff;}
.search-filter-nav{display:grid;gap:6px;margin:10px 0 0 0;padding:8px;border:1px solid #e3d8c2;border-radius:6px;background:#fffaf1;text-align:left;}
.search-filter-nav strong{color:#5d0000;}
.search-filter-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.search-filter-chip,.search-filter-reset{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 8px;border:1px solid #e3d8c2;border-radius:6px;background:#fff;color:#5d0000;font-weight:bold;text-decoration:none;line-height:1.2;}
.search-filter-chip:hover,.search-filter-chip:focus,.search-filter-reset:hover,.search-filter-reset:focus{background:#fff5c5;text-decoration:none;}
.search-filter-chip--active{border-color:#9cc7a9;background:#f0faf2;color:#155724;}
.search-filter-chip span{color:#555;font-weight:normal;}
.search-filter-reset{font-weight:normal;}
.search-quality-snapshot{margin:10px 0 0 0;padding:10px;border:1px solid #d6e0d2;border-radius:6px;background:#f8fff6;color:#243024;text-align:left;}
.search-quality-snapshot h3{margin:0 0 6px 0;color:#315b2d;font-size:15px;line-height:1.25;}
.search-quality-snapshot p{margin:0 0 8px 0;line-height:1.4;}
.search-quality-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;}
.search-quality-facts div{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid #cddfc7;background:#fff;}
.search-quality-facts dt{color:#4d6848;font-size:11px;font-weight:bold;text-transform:uppercase;}
.search-quality-facts dd{margin:0;font-size:18px;font-weight:bold;line-height:1.2;}
.search-quality-facts a{color:#315b2d;text-decoration:none;}
.search-quality-facts a:hover,.search-quality-facts a:focus{text-decoration:underline;}
.search-quality-value{color:#315b2d;}
.search-quality-facts span{color:#5a6657;font-size:11px;line-height:1.35;}
.search-relaxed-notice{margin:0 0 10px 0;text-align:left;}
.district-nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;list-style:none;margin:0;padding:0;}
.district-nav-list li{padding:6px 7px;border-bottom:1px dotted #d3d3d3;text-align:left;}
.district-nav-list li:nth-child(odd){background-color:#eef;}
.district-list-current{background-color:#FFF5C5;}
.opening-hours-box{width:400px;text-align:right;}
.opening-hours-editor{clear:both;display:grid;gap:0;margin:4px 0 10px 0;text-align:left;}
.opening-hours-actions{display:flex;justify-content:flex-end;}
.opening-hours-row{display:grid;grid-template-columns:minmax(90px,120px) minmax(0,1fr);gap:8px;align-items:center;padding:7px 0;border-bottom:1px dotted #cbbea8;}
.opening-hours-day{font-weight:bold;color:#5d0000;}
.opening-hours-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;}
.opening-hours-closed{display:inline-flex;align-items:center;gap:4px;font-size:11px;}
.opening-hours-row.is-closed{background:#faf6ee;}
.opening-hours-row.is-closed .opening-hours-day{color:#9a8f7a;}
.opening-hours-row.is-closed .opening-hours-closed{color:#5d0000;font-weight:bold;}
.entry-hours-panel{padding:5px;text-align:left;}
.entry-hours-panel h2{margin:0 0 4px 0;color:#5d0000;font-size:14px;line-height:1.25;}
.entry-hours-note{margin:0 0 8px 0;color:#808080;font-size:11px;}
.entry-selected{background-color:yellow;}
.circle-list-item{list-style-type:circle;}
.customer-menu-list{display:block;text-align:left;}
.customer-menu-divider{height:1px;margin:8px 0;border-top:1px solid #e2d6c3;}
.customer-form-grid{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);gap:12px 14px;align-items:start;max-width:560px;margin:0 auto 14px auto;text-align:left;}
.customer-field{display:grid;grid-template-columns:minmax(120px,170px) minmax(0,1fr);grid-column:1/-1;gap:12px 14px;align-items:start;min-width:0;}
.customer-field label{font-weight:bold;}
.customer-field label small,.field-hint{display:block;margin-top:4px;font-weight:normal;line-height:1.35;color:#555;}
.customer-field input[type="text"],.customer-field input[type="email"],.customer-field input[type="password"],.customer-field input[type="tel"],.customer-field input[type="url"],.customer-field input[type="file"],.customer-field textarea,.customer-field select{width:100%;max-width:100%;}
.customer-field textarea{resize:vertical;}
.customer-field--wide{display:block;}
.customer-login-form{margin-bottom:0;}
.customer-option{display:flex;grid-column:1/-1;align-items:flex-start;gap:7px;text-align:left;line-height:1.35;}
.customer-option input{flex:0 0 auto;margin-top:2px;}
.inline-help{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;margin-left:3px;border:1px solid #cbbea8;border-radius:50%;background:#fff;color:#5d0000;font-size:11px;font-weight:bold;line-height:1;cursor:help;}
.customer-actions{grid-column:1/-1;display:flex;justify-content:flex-end;}
.customer-profile-status{clear:both;margin:12px 0;text-align:left;}
.customer-profile-status h3{margin:0 0 8px 0;color:#5d0000;font-size:14px;}
.customer-profile-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;}
.customer-profile-status-card{display:grid;gap:3px;min-width:0;padding:8px;border-top:1px dotted #cbbea8;border-bottom:1px dotted #cbbea8;background:#fff;}
.customer-profile-status-label{color:#555;font-size:11px;}
.customer-profile-status-card strong{color:#5d0000;line-height:1.3;}
.customer-profile-status-detail{color:#555;line-height:1.35;}
.customer-business-status{clear:both;display:grid;gap:12px;margin:12px 0;text-align:left;}
.customer-business-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px;}
.customer-business-heading h3{margin:0;color:#5d0000;font-size:14px;}
.customer-business-heading .muted-message{margin:3px 0 0 0;}
.customer-business-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.customer-business-list{display:grid;gap:6px;padding:8px;border-top:1px dotted #cbbea8;border-bottom:1px dotted #cbbea8;background:#fff;}
.customer-business-list h4{margin:0;color:#5d0000;font-size:13px;}
.customer-business-list ul{display:grid;gap:5px;margin:0;padding-left:18px;}
.customer-business-list p{margin:0;}
.customer-business-request{margin-top:10px;}
.customer-business-offer{display:grid;gap:8px;padding:8px;border-top:1px dotted #cbbea8;border-bottom:1px dotted #cbbea8;background:#fff;}
.customer-business-offer h3{margin:0;color:#5d0000;font-size:14px;}
.customer-business-offer ul{display:grid;gap:5px;margin:0;padding-left:18px;}
.business-value-proof{text-align:left;line-height:1.45;}
.business-value-proof h3{margin:0 0 8px 0;color:#5d0000;font-size:16px;}
.business-value-proof p{margin:0 0 12px 0;}
.business-value-reach{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px 0;}
.business-value-reach div{padding:8px;border:1px solid #eadfcd;background:#fff;}
.business-value-reach dt{margin:0;font-size:20px;font-weight:bold;color:#5d0000;overflow-wrap:anywhere;}
.business-value-reach dd{margin:3px 0 0 0;display:flex;flex-direction:column;gap:1px;}
.business-value-reach dd strong{font-size:12px;}
.business-value-reach dd span{font-size:11px;color:#6d6658;}
.business-value-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px 0;}
.business-value-col{padding:10px;border:1px solid #eadfcd;background:#fff;}
.business-value-col--premium{border-color:#cbbea8;background:#fffaf2;}
.business-value-col h4{margin:0 0 8px 0;color:#5d0000;font-size:14px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.business-value-col ul{display:grid;gap:5px;margin:0;padding-left:18px;}
.business-value-tag{font-size:11px;font-weight:normal;padding:1px 6px;border-radius:9px;background:#eef3e9;color:#3a5a1f;}
.business-value-tag--premium{background:#5d0000;color:#fff;}
.business-value-faq{display:grid;gap:6px;margin:0 0 12px 0;}
.business-value-faq-item{border:1px solid #eadfcd;background:#fff;padding:8px 10px;}
.business-value-faq-item summary{cursor:pointer;font-weight:bold;color:#5d0000;}
.business-value-faq-item p{margin:8px 0 0 0;}
.business-value-cta{margin:0;font-size:13px;}
@media(max-width:640px){.business-value-reach{grid-template-columns:repeat(2,minmax(0,1fr));}.business-value-compare{grid-template-columns:1fr;}}
.customer-history{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;margin:8px 0 12px 0;text-align:left;}
.customer-history dt{font-weight:bold;color:#5d0000;}
.customer-history dd{margin:0;}
.customer-change-requests{clear:both;margin:12px 0;text-align:left;}
.customer-change-requests h3{margin:0 0 8px 0;color:#5d0000;font-size:14px;}
.customer-change-requests ul{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;}
.customer-change-request{display:grid;gap:6px;padding:8px;border-top:1px dotted #cbbea8;border-bottom:1px dotted #cbbea8;background:#fff;}
.customer-change-request-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#555;font-size:11px;}
.customer-change-request-meta strong{color:#5d0000;font-size:12px;}
.customer-change-request p{clear:none;margin:0;line-height:1.45;}
.customer-change-request-actions{display:flex;flex-wrap:wrap;gap:10px;}
.customer-notice-success{float:none;color:#17572a;border-color:#9cc7a9;background:#f0faf2;}
.customer-stale-reminder{float:none;border-color:#e3b873;background:#fff7ea;color:#5d3a00;}
.customer-stale-reminder p{margin:6px 0 10px 0;}
.customer-stale-reminder strong{color:#5d3a00;}
.customer-entry-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;}
.customer-entry-list-item{display:grid;gap:2px;padding:6px 0;border-bottom:1px dotted #cbbea8;}
.customer-entry-list-url{overflow-wrap:anywhere;color:#555;}
.internal-moderation-login{margin-top:12px;}
.moderation-status-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px 0;}
.moderation-status-tabs a{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #e3d8c2;border-radius:6px;background:#fff;color:#5d0000;font-weight:bold;text-decoration:none;}
.moderation-status-tabs a:hover,.moderation-status-tabs a:focus,.moderation-status-tabs a[aria-current="page"]{background:#fff5c5;text-decoration:none;}
.moderation-status-tabs span{color:#555;font-weight:normal;}
.moderation-request-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;text-align:left;}
.moderation-request-card{display:grid;gap:8px;padding:10px;border-top:1px dotted #cbbea8;border-bottom:1px dotted #cbbea8;background:#fff;}
.moderation-request-card-head,.moderation-request-reporter,.moderation-request-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.moderation-request-card-head strong{color:#5d0000;font-size:14px;}
.moderation-request-card-head time,.moderation-request-reporter span{color:#555;font-size:11px;}
.moderation-request-entry{display:grid;gap:2px;}
.moderation-request-entry a{color:#5d0000;font-weight:bold;text-decoration:none;}
.moderation-request-entry a:hover,.moderation-request-entry a:focus{text-decoration:underline;}
.moderation-request-entry span{color:#555;line-height:1.35;}
.moderation-request-card p{clear:none;margin:0;line-height:1.45;}
.moderation-status-badge{display:inline-flex;align-items:center;padding:3px 6px;border:1px solid #d6d6d6;border-radius:6px;background:#f8f8f8;color:#555;font-size:11px;font-weight:bold;line-height:1.2;}
.moderation-status-badge--open{border-color:#dfb5b5;background:#fff5f5;color:#7d1d1d;}
.moderation-status-badge--in_review{border-color:#c9b061;background:#fff8d8;color:#5d4a00;}
.moderation-status-badge--done{border-color:#9cc7a9;background:#f0faf2;color:#155724;}
.moderation-status-badge--pending{border-color:#c9b061;background:#fff8d8;color:#5d4a00;}
.moderation-status-badge--published{border-color:#9cc7a9;background:#f0faf2;color:#155724;}
.moderation-status-badge--rejected{border-color:#d6d6d6;background:#f3f3f3;color:#555;}
.quality-entry-card .moderation-request-card-head a{color:#5d0000;font-weight:bold;text-decoration:none;}
.quality-entry-card .moderation-request-card-head a:hover,.quality-entry-card .moderation-request-card-head a:focus{text-decoration:underline;}
.quality-issue-list{display:flex;flex-wrap:wrap;gap:5px;}
.quality-issue-badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 6px;border:1px solid #e3d8c2;border-radius:6px;background:#fffaf1;color:#5d0000;font-size:11px;font-weight:bold;line-height:1.2;}
.quality-issue-badge--open_hints,.quality-issue-badge--missing_geo,.quality-issue-badge--website_unreachable{border-color:#c9b061;background:#fff8d8;color:#5d4a00;}
.quality-issue-badge--possible_duplicate{border-color:#b99ad8;background:#f8f2ff;color:#4a2567;}
.quality-issue-badge--hidden,.quality-issue-badge--stale{border-color:#dfb5b5;background:#fff5f5;color:#7d1d1d;}
.customer-status-current{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.entry-status-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:bold;line-height:1.4;}
.entry-status-badge--visible{border:1px solid #237a3b;background:#e7f6ec;color:#17572a;}
.entry-status-badge--hidden{border:1px solid #b42318;background:#fff0ed;color:#8b1a12;}
.route-target{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:12px 0 0 0;padding-top:12px;border-top:1px solid #e2d6c3;text-align:left;}
.route-target address{display:inline;margin:0;font:inherit;}
.route-form{margin-bottom:0;}
.customer-inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.customer-inline-fields--street{grid-template-columns:minmax(0,1fr) minmax(64px,90px);}
.customer-inline-fields--city,.customer-inline-fields--phone{grid-template-columns:minmax(72px,96px) minmax(0,1fr);}
.customer-form-note{grid-column:1/-1;margin:0;padding:8px;border:1px dotted #cbbea8;background:#fff;font-size:12px;line-height:1.4;}
.customer-choice-row{display:flex;flex-wrap:wrap;gap:12px;}
.customer-choice-row label{display:inline-flex;align-items:center;gap:5px;font-weight:normal;}
.customer-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,170px);gap:10px;align-items:start;}
.customer-editor-grid textarea{min-height:260px;}
.customer-logo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px);gap:12px;align-items:start;}
.customer-logo-preview{margin:0;text-align:center;}
.customer-logo-preview figcaption,.customer-logo-caption{margin-bottom:6px;color:#666;}
.public-entry-form{clear:both;display:flex;flex-direction:column;gap:12px;}
.public-entry-section{border:0;padding:0;}
.public-entry-section legend{grid-column:1/-1;margin:0 0 2px 0;padding:0;color:#8b0000;font-weight:bold;}
.branch-picker-row{display:flex;align-items:center;gap:6px;}
.branch-picker-row input{flex:1 1 auto;min-width:0;}
.branch-picker-button{flex:0 0 auto;}
.branch-suggestion-box{width:300px;max-width:100%;margin-top:8px;}
.branch-option{display:flex;align-items:center;gap:6px;margin:5px 0;line-height:1.3;}
.branch-option input{flex:0 0 auto;}
.branch-option img{width:18px;height:18px;flex:0 0 18px;}
.selected-branches{max-width:560px;margin:10px auto;text-align:left;}
.selected-branches h3{margin:0 0 8px 0;font-size:13px;}
.selected-branches ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;}
.selected-branches li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dotted #d3d3d3;}
.selected-branches .link-button{padding:0;}
.bbcode-textarea{font-size:11px;}
.bbcode-toolbar{display:flex;flex-direction:column;gap:4px;min-width:150px;}
.bbcode-button{display:inline-flex;align-items:center;gap:6px;width:100%;min-height:28px;padding:4px 7px;border:1px solid #cbbea8;border-radius:6px;background:#fff;color:#00008b;font-size:11px;cursor:pointer;text-align:left;}
.bbcode-button:hover,.bbcode-button:focus{background:#fff5c5;color:orange;}
.bbcode-button img{width:16px;height:16px;flex:0 0 16px;}
.bbcode-underline{text-decoration:underline;text-decoration-thickness:0.08em;text-underline-offset:0.12em;}
.bbcode-align-right{text-align:right;}
.bbcode-align-center{text-align:center;margin-left:auto;margin-right:auto;}
.bbcode-list-item{margin:0 0 0 20px;padding:0;float:left;}
.result-summary{width:100%;text-align:center;font-size:11px;}
.listing-separator{height:1px;margin:8px 0;border-top:1px dotted #cbbea8;}
.entry-results{display:flex;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;}
.entry-result{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,0.9fr) auto;gap:8px;align-items:start;padding:8px;border-bottom:1px dotted #cbbea8;text-align:left;}
.entry-result--highlight{background:#fff5c5;}
.entry-result-distance{font-weight:bold;color:#5d0000;}
.entry-result-main address{display:grid;gap:2px;font-style:normal;line-height:1.35;}
.entry-result-badges{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:5px 0;}
.entry-result-badge,.entry-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid #e3d8c2;border-radius:6px;background:#fff;color:#555;font-size:11px;line-height:1.25;}
.entry-status-badge{flex-wrap:wrap;}
.entry-status-badge strong{color:#333;}
.entry-status--open{border-color:#9cc7a9;background:#f0faf2;color:#155724;}
.entry-status--open strong{color:#155724;}
.entry-status--closed{border-color:#dfb5b5;background:#fff5f5;color:#7d1d1d;}
.entry-status--closed strong{color:#7d1d1d;}
.entry-status--unknown{border-color:#d6d6d6;background:#f8f8f8;color:#666;}
.entry-result-badge--premium{border-color:#c9b061;background:#fff8d8;color:#5d4a00;font-weight:bold;}
.entry-result-rating{gap:6px;}
.entry-result-rating .rating-stars img{width:14px;height:14px;}
.entry-result-tags{clear:none;margin:5px 0;color:#555;line-height:1.35;}
.entry-result-quality{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;color:#555;font-size:11px;}
.entry-result-contact{display:flex;flex-direction:column;gap:4px;}
.entry-result-contact-line{display:inline-flex;align-items:center;gap:4px;color:#5d0000;text-decoration:none;line-height:1.25;}
.entry-result-contact-line:hover,.entry-result-contact-line:focus{text-decoration:underline;}
.entry-result-data-note{color:#666;}
.entry-result-contact img,.entry-result-actions img{width:18px;height:18px;vertical-align:middle;}
.entry-result-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;}
.entry-result-action-button,.entry-heading-action{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:2px;border:1px solid transparent;border-radius:6px;background:transparent;color:#00008b;cursor:pointer;}
.entry-result-action-button:hover,.entry-result-action-button:focus,.entry-heading-action:hover,.entry-heading-action:focus{border-color:#e3d8c2;background:#fff5c5;text-decoration:none;}
.entry-primary-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:12px 0;}
.entry-primary-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 9px;border:1px solid #e3d8c2;border-radius:6px;background:#fff;color:#5d0000;font-weight:bold;text-decoration:none;}
.entry-primary-action:hover,.entry-primary-action:focus{background:#fff5c5;text-decoration:none;}
.entry-primary-action img{width:20px;height:20px;}
.entry-trust-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0;padding:8px;border-top:1px dotted #cbbea8;border-bottom:1px dotted #cbbea8;background:#fff;}
.entry-trust-panel > div{display:grid;gap:3px;min-width:0;}
.entry-trust-panel strong{color:#5d0000;}
.entry-trust-panel span{color:#555;line-height:1.3;}
.entry-faq{clear:both;margin-top:14px;border-top:1px dotted #cbbea8;padding-top:10px;}
.entry-faq h2{margin:0 0 8px 0;color:#5d0000;font-size:14px;font-weight:bold;}
.entry-faq details{padding:7px 0;border-bottom:1px dotted #e3d8c2;}
.entry-faq summary{cursor:pointer;font-weight:bold;color:#333;}
.entry-faq p{clear:none;margin:6px 0 0 0;line-height:1.45;}
.entry-correction-summary{display:grid;gap:3px;margin:0 auto 14px auto;max-width:560px;padding:8px;border-top:1px dotted #cbbea8;border-bottom:1px dotted #cbbea8;background:#fff;text-align:left;}
.entry-correction-summary strong{color:#5d0000;font-size:14px;}
.entry-correction-summary span{color:#555;line-height:1.35;}
.entry-correction-form textarea{min-height:140px;}
.entry-correction-success{float:none;color:#17572a;border-color:#9cc7a9;background:#f0faf2;}
.entry-heading-action{margin-left:8px;vertical-align:middle;}
.entry-action-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;}
.entry-action-grid .entry-action-button,.entry-action-grid .entry-action-link{box-sizing:border-box;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:42px;margin:0;padding:8px 10px;border:1px solid #e3d8c2;border-radius:7px;background:#fff;color:#111;font:inherit;font-weight:bold;text-align:left;text-decoration:none;line-height:1.25;cursor:pointer;}
.entry-action-grid .entry-action-button:hover,.entry-action-grid .entry-action-button:focus,.entry-action-grid .entry-action-link:hover,.entry-action-grid .entry-action-link:focus{border-color:#cbbea8;background:#fff5c5;color:#111;text-decoration:none;}
.entry-action-grid .entry-action-link img,.entry-action-grid .entry-action-button img{width:20px;height:20px;flex:0 0 20px;}
.entry-action-grid .entry-action-link span,.entry-action-grid .entry-action-button span{min-width:0;overflow-wrap:anywhere;}
.route-back-link{display:inline-flex;align-items:center;margin-left:8px;color:#00008b;font-size:13px;font-weight:bold;text-decoration:none;}
.route-back-link:hover,.route-back-link:focus{color:orange;text-decoration:underline;}
.entry-review-list{display:flex;flex-direction:column;gap:10px;}
.entry-review{padding:10px 0;border-bottom:1px dotted #cbbea8;}
.entry-review-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px;}
.entry-review-comment{clear:none;margin:0;line-height:1.45;}
.entry-context-links{margin:0;color:#242424;}
.entry-context-links h2{margin:0 0 10px 0;color:#111;font-size:18px;line-height:1.25;}
.entry-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.entry-context-group h3{margin:0 0 8px 0;color:#5d0000;font-size:14px;line-height:1.25;}
.entry-context-group ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;}
.entry-context-group li{padding:8px;border:1px solid #e3d8c2;border-radius:6px;background:#fffdf8;}
.entry-context-group a{display:block;color:#5d0000;font-weight:bold;text-decoration:none;}
.entry-context-group a:hover,.entry-context-group a:focus{text-decoration:underline;}
.entry-context-group span{display:block;margin-top:3px;color:#5f5b54;font-size:11px;line-height:1.35;}
.breadcrumb-nav{margin:0 0 10px 0;font-size:12px;color:#5d5d5d;}
.breadcrumb-nav ol{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;}
.breadcrumb-nav li{display:flex;align-items:center;min-width:0;}
.breadcrumb-nav li+li:before{content:"/";margin:0 4px;color:#9b917f;}
.breadcrumb-nav a{color:#5d0000;text-decoration:none;}
.breadcrumb-nav a:hover,.breadcrumb-nav a:focus{text-decoration:underline;}
.breadcrumb-nav span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.search-landing-intro,.taxonomy-landing-intro,.district-landing-intro,.street-landing-intro,.home-landing-intro,.data-source-intro,.portal-sources{margin:0 0 14px 0;padding:12px;border:1px solid #e3d6c0;background:#fffaf1;color:#2a2823;}
.search-landing-intro h2,.taxonomy-landing-intro h2,.district-landing-intro h2,.street-landing-intro h2,.home-landing-intro h2,.data-source-intro h2,.data-source-list h2,.portal-sources h3{margin:0 0 8px 0;color:#5d0000;font-size:18px;line-height:1.25;}
.search-landing-intro p,.taxonomy-landing-intro p,.district-landing-intro p,.street-landing-intro p,.home-landing-intro p,.data-source-intro p,.portal-sources p{margin:0 0 10px 0;line-height:1.45;}
.search-landing-facts,.taxonomy-landing-facts,.district-landing-facts,.street-landing-facts,.home-landing-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px 0;}
.home-landing-facts{grid-template-columns:repeat(4,minmax(0,1fr));}
.search-landing-facts div,.taxonomy-landing-facts div,.district-landing-facts div,.street-landing-facts div,.home-landing-facts div{padding:8px;border:1px solid #eadfcd;background:#fff;}
.search-landing-facts dt,.taxonomy-landing-facts dt,.district-landing-facts dt,.street-landing-facts dt,.home-landing-facts dt{margin:0 0 3px 0;color:#6d6658;font-size:11px;text-transform:uppercase;}
.search-landing-facts dd,.taxonomy-landing-facts dd,.district-landing-facts dd,.street-landing-facts dd,.home-landing-facts dd{margin:0;font-weight:bold;overflow-wrap:anywhere;}
.portal-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px 0;padding:0;list-style:none;}
.portal-data-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px 0;}
.portal-data-snapshot div{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid #d8c9af;background:#fff;}
.portal-data-snapshot dt{color:#665d50;font-size:11px;font-weight:bold;text-transform:uppercase;}
.portal-data-snapshot dd{margin:0;color:#2a2823;font-size:18px;font-weight:bold;line-height:1.2;}
.portal-data-snapshot span{color:#5f5b54;font-size:11px;line-height:1.35;}
.home-city-updates{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.75fr);gap:14px;align-items:start;text-align:left;}
.home-city-update{min-width:0;}
.home-city-update--weather{padding-left:14px;border-left:1px solid #e3d8c2;}
.portal-source-context{margin-bottom:6px;font-weight:bold;color:#5f5b54;}
.portal-source-list li{display:grid;gap:4px;padding:8px;border:1px solid #d8c9af;background:#fff;}
.portal-source-list span{display:block;line-height:1.4;}
.portal-source-groups{margin:0 0 12px 0;}
.portal-source-groups strong{display:block;margin:0 0 6px 0;color:#6d6658;font-size:11px;text-transform:uppercase;}
.portal-source-group-links{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;}
.portal-source-group-links a{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 7px;border:1px solid #d8c9af;border-radius:6px;background:#fff;color:#5d0000;text-decoration:none;line-height:1.2;}
.portal-source-group-links img{display:block;flex:0 0 auto;width:16px;height:16px;}
.portal-source-group-links a:hover,.portal-source-group-links a:focus{background:#fff5c5;text-decoration:none;}
.portal-source-more{margin-bottom:0;}
.data-source-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px 0;}
.data-source-feature-card{padding:10px;border:1px solid #d6e0d2;background:#f8fff6;color:#243024;}
.data-source-feature-card h3{margin:0 0 6px 0;color:#315b2d;font-size:15px;line-height:1.25;}
.data-source-feature-card p{margin:0 0 8px 0;line-height:1.45;}
.data-source-feature-card dl{display:grid;gap:5px;margin:0;}
.data-source-feature-card div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;}
.data-source-feature-card dt{font-weight:bold;color:#4d6848;}
.data-source-feature-card dd{margin:0;min-width:0;}
.data-source-groups{margin:0 0 14px 0;}
.data-source-groups h2{margin:0 0 8px 0;color:#5d0000;font-size:18px;line-height:1.25;}
.data-source-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.data-source-group-card{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid #d6e0d2;background:#f8fff6;color:#243024;}
.data-source-group-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:start;}
.data-source-group-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #cddfc7;border-radius:6px;background:#fff;}
.data-source-group-icon img{display:block;width:22px;height:22px;}
.data-source-group-card h3{margin:0;color:#315b2d;font-size:15px;line-height:1.25;}
.data-source-group-card .data-source-group-meta{margin:3px 0 0 0;color:#4d6848;font-size:11px;font-weight:bold;text-transform:uppercase;line-height:1.25;}
.data-source-group-card p{margin:0;line-height:1.45;}
.data-source-group-links{display:grid;gap:4px;margin:0;padding:0;list-style:none;}
.data-source-group-links a{display:inline-flex;align-items:center;min-height:24px;color:#5d0000;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;}
.data-source-group-links a:hover,.data-source-group-links a:focus{color:orange;}
.data-source-roadmap{margin:0 0 14px 0;}
.data-source-roadmap h2{margin:0 0 8px 0;color:#5d0000;font-size:18px;line-height:1.25;}
.data-source-roadmap-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;counter-reset:roadmap;}
.data-source-roadmap-intro{margin:0 0 12px;color:#5f6f68;font-size:13px;}
.data-source-roadmap-card{position:relative;display:grid;gap:8px;min-width:0;padding:10px;border:1px solid #d6e0d2;background:#fff;color:#243024;counter-increment:roadmap;}
.data-source-roadmap-card::before{content:counter(roadmap);position:absolute;right:8px;top:8px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#f7fbf4;color:#315b2d;font-weight:bold;}
.data-source-roadmap-head{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding-right:28px;}
.data-source-roadmap-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #cddfc7;border-radius:6px;background:#f8fff6;}
.data-source-roadmap-stage{margin:0 0 3px 0;color:#4d6848;font-size:11px;font-weight:bold;text-transform:uppercase;}
.data-source-roadmap-card h3{margin:0;color:#315b2d;font-size:15px;line-height:1.25;}
.data-source-roadmap-card p{margin:0;line-height:1.45;}
.data-source-roadmap-card dl{display:grid;gap:5px;margin:0;}
.data-source-roadmap-card div{min-width:0;}
.data-source-roadmap-card dl div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px;}
.data-source-roadmap-card dt{font-weight:bold;color:#4d6848;}
.data-source-roadmap-card dd{margin:0;overflow-wrap:anywhere;}
.data-source-target-links{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;}
.data-source-target-links a{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border:1px solid #d8c9af;border-radius:6px;background:#fff;color:#5d0000;text-decoration:none;line-height:1.2;}
.data-source-target-links a:hover,.data-source-target-links a:focus{background:#fff5c5;text-decoration:none;}
.data-source-toc{margin:0 0 14px 0;padding:10px;border:1px solid #d6e0d2;background:#f7fbf4;}
.data-source-toc h2{margin:0 0 8px 0;color:#315b2d;font-size:16px;line-height:1.25;}
.data-source-toc ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;}
.data-source-toc a{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border:1px solid #d8c9af;border-radius:6px;background:#fff;color:#5d0000;text-decoration:none;line-height:1.2;}
.data-source-toc a:hover,.data-source-toc a:focus{background:#fff5c5;text-decoration:none;}
.data-source-list{display:grid;gap:10px;margin:0 0 14px 0;}
.data-source-card{padding:10px;border:1px solid #e3d6c0;background:#fff;}
.data-source-card:target{border-color:#b43b2f;box-shadow:0 0 0 2px rgba(180,59,47,.14);}
.data-source-card h3{margin:0 0 8px 0;color:#4b4b4b;font-size:15px;}
.data-source-card dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:5px 10px;margin:0;}
.data-source-card div{display:contents;}
.data-source-card dt{font-weight:bold;color:#665d50;}
.data-source-card dd{margin:0;overflow-wrap:anywhere;}
.data-source-import-status{display:flex;flex-wrap:wrap;gap:6px 10px;}
.data-source-import-status span{display:inline-flex;gap:4px;}
.source-content-modules{display:grid;gap:10px;margin:0 0 14px 0;}
.source-content-module{padding:10px;border:1px solid #d6e0d2;background:#f8fff6;color:#243024;}
.source-content-module h3{margin:0 0 8px 0;color:#315b2d;font-size:17px;line-height:1.25;}
.source-content-module p{margin:0 0 8px 0;line-height:1.45;}
.source-content-metric{margin:0 0 8px 0;}
.source-content-metric div{display:flex;flex-wrap:wrap;gap:6px;}
.source-content-metric dt{font-weight:bold;color:#4d6848;}
.source-content-metric dd{margin:0;}
.source-content-targets{margin:0 0 8px 0;}
.source-content-targets strong{display:block;margin:0 0 5px 0;color:#4d6848;}
.source-content-target-links{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;}
.source-content-target-links a{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border:1px solid #cddfc7;border-radius:6px;background:#fff;color:#315b2d;text-decoration:none;line-height:1.2;}
.source-content-target-links a:hover,.source-content-target-links a:focus{background:#eef9e9;text-decoration:none;}
.source-content-source{font-size:11px;color:#5a6657;}
.source-content-detail-link{display:inline-flex;align-items:center;margin-left:6px;color:#315b2d;font-weight:bold;text-decoration:none;}
.source-content-detail-link:hover,.source-content-detail-link:focus{text-decoration:underline;}
.source-content-source-meta{display:grid;gap:4px;margin:0;color:#5a6657;font-size:11px;line-height:1.35;}
.source-content-source-meta div{display:flex;flex-wrap:wrap;gap:5px;}
.source-content-source-meta dt{font-weight:bold;color:#4d6848;}
.source-content-source-meta dd{margin:0;}
.search-related-links strong,.taxonomy-related-links strong,.district-related-links strong,.street-related-links strong,.home-quick-links strong{display:block;margin:0 0 6px 0;color:#4d4d4d;}
.search-related-links ul,.taxonomy-related-links ul,.district-related-links ul,.street-related-links ul,.home-quick-links ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;}
.search-related-links a,.taxonomy-related-links a,.district-related-links a,.street-related-links a,.home-quick-links a{display:block;padding:6px 8px;border:1px solid #d8c9af;background:#fff;color:#5d0000;text-decoration:none;}
.home-quick-links span{display:block;margin-top:3px;color:#5f5b54;font-size:11px;line-height:1.35;}
.search-related-links a:hover,.search-related-links a:focus,.taxonomy-related-links a:hover,.taxonomy-related-links a:focus,.district-related-links a:hover,.district-related-links a:focus,.street-related-links a:hover,.street-related-links a:focus,.home-quick-links a:hover,.home-quick-links a:focus{border-color:#8b0000;text-decoration:underline;}
.page-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px;}
.page-tool-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:2px;border:1px solid transparent;background:transparent;cursor:pointer;}
.page-tool-button:hover,.page-tool-button:focus{border-color:#cbbea8;background:#fff;}
.page-tool-button img{max-width:18px;max-height:18px;}
.page-tool-link{display:inline-flex;align-items:center;min-height:24px;margin-left:4px;}
.content-note{padding:10px;}
.content-panel{padding:5px;text-align:left;background:#fff;}
.route-directions{text-align:left;padding:5px;}
.route-directions--main{margin-top:12px;padding:12px;border-top:1px dotted #cbbea8;background:#fffdf8;}
.route-directions--sidebar{padding:5px 0;}
.route-empty{margin:auto;padding:10px;}
.route-submit-button{margin:5px 0 0 0;padding:0;background:none;border:0;}
.route-map{width:580px;border:0;background:#fff;}
.route-summary{display:grid;gap:6px;}
.route-summary strong{color:#5d0000;}
.route-summary dl{display:grid;gap:4px;margin:6px 0;}
.route-summary dl div{display:flex;justify-content:space-between;gap:10px;}
.route-summary dt{font-weight:bold;}
.route-summary dd{margin:0;text-align:right;}
.route-step-list{display:grid;gap:6px;margin:10px 0 0 0;padding-left:20px;text-align:left;}
.route-step-list li{padding:0;}
.route-step-list span{display:block;overflow-wrap:anywhere;}
.route-step-distance{color:#555;font-size:11px;}
.route-actions{margin-top:10px;}
.street-directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;margin:0;padding:0;list-style:none;}
.street-directory-list li{border-bottom:1px dotted #cbbea8;}
.street-directory-link{display:block;padding:5px 3px;color:#00008b;font-size:11px;text-align:left;text-decoration:none;overflow-wrap:anywhere;}
.street-directory-link:hover,.street-directory-link:focus{color:orange;text-decoration:underline;}
.street-letter-nav{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px;}
.street-letter-link{display:flex;align-items:center;justify-content:center;min-height:30px;border:1px solid #e3d8c2;border-radius:6px;background:#fff;color:black;font-size:13px;font-weight:bold;text-decoration:none;}
.street-letter-link:hover,.street-letter-link:focus{background:#fff5c5;text-decoration:none;}
.street-sidebar{float:right;width:367px;}
.source-note{color:#666;font-size:70%;vertical-align:super;}
.imprint-content{border-bottom:1px dotted #cbbea8;}
.imprint-alpha{font-size:10px;color:#cbbea8;}
.legal-details{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:7px 14px;margin:0 0 14px 0;text-align:left;}
.legal-details dt{font-weight:bold;}
.legal-details dd{margin:0;min-width:0;}
.legal-address{margin:0;font-size:inherit;line-height:1.35;}
.heading-rule{width:100%;text-align:right;color:#cbbea8;border-bottom:1px solid;}
.page-index-margin{margin:10px;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.keyword-map-main{float:left;width:100%;background:#fff;text-align:left;}
.keyword-map-selector{padding:12px 10px;text-align:center;background:#fff;}
.keyword-map-selector h1{text-align:center;margin:0 0 10px 0;color:#8b0000;}
.keyword-map-stage{position:relative;display:inline-block;max-width:100%;line-height:0;}
.keyword-map-stage .map{display:block;max-width:100%;height:auto;}
.keyword-map-stage .map + .map{position:absolute;left:0;top:0;}
.keyword-map-svg{display:block;width:min(100%,492px);height:auto;}
.keyword-map-background{fill:#f8faf9;}
.keyword-map-area{fill:#dbeee8;stroke:#0f6f5c;stroke-width:1.4;stroke-linejoin:round;transition:fill .15s ease,stroke .15s ease,stroke-width .15s ease;}
.keyword-map-district:nth-of-type(3n) .keyword-map-area{fill:#e9f1fb;}
.keyword-map-district:nth-of-type(3n+1) .keyword-map-area{fill:#f6eadb;}
.keyword-map-district:nth-of-type(3n+2) .keyword-map-area{fill:#e9f4df;}
.keyword-map-district:hover .keyword-map-area,.keyword-map-district:focus .keyword-map-area{fill:#fff2b8;stroke:#8b0000;stroke-width:2;}
.keyword-map-district--selected .keyword-map-area,.keyword-map-district--selected:hover .keyword-map-area,.keyword-map-district--selected:focus .keyword-map-area{fill:#0f6f5c;stroke:#073f35;stroke-width:2;}
.keyword-map-help{clear:both;margin:10px 0;color:#333;text-align:center;}
.keyword-list{line-height:1.7;background:#fff;padding:8px;}
.keyword-list a{display:inline-block;margin:0 2px;}
#mapinfo{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:2;padding:6px 8px;background:#fff;border:1px dotted #8b0000;color:#8b0000;line-height:1.3;text-align:center;}
#mapinfo span{display:block;}
.bv-ad-slot{min-height:60px;margin:0 auto;padding:18px 10px;box-sizing:border-box;border:1px dashed #d7d7d7;background:#fafafa;color:#777;text-align:center;font-size:12px;line-height:1.4;}
.bv-ad-slot--rectangle{min-height:250px;display:flex;align-items:center;justify-content:center;}
.bv-ad-slot--small{min-height:90px;}
body{background:linear-gradient(#d8d8d8,#bcbcbb 180px,#f3f3f3);text-align:center;font-family:sans-serif;font-size:12px;}
p{clear:left;margin:3px;}
#close{float:right;margin-right:13px;border:0;background:transparent;padding:0;cursor:pointer;}
#bottom_lists{width:605px;}
.bottom-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start;}
.bottom-list-panel{min-width:0;background:#fff;}
.bottom-list-panel-title{margin:0;padding:6px 8px;border-bottom:1px dotted #cbbea8;background:#fff5c5;color:#5d0000;font-size:13px;font-weight:bold;line-height:1.3;text-align:left;}
.bottom-list-panel-content{padding:4px 8px 8px 8px;}
h4{font-size:20px;margin-left:10px;font-weight:bold;font-style:italic;}
#image img{border:1px dotted lightgrey;}
.entry-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px);gap:14px;align-items:start;}
.entry-title{margin:0 0 8px 0;color:#5d0000;font-size:20px;line-height:1.25;}
.entry-contact-list{display:grid;gap:5px;margin-top:10px;}
.entry-branches{margin-top:10px;line-height:1.45;}
.entry-logo-panel{text-align:center;}
.entry-logo{display:block;max-width:100%;height:auto;margin:0 auto;}
.entry-opening-hours{float:right;margin:0 0 10px 14px;padding:8px;border-left:1px dotted #cbbea8;text-align:left;}
.entry-opening-hours-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px;margin:0 0 8px 0;}
.entry-opening-hours h2{margin:0;color:#5d0000;font-size:14px;font-weight:bold;}
.entry-opening-hours .entry-status-badge{margin:0;}
.entry-opening-hours dl{display:grid;gap:3px;margin:0;}
.entry-opening-hours dl div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:6px;}
.entry-opening-hours dt{font-weight:bold;color:#808080;}
.entry-opening-hours dd{margin:0;}
.entry-hours-closed-label{color:#777;}
.entry-hours-range{white-space:nowrap;}
.entry-description{min-height:130px;line-height:1.45;}
.entry-description--empty{display:grid;align-content:start;gap:8px;}
.entry-description-actions{display:flex;flex-wrap:wrap;gap:6px;}
.entry-description-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 9px;border:1px solid #e3d8c2;border-radius:6px;background:#fff;color:#5d0000;font-weight:bold;text-decoration:none;}
.entry-description-action:hover,.entry-description-action:focus{background:#fff5c5;text-decoration:none;}
#nav_right{float:right;width:367px;}
#adresse{float:left;width:300px;margin:5px;}
address{margin:7px;font-size:17px;}
address span{display:block;}
.street-map-context{margin:0 0 6px 0;font-weight:normal;line-height:1.35;}
a{text-decoration:none;text-decoration:underline;color:#8b0000;}
a:hover{color:orange;}
.external-link{display:inline;position:relative;text-decoration:none;text-decoration:underline;color:#8b0000;cursor:pointer;text-underline-offset:2px;}
.external-link::after{content:"";display:inline-block;width:0.85em;height:0.85em;margin-left:0.22em;background:currentColor;vertical-align:-0.08em;mask:url("/assets/icons/external-link.svg") center/contain no-repeat;-webkit-mask:url("/assets/icons/external-link.svg") center/contain no-repeat;}
.external-link:hover{color:orange;cursor:pointer;}
.entry-primary-action.external-link{display:inline-flex;text-decoration:none;}
.entry-primary-action.external-link::after{flex:0 0 auto;}
#map{width:100%;min-height:320px;margin:auto;text-align:left;}
.leaflet-map{position:relative;box-sizing:border-box;width:100%;min-height:320px;border:1px solid #cbbea8;border-radius:8px;overflow:hidden;background:#eef3f1;text-align:left;}
.leaflet-map.leaflet-container{font-family:sans-serif;font-size:12px;}
.leaflet-map--compact{min-height:260px;}
.leaflet-map--large,.leaflet-map--route{min-height:380px;}
.leaflet-map--panel{max-width:100%;}
.mapbox-editor .leaflet-map{min-height:330px;}
.route-map .leaflet-map{min-height:420px;}
.leaflet-map-loading{display:grid;place-items:center;min-height:inherit;padding:16px;color:#555;font-weight:bold;text-align:center;}
.map-attribution-note{clear:both;margin:6px 0 0 0;color:#555;font-size:11px;line-height:1.35;text-align:left;}
.leaflet-popup-content{font-size:12px;line-height:1.35;}
.static-map-fallback{display:grid;place-items:center;gap:8px;min-height:220px;padding:18px;border:1px dashed #cbbea8;border-radius:8px;background:#f8f8f8;color:#555;text-align:center;}
.static-map-fallback img{width:min(220px,78%);max-height:170px;object-fit:contain;}
.static-map-fallback p{margin:0;font-size:12px;line-height:1.35;}
#sbranche{padding:10px;text-align:left;background: #FFF;}
div.paddingbox{padding:5px; background:#FFF;text-align:left;}
.branch-search-form{float:right;display:flex;flex-direction:row-reverse;align-items:center;gap:5px;margin:3px 8px 0 0;font-size:11px;font-weight:normal;}
#sinput{padding:1px;}
a.wo{text-decoration:none;color:black;}
a.wo:hover{text-decoration:none;color:white;}
hr{height:0px;border-top:transparent;border-bottom:1px dotted #cbbea8;}
select,textarea,input{font-family:sans-serif;background:#fff;border:1px solid;margin:3px;padding:3px;}
div.white_top{float:left;background:#fff;border-bottom:1px dotted #cbbea8;width:605px;height:25px;color:#8b0000;font-size:16px;font-weight:bold;text-align:left;}
h1 {color:#cbbea8;font-size:16px;font-weight:bold;text-align:left;margin-left:10px;}
h2 {font-size:14px;font-weight:normal;}
h3 {font-weight:bold;}
.tempwarm{color:#b8422f;font-size:16px;font-weight:700;}
.tempkalt{color:#0f6f5c;font-size:16px;font-weight:700;}
.weather-current{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
.weather-current-row{display:flex;align-items:center;justify-content:center;gap:5px;}
.weather-forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.weather-day{padding:6px;border-bottom:1px dotted #cbbea8;text-align:center;}
.weather-day h3{margin:0 0 4px 0;}
.weather-day dl{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin:0;}
.weather-day dt{font-weight:bold;}
.weather-day dd{margin:0;}
div.white_top2{float:left;background:#fff;width:605px;height:10px;}
.field-error{display:block;margin-top:4px;color:#b42318;font-weight:bold;line-height:1.35;}
.dialog-success{margin:8px 0;color:#178245;font-size:16px;font-weight:bold;line-height:1.4;}
.muted-message{margin:6px 0;color:#808080;line-height:1.4;}
.qr-dialog{display:grid;gap:10px;text-align:left;}
.qr-dialog h3{margin:0;color:#5d0000;font-size:16px;line-height:1.3;}
.qr-dialog h3 span{font-weight:normal;color:#555;}
.qr-dialog-image{display:block;max-width:100%;height:auto;margin:0 auto;}
.qr-dialog-note{margin:0;color:#555;line-height:1.45;}
div.infobox{
margin:10px;
text-align:left;
background: #fffff5;
color:#be0000;
border: 1px dotted #be0000;
padding:3px;
float:left;}
div.white_content{float:left;background:#FFF;width:605px;}
.header-utility-link{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:2px 0;border:0;border-radius:0;background:transparent;color:#5d0000;font-size:12px;font-weight:bold;line-height:1.2;text-decoration:none;}
.header-utility-link:hover,.header-utility-link:focus{color:orange;text-decoration:underline;text-underline-offset:2px;}
form.inline-action-form{display:inline;margin:0;padding:0;}
.section-title-inline{display:inline;margin:0;font:inherit;color:inherit;}
.heading-action{float:right;margin:3px 8px 0 0;font-size:11px;font-weight:normal;}
button.link-button,a.link-button{border:0;background:transparent;padding:0;margin:0;color:#00008b;text-decoration:none;cursor:pointer;font-family:sans-serif;}
button.link-button:hover,button.link-button:focus,a.link-button:hover,a.link-button:focus{color:orange;text-decoration:none;}
button.link-button--compact,a.link-button--compact{font-size:11px;}
.moderation-request-actions .link-button{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border:1px solid #e3d8c2;border-radius:6px;background:#fff;color:#5d0000;font-weight:bold;line-height:1.2;}
.moderation-request-actions .link-button:hover,.moderation-request-actions .link-button:focus{background:#fff5c5;color:#5d0000;}
.entry-result-vcard-link{display:inline-flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;}
.entry-result-vcard-link img{width:18px;height:18px;}
div.white_bot{float:left;background:#fff;width:605px;min-height:20px;border-bottom:1px solid #eee;}
div.white_bot2{float:left;background:#fff;width:605px;min-height:30px;border-bottom:1px solid #eee;}
div.kontaktdaten{vertical-align:middle;font-size:14px;}
.entry-update-date,.entry-tags{color:#808080;}
.entry-tags{float:left;}
.entry-tags span,.entry-review-byline{font-style:normal;}
.sidebar-panel{float:right;width:367px;margin:0 0 10px 0;border:1px solid #e3d8c2;border-radius:8px;background:#fff;overflow:hidden;text-align:left;}
.sidebar-panel-title{margin:0;padding:8px 10px;border-bottom:1px solid #e3d8c2;background:#fffaf1;color:#5d0000;font-size:13px;font-weight:bold;line-height:1.25;}
.sidebar-panel-content{min-width:0;background:#fff;text-align:left;}
.sidebar-panel .paddingbox{padding:10px;}
#loading{margin:auto;}
#Dialog {position:fixed;inset:12px;color:#000;z-index:30;overflow:auto;padding:22px 0;background:rgba(17,24,39,.42);}
#DialogTop,#DialogBottom{display:none;}
#DialogBody {width:528px;max-width:100%;margin:0 auto;border:1px solid #cbbea8;border-radius:8px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.22);}
#DialogContent {padding:0 14px 14px 14px;text-align:left;}
.hidden{visibility:hidden;width:0px;height:0px;}

div.rubriklink{display:flex;align-items:center;gap:6px;height:26px;width:190px;margin:2px;float:left;}
.weather-icon{width:36px;height:36px;display:block;}
 
div.rubriklink2{width:290px;height:110px;margin-bottom:5px;float:left;}
div.branchlink{margin-bottom:3px;float:left;width:296px;height:12px;}
div.branchlink2{margin-left:3px;margin-bottom:3px;float:left;width:296px;height:12px;}
div.rubriklink img{width:20px;height:20px;flex:0 0 20px;}
div.branchlink img{margin-right:4px;float:left;}
div.branchlink2 img{margin-right:4px;float:left;}
.rubrik-links-clear{clear:both;height:0;}
.branch-links-clear{clear:both;height:0;}
div.rubriklink a{text-decoration:none;font-size:15px;color:#00008b;}
div.rubriklink2 a{text-decoration:none;font-size:15px;color:black;font-weight:bold;}
div.branchlink a{text-decoration:none;font-size:11px;color:#00008b;}
div.branchlink2 a{text-decoration:none;font-size:10px;color:#00008b;}
.branch-link-link:hover,.branch-link-link:focus{color:orange;text-decoration:underline;}
#wrapper{width:979px;position:relative;top:auto;left:auto;margin:0 auto;}
#site-header{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(104px,118px);grid-template-areas:"logo header weather";gap:10px 14px;align-items:center;margin:0 0 14px 0;padding:10px 0 12px 0;border:0;border-bottom:1px solid #e3d8c2;border-radius:0;background:transparent;text-align:left;}
#header{grid-area:header;display:grid;gap:7px;width:100%;min-width:0;}
#suchform{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) 42px;gap:7px;align-items:stretch;width:100%;min-width:0;}
#suchform > img{display:none;float:none;width:24px;height:24px;}
#search,#maplist{float:none;box-sizing:border-box;width:100%;min-width:0;height:38px;min-height:38px;margin:0;border:1px solid #cbbea8;border-radius:6px;background:#fff;padding:7px 9px;font-size:13px;}
.keyword-map-location{min-height:40px;resize:vertical;}
#logo{grid-area:logo;position:static;height:auto;min-width:0;}
#logo img{display:block;width:min(215px,100%);height:auto;max-height:52px;}
#sbutton,#rbutton{margin:0;border:1px solid #cbbea8;border-radius:6px;background:#fff5c5;}
.search-submit-button,.branch-search-button{display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;}
.search-submit-button img,.branch-search-button img{display:block;float:none;width:100%;height:100%;object-fit:contain;}
.search-submit-button{width:42px;height:38px;}
.branch-search-button{width:28px;height:28px;}
#letztesuche{position:static;}
#wetter{grid-area:weather;position:static;justify-self:end;width:auto;min-width:104px;max-width:118px;font-size:11px;font-weight:bold;text-align:right;}
#wetter .weather-current{align-items:flex-end;text-align:right;}
#wetter .weather-current-row{justify-content:flex-end;}
#wetter .weather-icon{width:28px;height:28px;}
.header-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
#merkzettel,#neuereintrag,#login{position:static;display:block;text-align:center;width:auto;height:auto;margin:0;padding:0;background:transparent;border:0;}
.pagi a{color:#be0000;text-decoration: none;font-weight:bold;margin:2px;}
.pagi a:hover, .pagi a:active {color:red;}
.pagi a:visited {color:#808080;}
.pagi span {font-size:130%;margin:3px;font-weight:bold;}
.pagi .pagi-ellipsis{font-size:100%;color:#666;font-weight:normal;}
.pagi {width:100%;text-align:center;border-top:1px dotted #cbbea8;}

*,*::before,*::after{box-sizing:border-box;}
img{max-width:100%;height:auto;}
textarea,select,input{max-width:100%;}
#wrapper{position:relative;left:auto;top:auto;margin:0 auto;width:100%;max-width:979px;}
#header{width:100%;max-width:980px;}
.white_content,.white_top,.white_top2,.white_bot,.white_bot2,#bottom_lists{max-width:100%;}
.sidebar-panel,#nav_right,.street-sidebar{max-width:100%;}
.form-table,.wide-textarea,.wide-select,.opening-hours-box,.route-map{max-width:100%;}
.mapbox-editor,.address-check-help{width:min(350px,100%);}
.backlink-code{max-width:100%;}
.white_content table,.sidebar-panel-content table{max-width:100%;}

@media (max-width: 720px){
body{background:#f3f3f3;text-align:left;font-size:14px;line-height:1.45;}
#wrapper{padding:0 10px;}
#site-header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"logo weather" "header header";gap:8px 10px;margin:0 0 12px 0;padding:10px 0 12px 0;}
#header{width:100%;min-height:0;height:auto;background:none;}
#logo{height:auto;padding:0;text-align:left;}
#logo img{max-height:50px;width:min(215px,100%);}
#wetter{display:block;min-width:88px;max-width:104px;font-size:10px;}
#wetter .weather-icon{width:24px;height:24px;}
#suchform{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:6px;align-items:stretch;height:auto;padding:0;}
#suchform > img{display:none;float:none;max-width:38px;}
#search,#maplist{float:none;width:100%;min-width:0;}
#sbutton,#rbutton{float:none;margin:0;}
#suchform .search-submit-button img,.branch-search-button img{display:block;}
.header-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
#merkzettel,#neuereintrag,#login{position:static;display:block;width:100%;height:auto;margin:0;padding:0;background:transparent;border:0;}
.header-utility-link{width:100%;}
.keyword-map-main{float:none;}
.keyword-map-page .keyword-list{margin:0;}
.keyword-map-stage{width:100%;}
.keyword-map-stage .map{width:100%;}
#nav_right,.street-sidebar{float:none;width:100%;clear:both;}
body.entry-detail-page #wrapper,body.route-page #wrapper{display:flex;flex-direction:column;}
body.entry-detail-page #site-header,body.route-page #site-header{order:0;}
body.entry-detail-page .white_top,body.entry-detail-page .white_top2,body.entry-detail-page .white_content,body.entry-detail-page .white_bot,body.entry-detail-page .white_bot2,body.route-page .white_top,body.route-page .white_top2,body.route-page .white_content,body.route-page .white_bot,body.route-page .white_bot2{order:10;}
body.entry-detail-page #nav_right,body.route-page #nav_right{order:20;}
body.entry-detail-page #bottom_lists,body.route-page #bottom_lists{order:30;}
body.entry-detail-page #footer,body.route-page #footer{order:40;}
.entry-action-grid{grid-template-columns:1fr;}
.entry-context-grid{grid-template-columns:1fr;}
.entry-result{grid-template-columns:1fr;}
.entry-result-actions{justify-content:flex-start;}
.entry-hero{grid-template-columns:1fr;}
.entry-logo-panel{text-align:left;}
.entry-logo{margin:0;}
.entry-opening-hours{float:none;margin:0 0 12px 0;}
.street-letter-nav{grid-template-columns:repeat(6,minmax(0,1fr));}
.district-nav{grid-template-columns:1fr;}
.district-nav-map{max-width:220px;margin:0 auto;}
.district-nav-list{grid-template-columns:1fr;}
.search-landing-facts,.taxonomy-landing-facts,.district-landing-facts,.street-landing-facts,.home-landing-facts,.portal-data-snapshot,.portal-source-list,.search-quality-facts,.home-city-updates{grid-template-columns:1fr;}
.home-city-update--weather{padding-left:0;padding-top:12px;border-left:0;border-top:1px solid #e3d8c2;}
.search-related-links ul,.taxonomy-related-links ul,.district-related-links ul,.street-related-links ul,.home-quick-links ul{display:grid;grid-template-columns:1fr;}
.data-source-feature-grid{grid-template-columns:1fr;}
.data-source-feature-card div{grid-template-columns:1fr;}
.data-source-group-grid{grid-template-columns:1fr;}
.data-source-roadmap-list{grid-template-columns:1fr;}
.data-source-roadmap-card dl div{grid-template-columns:1fr;}
.data-source-card dl{grid-template-columns:1fr;}
.data-source-card dt{margin-top:5px;}
.legal-details{grid-template-columns:1fr;gap:3px;}
.legal-details dd{padding-bottom:7px;border-bottom:1px dotted #e3d8c2;}
.backlink-options{grid-template-columns:1fr;}
.white_content,.white_top,.white_top2,.white_bot,.white_bot2,#bottom_lists{float:none;width:100%;clear:both;}
.sidebar-panel{float:none;width:100%;clear:both;}
.bottom-list-grid{grid-template-columns:1fr;}
.branch-search-form{float:none;justify-content:flex-start;margin:6px 0;}
#adresse{float:none;width:auto;}
.form-table{width:100%;display:block;overflow-x:auto;}
.form-table tbody,.form-table tr,.form-table td{display:block;width:100%;}
.form-table input,.form-table textarea,.form-table select{width:100%;max-width:100%;}
.customer-form-grid{grid-template-columns:1fr;max-width:100%;}
.opening-hours-editor{gap:8px;}
.opening-hours-row{grid-template-columns:1fr;gap:6px;padding:10px;border:1px solid #eadfcd;border-bottom:1px solid #eadfcd;background:#fff;border-radius:4px;}
.opening-hours-day{font-size:14px;}
.opening-hours-controls{justify-content:flex-start;flex-wrap:wrap;gap:8px;}
.opening-hours-controls select{flex:1 1 40%;min-height:42px;min-width:0;}
.opening-hours-closed{flex:1 1 100%;font-size:13px;min-height:32px;}
.opening-hours-actions .hours-copy-button{min-height:40px;}
.customer-field{display:flex;flex-direction:column;gap:5px;}
.customer-inline-fields,.customer-inline-fields--street,.customer-inline-fields--city,.customer-inline-fields--phone{grid-template-columns:1fr;}
.customer-editor-grid,.customer-logo-grid{grid-template-columns:1fr;}
.customer-actions{justify-content:stretch;}
.customer-actions .form-action-button{width:100%;}
.branch-picker-row{align-items:stretch;}
.branch-picker-button{min-height:34px;}
.selected-branches{max-width:100%;}
.selected-branches li{align-items:flex-start;}
.address-check-trigger,.address-check-button{float:none;display:flex;margin:10px 0;width:100%;}
.address-check-help{float:none;display:block;margin:10px 0;width:100%;}
.dialog-form-grid{grid-template-columns:1fr;}
.dialog-actions{justify-content:stretch;}
.dialog-actions .form-action-button{width:100%;}
.mapbox-editor,#map,.leaflet-map{width:100%;height:auto;min-height:260px;}
.leaflet-map--panel,.leaflet-map--large{width:100%;}
.route-map{width:100%;}
#Dialog,#DialogBody,#DialogTop,#DialogBottom{width:100%;max-width:528px;}
#Dialog{left:0;right:0;margin:0 auto;}
.white_content table[width="100%"],.sidebar-panel-content table[width="100%"]{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.street-directory-list{grid-template-columns:1fr;}
div.rubriklink,div.branchlink,div.branchlink2{float:none;width:100%;height:auto;}
div.rubriklink2{float:none;width:100%;height:auto;min-height:80px;}
}

@media (max-width: 520px){
#site-header{grid-template-columns:1fr;grid-template-areas:"logo" "weather" "header";}
#wetter{justify-self:start;max-width:none;text-align:left;}
#wetter .weather-current{align-items:flex-start;text-align:left;}
#wetter .weather-current-row{justify-content:flex-start;}
#suchform{grid-template-columns:1fr;gap:4px;}
#suchform > img{display:none;}
#sbutton{justify-self:stretch;width:100%;}
.search-submit-button{width:100%;}
.rating{transform:scale(.9);transform-origin:left center;}
}


/* Source: modern.css */
:root {
  --bv-bg: #f5f7f8;
  --bv-surface: #ffffff;
  --bv-surface-soft: #f0f5f2;
  --bv-text: #16201c;
  --bv-muted: #5f6f68;
  --bv-line: #d9e2de;
  --bv-primary: #0f6f5c;
  --bv-primary-dark: #0a4f42;
  --bv-accent: #b8422f;
  --bv-gold: #d6962d;
  --bv-link: #9d2f25;
  --bv-radius: 8px;
  --bv-shadow: 0 12px 32px rgba(20, 38, 32, 0.08);
}

* {
  box-sizing: border-box;
}

html {
  background: var(--bv-bg);
}

body {
  min-width: 0;
  margin: 0;
  background:
    linear-gradient(180deg, #fff 0, #fff 96px, var(--bv-bg) 96px);
  color: var(--bv-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
}

a {
  color: var(--bv-link);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

a:hover,
a:focus {
  color: var(--bv-primary-dark);
}

img {
  max-width: 100%;
  height: auto;
}

table {
  width: 100%;
}

td,
th {
  overflow-wrap: anywhere;
  vertical-align: top;
}

select,
textarea,
input {
  max-width: 100%;
  min-height: 42px;
  border: 1px solid var(--bv-line);
  border-radius: 6px;
  background: #fff;
  color: var(--bv-text);
  font: inherit;
}

textarea {
  min-height: 120px;
}

#wrapper {
  position: static;
  width: min(100% - 24px, 1180px);
  margin: 0 auto;
  padding: 12px 0 28px;
}

#logo {
  position: static;
  height: auto;
  padding: 10px 0 4px;
}

#logo a {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
}

#logo img {
  width: min(280px, 72vw);
  max-height: 72px;
  object-fit: contain;
}

#wetter {
  position: absolute;
  top: 18px;
  right: 12px;
  z-index: 3;
  width: auto;
  min-width: 88px;
  max-width: 132px;
  padding: 6px 8px;
  border: 1px solid var(--bv-line);
  border-radius: var(--bv-radius);
  background: rgba(255, 255, 255, 0.9);
  color: var(--bv-muted);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  box-shadow: 0 4px 16px rgba(20, 38, 32, 0.08);
}

#header {
  position: relative;
  top: auto;
  width: 100%;
  min-height: 0;
  height: auto;
  margin: 8px 0 18px;
  padding: 0;
  border-radius: var(--bv-radius);
  background: transparent;
  box-shadow: none;
}

#suchform {
  position: static;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  height: auto;
  width: 100%;
}

#suchform img {
  display: none;
}

#search,
#maplist {
  float: none;
  width: 100%;
  margin: 0;
  padding: 11px 12px;
  border: 0;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

#sbutton,
#rbutton {
  width: 100%;
  height: 42px;
  margin: 0;
  border: 0;
  border-radius: 6px;
  background: var(--bv-gold);
  object-fit: contain;
  padding: 9px 18px;
  cursor: pointer;
}

#sbutton {
  border-radius: 8px;
  background: transparent;
  padding: 0;
}

.search-submit-button,
.branch-search-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#suchform .search-submit-button img,
.branch-search-button img {
  display: block;
  float: none;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#merkzettel,
#neuereintrag,
#login {
  position: static;
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: auto;
  margin: 10px 6px 0 0;
  padding: 0;
  background: transparent;
  text-align: left;
}

.header-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

#nav_right,
div.white_top,
div.white_top2,
div.white_content,
div.white_bot,
div.white_bot2,
#bottom_lists {
  float: none;
  width: 100%;
  background-image: none;
}

#nav_right {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 16px;
}

div.white_top {
  min-height: 0;
  height: auto;
  padding: 12px 14px;
  border: 0;
  border-radius: var(--bv-radius) var(--bv-radius) 0 0;
  background: var(--bv-primary-dark);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

div.white_top2 {
  height: 0;
}

div.white_content {
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid var(--bv-line);
  border-top: 0;
  border-radius: 0 0 var(--bv-radius) var(--bv-radius);
  background: var(--bv-surface);
  box-shadow: 0 6px 20px rgba(20, 38, 32, 0.04);
}

div.white_bot,
div.white_bot2 {
  display: none;
}

h1 {
  margin: 0;
  color: inherit;
  font-size: 28px;
  font-weight: 760;
  line-height: 1.2;
}

h2 {
  font-size: 20px;
  font-weight: 700;
}

h3 {
  margin: 0 0 8px;
  font-size: 17px;
}

#sbranche,
div.paddingbox {
  padding: 0;
  background: transparent;
}

div.rubriklink,
div.branchlink,
div.branchlink2 {
  position: relative;
  float: none;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 9px 10px 9px 38px;
  border-bottom: 1px solid var(--bv-line);
  background: transparent;
}

div.rubriklink {
  padding-left: 50px;
  --cat-bg: #e5f4ef;
  --cat-fg: #0f6f5c;
}

div.rubriklink::before,
div.branchlink::before,
div.branchlink2::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  background: var(--bv-primary);
  -webkit-mask: url("/assets/icons/category.svg") center / contain no-repeat;
  mask: url("/assets/icons/category.svg") center / contain no-repeat;
}

div.rubriklink::before {
  left: 8px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--cat-bg);
  -webkit-mask: none;
  mask: none;
}

div.rubriklink::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  background: var(--cat-fg);
  -webkit-mask: url("/assets/icons/category.svg") center / contain no-repeat;
  mask: url("/assets/icons/category.svg") center / contain no-repeat;
}

div.rubrikarbeit { --cat-bg: #e8f0ff; --cat-fg: #2f5da8; }
div.rubrikautoverkehr { --cat-bg: #e8f3f6; --cat-fg: #17697c; }
div.rubrikbauen { --cat-bg: #f4eadc; --cat-fg: #9a5a17; }
div.rubrikbehoerden { --cat-bg: #e9edf6; --cat-fg: #435179; }
div.rubrikbildung { --cat-bg: #efe9ff; --cat-fg: #6042a6; }
div.rubrikcomputer { --cat-bg: #e5f1ff; --cat-fg: #276aa8; }
div.rubrikdienstleistung { --cat-bg: #e8f6ee; --cat-fg: #217647; }
div.rubrikessen { --cat-bg: #fff0e2; --cat-fg: #ad5b18; }
div.rubrikgeld { --cat-bg: #eef5df; --cat-fg: #667d16; }
div.rubrikgesundheit { --cat-bg: #ffe8e8; --cat-fg: #b23333; }
div.rubrikgrosshandel { --cat-bg: #e7f2ee; --cat-fg: #2d6d5e; }
div.rubrikhotel { --cat-bg: #ecedff; --cat-fg: #4f55a5; }
div.rubrikindustrie { --cat-bg: #eceff1; --cat-fg: #56636a; }
div.rubrikmedien { --cat-bg: #e6f0ff; --cat-fg: #315fa7; }
div.rubrikmode { --cat-bg: #fde9f2; --cat-fg: #a73568; }
div.rubrikmusik { --cat-bg: #f1e8ff; --cat-fg: #7443a8; }
div.rubriknatur { --cat-bg: #e5f5e8; --cat-fg: #267a39; }
div.rubriknightlife { --cat-bg: #efe8ff; --cat-fg: #5f3ea6; }
div.rubrikreligion { --cat-bg: #f5eee2; --cat-fg: #8a6328; }
div.rubrikshopping { --cat-bg: #fff0e8; --cat-fg: #b5532d; }
div.rubriksport { --cat-bg: #e7f5f1; --cat-fg: #14735f; }
div.rubriktier { --cat-bg: #f1f4df; --cat-fg: #71801c; }
div.rubrikunterhaltung { --cat-bg: #feeceb; --cat-fg: #a93c34; }
div.rubrikwellness { --cat-bg: #fdeaf0; --cat-fg: #a83a60; }
div.rubrikwohnen { --cat-bg: #e8f0ea; --cat-fg: #3c7050; }

div.rubrikarbeit::after { -webkit-mask-image: url("/assets/icons/categories/arbeit.svg"); mask-image: url("/assets/icons/categories/arbeit.svg"); }
div.rubrikautoverkehr::after { -webkit-mask-image: url("/assets/icons/categories/auto.svg"); mask-image: url("/assets/icons/categories/auto.svg"); }
div.rubrikbauen::after { -webkit-mask-image: url("/assets/icons/categories/bauen.svg"); mask-image: url("/assets/icons/categories/bauen.svg"); }
div.rubrikbehoerden::after { -webkit-mask-image: url("/assets/icons/categories/behoerden.svg"); mask-image: url("/assets/icons/categories/behoerden.svg"); }
div.rubrikbildung::after { -webkit-mask-image: url("/assets/icons/categories/bildung.svg"); mask-image: url("/assets/icons/categories/bildung.svg"); }
div.rubrikcomputer::after { -webkit-mask-image: url("/assets/icons/categories/computer.svg"); mask-image: url("/assets/icons/categories/computer.svg"); }
div.rubrikdienstleistung::after { -webkit-mask-image: url("/assets/icons/categories/dienstleistung.svg"); mask-image: url("/assets/icons/categories/dienstleistung.svg"); }
div.rubrikessen::after { -webkit-mask-image: url("/assets/icons/categories/essen.svg"); mask-image: url("/assets/icons/categories/essen.svg"); }
div.rubrikgeld::after { -webkit-mask-image: url("/assets/icons/categories/geld.svg"); mask-image: url("/assets/icons/categories/geld.svg"); }
div.rubrikgesundheit::after { -webkit-mask-image: url("/assets/icons/categories/gesundheit.svg"); mask-image: url("/assets/icons/categories/gesundheit.svg"); }
div.rubrikgrosshandel::after { -webkit-mask-image: url("/assets/icons/categories/grosshandel.svg"); mask-image: url("/assets/icons/categories/grosshandel.svg"); }
div.rubrikhotel::after { -webkit-mask-image: url("/assets/icons/categories/hotel.svg"); mask-image: url("/assets/icons/categories/hotel.svg"); }
div.rubrikindustrie::after { -webkit-mask-image: url("/assets/icons/categories/industrie.svg"); mask-image: url("/assets/icons/categories/industrie.svg"); }
div.rubrikmedien::after { -webkit-mask-image: url("/assets/icons/categories/medien.svg"); mask-image: url("/assets/icons/categories/medien.svg"); }
div.rubrikmode::after { -webkit-mask-image: url("/assets/icons/categories/mode.svg"); mask-image: url("/assets/icons/categories/mode.svg"); }
div.rubrikmusik::after { -webkit-mask-image: url("/assets/icons/categories/musik.svg"); mask-image: url("/assets/icons/categories/musik.svg"); }
div.rubriknatur::after { -webkit-mask-image: url("/assets/icons/categories/natur.svg"); mask-image: url("/assets/icons/categories/natur.svg"); }
div.rubriknightlife::after { -webkit-mask-image: url("/assets/icons/categories/nightlife.svg"); mask-image: url("/assets/icons/categories/nightlife.svg"); }
div.rubrikreligion::after { -webkit-mask-image: url("/assets/icons/categories/religion.svg"); mask-image: url("/assets/icons/categories/religion.svg"); }
div.rubrikshopping::after { -webkit-mask-image: url("/assets/icons/categories/shopping.svg"); mask-image: url("/assets/icons/categories/shopping.svg"); }
div.rubriksport::after { -webkit-mask-image: url("/assets/icons/categories/sport.svg"); mask-image: url("/assets/icons/categories/sport.svg"); }
div.rubriktier::after { -webkit-mask-image: url("/assets/icons/categories/tier.svg"); mask-image: url("/assets/icons/categories/tier.svg"); }
div.rubrikunterhaltung::after { -webkit-mask-image: url("/assets/icons/categories/unterhaltung.svg"); mask-image: url("/assets/icons/categories/unterhaltung.svg"); }
div.rubrikwellness::after { -webkit-mask-image: url("/assets/icons/categories/wellness.svg"); mask-image: url("/assets/icons/categories/wellness.svg"); }
div.rubrikwohnen::after { -webkit-mask-image: url("/assets/icons/categories/wohnen.svg"); mask-image: url("/assets/icons/categories/wohnen.svg"); }

div.branchlink::before,
div.branchlink2::before {
  width: 15px;
  height: 15px;
  background: var(--bv-accent);
  -webkit-mask-image: url("/assets/icons/chevron-right.svg");
  mask-image: url("/assets/icons/chevron-right.svg");
}

div.rubriklink img,
div.branchlink img,
div.branchlink2 img {
  display: none;
}

div.rubriklink a,
div.branchlink a,
div.branchlink2 a,
a.wo {
  color: var(--bv-text);
  font-size: 15px;
  text-decoration: none;
}

div.rubriklink a {
  font-weight: 700;
}

div.branchlink a,
div.branchlink2 a {
  font-size: 14px;
}

#map {
  width: 100%;
  min-height: 320px;
  border-color: var(--bv-line);
  border-radius: var(--bv-radius);
}

.map-placeholder {
  display: grid;
  place-items: center;
  gap: 10px;
  min-height: 320px;
  padding: 18px;
  background: var(--bv-surface-soft);
  color: var(--bv-muted);
  text-align: center;
  overflow: hidden;
}

.map-placeholder img {
  width: min(260px, 82%);
  max-height: 230px;
  object-fit: contain;
}

.map-placeholder p {
  margin: 0;
  font-size: 13px;
}

.static-map-fallback {
  display: grid;
  place-items: center;
  gap: 8px;
  width: 100%;
  min-height: 220px;
  padding: 18px;
  border: 1px dashed var(--bv-border-strong);
  border-radius: 8px;
  background: var(--bv-panel-soft);
  color: var(--bv-muted);
  text-align: center;
}

.static-map-fallback img {
  width: min(220px, 78%);
  max-height: 170px;
  object-fit: contain;
}

.static-map-fallback p {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}

.static-map-fallback a {
  font-size: 13px;
  font-weight: 700;
}

#Dialog {
  position: fixed;
  inset: 12px;
  z-index: 30;
  overflow: auto;
  padding: 22px 0;
  background: rgba(17, 24, 39, 0.42);
}

#DialogTop,
#DialogBottom {
  display: none;
}

#DialogBody {
  width: min(100%, 560px);
  margin: 0 auto;
  border-radius: var(--bv-radius);
  background: #fff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
  outline: none;
}

#close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: 8px 8px 0 0;
  border: 0;
  border-radius: 50%;
  background: var(--bv-surface-soft);
  cursor: pointer;
}

#close img {
  width: 16px;
  height: 16px;
}

#loading {
  padding: 24px;
  text-align: center;
}

.entry-action-button:not(.entry-action-control):not(.entry-result-action-button):not(.entry-heading-action) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  min-width: 34px;
  margin: 0 3px 4px 0;
  padding: 3px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  vertical-align: middle;
}

.entry-action-button:not(.entry-action-control):not(.entry-result-action-button):not(.entry-heading-action):hover,
.entry-action-button:not(.entry-action-control):not(.entry-result-action-button):not(.entry-heading-action):focus {
  background: var(--bv-surface-soft);
}

.entry-action-button:not(.entry-action-control):not(.entry-result-action-button):not(.entry-heading-action):focus-visible {
  outline: 2px solid var(--bv-primary);
  outline-offset: 2px;
}

.entry-action-button:not(.entry-action-control):not(.entry-result-action-button):not(.entry-heading-action) img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.entry-action-button:not(.entry-action-control):not(.entry-result-action-button):not(.entry-heading-action) span {
  margin-left: 6px;
}

.bv-error-page {
  width: min(100% - 32px, 760px);
  margin: 48px auto;
  padding: 24px;
  background: var(--bv-surface);
  border: 1px solid var(--bv-line);
  border-radius: var(--bv-radius);
}

.bv-error-logo {
  display: inline-flex;
  margin-bottom: 18px;
}

.bv-error-logo img {
  height: auto;
}

.bv-error-page h1 {
  margin: 0 0 10px;
  font-size: 2rem;
  line-height: 1.15;
}

.bv-error-page p {
  margin: 0 0 20px;
  color: var(--bv-muted);
}

.bv-error-search {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 0 0 20px;
}

.bv-error-search label {
  font-weight: 700;
}

.bv-error-search input,
.bv-error-search button {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}

.bv-error-search button {
  border: 0;
  border-radius: var(--bv-radius);
  background: var(--bv-accent);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.bv-error-page nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.bv-ad-slot {
  min-height: 60px;
  margin: 0 auto;
  padding: 18px 10px;
  box-sizing: border-box;
  border: 1px dashed var(--bv-line);
  background: var(--bv-surface-soft);
  color: var(--bv-muted);
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
}

.bv-ad-slot--rectangle {
  min-height: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bv-ad-slot--small {
  min-height: 90px;
}

#DialogContent {
  padding: 16px;
  clear: both;
}

.pagi {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--bv-line);
}

div.infobox {
  float: none;
  margin: 12px 0;
  border: 1px solid #efb5a6;
  border-radius: var(--bv-radius);
  background: #fff7f4;
  color: #8c2c1e;
}

.table-scroll,
.white_content table,
.sidebar-panel-content table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.white_content table tbody,
.sidebar-panel-content table tbody {
  min-width: 100%;
}

.portal-sources {
  display: grid;
  gap: 10px;
}

.portal-sources h2 {
  margin: 0;
  font-size: 20px;
  line-height: 1.25;
}

.portal-sources p {
  margin: 0;
}

.portal-sources ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
}

@media (min-width: 720px) {
  #wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 16px;
    padding-top: 18px;
  }

  #logo,
  #header {
    grid-column: 1 / -1;
  }

  #nav_right {
    grid-column: 2;
    grid-row: 3 / span 20;
  }

  div.white_top,
  div.white_top2,
  div.white_content,
  div.white_bot,
  div.white_bot2,
  #bottom_lists,
  #footer {
    grid-column: 1;
  }

  #header {
    min-height: 214px;
    padding: 92px 24px 18px;
  }

  #suchform {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 112px;
    max-width: 850px;
  }

  #sbutton {
    width: 112px;
  }

  div.rubriklink,
  div.branchlink,
  div.branchlink2 {
    float: left;
    width: 50%;
  }

  #bottom_lists {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}

@media (max-width: 719px) {
  .white_content table[width="100%"] tr,
  .sidebar-panel-content table[width="100%"] tr {
    display: block;
    margin-bottom: 10px;
    border: 1px solid var(--bv-line);
    border-radius: var(--bv-radius);
    background: var(--bv-surface);
    overflow: hidden;
  }

  .white_content table[width="100%"] td,
  .sidebar-panel-content table[width="100%"] td {
    display: block;
    width: 100%;
    padding: 10px;
    border-bottom: 1px solid var(--bv-line);
  }

  .white_content table[width="100%"] td:last-child,
  .sidebar-panel-content table[width="100%"] td:last-child {
    border-bottom: 0;
  }

  .white_content table[width="100%"] td:has(.entry-action-button),
  .sidebar-panel-content table[width="100%"] td:has(.entry-action-button) {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
  }

  .white_content input,
  .white_content select,
  .white_content textarea,
  .sidebar-panel-content input,
  .sidebar-panel-content select,
  .sidebar-panel-content textarea {
    width: 100%;
  }
}

@media (min-width: 1040px) {
  #wrapper {
    grid-template-columns: minmax(0, 1fr) 367px;
    gap: 18px;
  }

  #header {
    padding-left: 32px;
  }

  div.rubriklink,
  div.branchlink,
  div.branchlink2 {
    width: 50%;
  }
}

#site-header {
  position: relative;
  display: block;
  margin: 0 0 16px;
}

#wrapper.home-wrapper {
  width: min(100% - 24px, 1180px);
  max-width: 1180px;
}

.portal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.home-wrapper #header {
  display: grid;
  align-items: end;
  min-height: 224px;
  margin: 8px 0 0;
  padding: 92px 14px 16px;
  overflow: hidden;
}

.home-wrapper #suchform {
  max-width: none;
}

.home-wrapper #search,
.home-wrapper #maplist {
  min-height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.96);
}

.home-wrapper #sbutton {
  min-height: 46px;
}

.header-utility-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--bv-primary-dark);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.header-utility-link:hover,
.header-utility-link:focus {
  background: #fff;
  color: var(--bv-accent);
  text-decoration: none;
}

.home-wrapper div.white_top .section-title-inline {
  order: 1;
  flex: 1 1 220px;
  display: block;
  min-width: 0;
}

.home-wrapper .branch-search-form {
  order: 2;
  flex: 0 1 286px;
  float: none;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.home-wrapper #sinput {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 8px;
}

.home-wrapper #rbutton {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  min-height: 38px;
  border-radius: 8px;
  background: var(--bv-gold);
}

.home-landing-intro,
.portal-sources {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid var(--bv-line);
  border-radius: 8px;
  background: #f8fbfa;
  color: var(--bv-text);
}

.home-landing-intro h2,
.portal-sources h3 {
  margin: 0 0 8px;
  color: var(--bv-primary-dark);
  font-size: 20px;
  line-height: 1.25;
}

.home-landing-intro p,
.portal-sources p {
  margin: 0 0 12px;
  color: var(--bv-muted);
  line-height: 1.5;
}

.home-landing-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}

.home-landing-facts div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--bv-line);
  border-radius: 8px;
  background: #fff;
}

.home-landing-facts dt {
  margin: 0 0 3px;
  color: var(--bv-muted);
  font-size: 12px;
  font-weight: 700;
}

.home-landing-facts dd {
  margin: 0;
  color: var(--bv-text);
  font-weight: 800;
  overflow-wrap: anywhere;
}

.home-quick-links strong,
.portal-source-groups strong {
  display: block;
  margin: 0 0 7px;
  color: var(--bv-muted);
  font-size: 12px;
  font-weight: 800;
}

.home-quick-links ul,
.portal-source-group-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-quick-links li,
.portal-source-group-links li {
  min-width: 0;
}

.home-quick-links a,
.portal-source-group-links a {
  display: block;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid var(--bv-line);
  border-radius: 8px;
  background: #fff;
  color: var(--bv-primary-dark);
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.portal-source-group-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.home-quick-links a:hover,
.home-quick-links a:focus,
.portal-source-group-links a:hover,
.portal-source-group-links a:focus {
  border-color: var(--bv-primary);
  color: var(--bv-accent);
  text-decoration: none;
}

.home-quick-links span {
  display: block;
  margin-top: 3px;
  color: var(--bv-muted);
  font-size: 12px;
  line-height: 1.35;
}

.home-wrapper #sbranche {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 10px;
  padding: 2px 0 0;
}

.home-wrapper div.rubriklink,
.home-wrapper div.branchlink,
.home-wrapper div.branchlink2 {
  width: 100%;
  min-width: 0;
  border-bottom: 1px solid var(--bv-line);
}

.portal-source-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.portal-source-list li {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--bv-line);
  border-radius: 8px;
  background: #fff;
}

.portal-source-list span {
  display: block;
  color: var(--bv-muted);
}

.page-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.page-tool-button,
.page-tool-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border: 1px solid var(--bv-line);
  border-radius: 8px;
  background: #fff;
  color: var(--bv-primary-dark);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.page-tool-button {
  width: 38px;
  padding: 0;
}

.page-tool-link {
  padding: 7px 10px;
}

.page-tool-button:hover,
.page-tool-button:focus,
.page-tool-link:hover,
.page-tool-link:focus {
  border-color: var(--bv-primary);
  color: var(--bv-accent);
  text-decoration: none;
}

.page-tool-button img {
  width: 18px;
  height: 18px;
}

.home-wrapper #nav_right {
  margin: 0;
}

.home-wrapper #nav_right .sidebar-panel-title {
  background: var(--bv-primary);
  font-size: 14px;
  line-height: 1.3;
}

.home-wrapper .street-letter-nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.link-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--bv-line);
  background: transparent;
}

.link-list li:nth-child(even) {
  background: transparent;
}

.link-list-link {
  color: var(--bv-primary-dark);
  font-size: 14px;
  font-weight: 700;
}

.link-list span,
.link-list time {
  color: var(--bv-muted);
  font-size: 12px;
}

.site-footer {
  margin-top: 18px;
  padding: 16px 0 0;
  border-top: 1px solid var(--bv-line);
  color: var(--bv-muted);
  font-size: 13px;
}

.site-footer a {
  color: var(--bv-primary-dark);
  font-weight: 700;
  text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
  color: var(--bv-accent);
  text-decoration: underline;
}

@media (min-width: 640px) {
  .home-quick-links ul,
  .portal-source-group-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-wrapper #sbranche {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-source-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 720px) {
  #site-header,
  #footer {
    grid-column: 1 / -1;
  }

  #wrapper.home-wrapper {
    display: block;
  }
}

@media (min-width: 860px) {
  .portal-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
  }

  .portal-main {
    grid-column: 1;
    grid-row: 1;
  }

  .portal-layout #nav_right {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: 18px;
    align-self: start;
  }

  .home-wrapper #header {
    min-height: 246px;
    padding: 108px 24px 18px;
  }

  .home-wrapper #suchform {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 112px;
  }
}

@media (min-width: 1060px) {
  .home-wrapper #sbranche {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .portal-layout {
    grid-template-columns: minmax(0, 1fr) 332px;
  }
}

@media (max-width: 719px) {
  .home-wrapper div.white_top .section-title-inline,
  .home-wrapper .branch-search-form {
    flex-basis: 100%;
  }

  .home-wrapper .branch-search-form {
    order: 2;
  }

  .home-wrapper #sinput {
    min-height: 42px;
  }

  .home-wrapper #rbutton {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    min-height: 42px;
  }
}

/* Home consistency pass: keep the legacy CSS as fallback, but make the homepage read as one interface. */
.home-wrapper {
  --home-gap: 16px;
  --home-panel: #ffffff;
  --home-panel-soft: #f7faf9;
  --home-heading: #123b33;
  --home-border: #d8e3df;
  --home-shadow: 0 10px 28px rgba(20, 38, 32, 0.07);
}

.home-wrapper #site-header {
  position: relative;
  margin: 0 0 18px;
}

.home-wrapper #logo {
  position: absolute;
  z-index: 5;
  top: 16px;
  left: 16px;
  padding: 0;
}

.home-wrapper #logo a {
  min-height: 0;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 8px 22px rgba(20, 38, 32, 0.13);
}

.home-wrapper #logo img {
  width: min(245px, 62vw);
  max-height: 54px;
}

.home-wrapper #wetter:empty {
  display: none;
}

.home-wrapper #wetter {
  top: 16px;
  right: 16px;
  border-color: rgba(255, 255, 255, 0.76);
  background: rgba(255, 255, 255, 0.94);
}

.home-wrapper #header {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.home-wrapper #header form {
  width: 100%;
}

.home-wrapper #suchform {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  max-width: none;
}

.home-wrapper #search,
.home-wrapper #maplist,
.home-wrapper #sbutton {
  min-height: 48px;
}

.home-wrapper #search,
.home-wrapper #maplist {
  border: 1px solid rgba(18, 59, 51, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 1px 0 rgba(20, 38, 32, 0.04);
}

.home-wrapper #sbutton {
  width: 100%;
  border-radius: 8px;
  background: transparent;
}

.home-wrapper .header-nav {
  gap: 8px;
}

.home-wrapper #merkzettel,
.home-wrapper #neuereintrag,
.home-wrapper #login {
  margin: 0;
}

.home-wrapper .header-utility-link {
  min-height: 36px;
  border-color: rgba(255, 255, 255, 0.56);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 4px 14px rgba(20, 38, 32, 0.09);
}

.portal-layout--home {
  gap: 18px;
}

.home-wrapper .portal-main {
  display: grid;
  gap: 0;
}

.home-wrapper div.white_top {
  min-height: 0;
  padding: 13px 15px;
  border: 1px solid var(--home-heading);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--home-heading);
  color: #fff;
  box-shadow: none;
}

.home-wrapper div.white_top {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.home-wrapper div.white_top .section-title-inline {
  display: block;
  flex: 1 1 220px;
  min-width: 0;
}

.home-wrapper div.white_content {
  width: 100%;
  margin: 0 0 var(--home-gap);
  padding: 14px;
  border: 1px solid var(--home-border);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: var(--home-panel);
  box-shadow: none;
}

.home-wrapper div.white_bot {
  display: none;
}

.home-wrapper .branch-search-form {
  flex: 0 1 300px;
  float: none;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 7px;
  margin: 0;
}

.home-wrapper #sinput {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 8px;
}

.home-wrapper #rbutton {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  min-height: 40px;
  border-radius: 8px;
  background: var(--bv-gold);
}

.home-wrapper .home-landing-intro,
.home-wrapper .portal-sources {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid var(--home-border);
  border-radius: 8px;
  background: var(--home-panel-soft);
}

.home-wrapper .home-landing-intro h2,
.home-wrapper .portal-sources h3 {
  color: var(--home-heading);
}

.home-wrapper .home-landing-facts div,
.home-wrapper .home-quick-links a,
.home-wrapper .portal-source-list li,
.home-wrapper .portal-source-group-links a {
  border-color: var(--home-border);
  border-radius: 8px;
  box-shadow: none;
}

.home-wrapper #sbranche {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 0;
}

.home-wrapper div.rubriklink,
.home-wrapper div.branchlink,
.home-wrapper div.branchlink2 {
  width: 100%;
  min-width: 0;
  min-height: 58px;
  padding: 10px 12px 10px 56px;
  border: 1px solid var(--home-border);
  border-radius: 8px;
  background: #fff;
  transition: border-color 0.16s ease, background-color 0.16s ease;
}

.home-wrapper div.rubriklink:hover,
.home-wrapper div.rubriklink:focus-within,
.home-wrapper div.branchlink:hover,
.home-wrapper div.branchlink:focus-within,
.home-wrapper div.branchlink2:hover,
.home-wrapper div.branchlink2:focus-within {
  border-color: #accbc1;
  background: #f8fbfa;
}

.home-wrapper div.rubriklink::before {
  left: 10px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(20, 38, 32, 0.08);
}

.home-wrapper div.rubriklink::after {
  left: 18px;
}

.home-wrapper div.rubriklink a {
  color: var(--home-heading);
  font-size: 15px;
  line-height: 1.25;
}

.home-wrapper .rubrik-links-clear,
.home-wrapper .branch-links-clear {
  display: none;
}

.home-wrapper #nav_right {
  display: grid;
  gap: 14px;
  margin: 0;
}

.home-wrapper #nav_right .sidebar-panel-content {
  margin-bottom: 0;
}

.home-wrapper .district-nav {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.home-wrapper .district-nav-map {
  width: min(190px, 100%);
  margin: 0 auto;
}

.home-wrapper .district-nav-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

.home-wrapper .district-nav-list li {
  padding: 7px 8px;
  border: 1px solid var(--home-border);
  border-radius: 8px;
  background: #fff;
  line-height: 1.25;
}

.home-wrapper a.wo {
  color: var(--home-heading);
  font-size: 13px;
  font-weight: 700;
}

.home-wrapper .street-letter-nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

.home-wrapper .street-letter-link {
  border-color: var(--home-border);
  color: var(--home-heading);
}

.home-wrapper #bottom_lists {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin: 0;
}

.home-wrapper .bottom-list-panel {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--home-border);
  border-radius: 8px;
  background: var(--home-panel);
  box-shadow: none;
}

.home-wrapper .bottom-list-panel-title {
  margin: 0 0 10px;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--home-border);
  background: transparent;
  color: var(--home-heading);
  font-size: 16px;
  line-height: 1.3;
  text-align: left;
}

.home-wrapper .bottom-list-panel-content {
  padding: 0;
}

.home-wrapper .link-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--home-border);
  background: transparent;
}

.home-wrapper .link-list li:nth-child(even) {
  background: transparent;
}

.home-wrapper .link-list-link {
  color: var(--home-heading);
  font-size: 14px;
  font-weight: 700;
}

.home-wrapper .site-footer {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--home-border);
}

@media (min-width: 640px) {
  .home-wrapper #sbranche {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-wrapper #bottom_lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 760px) {
  .home-wrapper #header {
    min-height: 306px;
    padding: 126px 22px 20px;
  }

  .home-wrapper #suchform {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 112px;
    gap: 10px;
  }

  .home-wrapper #sbutton {
    width: 112px;
  }
}

@media (min-width: 860px) {
  .portal-layout--home {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
  }

  .portal-layout--home #nav_right {
    position: static;
  }
}

@media (min-width: 1120px) {
  .home-wrapper #sbranche {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 719px) {
  .home-wrapper #site-header {
    margin-bottom: 14px;
  }

  .home-wrapper #logo {
    top: 14px;
    left: 14px;
  }

  .home-wrapper #header {
    min-height: 286px;
  }

  .home-wrapper div.white_top .section-title-inline,
  .home-wrapper .branch-search-form {
    flex-basis: 100%;
  }
}

/* Standard page consistency pass. Applies to search, taxonomy, district, street, entry and account pages. */
#wrapper:not(.home-wrapper) {
  --page-gap: 16px;
  --page-panel: #ffffff;
  --page-panel-soft: #f7faf9;
  --page-heading: #123b33;
  --page-border: #d8e3df;
  --page-muted: #64746d;
  width: min(100% - 24px, 1180px);
  max-width: 1180px;
  padding: 12px 0 28px;
}

#wrapper:not(.home-wrapper) #site-header {
  position: relative;
  grid-column: 1 / -1;
  margin: 0 0 16px;
}

#wrapper:not(.home-wrapper) #logo {
  padding: 4px 0 10px;
}

#wrapper:not(.home-wrapper) #logo a {
  min-height: 48px;
}

#wrapper:not(.home-wrapper) #logo img {
  width: min(250px, 68vw);
  max-height: 58px;
}

#wrapper:not(.home-wrapper) #wetter:empty {
  display: none;
}

#wrapper:not(.home-wrapper) #header {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#wrapper:not(.home-wrapper) #header form {
  width: 100%;
}

#wrapper:not(.home-wrapper) #suchform {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  max-width: none;
}

#wrapper:not(.home-wrapper) #search,
#wrapper:not(.home-wrapper) #maplist,
#wrapper:not(.home-wrapper) #sbutton {
  min-height: 46px;
}

#wrapper:not(.home-wrapper) #search,
#wrapper:not(.home-wrapper) #maplist {
  border: 1px solid rgba(18, 59, 51, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.97);
}

#wrapper:not(.home-wrapper) #sbutton {
  width: 100%;
  border-radius: 8px;
  background: transparent;
}

#wrapper:not(.home-wrapper) .header-nav {
  gap: 8px;
}

#wrapper:not(.home-wrapper) #merkzettel,
#wrapper:not(.home-wrapper) #neuereintrag,
#wrapper:not(.home-wrapper) #login {
  margin: 0;
}

#wrapper:not(.home-wrapper) .header-utility-link {
  min-height: 36px;
  border-color: rgba(255, 255, 255, 0.56);
  background: rgba(255, 255, 255, 0.92);
}

#wrapper:not(.home-wrapper) #nav_right,
#wrapper:not(.home-wrapper) .street-sidebar {
  display: grid;
  gap: 14px;
  margin: 0;
}

#wrapper:not(.home-wrapper) div.white_top {
  min-height: 0;
  padding: 13px 15px;
  border: 1px solid var(--page-heading);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--page-heading);
  color: #fff;
  box-shadow: none;
}

#wrapper:not(.home-wrapper) div.white_top {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

#wrapper:not(.home-wrapper) div.white_top .section-title-inline {
  display: block;
  flex: 1 1 220px;
  min-width: 0;
}

#wrapper:not(.home-wrapper) div.white_top2 {
  display: none;
}

#wrapper:not(.home-wrapper) div.white_content {
  width: 100%;
  margin: 0 0 var(--page-gap);
  padding: 14px;
  border: 1px solid var(--page-border);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: var(--page-panel);
  box-shadow: none;
}

#wrapper:not(.home-wrapper) div.white_top2 + div.white_content {
  border-top: 1px solid var(--page-border);
  border-radius: 8px;
}

#wrapper:not(.home-wrapper) .sidebar-panel-title {
  margin: 0;
  padding: 10px 12px;
  border-bottom: 1px solid var(--page-border);
  background: var(--page-panel-soft);
  color: var(--page-heading);
  font-size: 14px;
  line-height: 1.3;
}

#wrapper:not(.home-wrapper) .sidebar-panel-content {
  min-width: 0;
  background: var(--page-panel);
}

#wrapper:not(.home-wrapper) div.white_bot,
#wrapper:not(.home-wrapper) div.white_bot2 {
  display: none;
}

#wrapper:not(.home-wrapper) .branch-search-form {
  flex: 0 1 300px;
  float: none;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 7px;
  margin: 0;
}

#wrapper:not(.home-wrapper) #sinput {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 8px;
}

#wrapper:not(.home-wrapper) #rbutton {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  min-height: 40px;
  border-radius: 8px;
  background: var(--bv-gold);
}

#wrapper:not(.home-wrapper) .search-landing-intro,
#wrapper:not(.home-wrapper) .taxonomy-landing-intro,
#wrapper:not(.home-wrapper) .district-landing-intro,
#wrapper:not(.home-wrapper) .street-landing-intro,
#wrapper:not(.home-wrapper) .data-source-intro,
#wrapper:not(.home-wrapper) .portal-sources,
#wrapper:not(.home-wrapper) .source-content-module {
  border-color: var(--page-border);
  border-radius: 8px;
  background: var(--page-panel-soft);
  color: var(--bv-text);
}

#wrapper:not(.home-wrapper) .search-landing-intro h2,
#wrapper:not(.home-wrapper) .taxonomy-landing-intro h2,
#wrapper:not(.home-wrapper) .district-landing-intro h2,
#wrapper:not(.home-wrapper) .street-landing-intro h2,
#wrapper:not(.home-wrapper) .data-source-intro h2,
#wrapper:not(.home-wrapper) .portal-sources h3,
#wrapper:not(.home-wrapper) .source-content-module h3 {
  color: var(--page-heading);
}

#wrapper:not(.home-wrapper) .search-landing-facts div,
#wrapper:not(.home-wrapper) .taxonomy-landing-facts div,
#wrapper:not(.home-wrapper) .district-landing-facts div,
#wrapper:not(.home-wrapper) .street-landing-facts div,
#wrapper:not(.home-wrapper) .data-source-feature-card,
#wrapper:not(.home-wrapper) .data-source-card,
#wrapper:not(.home-wrapper) .data-source-group-card,
#wrapper:not(.home-wrapper) .data-source-roadmap-card {
  border-color: var(--page-border);
  border-radius: 8px;
  background: #fff;
}

#wrapper:not(.home-wrapper) #sbranche {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 0;
}

#wrapper:not(.home-wrapper) .heading-rule {
  grid-column: 1 / -1;
  margin: 4px 0 0;
  padding: 8px 0 0;
  border-top: 1px solid var(--page-border);
  color: var(--page-muted);
  font-size: 13px;
  font-weight: 800;
}

#wrapper:not(.home-wrapper) div.rubriklink,
#wrapper:not(.home-wrapper) div.branchlink,
#wrapper:not(.home-wrapper) div.branchlink2 {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 10px 12px 10px 42px;
  border: 1px solid var(--page-border);
  border-radius: 8px;
  background: #fff;
}

#wrapper:not(.home-wrapper) div.rubriklink {
  padding-left: 56px;
}

#wrapper:not(.home-wrapper) div.rubriklink a,
#wrapper:not(.home-wrapper) div.branchlink a,
#wrapper:not(.home-wrapper) div.branchlink2 a {
  color: var(--page-heading);
  font-size: 14px;
  line-height: 1.25;
}

#wrapper:not(.home-wrapper) .rubrik-links-clear,
#wrapper:not(.home-wrapper) .branch-links-clear {
  display: none;
}

#wrapper:not(.home-wrapper) .district-nav {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

#wrapper:not(.home-wrapper) .district-nav-map {
  width: min(190px, 100%);
  margin: 0 auto;
}

#wrapper:not(.home-wrapper) .district-nav-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
}

#wrapper:not(.home-wrapper) .district-nav-list li {
  padding: 7px 8px;
  border: 1px solid var(--page-border);
  border-radius: 8px;
  background: #fff;
  line-height: 1.25;
}

#wrapper:not(.home-wrapper) a.wo {
  color: var(--page-heading);
  font-size: 13px;
  font-weight: 700;
}

#wrapper:not(.home-wrapper) .street-letter-nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

#wrapper:not(.home-wrapper) .street-letter-link {
  border-color: var(--page-border);
  color: var(--page-heading);
}

#wrapper:not(.home-wrapper) .entry-results {
  gap: 10px;
}

#wrapper:not(.home-wrapper) .entry-result {
  border: 1px solid var(--page-border);
  border-radius: 8px;
  background: #fff;
}

#wrapper:not(.home-wrapper) .entry-result--highlight {
  background: #fff9e8;
}

#wrapper:not(.home-wrapper) .entry-hero,
#wrapper:not(.home-wrapper) .entry-context-links,
#wrapper:not(.home-wrapper) .customer-form-grid,
#wrapper:not(.home-wrapper) .public-entry-form,
#wrapper:not(.home-wrapper) .route-target,
#wrapper:not(.home-wrapper) .content-panel {
  min-width: 0;
}

#wrapper:not(.home-wrapper) #bottom_lists {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin: 0;
}

#wrapper:not(.home-wrapper) .bottom-list-panel {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--page-border);
  border-radius: 8px;
  background: var(--page-panel);
}

#wrapper:not(.home-wrapper) .bottom-list-panel-title {
  margin: 0 0 10px;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--page-border);
  background: transparent;
  color: var(--page-heading);
  font-size: 16px;
  line-height: 1.3;
  text-align: left;
}

#wrapper:not(.home-wrapper) .bottom-list-panel-content {
  padding: 0;
}

#wrapper:not(.home-wrapper) .link-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--page-border);
  background: transparent;
}

#wrapper:not(.home-wrapper) .link-list li:nth-child(even) {
  background: transparent;
}

#wrapper:not(.home-wrapper) .link-list-link {
  color: var(--page-heading);
  font-size: 14px;
  font-weight: 700;
}

#wrapper:not(.home-wrapper) .site-footer {
  grid-column: 1 / -1;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--page-border);
}

@media (min-width: 640px) {
  #wrapper:not(.home-wrapper) #sbranche {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #wrapper:not(.home-wrapper) #bottom_lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 760px) {
  #wrapper:not(.home-wrapper) #header {
    min-height: 250px;
    padding: 96px 22px 18px;
  }

  #wrapper:not(.home-wrapper) #suchform {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 112px;
    gap: 10px;
  }

  #wrapper:not(.home-wrapper) #sbutton {
    width: 112px;
  }
}

@media (min-width: 860px) {
  #wrapper:not(.home-wrapper) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 0 18px;
  }

  #wrapper:not(.home-wrapper) #nav_right,
  #wrapper:not(.home-wrapper) .street-sidebar {
    grid-column: 2;
    grid-row: 3 / span 20;
  }

  #wrapper:not(.home-wrapper) div.white_top,
  #wrapper:not(.home-wrapper) div.white_top2,
  #wrapper:not(.home-wrapper) div.white_content,
  #wrapper:not(.home-wrapper) div.white_bot,
  #wrapper:not(.home-wrapper) div.white_bot2,
  #wrapper:not(.home-wrapper) #bottom_lists {
    grid-column: 1;
  }
}

@media (min-width: 1120px) {
  #wrapper:not(.home-wrapper) #sbranche {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 719px) {
  #wrapper:not(.home-wrapper) div.white_top .section-title-inline,
  #wrapper:not(.home-wrapper) .branch-search-form {
    flex-basis: 100%;
  }

  #wrapper:not(.home-wrapper) .entry-result {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Keep legacy sidebar panel fragments compact inside the modern page grid. */
.home-wrapper #nav_right,
#wrapper:not(.home-wrapper) #nav_right,
#wrapper:not(.home-wrapper) .street-sidebar {
  gap: 0;
  align-content: start;
}

#Dialog.hidden,
#loading.hidden {
  display: none;
}

.customer-option > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.customer-option .inline-help {
  flex: 0 0 auto;
}

.customer-option input[type="checkbox"],
.customer-option input[type="radio"] {
  flex: 0 0 auto;
  width: auto;
  min-width: 16px;
  min-height: 16px;
}

@media (max-width: 859px) {
  #wrapper:not(.home-wrapper) {
    display: flex;
    flex-direction: column;
  }

  #wrapper:not(.home-wrapper) #site-header {
    order: 0;
  }

  #wrapper:not(.home-wrapper) div.white_top,
  #wrapper:not(.home-wrapper) div.white_top2,
  #wrapper:not(.home-wrapper) div.white_content,
  #wrapper:not(.home-wrapper) div.white_bot,
  #wrapper:not(.home-wrapper) div.white_bot2,
  #wrapper:not(.home-wrapper) #bottom_lists {
    order: 10;
  }

  #wrapper:not(.home-wrapper) #nav_right,
  #wrapper:not(.home-wrapper) .street-sidebar {
    order: 20;
  }

  #wrapper:not(.home-wrapper) #footer {
    order: 30;
  }
}

/* Design-system unification pass across legacy and modern page types. */
:root {
  --bv-panel: #ffffff;
  --bv-panel-soft: #f8fbfa;
  --bv-panel-tint: #eef5f2;
  --bv-border: #d8e3df;
  --bv-border-strong: #b9cdc5;
  --bv-heading: #123b33;
  --bv-hover: #f3f8f6;
  --bv-warning: #fff8e8;
  --bv-warning-border: #ecd7a7;
}

#wrapper,
#wrapper.home-wrapper,
#wrapper:not(.home-wrapper) {
  color: var(--bv-text);
}

#wrapper a,
#wrapper a:visited {
  color: var(--bv-link);
  text-decoration-color: rgba(157, 47, 37, 0.45);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

#wrapper a:hover,
#wrapper a:focus {
  color: var(--bv-primary-dark);
  text-decoration-color: currentColor;
}

.home-wrapper div.white_top,
#wrapper:not(.home-wrapper) div.white_top {
  min-height: 0;
  padding: 13px 16px;
  border: 1px solid var(--bv-heading);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--bv-heading);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
}

.home-wrapper div.white_top .section-title-inline,
#wrapper:not(.home-wrapper) div.white_top .section-title-inline {
  color: inherit;
  font-size: 18px;
  line-height: 1.25;
}

.home-wrapper div.white_content,
#wrapper:not(.home-wrapper) div.white_content {
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid var(--bv-border);
  background: var(--bv-panel);
  box-shadow: none;
}

.home-wrapper div.white_content,
#wrapper:not(.home-wrapper) div.white_content {
  border-top: 0;
  border-radius: 0 0 8px 8px;
}

.home-wrapper div.white_bot,
#wrapper:not(.home-wrapper) div.white_bot,
#wrapper:not(.home-wrapper) div.white_bot2 {
  display: none;
}

.home-landing-intro,
.search-landing-intro,
.taxonomy-landing-intro,
.district-landing-intro,
.street-landing-intro,
.data-source-intro,
.portal-sources,
.source-content-module {
  padding: 16px;
  border: 1px solid var(--bv-border);
  border-radius: 8px;
  background: var(--bv-panel-soft);
  color: var(--bv-text);
}

.home-landing-intro h2,
.search-landing-intro h2,
.taxonomy-landing-intro h2,
.district-landing-intro h2,
.street-landing-intro h2,
.data-source-intro h2,
.portal-sources h3,
.source-content-module h3,
.data-source-list h2,
.data-source-groups h2,
.data-source-roadmap h2,
.entry-context-links h2,
.entry-title {
  color: var(--bv-heading);
}

.home-landing-intro p,
.search-landing-intro p,
.taxonomy-landing-intro p,
.district-landing-intro p,
.street-landing-intro p,
.data-source-intro p,
.portal-sources p,
.source-content-module p {
  color: var(--bv-muted);
}

.home-landing-facts div,
.search-landing-facts div,
.taxonomy-landing-facts div,
.district-landing-facts div,
.street-landing-facts div,
.data-source-feature-card,
.data-source-group-card,
.data-source-roadmap-card,
.data-source-card,
.portal-source-list li,
.entry-context-group li,
.backlink-option,
.customer-entry-list-item {
  border: 1px solid var(--bv-border);
  border-radius: 8px;
  background: var(--bv-panel);
  box-shadow: none;
}

.data-source-feature-card,
.data-source-group-card,
.data-source-roadmap-card,
.data-source-card,
.source-content-module {
  color: var(--bv-text);
}

.data-source-feature-card h3,
.data-source-group-card h3,
.data-source-roadmap-card h3,
.data-source-card h3,
.entry-context-group h3 {
  color: var(--bv-heading);
}

.data-source-group-card .data-source-group-meta,
.data-source-roadmap-stage,
.data-source-feature-card dt,
.data-source-roadmap-card dt,
.data-source-card dt,
.source-content-metric dt,
.source-content-targets strong,
.source-content-source-meta dt,
.portal-source-groups strong,
.home-quick-links strong,
.search-related-links strong,
.taxonomy-related-links strong,
.district-related-links strong,
.street-related-links strong {
  color: var(--bv-muted);
}

.data-source-import-status {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}

.data-source-group-icon,
.data-source-roadmap-icon {
  border-color: var(--bv-border);
  background: var(--bv-panel-soft);
}

.home-quick-links a,
.portal-source-group-links a,
.data-source-group-links a,
.search-related-links a,
.taxonomy-related-links a,
.district-related-links a,
.street-related-links a,
.data-source-target-links a,
.source-content-target-links a,
.data-source-toc a,
.entry-action-link,
.entry-action-grid .entry-action-button,
.page-tool-button,
.page-tool-link,
.header-utility-link,
.street-letter-link {
  border: 1px solid var(--bv-border);
  border-radius: 8px;
  background: var(--bv-panel);
  color: var(--bv-primary-dark);
  font-weight: 750;
  text-decoration: none;
}

.home-quick-links a:hover,
.home-quick-links a:focus,
.portal-source-group-links a:hover,
.portal-source-group-links a:focus,
.data-source-group-links a:hover,
.data-source-group-links a:focus,
.search-related-links a:hover,
.search-related-links a:focus,
.taxonomy-related-links a:hover,
.taxonomy-related-links a:focus,
.district-related-links a:hover,
.district-related-links a:focus,
.street-related-links a:hover,
.street-related-links a:focus,
.data-source-target-links a:hover,
.data-source-target-links a:focus,
.source-content-target-links a:hover,
.source-content-target-links a:focus,
.data-source-toc a:hover,
.data-source-toc a:focus,
.entry-action-link:hover,
.entry-action-link:focus,
.entry-action-grid .entry-action-button:hover,
.entry-action-grid .entry-action-button:focus,
.page-tool-button:hover,
.page-tool-button:focus,
.page-tool-link:hover,
.page-tool-link:focus,
.header-utility-link:hover,
.header-utility-link:focus,
.street-letter-link:hover,
.street-letter-link:focus {
  border-color: var(--bv-border-strong);
  background: var(--bv-hover);
  color: var(--bv-primary-dark);
  text-decoration: none;
}

.entry-results {
  gap: 10px;
}

.entry-result,
#wrapper:not(.home-wrapper) .entry-result {
  padding: 12px;
  border: 1px solid var(--bv-border);
  border-radius: 8px;
  background: var(--bv-panel);
}

.entry-result--highlight,
#wrapper:not(.home-wrapper) .entry-result--highlight {
  background: var(--bv-panel);
}

.entry-result-main strong a,
.entry-result-main strong a:visited,
.street-directory-link,
.street-directory-link:visited,
.link-list-link,
.link-list-link:visited,
a.wo,
a.wo:visited {
  color: var(--bv-heading);
  text-decoration: none;
}

.entry-result-main strong a:hover,
.entry-result-main strong a:focus,
.street-directory-link:hover,
.street-directory-link:focus,
.link-list-link:hover,
.link-list-link:focus,
a.wo:hover,
a.wo:focus {
  color: var(--bv-link);
  text-decoration: underline;
}

.entry-result-contact,
.entry-context-group span,
.link-list span,
.link-list time,
.home-quick-links span,
.portal-source-list span,
.source-content-source,
.source-content-source-meta,
.entry-update-date,
.entry-tags,
.muted-message {
  color: var(--bv-muted);
}

.entry-result-action-button,
.entry-heading-action,
.entry-result-vcard-link {
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--bv-link);
}

.entry-result-action-button:hover,
.entry-result-action-button:focus,
.entry-heading-action:hover,
.entry-heading-action:focus,
.entry-result-vcard-link:hover,
.entry-result-vcard-link:focus {
  border-color: var(--bv-border);
  background: var(--bv-hover);
}

.street-directory-list {
  gap: 0 14px;
}

.street-directory-list li,
.link-list li,
.customer-entry-list-item,
.entry-review,
.listing-separator {
  border-color: var(--bv-border);
}

.street-directory-link {
  padding: 7px 2px;
  font-size: 13px;
  line-height: 1.35;
}

#wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="image"]),
#wrapper select,
#wrapper textarea {
  margin: 0;
  padding: 9px 10px;
  border: 1px solid var(--bv-border);
  border-radius: 8px;
  background: #fff;
  color: var(--bv-text);
}

#wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="image"]):focus,
#wrapper select:focus,
#wrapper textarea:focus {
  border-color: var(--bv-primary);
  outline: 2px solid rgba(15, 111, 92, 0.18);
  outline-offset: 1px;
}

.customer-field label,
.dialog-field label,
.dialog-field-label,
.public-entry-section legend,
.backlink-label,
.opening-hours-day {
  color: var(--bv-heading);
}

div.infobox,
#wrapper div.infobox {
  float: none;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid var(--bv-warning-border);
  border-radius: 8px;
  background: var(--bv-warning);
  color: var(--bv-text);
}

div.login-form-panel,
#wrapper div.login-form-panel {
  border-color: var(--bv-border);
  background: var(--bv-panel-soft);
}

.field-error {
  color: #a8281d;
}

.form-action-button,
#wrapper .form-action-button {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid #c88521;
  border-radius: 8px;
  background: var(--bv-gold);
  color: var(--bv-heading);
  font-weight: 800;
}

.form-action-button:hover,
.form-action-button:focus {
  border-color: #aa7019;
  background: #e3a333;
  color: var(--bv-heading);
}

.link-button,
button.link-button {
  color: var(--bv-link);
  font: inherit;
  font-weight: 750;
}

.link-button:hover,
.link-button:focus,
button.link-button:hover,
button.link-button:focus {
  color: var(--bv-primary-dark);
  text-decoration: underline;
}

.breadcrumb-nav,
.result-summary {
  color: var(--bv-muted);
}

.breadcrumb-nav a,
.breadcrumb-nav a:visited {
  color: var(--bv-primary-dark);
}

.external-link::after {
  background: currentColor;
}

/* Simplified visual layer: flatter surfaces, fewer colors, quieter cards. */
:root {
  --bv-bg: #f6f7f7;
  --bv-surface-soft: #ffffff;
  --bv-panel: #ffffff;
  --bv-panel-soft: #ffffff;
  --bv-panel-tint: #ffffff;
  --bv-border: #dde5e1;
  --bv-border-strong: #bdcbc5;
  --bv-heading: #173a32;
  --bv-hover: #f5f7f6;
  --bv-warning: #fef9e8;
  --bv-warning-border: #d4a847;
  --bv-shadow: none;
}

body {
  background: var(--bv-bg);
}

#wetter,
#header,
.home-wrapper #logo a,
.home-wrapper #header,
#wrapper:not(.home-wrapper) #header,
.home-wrapper .header-utility-link,
#wrapper:not(.home-wrapper) .header-utility-link,
.modal-dialog {
  box-shadow: none;
}

#wetter {
  background: #fff;
}

#header,
.home-wrapper #header,
#wrapper:not(.home-wrapper) #header {
  border-color: rgba(18, 59, 51, 0.14);
  background: transparent;
}

#wrapper:not(.home-wrapper) #header {
  min-height: 0;
}

#search,
#maplist,
.home-wrapper #search,
.home-wrapper #maplist,
#wrapper:not(.home-wrapper) #search,
#wrapper:not(.home-wrapper) #maplist {
  box-shadow: none;
}

.home-wrapper div.white_top,
#wrapper:not(.home-wrapper) div.white_top {
  padding: 11px 14px;
  background: var(--bv-heading);
  font-weight: 700;
}

.home-wrapper div.white_content,
#wrapper:not(.home-wrapper) div.white_content,
.home-landing-intro,
.search-landing-intro,
.taxonomy-landing-intro,
.district-landing-intro,
.street-landing-intro,
.data-source-intro,
.portal-sources,
.source-content-module {
  background: var(--bv-panel);
}

.home-wrapper .home-landing-intro,
.home-wrapper .portal-sources,
#wrapper:not(.home-wrapper) .search-landing-intro,
#wrapper:not(.home-wrapper) .taxonomy-landing-intro,
#wrapper:not(.home-wrapper) .district-landing-intro,
#wrapper:not(.home-wrapper) .street-landing-intro,
#wrapper:not(.home-wrapper) .data-source-intro,
#wrapper:not(.home-wrapper) .portal-sources,
#wrapper:not(.home-wrapper) .source-content-module {
  background: var(--bv-panel);
}

.home-landing-facts,
.search-landing-facts,
.taxonomy-landing-facts,
.district-landing-facts,
.street-landing-facts {
  gap: 8px;
}

.home-landing-facts div,
.search-landing-facts div,
.taxonomy-landing-facts div,
.district-landing-facts div,
.street-landing-facts div,
.data-source-feature-card,
.data-source-group-card,
.data-source-roadmap-card,
.data-source-card,
.portal-source-list li,
.entry-context-group li,
.backlink-option,
.customer-entry-list-item,
.district-nav-list li,
#wrapper:not(.home-wrapper) .district-nav-list li,
.home-wrapper .district-nav-list li,
.entry-result,
#wrapper:not(.home-wrapper) .entry-result {
  border-color: var(--bv-border);
  background: #fff;
  box-shadow: none;
}

div.rubriklink,
div.branchlink,
div.branchlink2,
.home-wrapper div.rubriklink,
.home-wrapper div.branchlink,
.home-wrapper div.branchlink2,
#wrapper:not(.home-wrapper) div.rubriklink,
#wrapper:not(.home-wrapper) div.branchlink,
#wrapper:not(.home-wrapper) div.branchlink2 {
  min-height: 46px;
  padding-left: 38px;
  background: #fff;
}

div.rubriklink::before,
.home-wrapper div.rubriklink::before,
#wrapper:not(.home-wrapper) div.rubriklink::before {
  display: none;
}

div.rubriklink::after,
.home-wrapper div.rubriklink::after,
#wrapper:not(.home-wrapper) div.rubriklink::after {
  left: 12px;
  width: 16px;
  height: 16px;
  background: var(--bv-muted);
}

div.branchlink::before,
div.branchlink2::before {
  left: 12px;
  width: 16px;
  height: 16px;
  background: var(--bv-muted);
}

.home-wrapper div.rubriklink:hover,
.home-wrapper div.rubriklink:focus-within,
.home-wrapper div.branchlink:hover,
.home-wrapper div.branchlink:focus-within,
.home-wrapper div.branchlink2:hover,
.home-wrapper div.branchlink2:focus-within,
#wrapper:not(.home-wrapper) div.rubriklink:hover,
#wrapper:not(.home-wrapper) div.rubriklink:focus-within,
#wrapper:not(.home-wrapper) div.branchlink:hover,
#wrapper:not(.home-wrapper) div.branchlink:focus-within,
#wrapper:not(.home-wrapper) div.branchlink2:hover,
#wrapper:not(.home-wrapper) div.branchlink2:focus-within {
  border-color: var(--bv-border-strong);
  background: var(--bv-hover);
}

.home-quick-links a,
.portal-source-group-links a,
.search-related-links a,
.taxonomy-related-links a,
.district-related-links a,
.street-related-links a,
.data-source-target-links a,
.source-content-target-links a,
.data-source-toc a,
.entry-action-link,
.entry-action-grid .entry-action-button,
.page-tool-button,
.page-tool-link,
.header-utility-link,
.street-letter-link,
.form-action-button,
#wrapper .form-action-button {
  font-weight: 700;
}

.home-quick-links a,
.portal-source-group-links a,
.search-related-links a,
.taxonomy-related-links a,
.district-related-links a,
.street-related-links a,
.data-source-target-links a,
.source-content-target-links a,
.data-source-toc a,
.street-letter-link {
  background: #fff;
}

.home-quick-links span,
.portal-source-list span,
.source-content-source,
.source-content-source-meta,
.entry-result-contact,
.entry-tags,
.entry-update-date {
  color: var(--bv-muted);
}

.entry-results {
  gap: 8px;
}

.entry-result,
#wrapper:not(.home-wrapper) .entry-result {
  padding: 10px 12px;
}

.entry-result-action-button,
.entry-heading-action,
.entry-result-vcard-link {
  color: var(--bv-muted);
}

.entry-result-action-button:hover,
.entry-result-action-button:focus,
.entry-heading-action:hover,
.entry-heading-action:focus,
.entry-result-vcard-link:hover,
.entry-result-vcard-link:focus {
  color: var(--bv-link);
}

div.infobox,
#wrapper div.infobox {
  background: #fffaf0;
}

div.login-form-panel,
#wrapper div.login-form-panel {
  background: #fff;
}

/* Header correction: one top bar for logo/weather, one full-width search hero. */
#site-header,
.home-wrapper #site-header,
#wrapper:not(.home-wrapper) #site-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 16px;
  align-items: center;
  margin: 0 0 16px;
}

#site-header #logo,
.home-wrapper #logo,
#wrapper:not(.home-wrapper) #logo {
  position: static;
  z-index: auto;
  grid-column: 1;
  grid-row: 1;
  padding: 0;
}

#site-header #logo a,
.home-wrapper #logo a,
#wrapper:not(.home-wrapper) #logo a {
  min-height: 50px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#site-header #logo img,
.home-wrapper #logo img,
#wrapper:not(.home-wrapper) #logo img {
  width: min(250px, 58vw);
  max-height: 58px;
}

#site-header #wetter,
.home-wrapper #wetter,
#wrapper:not(.home-wrapper) #wetter {
  position: static;
  display: block;
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  min-width: 112px;
  max-width: 148px;
  margin: 0;
}

#site-header #header,
.home-wrapper #header,
#wrapper:not(.home-wrapper) #header {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.home-wrapper #header {
  min-height: 0;
}

#site-header #suchform,
.home-wrapper #suchform,
#wrapper:not(.home-wrapper) #suchform {
  max-width: 900px;
}

#site-header .header-nav,
.home-wrapper .header-nav,
#wrapper:not(.home-wrapper) .header-nav {
  justify-content: flex-start;
}

/* Entry sidebar actions: links and buttons must look identical. */
.entry-action-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.entry-action-grid .entry-action-control,
.entry-action-grid .entry-action-link {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid var(--bv-border);
  border-radius: 8px;
  background: #fff;
  color: var(--bv-heading);
  font: inherit;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

#wrapper .entry-action-grid .entry-action-link,
#wrapper .entry-action-grid .entry-action-link:visited,
#wrapper .entry-action-grid .entry-action-control {
  color: var(--bv-heading);
  text-decoration: none;
}

.entry-action-grid .entry-action-control:hover,
.entry-action-grid .entry-action-control:focus,
.entry-action-grid .entry-action-link:hover,
.entry-action-grid .entry-action-link:focus {
  border-color: var(--bv-border-strong);
  background: var(--bv-hover);
  color: var(--bv-heading);
  text-decoration: none;
}

.entry-action-grid .entry-action-control img,
.entry-action-grid .entry-action-link img {
  width: 20px;
  height: 20px;
  opacity: 0.75;
}

.entry-action-grid .entry-action-control span,
.entry-action-grid .entry-action-link span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.news-sources {
  display: grid;
  gap: 8px;
}

.news-sources h2 {
  margin: 0;
  color: var(--bv-heading);
  font-size: 16px;
  line-height: 1.25;
}

.news-sources p {
  margin: 0;
  color: var(--bv-muted);
  line-height: 1.4;
}

.news-source-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-source-list li {
  display: grid;
  gap: 3px;
  padding: 8px 0;
  border-top: 1px solid var(--bv-border);
}

.news-source-list li:first-child {
  border-top: 0;
}

.news-source-list a {
  font-weight: 700;
}

.news-feed-meta {
  color: var(--bv-muted);
}

.news-feed-title {
  line-height: 1.4;
}

.news-sources .news-feed-summary {
  margin: 2px 0;
  color: var(--bv-text);
  font-size: 14px;
  line-height: 1.55;
}

.news-source-list span,
.news-source-note {
  font-size: 13px;
}

@media (min-width: 760px) {
  #site-header #suchform,
  .home-wrapper #suchform,
  #wrapper:not(.home-wrapper) #suchform {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 112px;
  }
}

@media (max-width: 700px) {
  #site-header,
  .home-wrapper #site-header,
  #wrapper:not(.home-wrapper) #site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 10px;
  }

  #site-header #logo img,
  .home-wrapper #logo img,
  #wrapper:not(.home-wrapper) #logo img {
    width: min(205px, 56vw);
    max-height: 48px;
  }

  #site-header #wetter,
  .home-wrapper #wetter,
  #wrapper:not(.home-wrapper) #wetter {
    min-width: 86px;
    max-width: 104px;
    padding: 5px 6px;
    font-size: 11px;
  }

  #site-header #wetter .weather-icon,
  .home-wrapper #wetter .weather-icon,
  #wrapper:not(.home-wrapper) #wetter .weather-icon {
    width: 26px;
    height: 26px;
  }

  #site-header #header,
  .home-wrapper #header,
  #wrapper:not(.home-wrapper) #header {
    min-height: 0;
    padding: 14px;
  }

  #site-header #suchform,
  .home-wrapper #suchform,
  #wrapper:not(.home-wrapper) #suchform {
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-areas:
      "search submit"
      "place place";
    gap: 8px;
  }

  #site-header #search,
  .home-wrapper #search,
  #wrapper:not(.home-wrapper) #search {
    grid-area: search;
    min-height: 40px;
    padding: 9px 10px;
  }

  #site-header #maplist,
  .home-wrapper #maplist,
  #wrapper:not(.home-wrapper) #maplist {
    grid-area: place;
    min-height: 40px;
    padding: 9px 10px;
  }

  #site-header #sbutton,
  .home-wrapper #sbutton,
  #wrapper:not(.home-wrapper) #sbutton {
    grid-area: submit;
    align-self: stretch;
    justify-self: stretch;
    width: 44px;
    min-height: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--bv-gold);
  }

  #site-header #sbutton img,
  .home-wrapper #sbutton img,
  #wrapper:not(.home-wrapper) #sbutton img {
    width: 30px !important;
    max-width: 30px;
    height: auto !important;
  }

  #site-header .header-nav,
  .home-wrapper .header-nav,
  #wrapper:not(.home-wrapper) .header-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  #site-header #merkzettel,
  #site-header #neuereintrag,
  #site-header #login,
  .home-wrapper #merkzettel,
  .home-wrapper #neuereintrag,
  .home-wrapper #login,
  #wrapper:not(.home-wrapper) #merkzettel,
  #wrapper:not(.home-wrapper) #neuereintrag,
  #wrapper:not(.home-wrapper) #login {
    display: block;
    width: 100%;
    margin: 0;
  }

  #site-header .header-utility-link,
  .home-wrapper .header-utility-link,
  #wrapper:not(.home-wrapper) .header-utility-link {
    width: 100%;
    min-height: 34px;
    padding: 6px 4px;
    font-size: 11px;
    line-height: 1.15;
    text-align: center;
    overflow-wrap: anywhere;
  }
}

/* Final header redesign: compact directory toolbar, no legacy hero banner. */
#site-header,
.home-wrapper #site-header,
#wrapper:not(.home-wrapper) #site-header {
  display: grid;
  grid-template-columns: 244px minmax(0, 1fr) auto;
  grid-template-areas: "logo search weather";
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#site-header #logo,
.home-wrapper #logo,
#wrapper:not(.home-wrapper) #logo {
  grid-area: logo;
  position: static;
  justify-self: start;
  width: auto;
  min-width: 0;
  padding: 0;
  text-align: left;
}

#site-header #logo a,
.home-wrapper #logo a,
#wrapper:not(.home-wrapper) #logo a {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-height: 52px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

#site-header #logo img,
.home-wrapper #logo img,
#wrapper:not(.home-wrapper) #logo img {
  display: block;
  width: 226px;
  max-width: 100%;
  height: auto;
  max-height: 52px;
}

#site-header #header,
.home-wrapper #header,
#wrapper:not(.home-wrapper) #header {
  grid-area: search;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  justify-items: stretch;
  gap: 8px;
  width: 100%;
  min-height: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

#site-header #header form,
.home-wrapper #header form,
#wrapper:not(.home-wrapper) #header form {
  width: 100%;
}

#site-header #suchform,
.home-wrapper #suchform,
#wrapper:not(.home-wrapper) #suchform {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) 44px;
  gap: 8px;
  width: 100%;
  max-width: none;
  height: auto;
}

#site-header #suchform > img,
.home-wrapper #suchform > img,
#wrapper:not(.home-wrapper) #suchform > img {
  display: none;
}

#site-header #search,
#site-header #maplist,
.home-wrapper #search,
.home-wrapper #maplist,
#wrapper:not(.home-wrapper) #search,
#wrapper:not(.home-wrapper) #maplist {
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid var(--bv-border);
  border-radius: 7px;
  background: #fff;
  color: var(--bv-heading);
  font-size: 15px;
  box-shadow: none;
}

#site-header #search:focus,
#site-header #maplist:focus,
.home-wrapper #search:focus,
.home-wrapper #maplist:focus,
#wrapper:not(.home-wrapper) #search:focus,
#wrapper:not(.home-wrapper) #maplist:focus {
  border-color: var(--bv-border-strong);
  outline: 3px solid rgba(13, 119, 100, 0.16);
}

#site-header #sbutton,
.home-wrapper #sbutton,
#wrapper:not(.home-wrapper) #sbutton {
  align-self: stretch;
  justify-self: stretch;
  width: 44px;
  min-height: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--bv-border);
  border-radius: 7px;
  background: var(--bv-gold);
  box-shadow: none;
}

#site-header #sbutton img,
.home-wrapper #sbutton img,
#wrapper:not(.home-wrapper) #sbutton img {
  width: 30px !important;
  max-width: 30px;
  height: auto !important;
}

#site-header .header-nav,
.home-wrapper .header-nav,
#wrapper:not(.home-wrapper) .header-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: 100%;
}

#site-header #merkzettel,
#site-header #neuereintrag,
#site-header #login,
.home-wrapper #merkzettel,
.home-wrapper #neuereintrag,
.home-wrapper #login,
#wrapper:not(.home-wrapper) #merkzettel,
#wrapper:not(.home-wrapper) #neuereintrag,
#wrapper:not(.home-wrapper) #login {
  display: block;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}

#site-header .header-utility-link,
.home-wrapper .header-utility-link,
#wrapper:not(.home-wrapper) .header-utility-link {
  min-height: 31px;
  padding: 3px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--bv-link);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: none;
}

#site-header #wetter,
.home-wrapper #wetter,
#wrapper:not(.home-wrapper) #wetter {
  grid-area: weather;
  justify-self: end;
  width: auto;
  min-width: 118px;
  max-width: 132px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#site-header #wetter:empty,
.home-wrapper #wetter:empty,
#wrapper:not(.home-wrapper) #wetter:empty {
  display: none;
}

@media (max-width: 980px) {
  #site-header,
  .home-wrapper #site-header,
  #wrapper:not(.home-wrapper) #site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "logo weather"
      "search search";
  }

  #site-header #logo img,
  .home-wrapper #logo img,
  #wrapper:not(.home-wrapper) #logo img {
    width: 215px;
  }
}

@media (max-width: 700px) {
  #site-header,
  .home-wrapper #site-header,
  #wrapper:not(.home-wrapper) #site-header {
    gap: 10px;
    margin-bottom: 12px;
    padding: 0;
  }

  #site-header #logo a,
  .home-wrapper #logo a,
  #wrapper:not(.home-wrapper) #logo a {
    min-height: 44px;
  }

  #site-header #logo img,
  .home-wrapper #logo img,
  #wrapper:not(.home-wrapper) #logo img {
    width: min(190px, 58vw);
    max-height: 44px;
  }

  #site-header #wetter,
  .home-wrapper #wetter,
  #wrapper:not(.home-wrapper) #wetter {
    min-width: 94px;
    max-width: 104px;
    padding: 5px 6px;
    font-size: 11px;
  }

  #site-header #suchform,
  .home-wrapper #suchform,
  #wrapper:not(.home-wrapper) #suchform {
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-areas:
      "search submit"
      "place place";
    gap: 7px;
  }

  #site-header #search,
  .home-wrapper #search,
  #wrapper:not(.home-wrapper) #search {
    grid-area: search;
  }

  #site-header #maplist,
  .home-wrapper #maplist,
  #wrapper:not(.home-wrapper) #maplist {
    grid-area: place;
  }

  #site-header #sbutton,
  .home-wrapper #sbutton,
  #wrapper:not(.home-wrapper) #sbutton {
    grid-area: submit;
    width: 44px;
    min-height: 40px;
    height: 40px;
  }

  #site-header #sbutton img,
  .home-wrapper #sbutton img,
  #wrapper:not(.home-wrapper) #sbutton img {
    width: 30px !important;
    max-width: 30px;
  }

  #site-header .header-nav,
  .home-wrapper .header-nav,
  #wrapper:not(.home-wrapper) .header-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(118px, 1.28fr) minmax(0, 1fr);
    gap: 6px;
  }

  #site-header .header-utility-link,
  .home-wrapper .header-utility-link,
  #wrapper:not(.home-wrapper) .header-utility-link {
    width: 100%;
    min-height: 32px;
    padding: 4px 0;
    font-size: 11px;
    text-align: center;
    overflow-wrap: anywhere;
  }
}

body.entry-detail-page .entry-opening-hours {
  float: none;
  width: 100%;
  margin: 0 0 14px;
  padding: 12px;
  border: 1px solid var(--bv-border);
  border-radius: 8px;
  background: var(--bv-panel-soft);
}

body.entry-detail-page .entry-opening-hours h2 {
  margin: 0;
  font-size: 17px;
  line-height: 1.25;
}

body.entry-detail-page .entry-opening-hours-head {
  margin-bottom: 10px;
}

body.entry-detail-page .entry-opening-hours .entry-status-badge {
  align-self: flex-start;
}

body.entry-detail-page .entry-opening-hours dl {
  margin: 0;
}

body.entry-detail-page .entry-opening-hours dl div {
  display: grid;
  grid-template-columns: minmax(92px, max-content) minmax(0, 1fr);
  gap: 4px 10px;
  align-items: baseline;
}

body.entry-detail-page .entry-opening-hours dt {
  min-width: 0;
}

body.entry-detail-page .entry-opening-hours dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

body.entry-detail-page .entry-description {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (min-width: 760px) {
  body.entry-detail-page .entry-opening-hours {
    float: right;
    width: min(300px, 42%);
    margin: 0 0 14px 18px;
  }
}

/* 2026 layout refresh: one visual system for search, content, sidebars and forms. */
:root {
  --layout-canvas: #f4f1ea;
  --layout-surface: #ffffff;
  --layout-surface-soft: #f7f9f7;
  --layout-ink: #17231f;
  --layout-muted: #627069;
  --layout-green: #0b5d4e;
  --layout-green-dark: #073f35;
  --layout-red: #ad3d30;
  --layout-gold: #efb64e;
  --layout-border: #d9e1dc;
  --layout-border-strong: #aebfb7;
  --layout-radius: 14px;
  --layout-radius-small: 10px;
  --layout-shadow: 0 18px 46px rgba(24, 43, 36, 0.08);
  --layout-shadow-small: 0 8px 24px rgba(24, 43, 36, 0.07);
}

html {
  background: var(--layout-canvas);
}

body {
  background:
    radial-gradient(circle at 12% 0, rgba(239, 182, 78, 0.12), transparent 310px),
    linear-gradient(180deg, #fbfaf7 0, var(--layout-canvas) 420px);
  color: var(--layout-ink);
}

#wrapper,
#wrapper.home-wrapper {
  width: min(calc(100% - 32px), 1240px);
  max-width: 1240px;
  padding: 22px 0 42px;
}

#site-header,
.home-wrapper #site-header,
#wrapper:not(.home-wrapper) #site-header {
  grid-template-columns: 240px minmax(0, 1fr) 132px;
  grid-template-areas: "logo search weather";
  gap: 18px;
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid var(--layout-border);
  border-top: 4px solid var(--layout-red);
  border-radius: 0 0 var(--layout-radius) var(--layout-radius);
  background: linear-gradient(135deg, #fff 0%, #f8faf8 100%);
  box-shadow: var(--layout-shadow-small);
}

#site-header #logo a,
.home-wrapper #logo a,
#wrapper:not(.home-wrapper) #logo a {
  min-height: 48px;
}

#site-header #logo img,
.home-wrapper #logo img,
#wrapper:not(.home-wrapper) #logo img {
  width: 228px;
  max-height: 52px;
}

#site-header #header,
.home-wrapper #header,
#wrapper:not(.home-wrapper) #header {
  gap: 9px;
}

#site-header #suchform,
.home-wrapper #suchform,
#wrapper:not(.home-wrapper) #suchform {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) 116px;
  gap: 8px;
}

#site-header #search,
#site-header #maplist,
.home-wrapper #search,
.home-wrapper #maplist,
#wrapper:not(.home-wrapper) #search,
#wrapper:not(.home-wrapper) #maplist {
  min-height: 46px;
  padding: 10px 13px;
  border-color: var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: var(--layout-surface-soft);
  color: var(--layout-ink);
  font-size: 15px;
}

#site-header #search::placeholder,
#site-header #maplist::placeholder,
.home-wrapper #search::placeholder,
.home-wrapper #maplist::placeholder,
#wrapper:not(.home-wrapper) #search::placeholder,
#wrapper:not(.home-wrapper) #maplist::placeholder {
  color: #6c7772;
  opacity: 1;
}

#site-header #search:focus,
#site-header #maplist:focus,
.home-wrapper #search:focus,
.home-wrapper #maplist:focus,
#wrapper:not(.home-wrapper) #search:focus,
#wrapper:not(.home-wrapper) #maplist:focus {
  border-color: var(--layout-green);
  background: #fff;
  outline: 3px solid rgba(11, 93, 78, 0.14);
}

#site-header #sbutton,
.home-wrapper #sbutton,
#wrapper:not(.home-wrapper) #sbutton {
  display: inline-flex;
  gap: 7px;
  width: 116px;
  min-height: 46px;
  height: 46px;
  padding: 0 13px;
  border: 1px solid #c9851d;
  border-radius: var(--layout-radius-small);
  background: var(--layout-gold);
  color: #2e2617;
  font-weight: 800;
}

#site-header #sbutton:hover,
#site-header #sbutton:focus,
.home-wrapper #sbutton:hover,
.home-wrapper #sbutton:focus,
#wrapper:not(.home-wrapper) #sbutton:hover,
#wrapper:not(.home-wrapper) #sbutton:focus {
  border-color: #9f6918;
  background: #f4c267;
}

#site-header #sbutton img,
.home-wrapper #sbutton img,
#wrapper:not(.home-wrapper) #sbutton img {
  width: 22px !important;
  max-width: 22px;
}

.search-submit-label {
  display: inline;
  color: inherit;
  font-size: 14px;
  line-height: 1;
}

#site-header .header-nav,
.home-wrapper .header-nav,
#wrapper:not(.home-wrapper) .header-nav {
  gap: 6px;
}

#site-header .header-utility-link,
.home-wrapper .header-utility-link,
#wrapper:not(.home-wrapper) .header-utility-link {
  min-height: 30px;
  padding: 4px 9px;
  border: 1px solid var(--layout-border);
  border-radius: 999px;
  background: var(--layout-surface-soft);
  color: var(--layout-green-dark);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
}

#site-header .header-utility-link:hover,
#site-header .header-utility-link:focus,
.home-wrapper .header-utility-link:hover,
.home-wrapper .header-utility-link:focus,
#wrapper:not(.home-wrapper) .header-utility-link:hover,
#wrapper:not(.home-wrapper) .header-utility-link:focus {
  border-color: var(--layout-border-strong);
  background: #fff;
  color: var(--layout-red);
}

#site-header #wetter,
.home-wrapper #wetter,
#wrapper:not(.home-wrapper) #wetter {
  min-width: 120px;
  max-width: 132px;
  padding: 8px 10px;
  border: 1px solid var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: var(--layout-surface-soft);
}

.portal-layout,
.portal-layout--home {
  gap: 22px;
}

.portal-main {
  min-width: 0;
}

div.white_top,
.home-wrapper div.white_top,
#wrapper:not(.home-wrapper) div.white_top {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  min-height: 0;
  padding: 17px 20px 12px;
  border: 1px solid var(--layout-border);
  border-bottom: 0;
  border-radius: var(--layout-radius) var(--layout-radius) 0 0;
  background: var(--layout-surface);
  color: var(--layout-green-dark);
  box-shadow: var(--layout-shadow-small);
}

div.white_top::before,
.home-wrapper div.white_top::before,
#wrapper:not(.home-wrapper) div.white_top::before {
  content: "";
  position: absolute;
  top: 17px;
  bottom: 12px;
  left: 0;
  width: 4px;
  border-radius: 0 4px 4px 0;
  background: var(--layout-red);
}

div.white_top .section-title-inline,
.home-wrapper div.white_top .section-title-inline,
#wrapper:not(.home-wrapper) div.white_top .section-title-inline {
  color: inherit;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.25;
}

div.white_content,
.home-wrapper div.white_content,
#wrapper:not(.home-wrapper) div.white_content {
  margin: 0 0 22px;
  padding: 18px 20px 20px;
  border: 1px solid var(--layout-border);
  border-top: 0;
  border-radius: 0 0 var(--layout-radius) var(--layout-radius);
  background: var(--layout-surface);
  box-shadow: var(--layout-shadow-small);
}

div.white_top2,
.home-wrapper div.white_top2,
#wrapper:not(.home-wrapper) div.white_top2 {
  min-height: 0;
  height: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

div.white_bot,
div.white_bot2,
.home-wrapper div.white_bot,
.home-wrapper div.white_bot2,
#wrapper:not(.home-wrapper) div.white_bot,
#wrapper:not(.home-wrapper) div.white_bot2 {
  display: none;
}

.home-wrapper .home-hero-head {
  padding: 20px 22px;
  border-color: var(--layout-green-dark);
  background:
    linear-gradient(115deg, var(--layout-green-dark), #126b5a 72%, #1f7b69);
  color: #fff;
  box-shadow: var(--layout-shadow);
}

.home-wrapper .home-hero-head::before {
  display: none;
}

.home-wrapper .home-hero-head .section-title-inline {
  color: #fff;
  font-size: 24px;
}

.home-wrapper .home-hero-head .branch-search-form {
  flex: 0 1 350px;
}

.home-wrapper .home-hero-head #sinput {
  min-height: 44px;
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.98);
}

.home-wrapper .home-hero-head #rbutton {
  flex-basis: 44px;
  width: 44px;
  height: 44px;
  min-height: 44px;
  border-color: #c9851d;
  background: var(--layout-gold);
}

.home-wrapper .home-hero-panel {
  padding: 22px;
  border-color: var(--layout-border);
  box-shadow: var(--layout-shadow);
}

.home-wrapper .home-hero-panel .home-landing-intro {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  background: transparent;
}

.home-wrapper .home-landing-intro h2 {
  max-width: 720px;
  margin-bottom: 9px;
  color: var(--layout-green-dark);
  font-size: 23px;
}

.home-wrapper .home-landing-intro > p {
  max-width: 760px;
  color: var(--layout-muted);
  font-size: 16px;
}

.home-landing-facts,
.search-landing-facts,
.taxonomy-landing-facts,
.district-landing-facts,
.street-landing-facts {
  gap: 10px;
}

.home-landing-facts div,
.search-landing-facts div,
.taxonomy-landing-facts div,
.district-landing-facts div,
.street-landing-facts div {
  padding: 12px 13px;
  border-color: var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: var(--layout-surface-soft);
}

.home-landing-facts dt,
.search-landing-facts dt,
.taxonomy-landing-facts dt,
.district-landing-facts dt,
.street-landing-facts dt {
  color: var(--layout-muted);
  font-size: 12px;
}

.home-landing-facts dd,
.search-landing-facts dd,
.taxonomy-landing-facts dd,
.district-landing-facts dd,
.street-landing-facts dd {
  color: var(--layout-green-dark);
  font-size: 17px;
}

.home-quick-links ul,
.portal-source-group-links,
.search-related-links ul,
.taxonomy-related-links ul,
.district-related-links ul,
.street-related-links ul {
  gap: 8px;
}

.home-quick-links a,
.portal-source-group-links a,
.search-related-links a,
.taxonomy-related-links a,
.district-related-links a,
.street-related-links a,
.data-source-target-links a,
.source-content-target-links a,
.data-source-toc a {
  min-height: 42px;
  padding: 10px 12px;
  border-color: var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: var(--layout-surface-soft);
  color: var(--layout-green-dark);
}

.home-quick-links a:hover,
.home-quick-links a:focus,
.portal-source-group-links a:hover,
.portal-source-group-links a:focus,
.search-related-links a:hover,
.search-related-links a:focus,
.taxonomy-related-links a:hover,
.taxonomy-related-links a:focus,
.district-related-links a:hover,
.district-related-links a:focus,
.street-related-links a:hover,
.street-related-links a:focus,
.data-source-target-links a:hover,
.data-source-target-links a:focus,
.source-content-target-links a:hover,
.source-content-target-links a:focus,
.data-source-toc a:hover,
.data-source-toc a:focus {
  border-color: var(--layout-border-strong);
  background: #fff;
  color: var(--layout-red);
}

.home-wrapper #sbranche {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.home-wrapper div.rubriklink,
.home-wrapper div.branchlink,
.home-wrapper div.branchlink2,
#wrapper:not(.home-wrapper) div.rubriklink,
#wrapper:not(.home-wrapper) div.branchlink,
#wrapper:not(.home-wrapper) div.branchlink2 {
  min-height: 54px;
  padding: 11px 13px 11px 42px;
  border: 1px solid var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: #fff;
}

.home-wrapper div.rubriklink::after,
#wrapper:not(.home-wrapper) div.rubriklink::after,
div.branchlink::before,
div.branchlink2::before {
  left: 14px;
  background: var(--layout-green);
}

.home-wrapper div.rubriklink a,
.home-wrapper div.branchlink a,
.home-wrapper div.branchlink2 a,
#wrapper:not(.home-wrapper) div.rubriklink a,
#wrapper:not(.home-wrapper) div.branchlink a,
#wrapper:not(.home-wrapper) div.branchlink2 a {
  color: var(--layout-green-dark);
  font-size: 14px;
  font-weight: 750;
}

.home-wrapper div.rubriklink:hover,
.home-wrapper div.rubriklink:focus-within,
.home-wrapper div.branchlink:hover,
.home-wrapper div.branchlink:focus-within,
.home-wrapper div.branchlink2:hover,
.home-wrapper div.branchlink2:focus-within,
#wrapper:not(.home-wrapper) div.rubriklink:hover,
#wrapper:not(.home-wrapper) div.rubriklink:focus-within,
#wrapper:not(.home-wrapper) div.branchlink:hover,
#wrapper:not(.home-wrapper) div.branchlink:focus-within,
#wrapper:not(.home-wrapper) div.branchlink2:hover,
#wrapper:not(.home-wrapper) div.branchlink2:focus-within {
  border-color: var(--layout-border-strong);
  background: var(--layout-surface-soft);
  transform: translateY(-1px);
}

#nav_right,
.home-wrapper #nav_right,
#wrapper:not(.home-wrapper) #nav_right {
  gap: 16px;
}

.sidebar-panel {
  overflow: hidden;
  border: 1px solid var(--layout-border);
  border-radius: var(--layout-radius);
  background: var(--layout-surface);
  box-shadow: var(--layout-shadow-small);
}

.sidebar-panel-title,
.home-wrapper #nav_right .sidebar-panel-title,
#wrapper:not(.home-wrapper) #nav_right .sidebar-panel-title {
  margin: 0;
  padding: 14px 15px 11px;
  border: 0;
  border-bottom: 1px solid var(--layout-border);
  background: var(--layout-surface-soft);
  color: var(--layout-green-dark);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
}

.sidebar-panel-content {
  margin: 0;
  padding: 0;
  border: 0;
  background: #fff;
}

.sidebar-panel-content > .paddingbox {
  padding: 14px;
}

.district-nav {
  gap: 14px;
}

.district-nav-list {
  gap: 6px;
}

.district-nav-list li,
.home-wrapper .district-nav-list li,
#wrapper:not(.home-wrapper) .district-nav-list li {
  padding: 8px 9px;
  border-color: var(--layout-border);
  border-radius: 8px;
  background: var(--layout-surface-soft);
}

.street-letter-nav {
  gap: 6px;
}

.street-letter-link {
  min-height: 38px;
  border-color: var(--layout-border);
  border-radius: 8px;
  background: var(--layout-surface-soft);
}

.entry-results {
  gap: 12px;
}

.entry-result,
#wrapper:not(.home-wrapper) .entry-result {
  padding: 15px;
  border-color: var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: #fff;
  box-shadow: none;
}

.entry-result:hover,
#wrapper:not(.home-wrapper) .entry-result:hover {
  border-color: var(--layout-border-strong);
  box-shadow: var(--layout-shadow-small);
}

.entry-result-main strong a {
  color: var(--layout-green-dark);
  font-size: 17px;
}

.entry-result-contact {
  border-left-color: var(--layout-border);
}

.entry-result-action-button,
.entry-heading-action,
.entry-result-vcard-link {
  min-width: 38px;
  min-height: 38px;
  border-color: var(--layout-border);
  background: var(--layout-surface-soft);
}

.entry-opening-hours,
body.entry-detail-page .entry-opening-hours {
  border-color: var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: var(--layout-surface-soft);
}

.data-source-feature-card,
.data-source-group-card,
.data-source-roadmap-card,
.data-source-card,
.source-content-module,
.portal-source-list li,
.entry-context-group li,
.backlink-option,
.customer-entry-list-item,
.bottom-list-panel {
  border-color: var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: #fff;
}

#bottom_lists,
.home-wrapper #bottom_lists {
  gap: 16px;
}

.bottom-list-panel,
.home-wrapper .bottom-list-panel {
  padding: 17px;
  border-radius: var(--layout-radius);
  box-shadow: var(--layout-shadow-small);
}

.bottom-list-panel-title,
.home-wrapper .bottom-list-panel-title {
  color: var(--layout-green-dark);
  font-size: 17px;
}

.link-list li {
  padding: 10px 0;
  border-color: var(--layout-border);
}

.link-list-link {
  color: var(--layout-green-dark);
}

.page-tools {
  gap: 7px;
}

.page-tool-button,
.page-tool-link,
.entry-action-grid .entry-action-control,
.entry-action-grid .entry-action-link {
  min-height: 40px;
  border-color: var(--layout-border);
  border-radius: var(--layout-radius-small);
  background: var(--layout-surface-soft);
  color: var(--layout-green-dark);
}

.form-action-button,
#wrapper .form-action-button {
  min-height: 42px;
  border-color: #c9851d;
  border-radius: var(--layout-radius-small);
  background: var(--layout-gold);
  color: #2e2617;
}

#wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="image"]),
#wrapper select,
#wrapper textarea {
  min-height: 44px;
  border-color: var(--layout-border);
  border-radius: var(--layout-radius-small);
}

.site-footer {
  margin-top: 26px;
  padding: 20px 18px;
  border: 1px solid var(--layout-border);
  border-radius: var(--layout-radius);
  background: rgba(255, 255, 255, 0.72);
  color: var(--layout-muted);
}

@media (min-width: 860px) {
  .portal-layout,
  .portal-layout--home {
    grid-template-columns: minmax(0, 1fr) 318px;
    gap: 22px;
  }

  .portal-layout #nav_right {
    top: 20px;
  }

  .home-wrapper #sbranche {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1120px) {
  .home-wrapper #sbranche {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1040px) {
  #site-header,
  .home-wrapper #site-header,
  #wrapper:not(.home-wrapper) #site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "logo weather"
      "search search";
  }
}

@media (max-width: 700px) {
  #wrapper,
  #wrapper.home-wrapper {
    width: min(calc(100% - 20px), 1240px);
    padding-top: 10px;
  }

  #site-header,
  .home-wrapper #site-header,
  #wrapper:not(.home-wrapper) #site-header {
    gap: 10px;
    margin-bottom: 16px;
    padding: 13px;
    border-radius: 0 0 12px 12px;
  }

  #site-header #logo img,
  .home-wrapper #logo img,
  #wrapper:not(.home-wrapper) #logo img {
    width: min(205px, 58vw);
  }

  #site-header #wetter,
  .home-wrapper #wetter,
  #wrapper:not(.home-wrapper) #wetter {
    min-width: 88px;
    max-width: 102px;
    padding: 5px 7px;
  }

  #site-header #suchform,
  .home-wrapper #suchform,
  #wrapper:not(.home-wrapper) #suchform {
    grid-template-columns: minmax(0, 1fr) 48px;
    grid-template-areas:
      "search submit"
      "place place";
    gap: 7px;
  }

  #site-header #search,
  .home-wrapper #search,
  #wrapper:not(.home-wrapper) #search {
    grid-area: search;
  }

  #site-header #maplist,
  .home-wrapper #maplist,
  #wrapper:not(.home-wrapper) #maplist {
    grid-area: place;
  }

  #site-header #sbutton,
  .home-wrapper #sbutton,
  #wrapper:not(.home-wrapper) #sbutton {
    grid-area: submit;
    width: 48px;
    min-height: 46px;
    height: 46px;
    padding: 0;
  }

  .search-submit-label {
    display: none;
  }

  #site-header .header-nav,
  .home-wrapper .header-nav,
  #wrapper:not(.home-wrapper) .header-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  #site-header .header-utility-link,
  .home-wrapper .header-utility-link,
  #wrapper:not(.home-wrapper) .header-utility-link {
    width: 100%;
    min-height: 34px;
    padding: 7px 5px;
    border: 1px solid var(--layout-border);
    border-radius: 8px;
    background: var(--layout-surface-soft);
    font-size: 11px;
    text-align: center;
    text-decoration: none;
  }

  div.white_top,
  .home-wrapper div.white_top,
  #wrapper:not(.home-wrapper) div.white_top {
    padding: 15px 15px 10px;
    border-radius: 12px 12px 0 0;
  }

  div.white_content,
  .home-wrapper div.white_content,
  #wrapper:not(.home-wrapper) div.white_content {
    margin-bottom: 16px;
    padding: 15px;
    border-radius: 0 0 12px 12px;
  }

  .home-wrapper .home-hero-head {
    padding: 17px 16px;
  }

  .home-wrapper .home-hero-head .section-title-inline,
  div.white_top .section-title-inline,
  .home-wrapper div.white_top .section-title-inline,
  #wrapper:not(.home-wrapper) div.white_top .section-title-inline {
    font-size: 19px;
  }

  .home-wrapper .home-hero-head .branch-search-form {
    flex-basis: 100%;
  }

  .home-wrapper .home-hero-panel {
    padding: 16px;
  }

  .home-wrapper .home-landing-intro h2 {
    font-size: 20px;
  }

  .home-wrapper #sbranche {
    grid-template-columns: minmax(0, 1fr);
  }

  .entry-result,
  #wrapper:not(.home-wrapper) .entry-result {
    padding: 13px;
  }

  .site-footer {
    margin-top: 18px;
    padding: 16px 12px;
  }
}

/* Consistent spacing rhythm across legacy and modern page structures. */
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
}

#wrapper,
#wrapper.home-wrapper,
#wrapper:not(.home-wrapper) {
  padding-top: var(--space-6);
  padding-bottom: 40px;
}

#site-header,
.home-wrapper #site-header,
#wrapper:not(.home-wrapper) #site-header {
  margin-bottom: var(--space-6);
}

.portal-layout,
.portal-layout--home {
  column-gap: var(--space-6);
  row-gap: var(--space-5);
}

div.white_top,
.home-wrapper div.white_top,
#wrapper:not(.home-wrapper) div.white_top {
  gap: var(--space-3) var(--space-4);
  padding: var(--space-4) var(--space-5) var(--space-3);
}

div.white_top::before,
.home-wrapper div.white_top::before,
#wrapper:not(.home-wrapper) div.white_top::before {
  top: var(--space-4);
  bottom: var(--space-3);
}

div.white_top2,
.home-wrapper div.white_top2,
#wrapper:not(.home-wrapper) div.white_top2 {
  display: none;
  height: 0;
}

div.white_content,
.home-wrapper div.white_content,
#wrapper:not(.home-wrapper) div.white_content {
  margin: 0 0 var(--space-5);
  padding: 0;
}

div.white_content--padded,
.home-wrapper div.white_content--padded,
#wrapper:not(.home-wrapper) div.white_content--padded {
  padding: var(--space-5);
}

div.white_content--padded > .paddingbox,
.home-wrapper div.white_content--padded > .paddingbox,
#wrapper:not(.home-wrapper) div.white_content--padded > .paddingbox {
  padding: 0;
}

div.white_content--flush,
.home-wrapper div.white_content--flush,
#wrapper:not(.home-wrapper) div.white_content--flush {
  padding: 0;
}

div.white_content--flush > .content-panel,
.home-wrapper div.white_content--flush > .content-panel,
#wrapper:not(.home-wrapper) div.white_content--flush > .content-panel {
  padding: var(--space-5);
  background: transparent;
}

div.white_content--flush > .paddingbox,
.home-wrapper div.white_content--flush > .paddingbox,
#wrapper:not(.home-wrapper) div.white_content--flush > .paddingbox {
  padding: var(--space-5) var(--space-5) 0;
}

div.white_content--flush > #sbranche,
.home-wrapper div.white_content--flush > #sbranche,
#wrapper:not(.home-wrapper) div.white_content--flush > #sbranche {
  padding: var(--space-5);
}

div.white_content--flush > .paddingbox + #sbranche,
.home-wrapper div.white_content--flush > .paddingbox + #sbranche,
#wrapper:not(.home-wrapper) div.white_content--flush > .paddingbox + #sbranche {
  padding-top: var(--space-4);
}

div.white_content--standalone,
.home-wrapper div.white_content--standalone,
#wrapper:not(.home-wrapper) div.white_content--standalone {
  border-top: 1px solid var(--layout-border);
  border-radius: var(--layout-radius);
}

.home-wrapper .home-hero-panel,
.home-wrapper div.white_content--flush.home-hero-panel {
  padding: var(--space-6);
}

.imprint-content,
div.white_content--flush.imprint-content {
  padding: var(--space-4);
}

.breadcrumb-nav {
  margin: 0 0 var(--space-4);
}

.home-landing-intro,
.search-landing-intro,
.taxonomy-landing-intro,
.district-landing-intro,
.street-landing-intro,
.data-source-intro,
.portal-sources {
  margin-top: 0;
  margin-bottom: var(--space-5);
  padding: var(--space-4);
}

.home-landing-intro h2,
.search-landing-intro h2,
.taxonomy-landing-intro h2,
.district-landing-intro h2,
.street-landing-intro h2,
.data-source-intro h2,
.portal-sources h3 {
  margin: 0 0 var(--space-2);
}

.home-landing-intro > p,
.search-landing-intro > p,
.taxonomy-landing-intro > p,
.district-landing-intro > p,
.street-landing-intro > p,
.data-source-intro > p,
.portal-sources > p {
  margin-top: 0;
}

.home-landing-facts,
.search-landing-facts,
.taxonomy-landing-facts,
.district-landing-facts,
.street-landing-facts {
  gap: var(--space-3);
  margin-top: var(--space-4);
  margin-bottom: var(--space-4);
}

.home-quick-links,
.search-related-links,
.taxonomy-related-links,
.district-related-links,
.street-related-links {
  margin-top: var(--space-4);
}

.search-filter-nav,
.search-quality-snapshot,
.listing-quality-snapshot {
  margin: var(--space-4) 0 0;
  padding: var(--space-4);
}

.source-content-modules {
  gap: var(--space-4);
  margin: var(--space-4) 0 0;
}

.source-content-module {
  padding: var(--space-4);
}

.data-source-feature-grid,
.data-source-groups,
.data-source-toc,
.data-source-list {
  margin: 0 0 var(--space-6);
}

.data-source-feature-grid,
.data-source-group-grid,
.data-source-list {
  gap: var(--space-4);
}

.data-source-feature-card,
.data-source-group-card,
.data-source-card,
.portal-source-list li,
.entry-context-group li,
.backlink-option,
.customer-entry-list-item {
  padding: var(--space-4);
}

.data-source-feature-card h3,
.data-source-group-card h3,
.data-source-card h3,
.source-content-module h3 {
  margin: 0 0 var(--space-2);
}

.data-source-card dl {
  gap: var(--space-2) var(--space-4);
}

.data-source-list:last-child,
.data-source-list > :last-child,
.source-content-modules > :last-child {
  margin-bottom: 0;
}

.result-summary {
  margin: 0 0 var(--space-3);
  padding: var(--space-2) var(--space-3);
}

.listing-separator {
  margin: var(--space-3) 0;
}

.entry-results {
  gap: var(--space-3);
  margin: 0;
  padding: 0;
}

.entry-result,
#wrapper:not(.home-wrapper) .entry-result {
  padding: var(--space-4);
}

.link-list,
.street-directory-list,
.customer-entry-list,
.entry-review-list {
  margin-top: 0;
  margin-bottom: 0;
}

.link-list li,
.street-directory-list li,
.customer-entry-list-item {
  padding-top: var(--space-3);
  padding-bottom: var(--space-3);
}

.customer-form-grid {
  gap: var(--space-4);
  max-width: 680px;
  margin: 0 auto;
}

.customer-field {
  gap: var(--space-2) var(--space-4);
}

.customer-actions {
  gap: var(--space-2);
  margin-top: var(--space-1);
}

.public-entry-form {
  display: grid;
  gap: var(--space-5);
}

.public-entry-section {
  margin: 0;
  padding: var(--space-4);
  border: 1px solid var(--layout-border);
  border-radius: var(--layout-radius-small);
}

.public-entry-section legend {
  margin: 0;
  padding: 0 var(--space-2);
}

.route-target,
.route-directions--main {
  margin-top: var(--space-4);
  padding-top: var(--space-4);
}

.entry-hero,
.entry-context-links,
.entry-review-list,
.moderation-request-list {
  gap: var(--space-4);
}

#nav_right,
.home-wrapper #nav_right,
#wrapper:not(.home-wrapper) #nav_right,
#wrapper:not(.home-wrapper) .street-sidebar,
body.entry-detail-page #wrapper:not(.home-wrapper) #nav_right {
  gap: var(--space-4);
  margin: 0;
}

.sidebar-panel-title,
.home-wrapper #nav_right .sidebar-panel-title,
#wrapper:not(.home-wrapper) #nav_right .sidebar-panel-title {
  padding: 14px var(--space-4) var(--space-3);
}

.sidebar-panel-content,
#wrapper:not(.home-wrapper) .sidebar-panel-content {
  padding: 14px;
}

.sidebar-panel-content > .paddingbox,
#wrapper:not(.home-wrapper) .sidebar-panel-content > .paddingbox {
  padding: 0;
}

.page-tools {
  gap: var(--space-2);
}

#bottom_lists,
.home-wrapper #bottom_lists,
#wrapper:not(.home-wrapper) #bottom_lists {
  gap: var(--space-4);
  margin-top: var(--space-1);
}

.bottom-list-panel,
.home-wrapper .bottom-list-panel,
#wrapper:not(.home-wrapper) .bottom-list-panel {
  padding: var(--space-4);
}

.site-footer {
  margin-top: var(--space-6);
}

@media (min-width: 860px) {
  #wrapper:not(.home-wrapper) {
    grid-template-columns: minmax(0, 1fr) 318px;
    column-gap: var(--space-6);
    row-gap: 0;
  }

  #wrapper:not(.home-wrapper) #nav_right,
  #wrapper:not(.home-wrapper) .street-sidebar,
  body.entry-detail-page #wrapper:not(.home-wrapper) #nav_right {
    grid-row: 2 / span 60;
    align-self: start;
  }

  #wrapper:not(.home-wrapper) > .site-footer {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  #wrapper,
  #wrapper.home-wrapper,
  #wrapper:not(.home-wrapper) {
    width: min(calc(100% - 24px), 1240px);
    padding-top: var(--space-3);
    padding-bottom: var(--space-6);
  }

  #site-header,
  .home-wrapper #site-header,
  #wrapper:not(.home-wrapper) #site-header {
    margin-bottom: var(--space-4);
  }

  div.white_top,
  .home-wrapper div.white_top,
  #wrapper:not(.home-wrapper) div.white_top {
    padding: 14px var(--space-4) 10px;
  }

  div.white_content,
  .home-wrapper div.white_content,
  #wrapper:not(.home-wrapper) div.white_content {
    margin-bottom: var(--space-4);
  }

  div.white_content--padded,
  .home-wrapper div.white_content--padded,
  #wrapper:not(.home-wrapper) div.white_content--padded,
  div.white_content--flush > .content-panel,
  .home-wrapper div.white_content--flush > .content-panel,
  #wrapper:not(.home-wrapper) div.white_content--flush > .content-panel {
    padding: var(--space-4);
  }

  div.white_content--flush > .paddingbox,
  .home-wrapper div.white_content--flush > .paddingbox,
  #wrapper:not(.home-wrapper) div.white_content--flush > .paddingbox {
    padding: var(--space-4) var(--space-4) 0;
  }

  div.white_content--flush > #sbranche,
  .home-wrapper div.white_content--flush > #sbranche,
  #wrapper:not(.home-wrapper) div.white_content--flush > #sbranche {
    padding: var(--space-4);
  }

  .home-wrapper .home-hero-panel,
  .home-wrapper div.white_content--flush.home-hero-panel {
    padding: var(--space-4);
  }

  .data-source-feature-grid,
  .data-source-groups,
  .data-source-toc,
  .data-source-list {
    margin-bottom: var(--space-5);
  }

  .data-source-feature-card,
  .data-source-group-card,
  .data-source-card,
  .source-content-module,
  .entry-result,
  #wrapper:not(.home-wrapper) .entry-result {
    padding: 14px;
  }

  .customer-form-grid,
  .customer-field {
    gap: var(--space-3);
  }

  .public-entry-form {
    gap: var(--space-4);
  }

  .public-entry-section {
    padding: 14px;
  }

  #nav_right,
  .home-wrapper #nav_right,
  #wrapper:not(.home-wrapper) #nav_right,
  #wrapper:not(.home-wrapper) .street-sidebar {
    gap: var(--space-3);
  }

  .sidebar-panel-content,
  #wrapper:not(.home-wrapper) .sidebar-panel-content {
    padding: var(--space-3);
  }

  .site-footer {
    margin-top: var(--space-5);
  }
}

/*
 * Shared outer shell
 * Header, content grid and footer must resolve against the same wrapper track.
 * Using grid/block stretch avoids the old width: 100% sizing path that could
 * leave the header edge visually out of line with the content cards.
 */
#site-header,
.home-wrapper #site-header,
#wrapper:not(.home-wrapper) #site-header {
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  align-self: stretch;
  justify-self: stretch;
  grid-column: 1 / -1;
}

.portal-layout,
.portal-layout--home,
.site-footer {
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  align-self: stretch;
  justify-self: stretch;
}

#nav_right,
.home-wrapper #nav_right,
#wrapper:not(.home-wrapper) #nav_right,
#wrapper:not(.home-wrapper) .street-sidebar {
  width: 100%;
  min-width: 0;
  max-width: none;
  grid-template-columns: minmax(0, 1fr);
}

#nav_right > .sidebar-panel,
.home-wrapper #nav_right > .sidebar-panel,
#wrapper:not(.home-wrapper) #nav_right > .sidebar-panel,
#wrapper:not(.home-wrapper) .street-sidebar > .sidebar-panel {
  width: 100%;
  min-width: 0;
  max-width: none;
}


/* Source: editorial.css */
:root {
  --bv-text: #242424;
  --bv-muted: #62615e;
  --bv-primary: #35332f;
  --bv-primary-dark: #242424;
  --bv-line: #dedbd5;
  --bv-link: #a93c23;
  --layout-ink: #242424;
  --layout-muted: #62615e;
  --layout-green: #35332f;
  --layout-green-dark: #242424;
  --layout-border: #dedbd5;
  --layout-border-strong: #bcb7ae;
  --layout-surface-soft: #f7f5f1;
  --editorial-canvas: #e8e4dc;
  --editorial-paper: #f7f4ef;
  --editorial-paper-deep: #efebe3;
  --editorial-white: #fff;
  --editorial-ink: #14110d;
  --editorial-muted: rgba(20, 17, 13, 0.62);
  --editorial-soft: rgba(20, 17, 13, 0.08);
  --editorial-line: rgba(20, 17, 13, 0.14);
  --editorial-line-strong: rgba(20, 17, 13, 0.24);
  --editorial-red: #d94b2b;
  --editorial-red-dark: #b9381e;
  --editorial-display: "Helvetica Neue", Arial, sans-serif;
  --editorial-sans: "Helvetica Neue", "Nimbus Sans", Arial, sans-serif;
  --editorial-mono: "Liberation Mono", "Courier New", monospace;
}

html {
  background: var(--editorial-canvas);
}

.city-fragment-status {
  margin: 0;
  font-size: 13px;
}

.weather-updated {
  font-size: 11px;
  white-space: nowrap;
}

body:not(.home-page) {
  margin: 0;
  background: var(--editorial-canvas);
  color: var(--editorial-ink);
  font-family: var(--editorial-sans);
  font-size: 16px;
  line-height: 1.55;
  text-align: left;
}

body:not(.home-page) *,
body:not(.home-page) *::before,
body:not(.home-page) *::after {
  box-sizing: border-box;
}

body:not(.home-page) a {
  color: #c3411f;
  text-decoration: none;
}

body:not(.home-page) a:hover,
body:not(.home-page) a:focus {
  color: var(--editorial-ink);
}

body:not(.home-page) :focus-visible {
  outline: 3px solid var(--editorial-red);
  outline-offset: 3px;
}

body:not(.home-page) #wrapper:not(.home-wrapper) {
  position: relative;
  display: block;
  width: min(100%, 1280px);
  max-width: 1280px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 0;
  background: var(--editorial-paper);
  box-shadow: 0 24px 60px rgba(20, 17, 13, 0.14);
}

/* Shared masthead */
#site-header.editorial-header {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--editorial-paper);
  box-shadow: none;
}

#site-header .home-utility {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 32px;
  background: var(--editorial-ink);
  color: rgba(255, 255, 255, 0.72);
  font-size: 12.5px;
  letter-spacing: 0.02em;
}

#site-header #wetter.home-utility-weather {
  position: static;
  z-index: auto;
  display: flex;
  width: auto;
  min-width: 0;
  max-width: none;
  align-items: center;
  gap: 9px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  font-weight: 400;
  text-align: left;
  box-shadow: none;
}

#site-header .home-status-dot {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--editorial-red);
}

#site-header .weather-current {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

#site-header .weather-current strong {
  color: inherit;
  font-size: inherit;
  font-weight: 400;
}

#site-header .weather-current-row {
  display: flex;
  align-items: center;
  gap: 4px;
}

#site-header .weather-icon {
  width: 19px;
  height: 19px;
  filter: invert(1);
  opacity: 0.74;
}

#site-header .tempwarm {
  color: #fff;
  font-weight: 600;
}

#site-header .home-data-date {
  margin-left: 10px;
  color: rgba(255, 255, 255, 0.38);
}

#site-header #header-nav.home-utility-nav {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 22px;
  white-space: nowrap;
}

#site-header #header-nav #merkzettel,
#site-header #header-nav #neuereintrag,
#site-header #header-nav #login {
  position: static;
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent;
}

body #site-header #header-nav a,
body #site-header #header-nav .header-utility-link {
  display: inline-flex;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.78);
  font: inherit;
  font-weight: 500;
  box-shadow: none;
}

body #site-header #header-nav a:hover,
body #site-header #header-nav .header-utility-link:hover {
  color: #fff;
}

body #site-header #header-nav a.home-utility-cta {
  padding: 5px 12px;
  background: var(--editorial-paper-deep);
  color: var(--editorial-ink);
  font-weight: 700;
}

#site-header .home-masthead {
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 20px 32px;
  border-bottom: 1px solid var(--editorial-line);
}

#site-header #logo {
  position: static;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

#site-header #logo a.home-brand {
  display: inline-flex;
  min-height: 0;
  align-items: center;
  gap: 12px;
  color: var(--editorial-ink);
}

#site-header #logo .home-brand > img {
  display: block;
  width: 30px;
  height: 50px;
  max-height: none;
  object-fit: contain;
}

#site-header .home-brand-copy {
  display: grid;
  gap: 2px;
}

#site-header .home-brand-copy strong {
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-size: 20px;
  font-stretch: condensed;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

#site-header .home-brand-copy .home-brand-subtitle {
  color: rgba(20, 17, 13, 0.5);
  font-family: var(--editorial-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#site-header .home-primary-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(16px, 2vw, 28px);
  font-size: 14px;
  font-weight: 600;
}

body #site-header .home-primary-nav a {
  position: relative;
  padding: 9px 0;
  color: var(--editorial-ink);
  white-space: nowrap;
}

#site-header .home-primary-nav a::after {
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 2px;
  background: var(--editorial-red);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 160ms ease;
}

#site-header .home-primary-nav a:hover::after,
#site-header .home-primary-nav a:focus-visible::after {
  transform: scaleX(1);
}

#site-header .home-mobile-menu {
  display: none;
}

/* Compact search band used on every inner page */
body:not(.home-page) #wrapper:not(.home-wrapper) #header.editorial-header-search {
  position: static;
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 22px 32px 24px;
  border: 0;
  border-radius: 0;
  background: var(--editorial-ink);
  box-shadow: none;
}

body:not(.home-page) #header.editorial-header-search form {
  width: 100%;
  margin: 0;
}

body:not(.home-page) #header #suchform.editorial-search-form {
  position: static;
  display: grid;
  width: 100%;
  max-width: none;
  height: auto;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 168px;
  gap: 1px;
  background: rgba(255, 255, 255, 0.16);
}

body:not(.home-page) #header .editorial-search-field {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: 27px minmax(0, 1fr);
  align-items: end;
  padding: 11px 18px 12px;
  background: #fff;
}

body:not(.home-page) #header .editorial-search-kicker {
  grid-column: 1 / -1;
  margin-bottom: 3px;
  color: rgba(20, 17, 13, 0.48);
  font-family: var(--editorial-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

body:not(.home-page) #header .editorial-search-field > img {
  display: block;
  width: 20px;
  height: 24px;
  opacity: 0.52;
}

body:not(.home-page) #header #search,
body:not(.home-page) #header #maplist {
  width: 100%;
  min-width: 0;
  min-height: 29px;
  max-height: 52px;
  margin: 0;
  padding: 1px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--editorial-ink);
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  resize: none;
  box-shadow: none;
}

body:not(.home-page) #header #search::placeholder,
body:not(.home-page) #header #maplist::placeholder {
  color: rgba(20, 17, 13, 0.38);
  opacity: 1;
}

body:not(.home-page) #header #sbutton.search-submit-button {
  display: flex;
  width: 168px;
  height: auto;
  min-height: 70px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 0;
  padding: 12px 18px;
  border: 0;
  border-radius: 0;
  background: var(--editorial-red);
  color: #fff;
  cursor: pointer;
  font-family: var(--editorial-display);
  font-size: 17px;
  font-weight: 800;
}

body:not(.home-page) #header #sbutton.search-submit-button:hover {
  background: var(--editorial-red-dark);
}

body:not(.home-page) #header #sbutton img {
  display: none;
}

body:not(.home-page) #header .search-submit-label {
  display: inline;
}

/* Page grid and editorial panels */
body:not(.home-page) #wrapper:not(.home-wrapper) > :not(#site-header):not(#footer):not(.skip-link) {
  min-width: 0;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #nav_right,
body:not(.home-page) .street-sidebar {
  display: grid;
  align-content: start;
  gap: 24px;
  margin: 0;
}

body:not(.home-page) div.white_top,
body:not(.home-page) div.white_top2 {
  display: flex;
  width: auto;
  min-height: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin: 38px 32px 0;
  padding: 0 0 12px;
  border: 0;
  border-bottom: 2px solid var(--editorial-ink);
  border-radius: 0;
  background: transparent;
  color: var(--editorial-ink);
  box-shadow: none;
}

body:not(.home-page) div.white_top2:empty {
  display: none;
}

body:not(.home-page) div.white_top .section-title-inline,
body:not(.home-page) div.white_top2 .section-title-inline {
  display: block;
  flex: 1 1 auto;
  margin: 0;
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-size: 28px;
  font-stretch: condensed;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

body:not(.home-page) div.white_content {
  width: auto;
  margin: 0 32px;
  padding: 22px 0 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--editorial-ink);
  box-shadow: none;
}

body:not(.home-page) div.white_content.white_content--padded {
  padding-right: 0;
  padding-left: 0;
}

body:not(.home-page) div.white_content > .paddingbox {
  padding: 0;
}

body:not(.home-page) div.white_bot,
body:not(.home-page) div.white_bot2 {
  display: none;
}

body:not(.home-page) h1,
body:not(.home-page) h2,
body:not(.home-page) h3,
body:not(.home-page) h4 {
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-weight: 800;
  letter-spacing: -0.02em;
}

body:not(.home-page) p {
  text-wrap: pretty;
}

body:not(.home-page) .breadcrumb-nav {
  margin: 0 0 20px;
  color: var(--editorial-muted);
  font-family: var(--editorial-mono);
  font-size: 11px;
  letter-spacing: 0.03em;
}

body:not(.home-page) .breadcrumb-nav ol {
  gap: 6px;
}

body:not(.home-page) .breadcrumb-nav a {
  color: var(--editorial-muted);
}

/* Sidebars */
body:not(.home-page) .sidebar-panel {
  overflow: hidden;
  width: 100%;
  margin: 0;
  border: 1px solid var(--editorial-line);
  border-radius: 0;
  background: var(--editorial-paper);
  box-shadow: none;
}

body:not(.home-page) .sidebar-panel-title {
  margin: 0;
  padding: 12px 14px;
  border: 0;
  border-bottom: 2px solid var(--editorial-ink);
  background: transparent;
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

body:not(.home-page) .sidebar-panel-content {
  min-width: 0;
  padding: 0;
  background: transparent;
}

body:not(.home-page) .sidebar-panel-content > .paddingbox {
  padding: 14px;
}

body:not(.home-page) .page-tools {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--editorial-line);
}

body:not(.home-page) .page-tool-button,
body:not(.home-page) .page-tool-link {
  min-height: 44px;
  border: 0;
  border-radius: 0;
  background: var(--editorial-paper);
}

body:not(.home-page) .page-tool-link {
  grid-column: span 2;
  padding: 11px;
  color: #c3411f;
  text-align: center;
}

body:not(.home-page) .sidebar-panel table,
body:not(.home-page) .sidebar-panel ul {
  margin: 0;
}

/* Results, taxonomy links and list modules */
body:not(.home-page) #sbranche {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 0;
  background: var(--editorial-line);
}

body:not(.home-page) div.rubriklink,
body:not(.home-page) div.branchlink,
body:not(.home-page) div.branchlink2 {
  width: 100%;
  min-width: 0;
  min-height: 70px;
  margin: 0;
  padding: 15px 16px 15px 48px;
  border: 0;
  border-radius: 0;
  background-color: var(--editorial-paper);
  box-shadow: none;
}

body:not(.home-page) div.rubriklink {
  padding-left: 58px;
}

body:not(.home-page) div.rubriklink:hover,
body:not(.home-page) div.branchlink:hover,
body:not(.home-page) div.branchlink2:hover {
  background-color: #fff;
}

body:not(.home-page) div.rubriklink a,
body:not(.home-page) div.branchlink a,
body:not(.home-page) div.branchlink2 a {
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}

body:not(.home-page) .heading-rule {
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px 14px;
  border: 0;
  background: var(--editorial-ink);
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--editorial-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body:not(.home-page) .entry-results {
  display: grid;
  gap: 1px;
  margin: 0;
  padding: 1px;
  background: var(--editorial-line);
}

body:not(.home-page) .entry-result,
body:not(.home-page) .entry-result.entry-result--highlight {
  margin: 0;
  border: 0;
  border-radius: 0;
  background: var(--editorial-paper);
  box-shadow: none;
}

body:not(.home-page) .entry-result:hover {
  background: #fff;
}

body:not(.home-page) .entry-result-main > strong a {
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-size: 18px;
  font-weight: 800;
}

body:not(.home-page) .entry-result-main,
body:not(.home-page) .entry-result-tags {
  min-width: 0;
  overflow-wrap: anywhere;
}

body:not(.home-page) .entry-result-badge {
  border-radius: 0;
  background: var(--editorial-paper-deep);
  color: var(--editorial-ink);
  font-family: var(--editorial-mono);
  font-size: 10px;
  letter-spacing: 0.03em;
}

body:not(.home-page) .entry-result-badge--premium {
  background: var(--editorial-red);
  color: #fff;
}

body:not(.home-page) .street-directory-list,
body:not(.home-page) .district-nav-list,
body:not(.home-page) .data-source-anchor-list {
  gap: 1px;
  background: var(--editorial-line);
}

body:not(.home-page) .street-directory-list li,
body:not(.home-page) .district-nav-list li,
body:not(.home-page) .data-source-anchor-list li {
  border: 0;
  border-radius: 0;
  background: var(--editorial-paper);
}

body:not(.home-page) .street-letter-nav {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 6px;
}

body:not(.home-page) .street-letter-link {
  min-height: 42px;
  border: 1px solid var(--editorial-line-strong);
  border-radius: 0;
  background: transparent;
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-weight: 800;
}

body:not(.home-page) .street-letter-link:hover {
  border-color: var(--editorial-ink);
  background: var(--editorial-ink);
  color: #fff;
}

body:not(.home-page) #bottom_lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 36px 32px 48px;
  padding: 1px;
  background: var(--editorial-line);
}

body:not(.home-page) .bottom-list-panel {
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 0;
  border-radius: 0;
  background: var(--editorial-paper);
  box-shadow: none;
}

body:not(.home-page) .bottom-list-panel-title {
  margin: 0 0 10px;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 2px solid var(--editorial-ink);
  background: transparent;
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-size: 17px;
  font-weight: 800;
  text-align: left;
}

body:not(.home-page) .bottom-list-panel-content {
  padding: 0;
}

body:not(.home-page) .link-list li {
  padding: 8px 0;
  border-bottom: 1px solid var(--editorial-line);
  background: transparent;
}

body:not(.home-page) .link-list-link {
  color: var(--editorial-ink);
}

/* Intro, detail and data modules */
body:not(.home-page) .search-landing-intro,
body:not(.home-page) .taxonomy-landing-intro,
body:not(.home-page) .district-landing-intro,
body:not(.home-page) .street-landing-intro,
body:not(.home-page) .data-source-intro,
body:not(.home-page) .portal-sources,
body:not(.home-page) .source-content-module,
body:not(.home-page) .content-panel,
body:not(.home-page) .entry-hero,
body:not(.home-page) .entry-context-links,
body:not(.home-page) .entry-opening-hours,
body:not(.home-page) .entry-description,
body:not(.home-page) .entry-trust-panel,
body:not(.home-page) .entry-faq,
body:not(.home-page) .route-target {
  border: 1px solid var(--editorial-line);
  border-radius: 0;
  background: var(--editorial-paper);
  color: var(--editorial-ink);
  box-shadow: none;
}

body:not(.home-page) .search-landing-facts div,
body:not(.home-page) .taxonomy-landing-facts div,
body:not(.home-page) .district-landing-facts div,
body:not(.home-page) .street-landing-facts div,
body:not(.home-page) .data-source-feature-card,
body:not(.home-page) .data-source-card,
body:not(.home-page) .data-source-group-card,
body:not(.home-page) .data-source-roadmap-card,
body:not(.home-page) .entry-context-group {
  border: 1px solid var(--editorial-line);
  border-radius: 0;
  background: var(--editorial-paper);
  color: var(--editorial-ink);
  box-shadow: none;
}

body:not(.home-page) .data-source-feature-grid,
body:not(.home-page) .data-source-list,
body:not(.home-page) .data-source-group-grid,
body:not(.home-page) .data-source-roadmap-list {
  gap: 1px;
  padding: 1px;
  background: var(--editorial-line);
}

body:not(.home-page) .data-source-feature-card,
body:not(.home-page) .data-source-card,
body:not(.home-page) .data-source-group-card,
body:not(.home-page) .data-source-roadmap-card {
  border: 0;
}

body:not(.home-page) .data-source-card h3,
body:not(.home-page) .data-source-feature-card h3,
body:not(.home-page) .data-source-group-card h3 {
  border-bottom-color: var(--editorial-ink);
}

body.entry-detail-page .entry-title {
  font-family: var(--editorial-display);
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.035em;
}

body:not(.home-page) .entry-primary-action,
body:not(.home-page) .entry-description-action,
body:not(.home-page) .entry-action-link,
body:not(.home-page) .entry-action-button {
  border-radius: 0;
}

/* Forms and controls */
body:not(.home-page) input,
body:not(.home-page) select,
body:not(.home-page) textarea {
  min-height: 44px;
  border: 1px solid var(--editorial-line-strong);
  border-radius: 0;
  background: #fff;
  color: var(--editorial-ink);
  font: inherit;
  box-shadow: none;
}

body:not(.home-page) textarea {
  min-height: 120px;
}

body:not(.home-page) input:focus,
body:not(.home-page) select:focus,
body:not(.home-page) textarea:focus {
  border-color: var(--editorial-ink);
}

body:not(.home-page) .customer-form-grid,
body:not(.home-page) .public-entry-form,
body:not(.home-page) .public-entry-section {
  border-radius: 0;
}

body:not(.home-page) .customer-form-grid,
body:not(.home-page) fieldset.public-entry-section {
  border-color: var(--editorial-line);
  background: var(--editorial-paper);
  box-shadow: none;
}

body:not(.home-page) fieldset.public-entry-section legend {
  color: var(--editorial-ink);
  font-family: var(--editorial-display);
  font-size: 20px;
  font-weight: 800;
}

body:not(.home-page) button,
body:not(.home-page) .button,
body:not(.home-page) .submit-button,
body:not(.home-page) input[type="submit"] {
  border-radius: 0;
}

body:not(.home-page) .customer-actions button,
body:not(.home-page) .customer-actions .submit-button,
body:not(.home-page) .public-entry-form button[type="submit"],
body:not(.home-page) .route-form button[type="submit"] {
  border: 0;
  background: var(--editorial-red);
  color: #fff;
  font-family: var(--editorial-display);
  font-weight: 800;
}

body:not(.home-page) .branch-search-form {
  display: flex;
  flex: 0 1 310px;
  flex-direction: row-reverse;
  gap: 1px;
  margin: 0;
  background: var(--editorial-line-strong);
}

body:not(.home-page) #sinput {
  min-width: 0;
  min-height: 40px;
  border: 0;
  border-radius: 0;
}

body:not(.home-page) #rbutton {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  min-height: 42px;
  border: 0;
  border-radius: 0;
  background: var(--editorial-red);
}

body:not(.home-page) .infobox,
body:not(.home-page) .muted-message,
body:not(.home-page) .customer-form-note {
  border-radius: 0;
}

/* Footer shared by all dynamic and static pages */
body .site-footer {
  display: flex;
  min-height: 112px;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin: 48px 0 0;
  padding: 34px 32px;
  border: 0;
  border-radius: 0;
  background: var(--editorial-ink);
  color: rgba(255, 255, 255, 0.55);
  font-family: var(--editorial-sans);
  font-size: 12.5px;
  text-align: left;
  box-shadow: none;
}

body .site-footer-brand {
  order: -1;
  color: rgba(255, 255, 255, 0.7);
}

body .site-footer-brand strong {
  color: #fff;
  font-family: var(--editorial-display);
  font-size: 16px;
}

body .site-footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 17px;
}

body .site-footer-nav a,
body #wrapper .site-footer-nav a {
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
}

body .site-footer-nav a:hover,
body #wrapper .site-footer-nav a:hover {
  color: #fff;
}

/* Standalone error page */
body > .bv-error-page,
body #wrapper > .bv-error-page {
  width: min(100% - 32px, 760px);
  margin: 64px auto 0;
  padding: 42px;
  border: 0;
  border-top: 5px solid var(--editorial-red);
  border-radius: 0;
  background: var(--editorial-paper);
  color: var(--editorial-ink);
  box-shadow: 0 24px 60px rgba(20, 17, 13, 0.14);
}

body #wrapper > .bv-error-page {
  grid-column: 1 / -1;
}

body > .bv-error-page .bv-error-logo img,
body #wrapper > .bv-error-page .bv-error-logo img {
  content: url("/assets/brand/berliner-baer.svg");
  width: 30px;
  height: 50px;
}

body > .bv-error-page h1,
body #wrapper > .bv-error-page h1 {
  font-size: 38px;
}

body > .bv-error-page nav,
body #wrapper > .bv-error-page nav {
  border-top-color: var(--editorial-ink);
}

/*
 * The legacy styles contain highly specific, late header rules. Keep this
 * bridge equally specific so every page resolves to the shared masthead.
 */
body:not(.home-page) #wrapper:not(.home-wrapper) #site-header.editorial-header {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--editorial-paper);
  box-shadow: none;
  grid-template: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #wetter.home-utility-weather {
  position: static;
  display: flex;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #logo {
  position: static;
  width: auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #logo a.home-brand {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #logo .home-brand > img {
  width: 30px;
  max-width: 30px;
  height: 50px;
  max-height: 50px;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #header.editorial-header-search {
  position: static;
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 22px 32px 24px;
  border: 0;
  border-radius: 0;
  background: var(--editorial-ink);
  box-shadow: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #suchform.editorial-search-form {
  display: grid;
  width: 100%;
  max-width: none;
  height: auto;
  grid-template-areas: none;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 168px;
  gap: 1px;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header .editorial-search-field {
  grid-area: auto;
  grid-template-areas: none;
  grid-template-columns: 27px minmax(0, 1fr);
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header .editorial-search-field > img {
  grid-area: auto;
  grid-column: 1;
  grid-row: 2;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #search,
body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #maplist {
  width: 100%;
  min-height: 29px;
  margin: 0;
  padding: 1px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--editorial-ink);
  font-size: 16px;
  box-shadow: none;
  grid-area: auto;
  grid-column: 2;
  grid-row: 2;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #sbutton.search-submit-button {
  display: flex;
  width: 168px;
  height: auto;
  min-height: 70px;
  margin: 0;
  padding: 12px 18px;
  border: 0;
  border-radius: 0;
  background: var(--editorial-red);
  color: #fff;
  grid-area: auto;
  grid-column: auto;
  grid-row: auto;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #sbutton.search-submit-button img {
  display: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) h1,
body:not(.home-page) #wrapper:not(.home-wrapper) h2,
body:not(.home-page) #wrapper:not(.home-wrapper) h3,
body:not(.home-page) #wrapper:not(.home-wrapper) h4 {
  color: var(--editorial-ink);
}

body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top,
body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top2 {
  min-height: 0;
  margin: 38px 32px 0;
  padding: 0 0 12px;
  border: 0;
  border-bottom: 2px solid var(--editorial-ink);
  border-radius: 0;
  background: transparent;
  color: var(--editorial-ink);
  box-shadow: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top::before,
body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top2::before {
  display: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top .section-title-inline,
body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top2 .section-title-inline {
  margin: 0;
  color: var(--editorial-ink);
  font-size: 28px;
}

body:not(.home-page) #wrapper:not(.home-wrapper) div.white_content {
  width: auto;
  margin: 0 32px;
  padding: 22px 0 8px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel,
body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel-title,
body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel-content,
body:not(.home-page) #wrapper:not(.home-wrapper) .district-nav-list li,
body:not(.home-page) #wrapper:not(.home-wrapper) .street-directory-list li,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result,
body:not(.home-page) #wrapper:not(.home-wrapper) .bottom-list-panel,
body:not(.home-page) #wrapper:not(.home-wrapper) .search-landing-intro,
body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-landing-intro,
body:not(.home-page) #wrapper:not(.home-wrapper) .district-landing-intro,
body:not(.home-page) #wrapper:not(.home-wrapper) .street-landing-intro,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-intro,
body:not(.home-page) #wrapper:not(.home-wrapper) .portal-sources,
body:not(.home-page) #wrapper:not(.home-wrapper) .source-content-module,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-feature-card,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-card,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-group-card,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-roadmap-card,
body:not(.home-page) #wrapper:not(.home-wrapper) .content-panel,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-hero,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-context-links,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-context-group,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-opening-hours,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-description,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-trust-panel,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-faq,
body:not(.home-page) #wrapper:not(.home-wrapper) .customer-form-grid,
body:not(.home-page) #wrapper:not(.home-wrapper) .public-entry-form,
body:not(.home-page) #wrapper:not(.home-wrapper) .public-entry-section,
body:not(.home-page) #wrapper:not(.home-wrapper) input,
body:not(.home-page) #wrapper:not(.home-wrapper) select,
body:not(.home-page) #wrapper:not(.home-wrapper) textarea,
body:not(.home-page) #wrapper:not(.home-wrapper) button {
  border-radius: 0;
  box-shadow: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel {
  border: 1px solid var(--editorial-line);
  background: var(--editorial-paper);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel-title {
  padding: 12px 14px;
  border: 0;
  border-bottom: 2px solid var(--editorial-ink);
  background: transparent;
  color: var(--editorial-ink);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel-content {
  background: transparent;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .district-nav-list li,
body:not(.home-page) #wrapper:not(.home-wrapper) .street-directory-list li {
  border: 0;
  background: var(--editorial-paper);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-feature-card,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-card,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-group-card,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-roadmap-card {
  border-color: var(--editorial-line);
  background: var(--editorial-paper);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-group-grid,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-feature-grid,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-list,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-roadmap-list {
  gap: 1px;
  background: var(--editorial-line);
}

body:not(.home-page) #wrapper:not(.home-wrapper) fieldset.public-entry-section {
  border-color: var(--editorial-line);
  background: var(--editorial-paper);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-group-links a,
body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-target-links a,
body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-related-links a,
body:not(.home-page) #wrapper:not(.home-wrapper) .district-related-links a,
body:not(.home-page) #wrapper:not(.home-wrapper) .street-related-links a {
  border-radius: 0;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel a.wo,
body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel h2,
body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel h3 {
  color: var(--editorial-ink);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure {
  margin: 30px 0 24px;
  padding: 0;
  border: 0;
  border-top: 2px solid var(--editorial-ink);
  background: transparent;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 0;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure-head h2 {
  margin: 0;
  color: var(--editorial-ink);
  font-size: 24px;
  line-height: 1.1;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure .branch-search-form {
  flex: 0 1 310px;
  margin: 0;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure #sinput {
  min-height: 42px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid var(--editorial-line-strong);
  background: #fff;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure #rbutton {
  width: 42px;
  min-height: 42px;
  margin: 0;
  border: 0;
  background: var(--editorial-red);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure #sbranche {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  border: 0;
  background: var(--editorial-line);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure .heading-rule {
  padding: 10px 14px;
  background: var(--editorial-ink);
  color: rgba(255, 255, 255, 0.72);
  text-align: left;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure .branchlink {
  min-height: 62px;
  border: 0;
  background-color: var(--editorial-paper);
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-banner {
  margin: 24px 0;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-banner .ad-slot {
  margin: 0;
  border-radius: 0;
}

@media (min-width: 1100px) {
  body:not(.home-page) #wrapper:not(.home-wrapper) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 318px;
    gap: 0 44px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > #site-header,
  body:not(.home-page) #wrapper:not(.home-wrapper) > #footer {
    grid-column: 1 / -1;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > #nav_right,
  body:not(.home-page) #wrapper:not(.home-wrapper) > .street-sidebar {
    grid-column: 2;
    grid-row: 2 / span 40;
    margin: 42px 32px 0 0;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_top,
  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_top2,
  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_content,
  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_bot,
  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_bot2,
  body:not(.home-page) #wrapper:not(.home-wrapper) > #bottom_lists,
  body:not(.home-page) #wrapper:not(.home-wrapper) > form {
    grid-column: 1;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > form {
    min-width: 0;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > form > #nav_right {
    position: absolute;
    top: 252px;
    right: 32px;
    width: 318px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > form > div.white_top,
  body:not(.home-page) #wrapper:not(.home-wrapper) > form > div.white_top2,
  body:not(.home-page) #wrapper:not(.home-wrapper) > form > div.white_content {
    margin-right: 0;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > #bottom_lists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  #site-header .home-primary-nav {
    gap: 15px;
    font-size: 13px;
  }
}

@media (max-width: 1099px) {
  body:not(.home-page) #wrapper:not(.home-wrapper) {
    display: flex;
    flex-direction: column;
    box-shadow: none;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > #site-header {
    order: 0;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_top,
  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_top2,
  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_content,
  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_bot,
  body:not(.home-page) #wrapper:not(.home-wrapper) > div.white_bot2 {
    order: 10;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > form {
    display: flex;
    flex-direction: column;
    order: 10;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > form > div.white_top,
  body:not(.home-page) #wrapper:not(.home-wrapper) > form > div.white_top2,
  body:not(.home-page) #wrapper:not(.home-wrapper) > form > div.white_content,
  body:not(.home-page) #wrapper:not(.home-wrapper) > form > div.white_bot,
  body:not(.home-page) #wrapper:not(.home-wrapper) > form > div.white_bot2 {
    order: 10;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > #nav_right,
  body:not(.home-page) #wrapper:not(.home-wrapper) > .street-sidebar,
  body:not(.home-page) #wrapper:not(.home-wrapper) > form > #nav_right {
    order: 20;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > #bottom_lists {
    order: 30;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) > #footer {
    order: 40;
  }

  #site-header .home-primary-nav {
    display: none;
  }

  #site-header .home-mobile-menu {
    position: relative;
    display: block;
    margin-left: auto;
  }

  #site-header .home-mobile-menu summary {
    display: flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    list-style: none;
  }

  #site-header .home-mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  #site-header .home-mobile-menu summary span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--editorial-ink);
    transition: transform 160ms ease;
  }

  #site-header .home-mobile-menu[open] summary span:first-child {
    transform: translateY(4px) rotate(45deg);
  }

  #site-header .home-mobile-menu[open] summary span:last-child {
    transform: translateY(-4px) rotate(-45deg);
  }

  #site-header .home-mobile-menu > .home-mobile-nav {
    position: absolute;
    z-index: 30;
    top: 50px;
    right: -16px;
    display: grid;
    width: min(310px, calc(100vw - 32px));
    padding: 8px 16px;
    border-top: 3px solid var(--editorial-red);
    background: var(--editorial-ink);
    box-shadow: 0 18px 40px rgba(20, 17, 13, 0.24);
  }

  body #site-header .home-mobile-menu .home-mobile-nav a {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.86);
    font-weight: 600;
  }

  body:not(.home-page) #nav_right,
  body:not(.home-page) .street-sidebar {
    margin: 32px 16px 0;
  }

  body:not(.home-page) #bottom_lists {
    margin-right: 16px;
    margin-left: 16px;
  }
}

@media (max-width: 680px) {
  body:not(.home-page) {
    background: var(--editorial-paper);
  }

  #site-header .home-utility {
    min-height: 34px;
    padding: 0 16px;
    font-size: 11px;
  }

  #site-header .home-data-date,
  #site-header .weather-current strong,
  #site-header .home-utility-nav > div:not(:first-child) {
    display: none;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header .home-utility-nav > div:not(:first-child) {
    display: none;
  }

  body #site-header #header-nav #login,
  body #site-header #header-nav #neuereintrag {
    display: none;
  }

  #site-header #header-nav.home-utility-nav {
    gap: 0;
  }

  body #site-header #header-nav.home-utility-nav {
    width: auto;
    margin-left: auto;
  }

  #site-header .home-masthead {
    min-height: 72px;
    padding: 13px 16px;
  }

  #site-header #logo a.home-brand {
    gap: 10px;
  }

  #site-header #logo .home-brand > img {
    width: 23px;
    height: 38px;
  }

  #site-header .home-brand-copy strong {
    font-size: 17px;
  }

  #site-header .home-brand-copy .home-brand-subtitle {
    display: none;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #header.editorial-header-search {
    padding: 16px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #header.editorial-header-search {
    padding: 16px;
  }

  body:not(.home-page) #header #suchform.editorial-search-form {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #suchform.editorial-search-form {
    grid-template-areas: none;
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header .editorial-search-field {
    grid-column: 1;
  }

  body:not(.home-page) #header #sbutton.search-submit-button {
    width: 100%;
    min-height: 52px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #sbutton.search-submit-button {
    width: 100%;
    min-height: 52px;
    grid-column: 1;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #logo .home-brand > img {
    width: 23px;
    max-width: 23px;
    height: 38px;
    max-height: 38px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-group-links a,
  body:not(.home-page) #wrapper:not(.home-wrapper) .data-source-target-links a,
  body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-related-links a,
  body:not(.home-page) #wrapper:not(.home-wrapper) .district-related-links a,
  body:not(.home-page) #wrapper:not(.home-wrapper) .street-related-links a {
    border-radius: 0;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure-head {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure .branch-search-form {
    width: 100%;
    max-width: none;
    flex-basis: auto;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) .taxonomy-structure #sbranche {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.home-page) div.white_top,
  body:not(.home-page) div.white_top2 {
    align-items: stretch;
    flex-direction: column;
    margin: 32px 16px 0;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top,
  body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top2 {
    margin: 32px 16px 0;
  }

  body:not(.home-page) div.white_top .section-title-inline,
  body:not(.home-page) div.white_top2 .section-title-inline {
    font-size: 26px;
  }

  body:not(.home-page) div.white_content {
    margin-right: 16px;
    margin-left: 16px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) div.white_content {
    margin-right: 16px;
    margin-left: 16px;
  }

  body:not(.home-page) #sbranche {
    grid-template-columns: minmax(0, 1fr);
  }

  body:not(.home-page) .street-letter-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  body:not(.home-page) #bottom_lists {
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 32px;
  }

  body .site-footer {
    display: block;
    min-height: 0;
    margin-top: 32px;
    padding: 26px 16px;
  }

  body .site-footer-nav {
    justify-content: flex-start;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  body .site-footer-brand {
    display: block;
  }

  body > .bv-error-page,
  body #wrapper > .bv-error-page {
    width: 100%;
    margin: 0;
    padding: 32px 16px;
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  #site-header .home-primary-nav a::after,
  #site-header .home-mobile-menu summary span {
    transition: none;
  }
}

/* Shared directory controls and compact content hierarchy. */
body #site-header .home-utility {
  justify-content: space-between;
}

body #site-header #header-nav.home-utility-nav {
  margin-left: auto;
}

body #site-header .home-masthead {
  min-height: 80px;
  padding-top: 16px;
  padding-bottom: 16px;
}

body #site-header .home-primary-nav {
  gap: 20px;
  font-size: 14px;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #header.editorial-header-search {
  padding: 12px 32px 20px;
  border-bottom: 1px solid var(--editorial-line);
  background: var(--editorial-paper);
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #suchform.editorial-search-form {
  overflow: hidden;
  border: 1px solid #bcb7ae;
  border-radius: 8px;
  gap: 1px;
  background: #dedbd5;
}

body:not(.home-page) #wrapper:not(.home-wrapper) #site-header .editorial-search-field {
  padding: 6px 14px;
}

body:not(.home-page) #site-header .editorial-search-kicker {
  color: #595651;
  font-family: var(--editorial-sans);
  font-size: 12px;
  letter-spacing: normal;
  text-transform: none;
}

body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top,
body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top2 {
  justify-content: flex-start;
  margin-top: 28px;
  border-bottom-width: 1px;
  text-align: left;
}

body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top .section-title-inline,
body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top2 .section-title-inline {
  width: 100%;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.25;
  text-align: left;
}

body:not(.home-page) #wrapper:not(.home-wrapper) div.white_content {
  padding-top: 16px;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .breadcrumb-nav {
  margin-bottom: 16px;
  font-family: var(--editorial-sans);
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: normal;
}

body.entry-detail-page #adresse.entry-address-card {
  width: auto;
  min-width: 0;
  float: none;
  margin: 0;
}

body.entry-detail-page .entry-title {
  line-height: 1.2;
  letter-spacing: normal;
}

body.entry-detail-page #wrapper:not(.home-wrapper) .entry-hero {
  padding: 20px;
  border-radius: 8px;
  background: #fff;
}

body.entry-detail-page .entry-address-card address {
  font-style: normal;
}

body.entry-detail-page #wrapper:not(.home-wrapper) .entry-trust-panel {
  margin-top: 20px;
  padding: 12px;
  font-size: 14px;
  background: #f7f5f1;
}

body.search-page #wrapper:not(.home-wrapper) .search-filter-nav {
  padding: 0;
  margin: 0 0 20px;
  border: 0;
  background: transparent;
}

.search-result-count {
  margin: 0 0 16px;
  color: #595651;
}

.search-empty-message {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.6;
}

.search-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-bottom: 24px;
}

.search-empty-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 600;
}

.search-context {
  margin: 24px 0 8px;
  padding-top: 12px;
  border-top: 1px solid var(--editorial-line);
}

.search-context > summary {
  min-height: 44px;
  padding: 10px 0;
  color: #595651;
  cursor: pointer;
  font-weight: 600;
}

.search-context[open] > summary {
  margin-bottom: 12px;
}

body:not(.home-page) .entry-results {
  gap: 14px;
  padding: 0;
  background: transparent;
}

body.search-page .search-filter-chip {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.sidebar-district-disclosure {
  padding: 16px;
  border: 1px solid var(--editorial-line);
  border-radius: 8px;
  background: #fff;
}

.sidebar-district-disclosure > summary {
  padding: 8px 0;
  cursor: pointer;
  font-weight: 600;
}

.sidebar-district-disclosure[open] > summary {
  margin-bottom: 12px;
}

body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result {
  margin: 0;
  padding: 20px;
  border: 1px solid var(--editorial-line);
  border-radius: 8px;
  background: #fff;
}

body:not(.home-page) .entry-result-main strong a {
  font-family: var(--editorial-sans);
  font-size: 20px;
  line-height: 1.35;
}

body:not(.home-page) .entry-result-action-button,
body:not(.home-page) .entry-result-vcard-link {
  min-width: 44px;
  min-height: 44px;
  border-radius: 6px;
}

body.places-page #wrapper:not(.home-wrapper) .taxonomy-landing-intro {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  background: transparent;
}

body.places-page .taxonomy-landing-intro > h2 {
  display: none;
}

body.places-page #wrapper:not(.home-wrapper) .taxonomy-landing-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 16px;
}

body.places-page #wrapper:not(.home-wrapper) .taxonomy-landing-facts > div {
  padding: 0;
  border: 0;
  background: transparent;
}

body.places-page #wrapper:not(.home-wrapper) .link-list--poi,
body.places-page #wrapper:not(.home-wrapper) .white_content .link-list--poi-categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.places-page #wrapper:not(.home-wrapper) .white_content .link-list li {
  padding: 16px;
  min-width: 0;
  border: 1px solid var(--editorial-line);
  border-radius: 6px;
  background: #fff;
}

body.places-page .white_content .link-list-link {
  font-size: 16px;
  line-height: 1.4;
}

@media (max-width: 1100px) {
  body #site-header .home-primary-nav {
    gap: 12px;
    font-size: 13px;
  }
}

@media (max-width: 1099px) {
  body.entry-detail-page #wrapper:not(.home-wrapper) > #nav_right {
    display: grid;
    order: 20;
  }

  body.entry-detail-page #wrapper:not(.home-wrapper) > .entry-detail-panel {
    order: 10;
  }
}

@media (max-width: 680px) {
  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #header.editorial-header-search {
    padding: 0 16px 16px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #suchform.editorial-search-form {
    grid-template-columns: minmax(0, 1fr) 100px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header .editorial-search-field:first-child {
    grid-column: 1 / -1;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) #site-header #sbutton.search-submit-button {
    grid-column: 2;
    grid-row: 2;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top .section-title-inline,
  body:not(.home-page) #wrapper:not(.home-wrapper) div.white_top2 .section-title-inline {
    font-size: 24px;
  }

  body.entry-detail-page .entry-title {
    font-size: 26px;
  }

  body.entry-detail-page #wrapper:not(.home-wrapper) .entry-hero {
    padding: 16px;
  }

  body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result {
    padding: 16px;
  }

  body.places-page #wrapper:not(.home-wrapper) .link-list--poi,
  body.places-page #wrapper:not(.home-wrapper) .white_content .link-list--poi-categories {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Consistent components across directory, document, form and error templates. */
body:not(.home-page) #wrapper:not(.home-wrapper) {
  align-content: start;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .content-panel {
  padding: 0;
  border: 0;
  background: transparent;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel {
  border-radius: 8px;
  background: #fff;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel-title {
  border-bottom: 1px solid var(--editorial-line);
  font-size: 16px;
  line-height: 1.4;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .sidebar-panel a,
body:not(.home-page) #wrapper:not(.home-wrapper) .link-list-link {
  color: #a43820;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .page-tools {
  gap: 8px;
  padding: 0;
  background: transparent;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .page-tools > * {
  min-height: 44px;
  border: 1px solid var(--editorial-line);
  border-radius: 6px;
  background: #fff;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-main,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-contact,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-actions {
  min-width: 0;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-quality {
  font-size: 12px;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-actions {
  flex-wrap: wrap;
}
.content-disclosure {
  margin: 24px 0;
  border: 1px solid var(--editorial-line);
  border-radius: 8px;
  background: #fff;
  padding: 0 18px;
}
.content-disclosure > summary,
body .bottom-list-panel > summary,
body .data-source-card > summary {
  min-height: 48px;
  padding: 14px 0;
  cursor: pointer;
  line-height: 1.5;
  font-weight: 600;
}
.content-disclosure[open] { padding-bottom: 18px; }
body .bottom-list-panel > summary > h2,
body .data-source-card > summary > h3 {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
}
body #wrapper .bottom-list-panel {
  padding: 0 16px;
  border: 1px solid var(--editorial-line);
  border-radius: 8px;
  background: #fff;
}
body #wrapper .bottom-list-panel-content { padding: 8px 0 16px; }
body:not(.home-page) #wrapper:not(.home-wrapper) .poi-detail-table {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 16px 0 24px;
  border-collapse: collapse;
  background: #fff;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .poi-detail-table tbody { display: table-row-group; }
body:not(.home-page) .poi-detail-table th,
body:not(.home-page) .poi-detail-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--editorial-line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
  font-size: 15px;
  line-height: 1.5;
}
body:not(.home-page) .poi-detail-table th { width: 32%; }
body:not(.home-page) #wrapper:not(.home-wrapper) .form-action-button {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #b6371d;
  border-radius: 6px;
  background: var(--editorial-red);
  background-image: none;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  box-shadow: none;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .customer-field label,
body:not(.home-page) #wrapper:not(.home-wrapper) .customer-option {
  color: var(--editorial-ink);
  font-size: 15px;
  line-height: 1.5;
}
body:not(.home-page) #wrapper:not(.home-wrapper) input:not([type="checkbox"]):not([type="radio"]),
body:not(.home-page) #wrapper:not(.home-wrapper) select,
body:not(.home-page) #wrapper:not(.home-wrapper) textarea {
  max-width: 100%;
  border-color: #bab5ac;
  border-radius: 6px;
  font-size: 16px;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .public-entry-form,
body:not(.home-page) #wrapper:not(.home-wrapper) .public-entry-section {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .public-entry-section {
  padding: 20px;
  border: 1px solid var(--editorial-line);
  border-radius: 8px;
  background: #fff;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .public-entry-section legend { font-size: 19px; }
body:not(.home-page) #wrapper:not(.home-wrapper) .address-check-help {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--editorial-line);
  background: #fff;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .address-check-button {
  width: fit-content;
  margin: 0;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 15px;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .opening-hours-row {
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid var(--editorial-line);
}
body:not(.home-page) .opening-hours-controls { justify-content: flex-start; }
body:not(.home-page) .opening-hours-controls select { flex: 0 1 95px; }
body:not(.home-page) .opening-hours-closed { flex: 0 1 auto; font-size: 14px; min-height: 40px; }
body:not(.home-page) .opening-hours-day { font-size: 15px; font-weight: 600; }
body:not(.home-page) #wrapper:not(.home-wrapper) .branch-search-form { flex-direction: row; background: transparent; gap: 8px; }
body:not(.home-page) #wrapper:not(.home-wrapper) #rbutton { min-width: 44px; border-radius: 6px; }
body:not(.home-page) #wrapper:not(.home-wrapper) #rbutton img { width: 20px; height: 20px; }
body:not(.home-page) #wrapper:not(.home-wrapper) .directory-list-controls {
  margin: 20px 0;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--editorial-line);
  border-radius: 8px;
}
.directory-list-controls > label { display: block; margin-bottom: 8px; font-weight: 600; }
body:not(.home-page) #wrapper:not(.home-wrapper) .directory-list-controls input { width: 100%; margin: 0; }
.directory-list-paging { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.directory-list-paging p { flex: 1 1 180px; margin: 0; font-size: 14px; }
body:not(.home-page) #wrapper:not(.home-wrapper) .directory-list-paging button {
  min-height: 44px;
  padding: 8px 16px;
  border: 1px solid #bcb7ae;
  border-radius: 6px;
  background: #fff;
  color: #a43820;
  font-size: 15px;
}
.directory-list-paging button:disabled { opacity: .45; cursor: default; }
body #wrapper [hidden] { display: none !important; }
body:not(.home-page) #wrapper:not(.home-wrapper) .street-directory-list { gap: 8px; padding: 0; background: transparent; }
body:not(.home-page) #wrapper:not(.home-wrapper) .street-directory-list li { padding: 0; border-bottom: 1px solid var(--editorial-line); }
body:not(.home-page) #wrapper:not(.home-wrapper) .street-directory-link { display: block; padding: 14px 4px; min-height: 44px; font-size: 15px; line-height: 1.5; }
body:not(.home-page) #wrapper:not(.home-wrapper) .street-letter-nav { margin: 16px 0; gap: 6px; }
body:not(.home-page) #wrapper:not(.home-wrapper) .street-letter-link { min-width: 36px; min-height: 40px; border-radius: 4px; }
body.document-page #wrapper:not(.home-wrapper) { grid-template-columns: minmax(0, 1fr); }
body.document-page #wrapper:not(.home-wrapper) > div.white_top,
body.document-page #wrapper:not(.home-wrapper) > div.white_content,
body.document-page #wrapper:not(.home-wrapper) > div.white_bot,
body.document-page #wrapper:not(.home-wrapper) > div.white_bot2 {
  width: calc(100% - 64px);
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
body.document-page .white_content h2 { margin: 28px 0 12px; font-size: 22px; line-height: 1.35; }
body.document-page .white_content p { line-height: 1.7; }
body.document-page #wrapper:not(.home-wrapper) .data-source-list,
body.document-page #wrapper:not(.home-wrapper) .data-source-feature-grid,
body.document-page #wrapper:not(.home-wrapper) .data-source-group-grid { gap: 16px; background: transparent; }
body.document-page #wrapper:not(.home-wrapper) .data-source-card { padding: 0 18px; border: 1px solid var(--editorial-line); border-radius: 8px; background: #fff; }
body.document-page #wrapper:not(.home-wrapper) .data-source-card[open] { padding-bottom: 18px; }
body #wrapper > .bv-error-page { grid-column: 1 / -1; width: auto; max-width: 850px; margin: 40px auto; padding: 24px 32px; border: 0; }
body #wrapper > .bv-error-page h1 { font-family: var(--editorial-sans); font-size: 30px; line-height: 1.3; }
body #site-header #header-nav.home-utility-nav { width: auto; flex: 0 0 auto; margin-left: auto; }
@media (min-width: 1100px) {
  body.entry-form-page #wrapper:not(.home-wrapper) > form.entry-submission-form {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) 318px;
    gap: 0 32px;
  }
  body.entry-form-page #wrapper:not(.home-wrapper) > form.entry-submission-form > #nav_right {
    position: static;
    grid-column: 2;
    grid-row: 1 / span 4;
    width: auto;
    margin: 32px 32px 0 0;
  }
  body.entry-form-page #wrapper:not(.home-wrapper) > form.entry-submission-form > div.white_top,
  body.entry-form-page #wrapper:not(.home-wrapper) > form.entry-submission-form > div.white_content,
  body.entry-form-page #wrapper:not(.home-wrapper) > form.entry-submission-form > div.white_bot2 { grid-column: 1; }
}
@media (max-width: 680px) {
  body:not(.home-page) #wrapper:not(.home-wrapper) .poi-detail-table th,
  body:not(.home-page) #wrapper:not(.home-wrapper) .poi-detail-table td { display: block; width: auto; padding: 10px 12px; }
  body:not(.home-page) #wrapper:not(.home-wrapper) .poi-detail-table th { padding-bottom: 0; border: 0; }
  body:not(.home-page) #wrapper:not(.home-wrapper) .poi-detail-table td { padding-top: 4px; }
  body:not(.home-page) #wrapper:not(.home-wrapper) .public-entry-section { padding: 14px; }
  body:not(.home-page) #wrapper:not(.home-wrapper) .opening-hours-row { grid-template-columns: minmax(0, 1fr); }
  body.document-page #wrapper:not(.home-wrapper) > div.white_top,
  body.document-page #wrapper:not(.home-wrapper) > div.white_content,
  body.document-page #wrapper:not(.home-wrapper) > div.white_bot,
  body.document-page #wrapper:not(.home-wrapper) > div.white_bot2 { width: calc(100% - 32px); }
  body #wrapper > .bv-error-page { margin: 24px 16px; padding: 8px 0; }
  body #wrapper > .bv-error-page h1 { font-size: 26px; }
}
body:not(.home-page) #wrapper:not(.home-wrapper) .result-summary { font-size: 15px; line-height: 1.6; padding: 0; border: 0; background: transparent; }
body:not(.home-page) #wrapper:not(.home-wrapper) .listing-separator { display: none; }
body:not(.home-page) #wrapper:not(.home-wrapper) fieldset.public-entry-section { background: #fff; }
body:not(.home-page) #wrapper:not(.home-wrapper) .form-action-button img { filter: brightness(0) invert(1); }
body.street-directory #wrapper:not(.home-wrapper) { grid-template-columns: minmax(0, 1fr); }
body .directory-list-paging--bottom { margin: 20px 0; }
body #wrapper .directory-list-paging--bottom button { min-height: 44px; padding: 8px 16px; border: 1px solid #bcb7ae; border-radius: 6px; background: #fff; color: #a43820; font-size: 15px; }
@media (max-width: 680px) {
  .directory-list-paging { display: grid; grid-template-columns: 1fr 1fr; }
  .directory-list-paging p { grid-column: 1 / -1; }
}
body.keyword-map-page #wrapper:not(.home-wrapper) { grid-template-columns: minmax(0, 1fr); }
body.keyword-map-page #wrapper .keyword-map-main { grid-column: 1 / -1; width: auto; margin: 24px 32px; background: transparent; }
body.keyword-map-page .keyword-map-selector { padding: 0; background: transparent; }
body.keyword-map-page .keyword-map-selector h1 { font: 700 28px/1.3 var(--editorial-sans); color: var(--editorial-ink); }
body.keyword-map-page .keyword-map-svg { margin: 0 auto; max-height: 320px; }
body.keyword-map-page .keyword-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0; list-style: none; background: transparent; }
body.keyword-map-page .keyword-list a { display: block; padding: 12px; margin: 0; border-bottom: 1px solid var(--editorial-line); font-size: 16px; overflow-wrap: anywhere; }
body #Dialog { inset: 0; padding: 24px 16px; font-size: 16px; line-height: 1.5; }
body #DialogBody { width: min(100%, 600px); border-radius: 10px; }
body #DialogContent { padding: 20px; }
body #Dialog input:not([type="radio"]):not([type="checkbox"]),
body #Dialog select,
body #Dialog textarea { width: 100%; max-width: 100%; min-height: 44px; font-size: 16px; border-radius: 6px; }
body #Dialog .form-action-button { min-height: 44px; font-size: 16px; border-radius: 6px; background: var(--editorial-red); color: #fff; border: 0; }
body #Dialog .form-action-button img { filter: brightness(0) invert(1); }
body #Dialog #close { width: 44px; height: 44px; }
@media (max-width: 680px) {
  body.keyword-map-page #wrapper .keyword-map-main { margin: 24px 16px; }
  body.keyword-map-page .keyword-list { grid-template-columns: minmax(0, 1fr); }
  body #DialogContent { padding: 16px; }
}
/* Keep map layers below dialogs, including controls and attribution. */
body .leaflet-map { isolation: isolate; z-index: 0; }
body #Dialog { z-index: 10000; }
body #Dialog #close { position: sticky; top: 0; z-index: 1; display: flex; float: none; margin: 8px 8px 0 auto; background: #fff; border-radius: 6px; }
body #Dialog label { color: var(--editorial-ink); }
/* Give names and contact details enough room, with actions on a separate row. */
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 14px 24px;
}
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-main { grid-column: 1; }
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-contact { grid-column: 2; }
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-actions,
body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-distance { grid-column: 1 / -1; justify-content: flex-start; }
body:not(.home-page) #wrapper:not(.home-wrapper) > #bottom_lists { width: auto; min-width: 0; gap: 16px; margin: 24px 32px 32px; padding: 0; background: transparent; }
body:not(.home-page) #wrapper:not(.home-wrapper) > #bottom_lists > :only-child { grid-column: 1 / -1; }
@media (max-width: 680px) {
  body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body:not(.home-page) #wrapper:not(.home-wrapper) .entry-result-contact { grid-column: 1; }
  body:not(.home-page) #wrapper:not(.home-wrapper) > #bottom_lists { margin: 20px 16px 28px; }
}

/* Search imported places alongside the directory's business listings. */
.search-type-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 24px; }
body #wrapper .search-type-nav a, body #wrapper .place-show-all { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid var(--editorial-line); border-radius: 6px; background: #fff; font-size: 15px; line-height: 1.4; }
body #wrapper .search-type-nav a[aria-current] { border-color: var(--editorial-red); color: #a43820; font-weight: 700; }
body #wrapper .place-search-results { margin: 20px 0 32px; }
body #wrapper .place-result-list { display: grid; gap: 10px; list-style: none; margin: 16px 0; padding: 0; background: transparent; }
body #wrapper .place-result { min-width: 0; padding: 16px 18px; border: 1px solid var(--editorial-line); border-radius: 8px; background: #fff; }
body #wrapper .place-result h3 { margin: 6px 0; font: 700 18px/1.4 var(--editorial-sans); overflow-wrap: anywhere; }
body #wrapper .place-result p { margin: 0; font-size: 15px; line-height: 1.5; }
body #wrapper .place-result-kind { color: #59564f; font-size: 13px; line-height: 1.5; }
body #wrapper .nearby-places { margin: 28px 0; }
body #wrapper .nearby-places > h2, body #wrapper .place-search-results > h2 { margin: 0 0 8px; font: 700 22px/1.35 var(--editorial-sans); }
body #wrapper .place-provenance { margin: 20px 0; padding: 14px 16px; border: 1px solid var(--editorial-line); border-radius: 6px; font-size: 14px; line-height: 1.6; }
body #wrapper .place-provenance p { margin: 0 0 6px; }
body #wrapper .place-provenance summary, body #wrapper .source-more-modules > summary { min-height: 44px; padding: 10px 0; cursor: pointer; font-weight: 600; }
@media (max-width: 680px) {
  body #wrapper .search-type-nav a { flex: 1 1 auto; justify-content: center; }
  body #wrapper .place-result { padding: 14px; }
}

/* Directory forms keep optional fields compact and labels visible on phones. */
.customer-inline-field { display:flex; flex-direction:column; gap:.375rem; min-width:0; }
.customer-inline-field input { width:100%; box-sizing:border-box; }
.customer-inline-field > span { font-size:.875rem; font-weight:600; color:#444; }
.optional-contact-fields > summary, .entry-hours-disclosure > summary { cursor:pointer; padding:.875rem 0; font-weight:600; }
.entry-hours-note, .opening-hours-actions button, .entry-form-page .field-hint { font-size:.875rem; color:#505050; }
.entry-hours-disclosure { margin:1rem 0; }
.entry-form-page .city-fragment-status { font-size:.875rem; }

.server-directory-search { margin:1rem 0; }
.server-directory-search > label { display:block; font-weight:600; margin-bottom:.5rem; }
.server-directory-search-fields { display:flex; gap:.5rem; }
.server-directory-search-fields input { min-width:0; flex:1; font:inherit; padding:.75rem; }
.server-directory-search-fields button, .server-directory-paging a { min-height:44px; padding:.6rem .9rem; border:1px solid #b7b0a6; background:#fff; color:#71311c; border-radius:4px; font:inherit; }
.server-directory-paging { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin:1rem 0; font-size:.875rem; }
.link-list--poi-paged .link-list-link { font-size:1rem; }

.map-load-button { min-height:44px; padding:.75rem 1rem; margin:1rem; border:1px solid #9c8e81; border-radius:4px; font:inherit; font-weight:600; cursor:pointer; background:#fff; color:#71311c; }
.map-privacy-note { max-width:30rem; padding:0 1rem; font-size:.875rem; line-height:1.5; color:#45413a; }

/* Compact secondary actions and aggregate owner statistics. */
.entry-detail-page #nav_right .entry-action-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.entry-detail-page #nav_right .entry-action-grid .entry-action-control,
.entry-detail-page #nav_right .entry-action-grid .entry-action-link { min-height: 54px; padding: 9px; font-size: 13px; overflow-wrap: anywhere; }
.customer-metrics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.customer-metrics-grid > div { padding: 14px; border: 1px solid #d6d1c8; border-radius: 8px; }
.customer-metrics-grid dt { font-size: 14px; color: #54504b; }
.customer-metrics-grid dd { margin: 4px 0 0; font-size: 26px; font-weight: 700; }
.search-radius { margin: 16px 0; padding: 12px; background: #f5f2ec; border-radius: 8px; }
.search-radius label { display: block; margin-bottom: 6px; font-weight: 600; }
.search-radius select, .search-radius button { min-height: 44px; max-width: 100%; margin: 4px 6px 4px 0; }
.search-radius p { color: #54504b; font-size: 13px; margin: 6px 0 0; }
