/* The current InnSAN design is loaded first. Only site-specific additions live here. */
.badsanierung-page .hero-background { opacity: 1; animation: hero-image-fade 1.1s ease-out both; }
.badsanierung-page .service-card.plain, .badsanierung-page .service-card.plain:hover { text-decoration: none; color: var(--c-ink); }
.badsanierung-page .service-tag { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 700; color: var(--c-orange-ink); text-transform: uppercase; letter-spacing: .08em; }
.badsanierung-page .detail-facts-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.badsanierung-page #kontakt { scroll-margin-top: 120px; }
.badsanierung-page .btn { max-width: 100%; white-space: normal; text-align: center; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.gallery-item { display: block; margin: 0; aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; background: #E8EAEA; }
.gallery-item img { width: 100%; height: 100%; display: block; object-fit: cover; }
.swatch-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.swatch-item { display: block; overflow: hidden; border-radius: 14px; background: #E8EAEA; aspect-ratio: 1; }
.swatch-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.badsanierung-page .blog-body { overflow-wrap: anywhere; }
.badsanierung-page .blog-body img { max-width: 100%; height: auto; object-fit: contain; border-radius: 16px; }
.badsanierung-page .blog-body figure { max-width: 100%; }
.badsanierung-page .blog-body .wp-block-columns { display: flex; flex-wrap: wrap; gap: 24px; }
.badsanierung-page .blog-body .wp-block-column { flex: 1 1 240px; min-width: 0; }
.badsanierung-page .blog-body .wp-block-image { margin: 28px 0; }
.badsanierung-page .blog-body .aligncenter { margin-inline: auto; text-align: center; }
.badsanierung-page .blog-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.badsanierung-page .blog-body td, .badsanierung-page .blog-body th { padding: 12px; border: 1px solid var(--c-border); }
.badsanierung-page .blog-body blockquote { margin: 24px 0; padding-left: 24px; border-left: 3px solid var(--c-orange); }
.badsanierung-page .blog-body h2, .badsanierung-page .blog-body h3 { scroll-margin-top: 120px; }
.badsanierung-page .blog-hero-image { background-size: cover; }
.blog-original-image { display: block; width: 100%; height: min(560px, 52vw); object-fit: cover; border-radius: 24px; background: #EDF1F3; }
.badsanierung-page .blog-index-card-image,
.badsanierung-page .related-article-image { display: grid; place-items: center; background: #EDF1F3; }
.badsanierung-page .blog-index-card-image img,
.badsanierung-page .related-article-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.badsanierung-page .leistung-card-image { background-size: cover; }
.badsanierung-page .detail-block-media img,
.badsanierung-page .service-gallery-item img { object-fit: cover; }
.badsanierung-form-options { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.badsanierung-form-option { display: flex !important; align-items: center; gap: 7px; margin: 0 !important; font-size: 15px !important; font-weight: 500 !important; }
.badsanierung-form-option input { width: auto; height: auto; }
.badsanierung-page .blog-index-card-excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 900px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .swatch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .gallery-grid { gap: 12px; }
  .badsanierung-page .detail-hero-content { padding: 36px 20px 48px; }
  .badsanierung-page .detail-hero h1 { font-size: 34px; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .badsanierung-page .hero-background { animation: none; }
}
