/* Germany-specific additions to the shared US page and card layout. */
body[data-de] .us-brand-name { font-size: 19px; }
body[data-de] .de-language-link { display: inline-flex; align-items: center; gap: 7px; }
body[data-de] .de-country-flag { flex: none; }
body[data-de] #search-text { padding-right: 145px; }
.io-black-mode body[data-de] .us-search-reset { color: #c3cfdd; }
body[data-de] .rights-page .notice-nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
body[data-de] .rights-page a { overflow-wrap: anywhere; }
body[data-de] .rights-page [id] { scroll-margin-top: 110px; }
body[data-de] .rights-page .rights-notice { min-width: 0; }
body[data-de] .de-intro { color: #687684; font-size: 13px; line-height: 1.65; margin: 10px 2px 0; }
body[data-de] .de-city-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
body[data-de] .de-city-nav a { display: inline-flex; align-items: center; min-height: 40px; padding: 7px 11px; border: 1px solid #e3e8ec; border-radius: 7px; background: var(--main-bg-color,#fff); }
body[data-de] .de-city-nav [aria-current=page] { font-weight: 600; border-color: #cf6470; }
body[data-de] .de-city-office { padding: 14px 16px; border-left: 3px solid #d63743; background: var(--main-bg-color,#fff); line-height: 1.7; }
body[data-de] .de-city-office a { font-weight: 600; }
body[data-de] .de-city-groups { display: block; }
body[data-de] .de-city-group { margin: 25px 0; scroll-margin-top: 90px; }
body[data-de] .de-city-group h2 { font-size: 20px; margin: 0 0 14px; }
body[data-de] .more-tools:has([data-uni-filter]) { width: 680px; max-width: 60%; }
body[data-de] .more-tools .de-uni-city { flex: 1 1 115px; min-width: 0; min-height: 44px; border: 1px solid #d3dce3; border-radius: 8px; padding: 8px; background: var(--main-bg-color,#fff); color: inherit; }
body[data-de] .de-filter-reset { min-height: 44px; padding: 8px 10px; border: 1px solid #d3dce3; border-radius: 8px; background: var(--main-bg-color,#fff); color: inherit; }
body[data-de] .de-pagination { display: flex; flex-wrap: wrap; gap: 8px; }
body[data-de] .de-pagination a, body[data-de] .de-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 5px 10px; border: 1px solid #e3e8ec; border-radius: 6px; }
body[data-de] .de-pagination [aria-current=page] { font-weight: 700; border-color: #cf6470; }
body[data-de] .de-breadcrumb { margin-bottom: 22px; font-size: 12px; line-height: 1.8; color: #5f6d7a; }
body[data-de] .de-breadcrumb span { margin: 0 5px; }
body[data-de] .de-legal { max-width: 880px; }
body[data-de] .de-legal h2 { margin: 28px 0 13px; font-size: 21px; }
body[data-de] .de-legal p, body[data-de] .de-legal li { line-height: 1.85; }
body[data-de] [data-app-scope] { margin-top: 18px; }
body[data-de] .more-directory [hidden] { display: none !important; }
@media (max-width: 767px) {
  body[data-de] .us-brand-name { font-size: 14px; }
  body[data-de] .header-center .navbar-logo { max-width: calc(100vw - 140px); }
  body[data-de] .us-logo { max-width: 100%; }
  body[data-de] .us-brand-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  body[data-de] .us-search-reset { white-space: nowrap; }
  body[data-de] .more-tools:has([data-uni-filter]) { max-width: 100%; width: 100%; }
  body[data-de] .more-tools select { max-width: 100%; }
  /* Retain the original information icon while making it usable by touch. */
  body[data-de] .static-card:not(.province-home-entry):not(.province-directory-entry):not(.civic-region-card) > .sites-tags,
  body[data-de] .more-directory .more-sites-grid article.static-card > .sites-tags { display: block !important; }
  body[data-de] .static-card:not(.province-home-entry):not(.province-directory-entry):not(.civic-region-card) > .sites-body { min-height: 90px; padding: 6px 6px 28px !important; }
  body[data-de] .static-card .item-body { min-width: 0 !important; overflow: hidden !important; }
  body[data-de] .static-card .item-title { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden !important; white-space: normal; }
  body[data-de] .static-card .sites-tags .togo { display: inline-flex !important; align-items: center; justify-content: center; position: absolute !important; right: 0; top: auto; bottom: 0; min-width: 40px; min-height: 40px; padding: 0; opacity: 1 !important; transform: none !important; }
  body[data-de] .more-directory .static-card .sites-tags { position: static; min-height: 0; padding: 0 !important; }
}
@media (max-width: 389px) {
  body[data-de] #search-text { padding-left: 10px; padding-right: 134px; }
  body[data-de] .us-search-reset { font-size: 11px; }
  body[data-de] .search-form[action*="search/index.html"] #search-text::placeholder { font-size: clamp(12px, calc(7vw - 10.4px), 16px); }
}
@media (max-width: 430px) {
  body[data-de] .directory-search-controls input { padding-left: 10px; padding-right: 8px; }
  body[data-de] .directory-search-controls input::placeholder { font-size: clamp(13.5px, calc(5vw - 2.5px), 16px); }
  body[data-de] .directory-search-controls button { min-width: 70px; padding: 0 8px; gap: 4px; font-size: 14px; }
}
@media (max-width: 375px) {
  body[data-de] .directory-search-controls input { padding-left: 8px; padding-right: 4px; }
  body[data-de] .directory-search-controls button { min-width: 64px; padding: 0 4px; gap: 3px; font-size: 12px; }
  body[data-de] .directory-search-controls button .iconfont { font-size: 14px; }
}
@media (max-width: 370px) {
  body[data-de] .static-card .item-title { overflow-wrap: normal; word-break: normal; }
}

/* German hero artwork; retain existing search and responsive layout. */
body[data-de] .static-banner,
body[data-de] .directory-search-hero {
  background-image: url("../bg/berlin-city-wide.jpg") !important;
  background-image: image-set(url("../bg/berlin-city-wide-hd.avif") type("image/avif"), url("../bg/berlin-city-wide-hd.webp") type("image/webp"), url("../bg/berlin-city-wide.jpg") type("image/jpeg")) !important;
  background-position: center 65% !important;
}
@media (max-width: 1280px) {
  body[data-de] .static-banner,
  body[data-de] .directory-search-hero {
    background-image: url("../bg/berlin-city-compact.jpg") !important;
    background-image: image-set(url("../bg/berlin-city-compact-hd.avif") type("image/avif"), url("../bg/berlin-city-compact-hd.webp") type("image/webp"), url("../bg/berlin-city-compact.jpg") type("image/jpeg")) !important;
  }
}
@media (max-width: 767px) {
  body[data-de] .static-banner,
  body[data-de] .directory-search-hero {
    background-image: url("../bg/berlin-city-narrow.jpg") !important;
    background-image: image-set(url("../bg/berlin-city-narrow-hd.avif") type("image/avif"), url("../bg/berlin-city-narrow-hd.webp") type("image/webp"), url("../bg/berlin-city-narrow.jpg") type("image/jpeg")) !important;
  }
}

/* Clear country scenery, generated 2026-10-28; responsive crop verified in the site. */
html body[data-country-site="de"] .static-banner,html body[data-country-site="de"] .directory-search-hero{background-color:#dce6e6!important;background-image:radial-gradient(ellipse 42% 52% at calc(50% + 100px) 84%,#f3f6f5eb 0%,#f3f6f5d1 38%,#f3f6f55c 78%,#f3f6f540 100%),url("../backgrounds/country-view-20261028-v2-desktop.jpg")!important;background-image:radial-gradient(ellipse 42% 52% at calc(50% + 100px) 84%,#f3f6f5eb 0%,#f3f6f5d1 38%,#f3f6f55c 78%,#f3f6f540 100%),image-set(url("../backgrounds/country-view-20261028-v2-desktop.webp") type("image/webp"),url("../backgrounds/country-view-20261028-v2-desktop.jpg") type("image/jpeg"))!important;background-size:cover!important;background-position:50% 65%!important;}
@media(max-width:1280px){html body[data-country-site="de"] .static-banner,html body[data-country-site="de"] .directory-search-hero{background-color:#dce6e6!important;background-image:radial-gradient(ellipse 42% 52% at calc(50% + 100px) 84%,#f3f6f5eb 0%,#f3f6f5d1 38%,#f3f6f55c 78%,#f3f6f540 100%),url("../backgrounds/country-view-20261028-v2-compact.jpg")!important;background-image:radial-gradient(ellipse 42% 52% at calc(50% + 100px) 84%,#f3f6f5eb 0%,#f3f6f5d1 38%,#f3f6f55c 78%,#f3f6f540 100%),image-set(url("../backgrounds/country-view-20261028-v2-compact.webp") type("image/webp"),url("../backgrounds/country-view-20261028-v2-compact.jpg") type("image/jpeg"))!important;background-size:cover!important;background-position:50% 65%!important;}}
@media(max-width:767px){html body[data-country-site="de"] .static-banner,html body[data-country-site="de"] .directory-search-hero{background-color:#dce6e6!important;background-image:radial-gradient(ellipse 95% 40% at 50% 84%,#f3f6f5eb 0%,#f3f6f5d1 38%,#f3f6f55c 78%,#f3f6f540 100%),url("../backgrounds/country-view-20261028-v2-mobile.jpg")!important;background-image:radial-gradient(ellipse 95% 40% at 50% 84%,#f3f6f5eb 0%,#f3f6f5d1 38%,#f3f6f55c 78%,#f3f6f540 100%),image-set(url("../backgrounds/country-view-20261028-v2-mobile.webp") type("image/webp"),url("../backgrounds/country-view-20261028-v2-mobile.jpg") type("image/jpeg"))!important;background-size:cover!important;background-position:28% center!important;}}
