/*
Theme Name: Wagner & Steinbach
Theme URI: https://www.wspflege.de
Author: Wagner & Steinbach Pflege GmbH
Author URI: https://www.wspflege.de
Description: Individuelles Block-Theme für Wagner & Steinbach Pflege GmbH.
Version: 1.0.29
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: Proprietary
Text Domain: wagner-steinbach
*/

@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

:root {
  --font-serif: 'Cormorant Garamond', Georgia, serif;
  --font-heading: 'Cormorant Garamond', Georgia, serif;
  --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  
  --bg-color: #FAF8F5;
  --text-main: #3A322D;
  --text-muted: #6E645D;
  --accent: #A87D6F;
  --accent-hover: #7D594E;
  --accent-soft: rgba(168, 125, 111, 0.12);
  --border-color: rgba(168, 125, 111, 0.22);
  --content-max-width: 1216px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {

  font-size: var(--ws-base-font-size, 16px);
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  background-color: var(--bg-color);
  color: var(--text-main);
  line-height: 1.65;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  position: relative;
}

/* ==========================================================================
   ELEGANT LOGO WATERMARK & BRAND ACCENTS (Nur Frontend)
   Dezentes Markenwasserzeichen: Bei breiten Bildschirmen (>= 1280px) beidseitig
   in den Randspalten außerhalb des Leseflusses fixiert (in Edge & Firefox identisch).
   Unter 1280px strikt ausgeblendet, damit der Inhaltsbereich überall 100% sauber bleibt.
   Im WordPress-Admin & Gutenberg-Editor strikt deaktiviert (keine Doppel-Logos).
   ========================================================================== */
body:not(.wp-admin)::before,
body:not(.wp-admin)::after {
  content: "";
  display: none !important;
  position: fixed;
  background-image: url('logo.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
  z-index: 0;
  transition: opacity 0.3s ease;
}

/* Bildschirme unter 1280px: Keine Wasserzeichen – Lesebereich bleibt makellos sauber */
@media (max-width: 1279px) {
  body:not(.wp-admin)::before,
  body:not(.wp-admin)::after {
    display: none !important;
  }
}

/* Bildschirme ab 1280px: Beidseitige Rand-Wasserzeichen links und rechts außerhalb des Textes (Edge & Firefox identisch) */
@media (min-width: 1280px) {
  body:not(.wp-admin)::before,
  body:not(.wp-admin)::after {
    content: "";
    display: block !important;
    position: fixed;
    width: clamp(70px, calc((100vw - 1240px) * 0.6), 210px);
    height: clamp(70px, calc((100vw - 1240px) * 0.6), 210px);
    aspect-ratio: 1;
    background-image: url('logo.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: var(--ws-logo-watermark-opacity, 0.12);
    pointer-events: none;
    z-index: 0;
    top: 50vh !important;
  }

  /* Beidseitig horizontal mittig im Außenrand und vertikal mittig im Viewport */
  body:not(.wp-admin)::before {
    left: max(16px, calc((100vw - 1216px) / 4)) !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
  }

  body:not(.wp-admin)::after {
    right: max(16px, calc((100vw - 1216px) / 4)) !important;
    left: auto !important;
    transform: translate(50%, -50%) !important;
  }
}

/* Gutenberg Editor & WP-Admin: Keine Wasserzeichen oder Doppel-Logos */
body.wp-admin::before,
body.wp-admin::after,
body.block-editor-page::before,
body.block-editor-page::after,
.block-editor-page::before,
.block-editor-page::after,
.editor-styles-wrapper::before,
.editor-styles-wrapper::after,
.edit-post-layout::before,
.edit-post-layout::after,
.interface-interface-skeleton::before,
.interface-interface-skeleton::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Base Link Styles (prevents default browser blue / purple visited colors) */
a,
a:link,
a:visited {
  color: var(--accent, #8C4B3E);
  text-decoration: none;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}

a:hover,
a:focus {
  color: var(--accent-hover, #723c31);
}

/* =========================================
   Top Site Header & Navigation
   ========================================= */
.site-header {
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(250, 248, 245, 0.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border-color);
  padding: 10px clamp(14px, 2vw, 24px);
  margin: 0;
  box-shadow: 0 2px 14px rgba(55, 43, 37, 0.04);
}

.header-inner {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(6px, 0.9vw, 14px);
  padding: 0 4px;
  position: relative;
}

.header-right-actions {
  display: flex;
  align-items: center;
  gap: clamp(8px, 0.8vw, 12px);
  flex-shrink: 0;
  margin-left: auto;
}

.header-inner .main-navigation {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  margin: 0 auto !important;
  min-width: 0;
}

/* Header Brand Group: Großes Logo links & Adresse als eigener Reiter daneben */
.header-brand-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.site-header .logo-area,
.site-header .site-branding,
.site-header .custom-logo-link {
  margin-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.site-header .brand-logo,
.site-header .custom-logo,
.site-header .custom-logo-link img,
.site-header .logo-area img,
.site-branding img,
.custom-logo {
  max-height: var(--ws-logo-height, 66px) !important;
  height: var(--ws-logo-height, 66px) !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 !important;
  opacity: var(--ws-logo-opacity, 1.0);
  transition: transform 0.2s ease, filter 0.2s ease, opacity 0.2s ease;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.05));
}

.site-header .custom-logo-link:hover .brand-logo {
  transform: scale(1.03);
}

/* Adresse als eigener Reiter im Menü-Bereich */
.header-address-reiter {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #FFFFFF;
  border: 1px solid rgba(140, 75, 62, 0.22);
  border-radius: 12px;
  padding: 5px 10px;
  text-decoration: none !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.header-address-reiter:hover {
  background: #FAF8F5;
  border-color: var(--accent, #8C4B3E);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(140, 75, 62, 0.12);
}

.header-address-reiter .address-reiter-pin {
  font-size: 1.15rem;
  line-height: 1;
}

.header-address-reiter .address-reiter-body {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.header-address-reiter .address-reiter-street {
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--text-main, #2A2523);
  letter-spacing: 0.01em;
}

.header-address-reiter .address-reiter-city {
  font-size: 0.74rem;
  color: var(--text-muted, #6E645D);
}

@media (max-width: 1480px) {
  .header-address-reiter .address-reiter-city {
    display: none;
  }
}

@media (max-width: 1260px) {
  .header-address-reiter {
    display: none;
  }
}

/* Header Mini-Verfügbarkeitsampel */
.header-mini-ampel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #FFFFFF;
  border: 1px solid rgba(46, 125, 50, 0.28);
  padding: 6px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.84rem;
  color: #2E7D32;
  box-shadow: 0 2px 8px rgba(46, 125, 50, 0.08);
  transition: all 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
  white-space: nowrap;
  cursor: pointer !important;
  flex-shrink: 0;
  margin-left: 6px;
}

.header-mini-ampel:hover {
  background: #ECFDF5;
  border-color: #16A34A;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(22, 163, 74, 0.22);
}

.header-mini-ampel .mini-ampel-arrow {
  display: inline-block;
  font-size: 0.88rem;
  color: #16A34A;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease;
  opacity: 0.65;
  margin-left: 3px;
}

.header-mini-ampel:hover .mini-ampel-arrow {
  transform: translateX(4px);
  opacity: 1;
}

.header-mini-ampel .mini-ampel-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #2E7D32;
  display: inline-block;
  box-shadow: 0 0 0 0 rgba(46, 125, 50, 0.7);
  animation: wspMiniAmpelPulse 2s infinite;
}

@keyframes wspMiniAmpelPulse {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(46, 125, 50, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(46, 125, 50, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(46, 125, 50, 0);
  }
}

.header-mini-ampel .mini-ampel-text {
  color: #2E7D32;
}

.header-mini-ampel .ws-title-mobile {
  display: none !important;
}

.header-mini-ampel .ws-title-desktop {
  display: inline !important;
}

.header-mini-ampel .mini-ampel-sub {
  color: #15803d;
  font-size: 0.78rem;
  opacity: 0.9;
}

/* Seamless morphing transition: Verfügbarkeit -> Freie Kapazitäten für Neukunden */
.ws-ampel-morph-box {
  display: inline-block !important;
  overflow: hidden !important;
  position: relative !important;
  height: 1.35em !important;
  line-height: 1.35em !important;
  vertical-align: middle !important;
}
.ws-ampel-morph-track {
  display: flex !important;
  flex-direction: column !important;
  animation: wsAmpelSeamlessMorph 6.5s cubic-bezier(0.65, 0, 0.35, 1) infinite !important;
}
.ws-ampel-morph-slide {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  height: 1.35em !important;
  line-height: 1.35em !important;
  white-space: nowrap !important;
}
@keyframes wsAmpelSeamlessMorph {
  0%, 38% {
    transform: translateY(0);
    opacity: 1;
  }
  44% {
    opacity: 0.15;
  }
  50%, 88% {
    transform: translateY(-50%);
    opacity: 1;
  }
  94% {
    opacity: 0.15;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@media (max-width: 1460px) {
  .header-mini-ampel .mini-ampel-sub {
    display: none;
  }
}

@media (max-width: 768px) {
  .header-mini-ampel .ws-title-desktop {
    display: none !important;
  }
  .header-mini-ampel .ws-title-mobile {
    display: inline !important;
  }
}

@media (max-width: 480px) {
  .header-mini-ampel {
    padding: 4px 9px;
    font-size: 0.75rem;
    gap: 6px;
  }
  .header-mini-ampel .mini-ampel-dot {
    width: 7px;
    height: 7px;
  }
}

.main-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto !important;
}

.nav-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: clamp(3px, 0.55vw, 8px);
}

.nav-menu li {
  margin: 0;
  padding: 0;
  position: relative;
}

/* Sub-Menu / Dropdown Navigation (Hover & Focus für Unterpunkte z. B. Stellenangebote) */
.nav-menu li.menu-item-has-children {
  position: relative;
}

.nav-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 270px;
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 14px;
  box-shadow: 0 12px 36px rgba(55, 43, 37, 0.16);
  padding: 8px 0;
  margin: 12px 0 0 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s;
  z-index: 1000;
}

/* Position right aligned for highlight / last menu items */
.nav-menu li:last-child .sub-menu,
.nav-menu .menu-highlight-item .sub-menu {
  left: auto;
  right: 0;
}

/* Unsichtbare Brücke, damit der Maus-Hover über die Lücke hinweg nahtlos aktiv bleibt */
.nav-menu .sub-menu::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  height: 20px;
  background: transparent;
  pointer-events: auto;
}

.nav-menu li:hover > .sub-menu,
.nav-menu li:focus-within > .sub-menu,
.nav-menu li.is-open > .sub-menu {
  display: block;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.nav-menu li.menu-item-has-children > a {
  position: relative;
  z-index: 5;
  cursor: pointer;
  pointer-events: auto;
}

.nav-menu .sub-menu li {
  width: 100%;
  display: block;
}

.nav-menu .sub-menu li a {
  display: block;
  padding: 11px 20px;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-main);
  white-space: normal;
  border-bottom: 1px solid rgba(168, 125, 111, 0.08);
  transition: background-color 0.15s, color 0.15s;
  position: relative;
  z-index: 1002;
  cursor: pointer;
  pointer-events: auto;
}

.nav-menu .sub-menu li:last-child a {
  border-bottom: none;
}

.nav-menu .sub-menu li a:hover,
.nav-menu .sub-menu li a:focus {
  background-color: var(--accent-soft);
  color: var(--accent);
}

.nav-menu .sub-menu li a::after {
  display: none !important;
}

/* Header Social Media Profile (in der oberen Menüleiste) */
.header-social-links {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.header-social-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(140, 75, 62, 0.2);
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 0 !important;
  color: var(--text-muted, #6E645D);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
  transition: all 0.2s ease;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

.header-social-btn svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease;
}

.header-social-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(55, 43, 37, 0.12);
}

.header-social-btn:hover svg {
  transform: scale(1.12);
}

.header-social-btn.btn-insta:hover {
  border-color: #E1306C;
  color: #E1306C;
  background: rgba(225, 48, 108, 0.06);
}

.header-social-btn.btn-fb:hover {
  border-color: #1877F2;
  color: #1877F2;
  background: rgba(24, 119, 242, 0.06);
}

.header-social-btn.btn-linkedin:hover {
  border-color: #0A66C2;
  color: #0A66C2;
  background: rgba(10, 102, 194, 0.06);
}

@media (max-width: 1680px) {
  .header-social-links {
    display: none;
  }
}

.nav-menu a {
  font-size: clamp(0.76rem, 0.78vw, 0.84rem);
  font-weight: 600;
  color: var(--text-main);
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
  white-space: nowrap;
  padding: 8px clamp(5px, 0.5vw, 8px);
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  position: relative;
  border-radius: 6px;
  z-index: 2;
}

.nav-menu a:hover,
.nav-menu a.active,
.nav-menu a[aria-current="page"] {
  color: var(--accent);
}

.nav-menu a.active::after,
.nav-menu a[aria-current="page"]::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 10px;
  right: 10px;
  height: 2px;
  background-color: var(--accent);
  border-radius: 2px;
}

.nav-cta-btn {
  background: var(--ws-btn1-bg, #8C4B3E) !important;
  color: var(--ws-btn1-text, #ffffff) !important;
  padding: 10px 22px !important;
  min-height: 42px;
  border-radius: 999px;
  font-weight: 600;
  box-shadow: 0 2px 10px rgba(168, 125, 111, 0.25);
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
  display: inline-flex !important;
  align-items: center;
}

/* ==========================================================================
   Gutenberg Native Career Founders Hero (100% editierbar im Block-Editor)
   ========================================================================== */
.career-founders-hero.job-hero-card {
  background: #ffffff;
  border: 1.5px solid rgba(168, 125, 111, 0.3);
  border-radius: 24px;
  padding: clamp(28px, 4vw, 44px);
  text-align: center;
  margin-bottom: 28px;
  box-shadow: 0 8px 30px rgba(55, 43, 37, 0.05);
}

.career-founders-hero .job-badge {
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent, #8C4B3E);
  background: rgba(140, 75, 62, 0.1);
  padding: 5px 16px;
  border-radius: 999px;
  margin-bottom: 14px;
}

.career-founders-hero .job-main-title {
  font-family: var(--font-serif);
  font-size: clamp(2.2rem, 4vw, 3rem);
  color: var(--text-main, #372B25);
  margin: 0 0 12px;
  line-height: 1.2;
}

.career-founders-hero .lead-subtitle {
  font-size: 1.15rem;
  color: var(--text-muted, #6E645D);
  max-width: 680px;
  margin: 0 auto 20px;
  line-height: 1.65;
}

.career-founders-hero .job-hero-founders-columns {
  max-width: 480px;
  margin: 20px auto 12px !important;
  display: flex;
  justify-content: center;
  gap: 24px;
}

.career-founders-hero .team-circle-photo img {
  width: 140px !important;
  height: 140px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 4px solid #8C4B3E !important;
  box-shadow: 0 8px 24px rgba(140, 75, 62, 0.22) !important;
  margin: 0 auto !important;
  background: #FAF5F2 !important;
  object-fit: cover !important;
  object-position: center 20% !important;
  display: block !important;
}

.career-founders-hero .hero-team-tag {
  background: #2E7D32;
  color: #ffffff !important;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 5px 16px;
  border-radius: 999px;
  display: inline-block;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
  margin: 16px auto 0 !important;
}

.nav-cta-btn::after {
  display: none !important;
}

.nav-cta-btn:hover {
  background: var(--ws-btn1-hover, #722719) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(168, 125, 111, 0.35);
}

.nav-insta-icon {
  display: inline-block;
  vertical-align: -2px;
  margin-right: 5px;
  color: #E1306C;
}

/* Mobile Menu Toggle Button */
.menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  width: 40px;
  height: 40px;
  position: relative;
}

.menu-icon,
.menu-icon::before,
.menu-icon::after {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--text-main);
  border-radius: 2px;
  transition: transform 0.25s ease, background-color 0.25s ease;
}

.menu-icon {
  position: relative;
}

.menu-icon::before,
.menu-icon::after {
  content: "";
  position: absolute;
}

.menu-icon::before {
  top: -7px;
}

.menu-icon::after {
  top: 7px;
}

.menu-toggle.active .menu-icon {
  background: transparent;
}

.menu-toggle.active .menu-icon::before {
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle.active .menu-icon::after {
  transform: translateY(-7px) rotate(-45deg);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* Mobile Navigation Drawer */
@media (max-width: 1140px) {
  .site-header {
    padding: 12px 16px;
  }

  .header-inner {
    border-radius: 20px;
    padding: 6px 12px;
  }

  .site-header .brand-logo {
    max-width: 160px;
    height: 44px;
  }

  .menu-toggle {
    display: block;
  }

  .main-navigation .nav-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 16px;
    right: 16px;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 20px;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    box-shadow: 0 10px 30px rgba(55, 43, 37, 0.12);
  }

  .main-navigation.toggled .nav-menu,
  .main-navigation .nav-menu.open {
    display: flex;
  }

  .main-navigation .nav-menu li {
    text-align: center;
  }

  .main-navigation .nav-menu a {
    display: block;
    padding: 10px 0;
    font-size: 1rem;
  }

  .main-navigation .nav-cta-btn {
    margin-top: 6px;
    padding: 12px 20px !important;
  }
}

.breadcrumbs-nav {
  text-align: left;
  margin-bottom: 24px;
}

.content-container {
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  margin: 0 auto !important;
  padding: clamp(24px, 4vw, 48px) clamp(16px, 4vw, 32px) !important;
  text-align: center;
  flex-grow: 1;
  box-sizing: border-box !important;
}

.landing-container,
.dedicated-page,
.ueber-uns-page,
.leistungen-page,
.einzugsgebiet-page,
.standard-page-content,
.entry-content {
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Override WordPress Gutenberg .is-layout-constrained default 650px limit */
body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.entry-content.is-layout-constrained > *,
.entry-content > *,
.wp-block-group.is-layout-constrained > *,
.editor-styles-wrapper .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.editor-styles-wrapper .is-root-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.editor-styles-wrapper .wp-block {
  max-width: var(--content-max-width, 1216px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.job-detail-container {
  max-width: 880px;
}

.legal-container {
  max-width: 760px;
  text-align: left !important;
}

/* Top Navigation (Back Link) */
.top-nav {
  text-align: left;
  margin-bottom: clamp(16px, 3vw, 24px);
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: color 0.2s ease, transform 0.2s ease;
  padding: 4px 0;
}

.back-link:hover {
  color: var(--accent);
  transform: translateX(-3px);
}

/* Logo */
.logo-area {
  margin-bottom: clamp(16px, 3.5vw, 28px);
}

.brand-logo {
  width: min(290px, 75vw);
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: inline-block;
}

/* Subtitle / Service & Region Header */
.service-region-header {
  margin-bottom: clamp(28px, 5vw, 44px);
}

.service-title {
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 3.8vw, 1.85rem);
  font-weight: 600;
  color: var(--accent);
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  line-height: 1.25;
}

.region-lead {
  font-size: clamp(1rem, 2.4vw, 1.15rem);
  font-weight: 600;
  color: var(--text-main);
  margin-bottom: 8px;
}

.surrounding-places {
  font-size: clamp(0.85rem, 2vw, 0.95rem);
  color: var(--text-muted);
  line-height: 1.6;
  max-width: 510px;
  margin: 0 auto;
}

/* Hero Statement */
.hero-statement {
  margin-bottom: clamp(28px, 5vw, 44px);
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 1.5vw, 12px);
}

.statement-large {
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 5.5vw, 2.85rem);
  font-weight: 600;
  color: var(--text-main);
  line-height: 1.16;
  overflow-wrap: break-word;
  hyphens: auto;
}

.statement-accent {
  color: var(--accent);
}

.statement-small {
  font-size: clamp(0.92rem, 2.5vw, 1.12rem);
  color: var(--text-muted);
  font-style: italic;
  line-height: 1.4;
  padding: 2px 0;
}

/* Message Block */
.message-block {
  margin: 0 auto clamp(24px, 4vw, 36px);
}

.body-text {
  font-size: clamp(0.95rem, 2.2vw, 1.08rem);
  color: var(--text-muted);
  line-height: 1.68;
  max-width: 490px;
  margin: 0 auto clamp(18px, 3.5vw, 26px);
}

/* CTA "Werde Teil unseres Teams" */
.highlight-cta {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 5vw, 2.5rem);
  font-weight: 700;
  margin-top: 10px;
  letter-spacing: 0.01em;
  line-height: 1.2;
}

.cta-link {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.cta-link:hover {
  color: var(--accent-hover);
  opacity: 0.85;
}

/* Separator */
.separator {
  border: 0;
  height: 1px;
  background: var(--border-color);
  margin: clamp(24px, 4vw, 36px) auto;
  max-width: 90px;
}

/* Footer / Bottom Area - Fat Footer & Sitemap Linkmatrix */
.site-footer {
  margin-top: auto;
  position: relative;
  z-index: 10;
  background: #FAF6F2;
  border-top: 1px solid var(--border-color, rgba(168, 125, 111, 0.22));
  padding: clamp(36px, 5vw, 60px) clamp(16px, 4vw, 36px) clamp(24px, 3vw, 36px);
  color: var(--text-main, #3A322D);
  text-align: left;
}

.footer-inner {
  max-width: var(--content-max-width, 1216px);
  margin: 0 auto;
}

.footer-sitemap-grid {
  display: grid;
  grid-template-columns: 145px 1.25fr 0.95fr 1.05fr 1.05fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
  margin-bottom: clamp(32px, 4vw, 48px);
}

@media (max-width: 1060px) {
  .footer-sitemap-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
  .footer-col-logo {
    grid-column: span 2;
  }
}

@media (max-width: 580px) {
  .footer-sitemap-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .footer-col-logo {
    grid-column: span 1;
    text-align: center;
  }
}

.footer-col-logo {
  display: flex;
  align-items: flex-start;
  padding-top: 4px;
}

.footer-logo-link {
  display: inline-block;
  text-decoration: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.footer-logo-link:hover {
  transform: scale(1.03);
  opacity: 0.95;
}

.footer-logo {
  width: 165px;
  height: 165px;
  max-width: 100%;
  object-fit: contain;
  margin-bottom: 0;
  display: block;
  filter: drop-shadow(0 3px 12px rgba(55, 43, 37, 0.08));
}

.footer-col-brand .footer-address {
  margin-bottom: 12px;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #2A231F;
}

.footer-col-brand .footer-address strong {
  font-size: 1.05rem;
  color: #1A1412;
}

.footer-contact-line {
  display: block;
  margin-top: 8px;
}

.footer-hours-note {
  font-size: 0.88rem;
  color: var(--text-muted, #6E645D);
  line-height: 1.5;
  margin-top: 10px;
}

.footer-standby-badge {
  display: inline-block;
  color: #2E7D32;
  font-weight: 700;
  font-size: 0.82rem;
  margin-top: 4px;
}

.footer-col-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--text-main, #3A322D);
  margin-bottom: 16px;
  font-weight: 700;
}

.footer-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-nav-list li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.footer-nav-list li::before,
.footer-nav-list li::after {
  content: none !important;
  display: none !important;
}

.footer-nav-list a {
  color: var(--text-muted, #6E645D);
  font-size: 0.92rem;
  text-decoration: none !important;
  transition: color 0.2s ease, transform 0.2s ease;
  display: inline-block;
}

.footer-nav-list a:hover {
  color: var(--accent, #8C4B3E);
  transform: translateX(3px);
}

.footer-career-link {
  color: var(--accent, #8C4B3E) !important;
  font-weight: 700 !important;
}

.footer-bottom-bar {
  border-top: 1px solid rgba(168, 125, 111, 0.18);
  padding-top: 22px;
  text-align: center;
}

.footer-bottom-bar .copyright {
  font-size: 0.88rem;
  color: var(--text-muted, #6E645D);
  margin: 0;
  font-weight: 500;
}

/* =========================================
   Stellenanzeige / Job Detail Subpage Styles
   ========================================= */
.job-hero {
  position: relative;
  background: linear-gradient(180deg, rgba(255,255,255,0.7) 0%, rgba(246,239,233,0.7) 100%);
  border: 1px solid var(--border-color);
  border-radius: 24px;
  padding: clamp(28px, 5vw, 44px) clamp(20px, 4vw, 36px);
  margin-bottom: clamp(30px, 5vw, 44px);
  box-shadow: 0 8px 24px rgba(55, 43, 37, 0.04);
}

.job-badge {
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 3.5vw, 1.9rem);
  font-weight: 600;
  color: var(--text-main);
  display: block;
  margin-bottom: 8px;
}

.job-main-title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5.5vw, 3rem);
  font-weight: 600;
  color: var(--text-main);
  line-height: 1.15;
  margin-bottom: 4px;
}

.job-gender {
  font-size: clamp(1.1rem, 2.8vw, 1.35rem);
  color: var(--accent);
  font-weight: 600;
  margin-bottom: 10px;
}

.job-employment-type {
  font-size: clamp(1rem, 2.4vw, 1.25rem);
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.start-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  color: #ffffff;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  margin-top: 20px;
  box-shadow: 0 6px 18px rgba(168, 125, 111, 0.35);
}

/* Job Hero Avatar & Sub-Menu */
.job-hero-avatar-wrap {
  margin: 18px auto 14px;
  text-align: center;
}

.job-hero-avatar-img {
  width: 140px;
  height: 140px;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 50%;
  border: 4px solid #ffffff;
  box-shadow: 0 8px 24px rgba(140, 75, 62, 0.22);
  display: block;
  margin: 0 auto;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.job-hero-avatar-img:hover {
  transform: scale(1.04);
  box-shadow: 0 12px 28px rgba(140, 75, 62, 0.3);
}

.job-positions-subnav {
  background: rgba(255, 255, 255, 0.95);
  border: 1.5px solid rgba(168, 125, 111, 0.25);
  border-radius: 16px;
  padding: 14px 18px;
  margin: 20px auto 0;
  max-width: 620px;
  box-shadow: 0 4px 16px rgba(55, 43, 37, 0.06);
}

.job-subnav-pill {
  transition: all 0.2s ease;
}

.job-subnav-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
}

.start-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.9;
}

.start-date {
  font-size: 0.88rem;
  font-weight: 700;
}

/* Job Body Sections */
.job-body {
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 4vw, 36px);
  margin-bottom: 40px;
}

.job-section,
.wp-block-group.job-section,
div.wp-block-group.job-section {
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: clamp(24px, 4vw, 32px);
  box-shadow: 0 4px 16px rgba(55, 43, 37, 0.03);
  text-align: left !important;
  align-items: flex-start !important;
}

.job-section-title,
.job-section h2,
.job-section h3,
.wp-block-heading.job-section-title {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3.8vw, 1.9rem);
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 18px;
  line-height: 1.25;
  text-align: left !important;
  margin-left: 0 !important;
  align-self: flex-start !important;
}

.job-checklist,
.job-checklist ul,
.job-checklist ol,
ul.wp-block-list.job-checklist,
.wp-block-list.job-checklist {
  list-style: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  width: 100% !important;
  gap: 12px;
}

.job-checklist li,
.job-checklist ul li,
.job-checklist ol li,
ul.wp-block-list.job-checklist li,
.job-checklist li.wp-block-list-item {
  position: relative !important;
  display: block !important;
  text-align: left !important;
  align-self: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 28px !important;
  font-size: clamp(0.94rem, 2.2vw, 1.02rem);
  color: var(--text-main);
  line-height: 1.6;
  box-sizing: border-box !important;
}

/* Reset cascading / stair-step indentation for nested lists */
.job-checklist li ul,
.job-checklist li ol,
ul.wp-block-list.job-checklist li ul,
ul.wp-block-list.job-checklist li ol {
  padding-left: 0 !important;
  margin-left: 0 !important;
  margin-top: 10px !important;
}

.job-checklist li::before,
.job-checklist ul li::before,
.job-checklist ol li::before,
ul.wp-block-list.job-checklist li::before,
.job-checklist li.wp-block-list-item::before {
  content: '•' !important;
  position: absolute !important;
  left: 6px !important;
  top: -1px !important;
  color: var(--accent) !important;
  font-size: 1.3rem !important;
  line-height: 1 !important;
}

/* Gutenberg Block Editor Overrides for Job Checklist */
.editor-styles-wrapper .job-section,
.editor-styles-wrapper .job-section-title,
.editor-styles-wrapper .job-checklist,
.editor-styles-wrapper .job-checklist li,
.editor-styles-wrapper ul.wp-block-list.job-checklist,
.editor-styles-wrapper ul.wp-block-list.job-checklist li {
  text-align: left !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  margin-left: 0 !important;
}

/* Apply Card */
.apply-card {
  text-align: center;
  background: linear-gradient(180deg, #FFFFFF 0%, #FAF6F2 100%);
  border: 1.5px solid var(--accent);
  padding: clamp(28px, 5vw, 40px) clamp(20px, 4vw, 32px);
}

.apply-title {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 4.2vw, 2.2rem);
  color: var(--text-main);
  margin-bottom: 12px;
  line-height: 1.2;
}

.apply-instructions {
  font-size: clamp(0.95rem, 2.2vw, 1.05rem);
  color: var(--text-muted);
  margin-bottom: 18px;
}

.apply-email-box {
  margin-bottom: 22px;
}

.apply-email-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--accent);
  color: #ffffff;
  text-decoration: none;
  font-size: clamp(1.05rem, 2.5vw, 1.25rem);
  font-weight: 600;
  padding: 12px 28px;
  border-radius: 9999px;
  box-shadow: 0 6px 18px rgba(168, 125, 111, 0.35);
  transition: all 0.25s ease;
}

.apply-email-link:hover {
  background: var(--accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(168, 125, 111, 0.45);
}

.contact-signature {
  font-size: 0.95rem;
  color: var(--text-muted);
  line-height: 1.6;
}

/* Modals */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(45, 38, 35, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  z-index: 100;
}

.modal.active {
  opacity: 1;
  visibility: visible;
}

.modal-box {
  background: #ffffff;
  border-radius: 20px;
  padding: clamp(24px, 5vw, 36px);
  max-width: 460px;
  width: 100%;
  max-height: 85vh;
  max-height: 85dvh;
  overflow-y: auto;
  position: relative;
  text-align: left;
  box-shadow: 0 12px 36px rgba(45, 38, 35, 0.15);
}

.modal-box--wide {
  max-width: 680px;
}

.modal-close {
  position: sticky;
  top: 0;
  float: right;
  z-index: 10;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid var(--border-color);
  font-size: 1.4rem;
  color: var(--text-muted);
  cursor: pointer;
  width: 34px;
  height: 34px;
  line-height: 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -4px;
  margin-right: -4px;
  margin-left: 12px;
  margin-bottom: 8px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(45, 38, 35, 0.08);
}

.modal-close:hover {
  color: var(--text-main);
  background: #ffffff;
  border-color: var(--accent);
  transform: scale(1.08);
}

/* Legal Pages (.legal-card) & Modal Typography */
.legal-container {
  max-width: 760px;
  text-align: left !important;
}

.legal-card {
  background: #ffffff !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 24px !important;
  padding: clamp(28px, 5vw, 48px) clamp(22px, 4.5vw, 44px) !important;
  text-align: left !important;
  box-shadow: 0 4px 20px rgba(55, 43, 37, 0.04) !important;
  margin-bottom: clamp(28px, 5vw, 40px) !important;
}

.legal-card *,
.legal-card h1,
.legal-card h2,
.legal-card h3,
.legal-card h4,
.legal-card p,
.legal-card ul,
.legal-card li,
.legal-card section,
.legal-card div {
  text-align: left !important;
}

.legal-section {
  margin-bottom: 20px;
}

.modal-box h1,
.legal-card h1,
.legal-title {
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.3rem);
  font-weight: 700;
  color: var(--text-main);
  margin-bottom: 20px;
  line-height: 1.2;
}

.modal-box h2,
.legal-card h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.22rem, 2.8vw, 1.48rem);
  font-weight: 600;
  color: var(--text-main);
  margin-top: 32px;
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-color);
}

.modal-box h3,
.legal-card h3 {
  font-family: var(--font-serif);
  font-size: clamp(1.08rem, 2.3vw, 1.22rem);
  font-weight: 600;
  margin-top: 22px;
  margin-bottom: 8px;
  color: var(--text-main);
}

.modal-box h4,
.legal-card h4 {
  font-family: var(--font-sans);
  font-size: clamp(0.92rem, 2vw, 0.98rem);
  font-weight: 600;
  margin-top: 16px;
  margin-bottom: 6px;
  color: var(--text-main);
}

.modal-box p,
.legal-card p {
  font-size: clamp(0.88rem, 2vw, 0.94rem);
  color: var(--text-muted);
  margin-bottom: 12px;
  line-height: 1.68;
}

.modal-box ul,
.legal-card ul {
  margin: 12px 0 16px 24px;
  padding-left: 0;
  color: var(--text-muted);
  font-size: clamp(0.88rem, 2vw, 0.94rem);
  line-height: 1.68;
  list-style-type: disc;
}

.modal-box li,
.legal-card li {
  margin-bottom: 8px;
}

.modal-box a,
.legal-card a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  word-break: break-word;
}

.modal-box a:hover,
.legal-card a:hover {
  color: var(--accent-hover);
}

.legal-emphasis {
  font-size: clamp(0.8rem, 1.8vw, 0.85rem) !important;
  line-height: 1.6 !important;
  color: var(--text-muted) !important;
  background: #F6EFE9 !important;
  border-left: 4px solid var(--accent) !important;
  padding: 14px 18px !important;
  border-radius: 0 10px 10px 0 !important;
  margin: 18px 0 !important;
  text-align: left !important;
}

.privacy-source {
  margin-top: 32px;
  font-size: 0.84rem;
  opacity: 0.85;
  border-top: 1px solid var(--border-color);
  padding-top: 14px;
}

/* Extra small devices (< 360px) */
@media (max-width: 360px) {
  body {
    padding: 24px 12px;
  }
  .brand-logo {
    width: 220px;
  }
}

/* WordPress Core Alignment & Utilities */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.alignleft {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1em;
}

.alignright {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1em;
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

/* Entry content inside legal-card or page */
.entry-content {
  text-align: left;
}

.entry-content p {
  margin-bottom: 1.2em;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: var(--font-serif);
  color: var(--text-main);
  margin-top: 1.8em;
  margin-bottom: 0.6em;
}

.entry-content ul,
.entry-content ol {
  margin: 1em 0 1.5em 1.5em;
}

.entry-content li {
  margin-bottom: 0.5em;
}

/* ==========================================================================
   INTERAKTIVE EINZUGSGEBIETS-KARTE (FEILBINGERT & UMGEBUNG)
   ========================================================================== */
.wsp-catchment-section {
  margin: clamp(36px, 5vw, 64px) auto;
  text-align: left;
  background: #ffffff;
  border-radius: 28px;
  border: 1px solid var(--border-color);
  box-shadow: 0 12px 40px rgba(58, 50, 45, 0.06);
  padding: clamp(24px, 4vw, 44px);
  overflow: hidden;
  position: relative;
  max-width: var(--content-max-width, 1216px);
}

.wsp-catchment-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.35fr;
  gap: clamp(24px, 3.5vw, 44px);
  align-items: center;
}

/* Gestapeltes Layout: Suche oben, Vollflächige Karte darunter für maximale Größe */
.wsp-catchment-stacked {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 36px);
  width: 100%;
}

.wsp-search-panel {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wsp-map-card.wsp-map-fullwidth {
  width: 100%;
  max-width: 100%;
  min-height: 0;
}

@media (max-width: 1024px) {
  .wsp-catchment-grid {
    grid-template-columns: 1fr;
  }
}

/* Linke Spalte / Oberer Bereich: Branding, Info & Suche */
.wsp-catchment-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wsp-catchment-brand {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wsp-brand-title {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 3.4vw, 2.3rem);
  font-weight: 600;
  color: #8C4B3E;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

.wsp-brand-script {
  font-family: 'Cormorant Garamond', Georgia, cursive, serif;
  font-style: italic;
  font-size: clamp(1.8rem, 3.8vw, 2.6rem);
  font-weight: 500;
  color: #B2533E;
  line-height: 1.1;
  margin-top: -4px;
  transform: rotate(-1deg);
  display: inline-block;
}

.wsp-catchment-subtitle {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-main);
  margin-top: 4px;
  margin-bottom: 2px;
}

.wsp-catchment-lead {
  font-size: 0.96rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin-bottom: 4px;
}

.wsp-catchment-highlights {
  list-style: none;
  padding: 0;
  margin: 4px 0 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.wsp-catchment-highlights li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.92rem;
  color: var(--text-main);
  line-height: 1.45;
  margin-bottom: 0;
}

.wsp-catchment-highlights .hl-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--accent-soft);
  color: var(--accent);
  font-size: 0.85rem;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Suchfeld mit Teilstring-Suche */
.wsp-search-box {
  margin-top: 8px;
  background: #FAF8F5;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wsp-search-label {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-main);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wsp-search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.wsp-search-icon {
  position: absolute;
  left: 14px;
  color: var(--accent);
  pointer-events: none;
}

.wsp-search-input {
  width: 100%;
  padding: 13px 40px 13px 44px;
  font-family: var(--font-sans);
  font-size: 0.98rem;
  color: var(--text-main);
  background: #ffffff;
  border: 1.5px solid var(--border-color);
  border-radius: 14px;
  outline: none;
  transition: all 0.25s ease;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.03);
}

.wsp-search-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(168, 125, 111, 0.18), inset 0 1px 2px rgba(0, 0, 0, 0.02);
}

.wsp-search-input.is-preview {
  color: #9C928A !important;
  font-style: italic;
}

.wsp-search-input::placeholder {
  color: #9C948D;
  font-size: 0.92rem;
}

.wsp-search-clear {
  position: absolute;
  right: 12px;
  background: #ECE5DE;
  border: none;
  color: var(--text-muted);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 1.1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wsp-search-clear:hover {
  background: var(--accent);
  color: #ffffff;
}

/* ==========================================================================
   Auto-Ergänzen Dropdown (Direkt unter dem Suchfeld)
   ========================================================================== */
.wsp-autocomplete-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1.5px solid rgba(168, 125, 111, 0.28);
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(45, 35, 30, 0.16);
  z-index: 1200;
  overflow: hidden;
  animation: wspAcFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes wspAcFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.wsp-ac-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px 6px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8C4B3E;
  background: #FAF6F2;
  border-bottom: 1px solid rgba(168, 125, 111, 0.14);
}

.wsp-ac-hint-tag {
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: normal;
  color: #6E645D;
}

.wsp-ac-list {
  list-style: none;
  margin: 0;
  padding: 5px;
  max-height: 250px;
  overflow-y: auto;
}

.wsp-ac-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
  user-select: none;
}

.wsp-ac-item:hover,
.wsp-ac-item.is-selected {
  background: #F5EFE9;
}

.wsp-ac-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.wsp-ac-pin {
  font-size: 1.05rem;
}

.wsp-ac-name {
  font-size: 0.95rem;
  font-weight: 600;
  color: #2A231F;
}

.wsp-ac-name strong {
  color: #8C4B3E;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.wsp-ac-dist {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6E645D;
  background: rgba(0, 0, 0, 0.04);
  padding: 2px 8px;
  border-radius: 20px;
}

.wsp-ac-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.wsp-ac-status-badge {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
}

.wsp-ac-status-badge.status-green {
  background: rgba(46, 125, 50, 0.1);
  color: #2E7D32;
  border: 1px solid rgba(46, 125, 50, 0.25);
}

.wsp-ac-status-badge.status-yellow {
  background: rgba(245, 158, 11, 0.12);
  color: #B45309;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.wsp-ac-status-badge.status-white {
  background: #FAF8F5;
  color: #5D524A;
  border: 1px solid rgba(93, 82, 74, 0.3);
}

.wsp-ac-status-badge.status-hq {
  background: rgba(140, 75, 62, 0.1);
  color: #8C4B3E;
  border: 1px solid rgba(140, 75, 62, 0.25);
}

.wsp-ac-status-badge.status-hidden {
  background: rgba(192, 86, 33, 0.1);
  color: #C05621;
  border: 1px solid rgba(192, 86, 33, 0.25);
}

.wsp-ac-action-icon {
  font-size: 0.85rem;
  color: #8C4B3E;
  font-weight: 700;
}

.wsp-ac-empty {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.85rem;
  color: #6E645D;
}

/* Schnell-Tags & Ortschaften-Übersicht */
.wsp-towns-overview {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed rgba(168, 125, 111, 0.2);
}

.wsp-towns-overview-label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted, #72665E);
}

.wsp-quick-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.82rem;
}

.quick-tag-label {
  color: var(--text-muted);
  margin-right: 2px;
}

.wsp-tag-btn {
  background: #ffffff;
  border: 1.2px solid rgba(168, 125, 111, 0.25);
  border-radius: 999px;
  padding: 5px 11px;
  font-family: var(--font-sans);
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--text-main);
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.wsp-tag-btn:hover {
  border-color: #8C4B3E;
  color: #8C4B3E;
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(140, 75, 62, 0.15);
}

.wsp-tag-btn.active {
  background: #8C4B3E !important;
  color: #ffffff !important;
  border-color: #8C4B3E !important;
  box-shadow: 0 3px 10px rgba(140, 75, 62, 0.35);
}

.wsp-tag-btn.is-hq {
  font-weight: 700;
  border-color: rgba(140, 75, 62, 0.4);
}

.wsp-tag-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.wsp-tag-dot.green {
  background: #2E7D32;
}

.wsp-tag-dot.yellow {
  background: #F59E0B;
}

.wsp-tag-dot.white {
  background: #FFFFFF;
  border: 1px solid #5D524A;
}

.wsp-tag-btn.active .wsp-tag-dot {
  background: #ffffff !important;
  border-color: #ffffff !important;
}

/* Bühnen-Wrapper: relative Positionierung für die SVG-Karte und das schwebende Overlay */
.wsp-map-stage-wrapper {
  position: relative;
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: transparent;
}

/* Schwebendes Ergebnis-Fenster über der Karte */
.wsp-search-feedback.wsp-map-overlay {
  position: absolute;
  z-index: 30;
  transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

/* Neutraler Zustand / Leer: Vollständig ausblenden */
.wsp-search-feedback.wsp-map-overlay.is-neutral,
.wsp-search-feedback.wsp-map-overlay:empty {
  display: none !important;
}

/* Aktiver Zustand (Ein Ort ausgewählt oder Trefferliste) */
.wsp-search-feedback.wsp-map-overlay.is-active {
  position: absolute;
  z-index: 30;
  max-width: 380px;
  width: calc(100% - 36px);
  padding: 16px 18px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1.5px solid rgba(140, 75, 62, 0.25);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(45, 35, 30, 0.16), 0 2px 8px rgba(45, 35, 30, 0.06);
  display: flex;
  flex-direction: column;
  gap: 8px;
  animation: wspOverlayFadeIn 0.32s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Dynamische Quadranten-Platzierung */
.wsp-search-feedback.wsp-map-overlay.is-active.quadrant-top-left {
  top: 18px;
  bottom: auto;
  left: 18px;
  right: auto;
}

.wsp-search-feedback.wsp-map-overlay.is-active.quadrant-top-right {
  top: 18px;
  bottom: auto;
  right: 18px;
  left: auto;
}

.wsp-search-feedback.wsp-map-overlay.is-active.quadrant-bottom-left {
  bottom: 18px;
  top: auto;
  left: 18px;
  right: auto;
}

.wsp-search-feedback.wsp-map-overlay.is-active.quadrant-bottom-right {
  bottom: 18px;
  top: auto;
  right: 18px;
  left: auto;
}

@keyframes wspOverlayFadeIn {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Overlay Header: Ortsname & Distanz & Schließen-Button */
.wsp-overlay-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wsp-overlay-title-group {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.wsp-overlay-town-name {
  font-family: var(--font-serif, Georgia, serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: #2A231F;
  line-height: 1.2;
}

.wsp-overlay-dist-badge {
  font-size: 0.78rem;
  font-weight: 600;
  color: #726359;
  background: #F3ECE6;
  padding: 3px 8px;
  border-radius: 6px;
}

.wsp-overlay-close-btn {
  background: #FAF6F2;
  border: 1px solid #E5DCD4;
  color: #5D524A;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.18s ease;
  flex-shrink: 0;
  padding: 0;
}

.wsp-overlay-close-btn:hover {
  background: #8C4B3E;
  color: #ffffff;
  border-color: #8C4B3E;
  transform: rotate(90deg);
}

/* Status-Pill mit freiem Statustext */
.wsp-overlay-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 700;
  width: fit-content;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.wsp-overlay-status-pill.green {
  background: #EBF7ED;
  color: #1B5E20;
  border: 1.5px solid #A5D6A7;
}

.wsp-overlay-status-pill.yellow {
  background: #FFFBEB;
  color: #92400E;
  border: 1.5px solid #FDE68A;
}

.wsp-overlay-status-pill.white {
  background: #FAF8F5;
  color: #3E3530;
  border: 1.5px solid #C5B8AD;
}

.wsp-overlay-status-pill.hq {
  background: #FDF5F3;
  color: #8C4B3E;
  border: 1.5px solid #E8C5BE;
}

.wsp-overlay-status-pill.hidden {
  background: #FFF5EB;
  color: #C05621;
  border: 1.5px solid #FBD38D;
}

/* Detail-Text (Ohne Tour/Einsatz) */
.wsp-overlay-body {
  font-size: 0.88rem;
  color: #4A3F38;
  line-height: 1.45;
  margin: 2px 0 6px;
}

/* Action Buttons im Overlay */
.wsp-overlay-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.wsp-overlay-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #8C4B3E;
  color: #ffffff !important;
  font-weight: 700;
  font-size: 0.86rem;
  padding: 8px 16px;
  border-radius: 999px;
  text-decoration: none !important;
  transition: all 0.2s ease;
  box-shadow: 0 3px 10px rgba(140, 75, 62, 0.25);
}

.wsp-overlay-btn-primary:hover {
  background: #6E362C;
  transform: translateY(-1px);
}

.wsp-overlay-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #FAF6F2;
  color: #4A3F38 !important;
  font-weight: 600;
  font-size: 0.84rem;
  padding: 8px 13px;
  border-radius: 999px;
  border: 1px solid #E5DCD4;
  text-decoration: none !important;
  transition: all 0.2s ease;
}

.wsp-overlay-btn-secondary:hover {
  background: #F0E8E1;
  color: #2A231F !important;
}

/* Zoom & Reset Steuerung für die Vektorkarte (besonders nützlich auf Smartphones) */
.wsp-map-zoom-controls {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 25;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wsp-zoom-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1.2px solid rgba(168, 125, 111, 0.28);
  box-shadow: 0 3px 10px rgba(45, 35, 30, 0.12);
  color: #372B25;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  padding: 0;
}

.wsp-zoom-btn:hover {
  background: #8C4B3E;
  color: #ffffff;
  border-color: #8C4B3E;
  box-shadow: 0 4px 12px rgba(140, 75, 62, 0.3);
}

.wsp-zoom-btn:active {
  transform: scale(0.92);
  background: #6E362C;
  color: #ffffff;
}

/* Fullscreen Mode for Vector Map on Smartphone / Tablet / Desktop */
.wsp-map-card.is-fullscreen {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-width: 100vw !important;
  z-index: 999999 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #FAF8F5 !important;
  box-shadow: none !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.wsp-map-card.is-fullscreen .wsp-map-topbar {
  flex-shrink: 0 !important;
  margin-bottom: 8px !important;
}

.wsp-map-card.is-fullscreen .wsp-map-stage-wrapper {
  flex: 1 1 auto !important;
  height: calc(100dvh - 80px) !important;
  min-height: 0 !important;
  width: 100% !important;
}

.wsp-map-card.is-fullscreen .wsp-svg-map {
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
}

.wsp-fullscreen-close-btn {
  display: none;
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 60;
  background: rgba(45, 35, 30, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 0.85rem;
  font-weight: 700;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  transition: all 0.2s ease;
}

.wsp-map-card.is-fullscreen .wsp-fullscreen-close-btn {
  display: inline-flex !important;
}

.wsp-fullscreen-close-btn:hover {
  background: #8C4B3E;
  color: #ffffff;
  transform: translateY(-1px);
}

.wsp-zoom-btn.wsp-fullscreen-toggle svg {
  display: block;
}

.wsp-map-card.is-fullscreen .wsp-zoom-btn.wsp-fullscreen-toggle {
  background: #8C4B3E;
  color: #ffffff;
}

/* Firmenlogo & Datum unten auf der Karte (weicht bei Hover sanft auf die andere Seite aus) */
.wsp-map-watermark {
  position: absolute;
  bottom: 16px;
  right: 18px;
  z-index: 15;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 10px 18px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1.5px solid rgba(168, 125, 111, 0.25);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(45, 35, 30, 0.1);
  pointer-events: auto;
  user-select: none;
  cursor: pointer;
  transition: transform 1.25s cubic-bezier(0.25, 1, 0.35, 1), box-shadow 0.3s ease;
  will-change: transform;
}

.wsp-map-watermark:hover {
  box-shadow: 0 10px 28px rgba(45, 35, 30, 0.16);
  border-color: rgba(140, 75, 62, 0.38);
}

.wsp-watermark-logo {
  width: auto;
  height: 36px;
  max-width: 110px;
  object-fit: contain;
  display: block;
}

.wsp-watermark-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

.wsp-watermark-company {
  font-size: 0.88rem;
  font-weight: 700;
  color: #2A231F;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.wsp-watermark-date {
  font-size: 0.78rem;
  font-weight: 600;
  color: #8C4B3E;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.wsp-watermark-date::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2E7D32;
}

/* ==========================================================================
   Optimierung für schmale Fenster, Tablets & Smartphones (bis 900px)
   Garantiert kompakten Aufbau ohne Leerräume & Höhen-Gaps
   ========================================================================== */
@media (max-width: 900px) {
  /* Kompakte vertikale Abstände */
  .home-catchment-segment {
    margin: 16px 0 24px !important;
  }

  .wsp-catchment-section {
    padding: 8px 6px 14px !important;
    margin: 12px auto !important;
  }

  .wsp-catchment-stacked {
    gap: 8px !important;
  }
  
  .wsp-map-card {
    padding: 6px 6px 8px !important;
    border-radius: 18px !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .wsp-map-card.wsp-map-fullwidth {
    min-height: 0 !important;
    height: auto !important;
  }

  /* Anti-Stretching & Anti-wpautop: Keine leeren Absätze oder unkontrollierte Höhen */
  .wsp-map-card > p,
  .wsp-map-topbar > p,
  .wsp-catchment-section > p,
  .wsp-catchment-container > p {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
  }

  /* Header/Topbar: Textsuche ganz nah an der Karte ohne Freiraum */
  .wsp-map-topbar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    padding: 2px 2px 4px !important;
    margin-bottom: 4px !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
  }

  /* Suchleiste mobil / schmal: Kein flex-basis Höhen-Gap! */
  .wsp-topbar-search {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
  }

  .wsp-search-input-wrap {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
  }

  .wsp-search-input-box {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    background: #ffffff !important;
    border-radius: 14px !important;
  }

  .wsp-ghost-overlay {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 13px 38px 13px 44px !important;
  }

  .wsp-search-input {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 13px 38px 13px 44px !important;
    border: 2px solid rgba(140, 75, 62, 0.42) !important;
    border-radius: 14px !important;
    background: transparent !important;
    box-shadow: 0 3px 12px rgba(45, 35, 30, 0.08) !important;
  }

  .wsp-search-input:focus {
    border-color: #8C4B3E !important;
    box-shadow: 0 0 0 4px rgba(140, 75, 62, 0.18), 0 4px 14px rgba(45, 35, 30, 0.1) !important;
  }

  /* 3-Stil-Umschalter als volle Leiste */
  .wsp-style-switcher {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 2px !important;
    padding: 3px !important;
    box-sizing: border-box !important;
  }

  .wsp-style-btn {
    flex: 1 !important;
    justify-content: center !important;
    padding: 6px 4px !important;
    font-size: 0.72rem !important;
    text-align: center !important;
  }

  .wsp-style-btn span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Kartenbühne: Großzügige Höhe für optimale Übersicht & Detailtiefe */
  .wsp-map-stage-wrapper {
    border-radius: 14px !important;
    min-height: 380px !important;
    height: 54vh !important;
    max-height: 520px !important;
    touch-action: pan-x pan-y;
  }

  .wsp-svg-map {
    width: 100% !important;
    min-height: 380px !important;
    height: 100% !important;
    max-height: 520px !important;
    touch-action: pan-x pan-y;
  }

  .wsp-leaflet-map {
    height: 400px !important;
    min-height: 350px !important;
  }

  /* DEUTLICH vergrößerte, kristallklare Ortsbeschriftungen & Touch-Targets auf Mobilgeräten */
  .wsp-map-spot .spot-label {
    font-size: 20px !important;
    font-weight: 800 !important;
    stroke-width: 6.5px !important;
    letter-spacing: 0.01em !important;
    paint-order: stroke fill !important;
  }

  .wsp-map-spot.spot-feilbingert .spot-label {
    font-size: 24px !important;
    font-weight: 900 !important;
    stroke-width: 7.5px !important;
  }

  .wsp-map-spot .spot-circle {
    r: 9 !important;
    stroke-width: 2.8px !important;
  }

  .wsp-map-spot.spot-feilbingert .spot-circle-hq {
    r: 13 !important;
    stroke-width: 3.5px !important;
  }

  .wsp-map-river {
    stroke-width: 5.5px !important;
  }

  .wsp-map-river-label {
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  /* Aktives modales Fenster: Zuverlässiges, gut bedienbares Bottom-Sheet */
  .wsp-search-feedback.wsp-map-overlay.is-active,
  .wsp-search-feedback.wsp-map-overlay.is-active.quadrant-top-left,
  .wsp-search-feedback.wsp-map-overlay.is-active.quadrant-top-right,
  .wsp-search-feedback.wsp-map-overlay.is-active.quadrant-bottom-left,
  .wsp-search-feedback.wsp-map-overlay.is-active.quadrant-bottom-right {
    position: absolute !important;
    top: auto !important;
    bottom: 8px !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    max-width: none !important;
    padding: 13px 15px !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 40px rgba(45, 35, 30, 0.32) !important;
    z-index: 99999 !important; /* Immer im Vordergrund */
  }

  .wsp-overlay-town-name {
    font-size: 1.15rem !important;
  }

  .wsp-overlay-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
  }

  .wsp-overlay-btn-primary,
  .wsp-overlay-btn-secondary {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 9px 14px !important;
  }

  /* Firmenlogo auf der Karte mobil größer & edel platziert */
  .wsp-map-watermark {
    bottom: 8px !important;
    right: 8px !important;
    padding: 6px 12px !important;
    gap: 9px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    box-shadow: 0 3px 12px rgba(45, 35, 30, 0.14) !important;
    pointer-events: auto !important;
  }

  .wsp-watermark-logo {
    height: 48px !important;
    max-width: 155px !important;
  }

  .wsp-watermark-company {
    font-size: 0.76rem !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
  }

  .wsp-watermark-date {
    font-size: 0.68rem !important;
  }

  /* Zoom-Buttons mobil */
  .wsp-map-zoom-controls {
    top: 8px !important;
    right: 8px !important;
    gap: 5px !important;
  }

  .wsp-zoom-btn {
    width: 34px !important;
    height: 34px !important;
    font-size: 1.15rem !important;
  }

  /* Legende im 2-Spalten Raster */
  .wsp-map-footer {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px 10px !important;
    padding: 8px 10px !important;
    font-size: 0.74rem !important;
  }

  .wsp-map-legend-item:first-child {
    grid-column: span 2 !important;
    padding-bottom: 4px !important;
    border-bottom: 1px dashed rgba(168, 125, 111, 0.18) !important;
  }
}

/* Rechte Spalte: Die Karte (Vergrößert und kompakt an die Suche angebunden) */
.wsp-map-card {
  position: relative;
  background: #FCFAF7;
  border-radius: 22px;
  border: 1.5px solid rgba(168, 125, 111, 0.22);
  box-shadow: inset 0 2px 10px rgba(255, 255, 255, 0.9), 0 10px 36px rgba(55, 43, 37, 0.08);
  padding: 8px 10px 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: background 0.35s ease;
}

/* Kartenstil-Umschalter Leiste: Kompakt direkt an der Karte */
.wsp-map-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding: 2px 4px 6px;
  border-bottom: 1px solid rgba(168, 125, 111, 0.10);
  margin-bottom: 4px;
  flex: 0 0 auto;
  min-height: 0;
  height: auto;
}

.wsp-map-topbar-info {
  display: none !important;
}

/* Prominentes Suchfeld im Topbar: Textlich hervorgehoben als Hauptelement */
.wsp-topbar-search {
  flex: 1 1 auto;
  min-width: 240px;
  max-width: 580px;
  min-height: 0;
  height: auto;
}

.wsp-search-input-box {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 14px;
}

.wsp-ghost-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: flex;
  align-items: center;
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: normal;
  padding: 12px 38px 12px 44px;
  box-sizing: border-box;
  white-space: pre;
  overflow: hidden;
  z-index: 1;
}

.wsp-ghost-typed {
  visibility: hidden;
  white-space: pre;
}

.wsp-ghost-suffix {
  color: #A3968C; /* In hellerer, eleganter Farbe wie gewünscht */
  font-weight: 500;
  white-space: pre;
}

.wsp-topbar-search .wsp-search-input {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 12px 38px 12px 44px;
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 600;
  color: #2D231E;
  background: transparent !important;
  border: 2px solid rgba(140, 75, 62, 0.35);
  border-radius: 14px;
  outline: none;
  box-shadow: 0 2px 10px rgba(45, 35, 30, 0.05), inset 0 1px 2px rgba(0, 0, 0, 0.02);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.wsp-topbar-search .wsp-search-input:focus {
  border-color: #8C4B3E;
  box-shadow: 0 0 0 4px rgba(140, 75, 62, 0.16), 0 4px 16px rgba(45, 35, 30, 0.09);
}

.wsp-topbar-search .wsp-search-input::placeholder {
  color: #8C8077;
  font-size: 0.92rem;
  font-weight: 500;
}

.wsp-style-switcher {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #F3ECE5;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid rgba(168, 125, 111, 0.2);
}

.wsp-style-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 13px;
  border-radius: 999px;
  border: none;
  background: transparent;
  font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted, #6E645D);
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.wsp-style-btn:hover {
  color: var(--text-main, #2A231F);
}

.wsp-style-btn.active {
  background: #ffffff;
  color: #8C4B3E;
  box-shadow: 0 2px 8px rgba(45, 30, 20, 0.12);
}

/* ==========================================================================
   Leaflet Topografische Einzugsgebiets-Karte (OpenTopoMap)
   ========================================================================== */
.wsp-leaflet-map {
  width: 100%;
  height: 580px;
  min-height: 480px;
  border-radius: 18px;
  border: 1px solid rgba(168, 125, 111, 0.25);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.04), 0 8px 30px rgba(55, 43, 37, 0.08);
  overflow: hidden;
  z-index: 1;
}

/* Custom Leaflet Markers */
.wsp-leaflet-marker-wrap {
  background: transparent !important;
  border: none !important;
}

.wsp-marker-town {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 4px 10px;
  border-radius: 999px;
  border: 1.5px solid rgba(74, 60, 49, 0.22);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18), 0 1px 2px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
  user-select: none;
}

.wsp-marker-town:hover {
  background: #ffffff;
  border-color: #8C4B3E;
  transform: translate(-50%, -50%) scale(1.08);
  box-shadow: 0 5px 16px rgba(140, 75, 62, 0.35);
  z-index: 999 !important;
}

.wsp-marker-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
}

.wsp-marker-town.status-green .wsp-marker-dot {
  background: #2E7D32;
  box-shadow: 0 0 0 2px rgba(46, 125, 50, 0.2);
}

.wsp-marker-town.status-yellow .wsp-marker-dot {
  background: #F59E0B;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
}

.wsp-marker-town.status-white .wsp-marker-dot {
  background: #FFFFFF;
  border: 2px solid #5D524A;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.wsp-marker-title {
  font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
  font-size: 12px;
  font-weight: 700;
  color: #2D231E;
  letter-spacing: -0.01em;
}

/* Hervorhebung bei Auswahl / Suchtreffer */
.wsp-marker-town.is-matched {
  background: #8C4B3E;
  border-color: #ffffff;
  color: #ffffff;
  box-shadow: 0 0 0 3px rgba(140, 75, 62, 0.35), 0 6px 20px rgba(140, 75, 62, 0.5);
  transform: translate(-50%, -50%) scale(1.15);
  z-index: 1000 !important;
  animation: wspMarkerPulse 1.6s infinite alternate;
}

.wsp-marker-town.is-matched .wsp-marker-title {
  color: #ffffff;
}

.wsp-marker-town.is-matched .wsp-marker-dot {
  box-shadow: 0 0 0 2px #ffffff;
}

@keyframes wspMarkerPulse {
  0% { box-shadow: 0 0 0 3px rgba(140, 75, 62, 0.3), 0 6px 20px rgba(140, 75, 62, 0.4); }
  100% { box-shadow: 0 0 0 8px rgba(140, 75, 62, 0.15), 0 8px 26px rgba(140, 75, 62, 0.6); }
}

.wsp-marker-town.is-dimmed {
  opacity: 0.22;
  transform: translate(-50%, -50%) scale(0.9);
  pointer-events: none;
}

/* HQ Marker Feilbingert */
.wsp-marker-hq-wrap {
  background: transparent !important;
  border: none !important;
}

.wsp-marker-hq {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translate(-50%, -50%);
  cursor: pointer;
  user-select: none;
}

.wsp-marker-hq-radar {
  position: absolute;
  top: 17px;
  left: 50%;
  width: 36px;
  height: 36px;
  margin-left: -18px;
  margin-top: -18px;
  border-radius: 50%;
  border: 2px solid #8C4B3E;
  background: rgba(140, 75, 62, 0.15);
  animation: wspRadarPulse 2.4s infinite cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: none;
  z-index: 1;
}

@keyframes wspRadarPulse {
  0% { transform: scale(0.6); opacity: 0.9; }
  100% { transform: scale(2.6); opacity: 0; }
}

.wsp-marker-hq-logo {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #ffffff;
  border: 2.5px solid #8C4B3E;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(140, 75, 62, 0.45);
  z-index: 2;
  overflow: hidden;
  padding: 3px;
}

.wsp-marker-hq-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.wsp-marker-hq-badge {
  position: relative;
  margin-top: 4px;
  background: #8C4B3E;
  color: #ffffff;
  padding: 3px 10px;
  border-radius: 999px;
  font-family: var(--font-serif, Georgia, serif);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  border: 1.5px solid #ffffff;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.15;
}

.wsp-marker-hq-sub {
  font-family: var(--font-sans, sans-serif);
  font-size: 8.5px;
  font-weight: 600;
  opacity: 0.92;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Einsatzfahrzeug animiert in Leaflet */
.wsp-leaflet-car-wrap {
  background: transparent !important;
  border: none !important;
  pointer-events: none;
}

.wsp-leaflet-car {
  width: 38px;
  height: 20px;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.35));
}

/* Fragezeichen-Badge für gelbe Orte */
.wsp-leaflet-question-wrap {
  background: transparent !important;
  border: none !important;
  pointer-events: none;
}

.wsp-leaflet-question {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #F59E0B;
  color: #ffffff;
  font-weight: 900;
  font-size: 14px;
  border: 2px solid #ffffff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
  transform: translate(-50%, -100%);
  animation: wspQuestionBounceLeaflet 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* Ankunfts-Impuls bei Zielankunft */
.wsp-leaflet-ripple-wrap {
  background: transparent !important;
  border: none !important;
  pointer-events: none;
}

.wsp-leaflet-ripple {
  width: 60px;
  height: 60px;
  margin-left: -30px;
  margin-top: -30px;
  border-radius: 50%;
  border: 3px solid #2E7D32;
  background: rgba(46, 125, 50, 0.2);
  animation: wspLeafletRipple 1.2s cubic-bezier(0.2, 0.8, 0.4, 1) forwards;
}

@keyframes wspLeafletRipple {
  0% { transform: scale(0.2); opacity: 0.95; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* Map Fußzeile / Legende */
.wsp-map-footer {
  margin-top: 10px;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 0.82rem;
  color: #4A3C31;
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(168, 125, 111, 0.12);
  border-radius: 12px;
}

.wsp-map-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.wsp-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.wsp-legend-dot.hq {
  background: #8C4B3E;
  box-shadow: 0 0 0 2px #ffffff;
}

.wsp-legend-dot.status-green {
  background: #2E7D32;
  box-shadow: 0 0 0 1.5px #ffffff;
}

.wsp-legend-dot.status-yellow {
  background: #F59E0B;
  box-shadow: 0 0 0 1.5px #ffffff;
}

.wsp-legend-dot.status-white {
  background: #FFFFFF;
  border: 2px solid #5D524A;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

@keyframes wspQuestionBounceLeaflet {
  0% { transform: translate(-50%, calc(-100% + 6px)) scale(0.6); opacity: 0; }
  60% { transform: translate(-50%, calc(-100% - 4px)) scale(1.12); opacity: 1; }
  100% { transform: translate(-50%, -100%) scale(1); opacity: 1; }
}

@keyframes wspQuestionBounce {
  0% { transform: scale(0.4); opacity: 0; }
  60% { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* ==========================================================================
   Vektor SVG Einzugsgebiets-Karte (Maßgeschneidert, organisch, ohne Kreis)
   ========================================================================== */
.wsp-svg-map {
  width: 100%;
  height: auto;
  max-height: 560px;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(60, 50, 45, 0.08));
  user-select: none;
}

/* Stile der SVG-Elemente (Vollständig ohne Kreis/Rahmenlinie - weiches Auslaufen nach außen) */
.wsp-map-region-bg,
.wsp-map-region-shape {
  fill: url(#wspAreaGlow);
  stroke: none !important;
  stroke-width: 0 !important;
  transition: fill 0.35s ease;
}

/* Layer-Sichtbarkeiten & distinktes Styling für die 3 Kartenstile */
.wsp-topo-layer,
.wsp-classic-layer {
  display: none !important;
  pointer-events: none !important;
}

/* 1. MODERNER STIL */
.map-style-modern {
  background: #FAF8F5 !important;
  border-color: rgba(168, 125, 111, 0.22) !important;
}

.map-style-modern .wsp-map-river {
  stroke: #5E9BB8 !important;
  stroke-width: 3.5px;
}

.map-style-modern .spot-label {
  font-family: var(--font-sans, system-ui, sans-serif);
  font-weight: 600;
  fill: #372B25;
}

/* 2. TOPOGRAFISCHER STIL (Relief, Bergspitzen, Höhenlinien, Bergfluss-Optik) */
.map-style-topo {
  background: #F5F3EB !important;
  border-color: #D3C7B6 !important;
  box-shadow: inset 0 2px 14px rgba(255, 255, 255, 0.9), 0 10px 36px rgba(55, 43, 37, 0.1) !important;
}

.map-style-topo .wsp-topo-layer {
  display: block !important;
}

.map-style-topo .wsp-contour-line {
  fill: none !important;
  stroke: #7D392B;
  stroke-width: 1px;
  stroke-dasharray: 4, 3;
  opacity: 0.45;
  pointer-events: none !important;
}

.map-style-topo .wsp-contour-line.major {
  stroke-width: 1.5;
  stroke-dasharray: none;
  opacity: 0.6;
}

.map-style-topo .wsp-contour-line.peak {
  stroke-width: 1.8;
  stroke: #5E1A0F;
  opacity: 0.8;
}

.map-style-topo .wsp-contour-text {
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 8.5px;
  font-weight: 700;
  fill: #5E1A0F;
  opacity: 0.85;
  letter-spacing: 0.04em;
  user-select: none;
  pointer-events: none !important;
}

.map-style-topo .wsp-map-river {
  stroke: #38708C !important;
  stroke-width: 3.8px;
}

/* 3. KLASSISCHER STIL (Antikes Pergament, Kupferstich, Windrose, Serif-Schrift) */
.map-style-classic {
  background: #F3EBD8 !important;
  border: 2px solid #8C7355 !important;
  box-shadow: inset 0 0 35px rgba(120, 95, 65, 0.12), 0 12px 38px rgba(55, 43, 37, 0.14) !important;
}

.map-style-classic .wsp-classic-layer {
  display: block !important;
}

.map-style-classic .wsp-compass-rose {
  user-select: none;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.12));
}

.map-style-classic .wsp-svg-map {
  filter: sepia(0.12) drop-shadow(0 4px 12px rgba(60, 50, 45, 0.1));
}

.map-style-classic .spot-label {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 11.5px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  fill: #2B211C !important;
}

.map-style-classic .wsp-map-river {
  stroke: #6E888A !important;
  stroke-width: 3.2px;
}

.map-style-classic .wsp-map-river-label {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 11px !important;
  font-style: italic !important;
  fill: #4E686A !important;
}

.wsp-map-subdistrict {
  display: none !important;
  fill: none;
  stroke: transparent;
  stroke-width: 0;
}

.wsp-map-river {
  fill: none;
  stroke: rgba(165, 200, 220, 0.85);
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wsp-map-river-alsenz {
  stroke-width: 2.4;
}

.wsp-map-river-label {
  font-family: var(--font-sans);
  font-size: 9px;
  font-style: italic;
  letter-spacing: 0.08em;
  fill: rgba(100, 145, 165, 0.8);
  user-select: none;
}

/* Orte auf der Vektor-Karte */
.wsp-map-spot {
  cursor: pointer;
  outline: none;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.wsp-map-spot .spot-circle {
  fill: #ffffff;
  stroke: rgba(58, 50, 45, 0.25);
  stroke-width: 1.5;
  transition: all 0.25s ease;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.15));
}

.wsp-map-spot .spot-circle-status {
  transition: all 0.25s ease;
}

.wsp-map-spot .spot-label {
  font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
  font-size: 11px;
  font-weight: 600;
  fill: #2D231E;
  letter-spacing: 0.01em;
  paint-order: stroke fill;
  stroke: #ffffff;
  stroke-width: 3px;
  stroke-linejoin: round;
  transition: all 0.25s ease;
  user-select: none;
}

/* Zentrale / Hauptort Feilbingert auf der SVG-Karte */
.wsp-map-spot.spot-feilbingert .spot-circle-hq {
  fill: #ffffff;
  stroke: #8C4B3E;
  stroke-width: 2.5;
  filter: drop-shadow(0 3px 8px rgba(140, 75, 62, 0.45));
}

.wsp-map-spot.spot-feilbingert .spot-pulse {
  fill: none;
  stroke: #8C4B3E;
  stroke-width: 2;
  opacity: 0.8;
  animation: wspMapRadar 2.4s infinite cubic-bezier(0.2, 0.8, 0.2, 1);
}

.wsp-map-spot.spot-feilbingert .spot-label {
  font-family: var(--font-serif, Georgia, serif);
  font-size: 13.5px;
  font-weight: 700;
  fill: #8C4B3E;
  stroke: #ffffff;
  stroke-width: 3.5px;
  letter-spacing: 0.02em;
}

.wsp-map-spot.spot-feilbingert .spot-badge {
  font-family: var(--font-sans, sans-serif);
  font-size: 9px;
  font-weight: 700;
  fill: #ffffff;
}

.wsp-map-spot.spot-feilbingert .spot-badge-bg {
  fill: #8C4B3E;
  filter: drop-shadow(0 2px 5px rgba(140, 75, 62, 0.35));
}

@keyframes wspMapRadar {
  0% { r: 9; opacity: 0.9; }
  100% { r: 24; opacity: 0; }
}

/* Hover-Status auf der SVG-Karte */
.wsp-map-spot:hover .spot-circle {
  stroke: #8C4B3E;
  stroke-width: 2.5;
  filter: drop-shadow(0 2px 6px rgba(140, 75, 62, 0.35));
}

.wsp-map-spot:hover .spot-label {
  fill: #8C4B3E;
  stroke: #ffffff;
  stroke-width: 3.5px;
  font-weight: 700;
}

/* Hervorhebung bei Auswahl / Teilstring-Suche (SVG) */
.wsp-map-spot.matched .spot-circle {
  stroke: #8C4B3E;
  stroke-width: 3;
  filter: drop-shadow(0 0 10px rgba(140, 75, 62, 0.7));
}

.wsp-map-spot.matched .spot-label {
  fill: #8C4B3E;
  stroke: #ffffff;
  stroke-width: 4px;
  font-size: 12.5px;
  font-weight: 700;
}

.wsp-map-spot.matched .spot-highlight-ring {
  display: block !important;
  animation: wspMapPulse 1.5s infinite alternate;
}

@keyframes wspMapPulse {
  0% { stroke-width: 2; opacity: 0.6; }
  100% { stroke-width: 4.5; opacity: 1; }
}

/* Ausblenden nicht passender Orte bei aktiver Suche (SVG) */
.wsp-map-spot.dimmed {
  opacity: 0.12;
  pointer-events: none;
}

/* Klein-Ortschaften (im 20-km-Radius: standardmäßig diskret verborgen, erst bei Suche sichtbar) */
.wsp-map-spot.spot-minor {
  display: none !important;
}

.wsp-map-spot.spot-minor.matched,
.wsp-map-spot.spot-minor.is-revealed {
  display: inline !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Einsatzfahrzeug animiert auf der SVG-Karte */
.wsp-care-car {
  pointer-events: none;
  filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.3));
}

/* Fragezeichen auf der SVG-Karte */
.wsp-question-badge {
  pointer-events: none;
  transform-origin: center;
  transform-box: fill-box;
  animation: wspQuestionBounce 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* Ankunfts-Impuls (SVG) - Dauerhaftes ("unendliches") Pulsieren in Statusfarbe */
.wsp-arrival-ripple {
  fill: none;
  stroke: #2E7D32;
  stroke-width: 2.5;
  pointer-events: none;
}

.wsp-arrival-ripple.is-persistent {
  animation: wspPulseInfinite 2.0s cubic-bezier(0.15, 0.8, 0.35, 1) infinite !important;
}

.wsp-arrival-ripple.is-persistent.delay {
  animation-delay: 1.0s !important;
}

.wsp-arrival-ripple.pulse-green { stroke: #2E7D32 !important; }
.wsp-arrival-ripple.pulse-yellow { stroke: #F59E0B !important; }
.wsp-arrival-ripple.pulse-white { stroke: #6E645D !important; }
.wsp-arrival-ripple.pulse-hq { stroke: #8C4B3E !important; }

@keyframes wspPulseInfinite {
  0% {
    r: 6;
    opacity: 0.95;
    stroke-width: 3.2;
  }
  60% {
    opacity: 0.45;
  }
  100% {
    r: 34;
    opacity: 0;
    stroke-width: 0.6;
  }
}

/* ==========================================================================
   Segmentierte Startseite (Landing & Front Page)
   ========================================================================== */
.landing-container {
  max-width: var(--content-max-width, 1216px);
  padding: 0 12px;
}

.landing-header {
  max-width: 820px;
  margin: 0 auto clamp(32px, 5vw, 48px);
  text-align: center;
}

.home-catchment-segment {
  margin: clamp(40px, 6vw, 64px) 0;
  text-align: center;
}

.landing-career-segment {
  max-width: 680px;
  margin: clamp(36px, 5vw, 56px) auto 20px;
  text-align: center;
}

/* Tool Header in der linken Kartenspalte */
.wsp-catchment-header {
  margin-bottom: 18px;
  text-align: left;
}

.wsp-catchment-pill {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
  background: rgba(168, 125, 111, 0.12);
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 8px;
}

.wsp-catchment-title {
  font-family: var(--font-serif);
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  font-weight: 600;
  color: var(--text-main);
  line-height: 1.25;
  margin-bottom: 6px;
}

.wsp-catchment-pills-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.wsp-mini-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #ffffff;
  border: 1px solid var(--border-color);
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  color: var(--text-muted);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

/* Firmenlogo am Hauptsitz Feilbingert */
.wsp-map-spot .spot-circle-hq {
  transition: all 0.25s ease;
}

.wsp-map-spot:hover .spot-circle-hq {
  stroke: #722719;
  stroke-width: 3.2px;
  filter: drop-shadow(0 4px 12px rgba(140, 75, 62, 0.45));
}

/* ==========================================================================
   Dedicated Pages Layout (Leistungen, Über uns, Kontakt, Karriere)
   ========================================================================== */
.dedicated-page {
  text-align: left;
  max-width: var(--content-max-width, 1216px);
  margin: 0 auto;
}

.page-header-banner,
.page-hero-banner,
.catchment-header-banner,
.home-catchment-segment .page-header-banner {
  background: var(--brand-warm, #FAF6F2) !important;
  border: 1.5px solid var(--border-color, rgba(168, 125, 111, 0.28)) !important;
  border-radius: 24px !important;
  padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 48px) !important;
  margin-bottom: 36px !important;
  text-align: left !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  box-shadow: 0 6px 28px rgba(55, 43, 37, 0.05) !important;
}

.home-catchment-card {
  background: var(--card-bg, #FFFFFF) !important;
  border: 1px solid rgba(168, 125, 111, 0.16) !important;
  border-radius: 24px !important;
  padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 48px) !important;
  margin-bottom: 36px !important;
  text-align: left !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  box-shadow: 0 6px 28px rgba(55, 43, 37, 0.05) !important;
}

.section-sub-badge,
.service-tag,
.page-header-banner .hero-region-badge,
.page-header-banner .service-tag,
.page-header-banner .landing-badge-pill,
.page-header-banner .section-sub-badge,
.catchment-header-banner .hero-region-badge,
.catchment-header-banner .service-tag,
.catchment-header-banner .landing-badge-pill,
.catchment-header-banner .section-sub-badge,
.home-catchment-card .landing-badge-pill,
.home-catchment-card .section-sub-badge,
.capacity-info-card .section-sub-badge,
.home-faq-section .section-sub-badge,
.home-faq-box .section-sub-badge,
.ws-aktuelles-box .section-sub-badge,
.home-insta-section .section-sub-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 5px 16px !important;
  background: rgba(140, 75, 62, 0.09) !important;
  border: 1px solid rgba(140, 75, 62, 0.2) !important;
  border-radius: 999px !important;
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #8C4B3E !important;
  margin: 0 0 16px 0 !important;
  width: fit-content !important;
}


.page-header-banner h1,
.page-header-banner h2,
.page-header-banner .wp-block-heading,
.catchment-header-banner h1,
.catchment-header-banner h2,
.catchment-header-banner .wp-block-heading,
.home-catchment-card h2,
.home-catchment-card .wp-block-heading {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2.3rem, 4vw, 3.2rem);
  font-weight: 700 !important;
  color: var(--heading-color, #2B231E) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
}

.page-header-banner .lead-subtitle,
.page-header-banner p.lead-subtitle,
.page-header-banner .section-desc-center,
.page-header-banner p:not(.hero-region-badge):not(.service-tag):not(.landing-badge-pill):not(.section-sub-badge),
.catchment-header-banner .lead-subtitle,
.catchment-header-banner p.lead-subtitle,
.catchment-header-banner .section-desc-center,
.catchment-header-banner p:not(.hero-region-badge):not(.service-tag):not(.landing-badge-pill):not(.section-sub-badge),
.home-catchment-card .lead-subtitle,
.home-catchment-card p.lead-subtitle {
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: clamp(1.05rem, 1.8vw, 1.18rem);
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #716257 !important;
  max-width: 920px !important;
  margin: 0 !important;
  text-align: left !important;
}

/* ==========================================================================
   Verfügbarkeitsampel Card (.ampel-card & Status-Stile)
   ========================================================================== */
.ampel-card {
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid var(--border-color);
  padding: clamp(20px, 3vw, 28px);
  margin: 28px 0 36px;
  box-shadow: 0 4px 20px rgba(55, 43, 37, 0.05);
  text-align: left !important;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
  overflow: hidden;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  box-sizing: border-box !important;
}

.ampel-card.ampel-green {
  border-left: 6px solid #2E7D32 !important;
  background: linear-gradient(135deg, #F8FDF7 0%, #FFFFFF 100%);
}

.ampel-card.ampel-yellow {
  border-left: 6px solid #D97706 !important;
  background: linear-gradient(135deg, #FFFDF5 0%, #FFFFFF 100%);
}

.ampel-card.ampel-red {
  border-left: 6px solid #DC2626 !important;
  background: linear-gradient(135deg, #FEF7F7 0%, #FFFFFF 100%);
}

.ampel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.ampel-status-indicator {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ampel-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
  position: relative;
}

.ampel-green .ampel-dot {
  background: #2E7D32;
  box-shadow: 0 0 0 4px rgba(46, 125, 50, 0.2);
  animation: ampel-pulse-green 2.2s infinite;
}

.ampel-yellow .ampel-dot {
  background: #D97706;
  box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.2);
  animation: ampel-pulse-yellow 2.2s infinite;
}

.ampel-red .ampel-dot {
  background: #DC2626;
  box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.2);
  animation: ampel-pulse-red 2.2s infinite;
}

@keyframes ampel-pulse-green {
  0% { box-shadow: 0 0 0 0 rgba(46, 125, 50, 0.5); }
  70% { box-shadow: 0 0 0 10px rgba(46, 125, 50, 0); }
  100% { box-shadow: 0 0 0 0 rgba(46, 125, 50, 0); }
}

@keyframes ampel-pulse-yellow {
  0% { box-shadow: 0 0 0 0 rgba(217, 119, 6, 0.5); }
  70% { box-shadow: 0 0 0 10px rgba(217, 119, 6, 0); }
  100% { box-shadow: 0 0 0 0 rgba(217, 119, 6, 0); }
}

@keyframes ampel-pulse-red {
  0% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.5); }
  70% { box-shadow: 0 0 0 10px rgba(220, 38, 38, 0); }
  100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}

.ampel-status-titles {
  display: flex;
  flex-direction: column;
}

.ampel-status-label {
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 3px;
}

.ampel-title {
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 2.5vw, 1.55rem);
  font-weight: 700;
  color: var(--text-main);
  margin: 0;
  line-height: 1.25;
}

.ampel-date-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  background: rgba(55, 43, 37, 0.06);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
}

.ampel-body {
  margin-bottom: 20px;
}

.ampel-region {
  font-size: 0.95rem;
  color: var(--text-main);
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.ampel-region strong {
  color: var(--accent);
}

.ampel-desc {
  font-size: 1rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0;
}

.ampel-footer {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid rgba(55, 43, 37, 0.08);
}

.ampel-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  background: var(--ws-btn1-bg, #8C4B3E);
  color: var(--ws-btn1-text, #ffffff) !important;
  font-weight: 600;
  font-size: 0.95rem;
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 3px 12px rgba(140, 75, 62, 0.25);
}

.ampel-cta-btn:hover {
  background: var(--ws-btn1-hover, #722719);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(140, 75, 62, 0.35);
}

.ampel-reassurance {
  font-size: 0.85rem;
  color: var(--text-muted);
  font-style: italic;
}

/* ==========================================================================
   Services Grid & Service Cards (Modernes 3-Spalten-Grid)
   ========================================================================== */
/* Äußerer Gutenberg Block-Wrapper: Belegt die volle Containerbreite */
.services-detailed-grid:has(> .wp-block-group__inner-container),
.wp-block-group.services-detailed-grid:has(> .wp-block-group__inner-container),
.entry-content .services-detailed-grid:has(> .wp-block-group__inner-container),
.services-grid:has(> .wp-block-group__inner-container),
.wp-block-group.services-grid:has(> .wp-block-group__inner-container),
.entry-content .services-grid:has(> .wp-block-group__inner-container) {
  display: block !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  margin: 36px auto !important;
  box-sizing: border-box !important;
  text-align: left !important;
  float: none !important;
  clear: both !important;
}

/* Eigentliches Grid für Karten (3 Spalten Desktop) */
.services-detailed-grid > .wp-block-group__inner-container,
.services-detailed-grid:not(:has(> .wp-block-group__inner-container)),
.wp-block-group.services-detailed-grid > .wp-block-group__inner-container,
.entry-content .services-detailed-grid > .wp-block-group__inner-container,
.services-grid > .wp-block-group__inner-container,
.services-grid:not(:has(> .wp-block-group__inner-container)),
.wp-block-group.services-grid > .wp-block-group__inner-container,
.entry-content .services-grid > .wp-block-group__inner-container,
:has(> .service-detail-card),
:has(> .service-card),
.entry-content :has(> .service-detail-card),
.entry-content :has(> .service-card) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(22px, 2.5vw, 30px) !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
  text-align: left !important;
}

@media (min-width: 680px) and (max-width: 1059px) {
  .services-detailed-grid > .wp-block-group__inner-container,
  .services-detailed-grid:not(:has(> .wp-block-group__inner-container)),
  .wp-block-group.services-detailed-grid > .wp-block-group__inner-container,
  .entry-content .services-detailed-grid > .wp-block-group__inner-container,
  .services-grid > .wp-block-group__inner-container,
  .services-grid:not(:has(> .wp-block-group__inner-container)),
  .wp-block-group.services-grid > .wp-block-group__inner-container,
  .entry-content .services-grid > .wp-block-group__inner-container,
  :has(> .service-detail-card),
  :has(> .service-card),
  .entry-content :has(> .service-detail-card),
  .entry-content :has(> .service-card) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 679px) {
  .services-detailed-grid > .wp-block-group__inner-container,
  .services-detailed-grid:not(:has(> .wp-block-group__inner-container)),
  .wp-block-group.services-detailed-grid > .wp-block-group__inner-container,
  .entry-content .services-detailed-grid > .wp-block-group__inner-container,
  .services-grid > .wp-block-group__inner-container,
  .services-grid:not(:has(> .wp-block-group__inner-container)),
  .wp-block-group.services-grid > .wp-block-group__inner-container,
  .entry-content .services-grid > .wp-block-group__inner-container,
  :has(> .service-detail-card),
  :has(> .service-card),
  .entry-content :has(> .service-detail-card),
  .entry-content :has(> .service-card) {
    grid-template-columns: 1fr !important;
  }
}

/* Edle Karten für Pflegeleistungen (.service-card & .service-detail-card) */
.service-card,
.service-detail-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22) !important;
  border-radius: 20px !important;
  padding: clamp(22px, 2.5vw, 28px) clamp(18px, 2.2vw, 24px) !important;
  box-shadow: 0 4px 18px rgba(55, 43, 37, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.28s cubic-bezier(0.2, 0.9, 0.3, 1), box-shadow 0.28s ease, border-color 0.28s ease !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  height: 100% !important;
  width: 100% !important;
  margin: 0 !important;
}

.service-card > .wp-block-group__inner-container,
.service-detail-card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.service-card::before,
.service-detail-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #8C4B3E 0%, #C48B71 100%);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.service-card:hover,
.service-detail-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(55, 43, 37, 0.09);
  border-color: rgba(140, 75, 62, 0.4);
}

.service-card:hover::before,
.service-detail-card:hover::before {
  opacity: 1;
}

.service-card-header {
  margin-bottom: 14px;
}

.service-tag,
.service-badge-sm {
  display: inline-flex;
  align-items: center;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8C4B3E;
  background: rgba(140, 75, 62, 0.09);
  border: 1px solid rgba(140, 75, 62, 0.2);
  padding: 4px 11px;
  border-radius: 999px;
  margin-bottom: 12px;
  width: fit-content;
}

.service-card-title,
.service-detail-card h3,
.service-card h3 {
  font-family: var(--font-serif) !important;
  font-size: clamp(1.2rem, 1.8vw, 1.38rem);
  font-weight: 700 !important;
  color: var(--text-main, #372B25) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.28 !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.service-card-desc,
.service-detail-card p,
.service-card p {
  font-size: 0.92rem;
  color: var(--text-muted, #6B5E55) !important;
  line-height: 1.6 !important;
  margin: 0 0 16px 0 !important;
}

.service-card-list,
.service-features-list {
  list-style: none !important;
  padding: 0 !important;
  margin: auto 0 0 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
  padding-top: 14px !important;
}

.service-card-list li,
.service-features-list li {
  font-size: 0.88rem;
  color: var(--text-main);
  padding: 7px 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
  line-height: 1.45;
}

.service-card-list li::before,
.service-features-list li::before {
  content: '✓';
  color: #16a34a;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.2;
  flex-shrink: 0;
}

.service-card-list li:last-child,
.service-features-list li:last-child {
  border-bottom: none;
}

.service-features-list li svg {
  color: #16a34a;
  flex-shrink: 0;
  margin-top: 2px;
}

/* Service Card Media & Gutenberg Image Block inside Service Card (Automatisches 16:10-Format & 14px Eckenrundung) */
.service-detail-card figure,
.service-detail-card .wp-block-image,
.service-detail-card .service-card-media,
.service-card figure,
.service-card .wp-block-image,
.service-card .service-card-media,
figure.service-card-img,
.wp-block-image.service-card-img,
figure.wp-block-image.service-card-img,
.service-card-media,
.editor-styles-wrapper .service-detail-card figure,
.editor-styles-wrapper .service-detail-card .wp-block-image,
.editor-styles-wrapper .service-card figure,
.editor-styles-wrapper .service-card .wp-block-image {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  background-color: #f7f3f0 !important;
  box-shadow: 0 4px 14px rgba(55, 43, 37, 0.06) !important;
  flex-shrink: 0 !important;
  display: block !important;
}

.service-detail-card img,
.service-card img,
.service-detail-card figure img,
.service-card figure img,
.service-detail-card .wp-block-image img,
.service-card .wp-block-image img,
.service-detail-card .components-resizable-box-container,
.service-card .components-resizable-box-container,
.service-detail-card .components-resizable-box-container img,
.service-card .components-resizable-box-container img,
figure.service-card-img img,
.wp-block-image.service-card-img img,
figure.wp-block-image.service-card-img img,
.service-card-media img,
.service-card-img img,
.editor-styles-wrapper .service-detail-card img,
.editor-styles-wrapper .service-card img,
.editor-styles-wrapper .service-detail-card figure img,
.editor-styles-wrapper .service-card figure img,
.editor-styles-wrapper .service-detail-card .wp-block-image img,
.editor-styles-wrapper .service-card .wp-block-image img,
.editor-styles-wrapper .service-detail-card .components-resizable-box-container,
.editor-styles-wrapper .service-card .components-resizable-box-container,
.editor-styles-wrapper .service-detail-card .components-resizable-box-container img,
.editor-styles-wrapper .service-card .components-resizable-box-container img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: transform 0.4s cubic-bezier(0.2, 0.9, 0.3, 1) !important;
}

.service-detail-card:hover img,
.service-card:hover img {
  transform: scale(1.04);
}

/* ==========================================================================
   Gutenberg Block-Styles für die Bürokraft (1-Klick Eckenrundung für Bilder)
   ========================================================================== */
.is-style-ws-rounded,
.is-style-ws-rounded figure,
.is-style-ws-rounded.wp-block-image,
figure.is-style-ws-rounded,
.editor-styles-wrapper .is-style-ws-rounded,
.editor-styles-wrapper figure.is-style-ws-rounded {
  border-radius: 14px !important;
  overflow: hidden !important;
}

.is-style-ws-rounded img,
figure.is-style-ws-rounded img,
.is-style-ws-rounded .components-resizable-box-container,
.is-style-ws-rounded .components-resizable-box-container img,
.editor-styles-wrapper .is-style-ws-rounded img,
.editor-styles-wrapper figure.is-style-ws-rounded img,
.editor-styles-wrapper .is-style-ws-rounded .components-resizable-box-container,
.editor-styles-wrapper .is-style-ws-rounded .components-resizable-box-container img {
  border-radius: 14px !important;
  overflow: hidden !important;
}

.is-style-ws-rounded-lg,
.is-style-ws-rounded-lg figure,
.is-style-ws-rounded-lg.wp-block-image,
figure.is-style-ws-rounded-lg,
.is-style-ws-rounded-lg img,
figure.is-style-ws-rounded-lg img,
.is-style-ws-rounded-lg .components-resizable-box-container,
.is-style-ws-rounded-lg .components-resizable-box-container img,
.editor-styles-wrapper .is-style-ws-rounded-lg img {
  border-radius: 20px !important;
  overflow: hidden !important;
}

.is-style-ws-circle,
.is-style-ws-circle figure,
.is-style-ws-circle.wp-block-image,
figure.is-style-ws-circle,
.editor-styles-wrapper .is-style-ws-circle,
.editor-styles-wrapper figure.is-style-ws-circle {
  border-radius: 50% !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
}

.is-style-ws-circle img,
figure.is-style-ws-circle img,
.is-style-ws-circle .components-resizable-box-container,
.is-style-ws-circle .components-resizable-box-container img,
.editor-styles-wrapper .is-style-ws-circle img,
.editor-styles-wrapper figure.is-style-ws-circle img,
.editor-styles-wrapper .is-style-ws-circle .components-resizable-box-container,
.editor-styles-wrapper .is-style-ws-circle .components-resizable-box-container img {
  border-radius: 50% !important;
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

/* Regional Feature Banner (Einheitliche Inhalts- und Sektions-Boxen mit weißem Hintergrund) */
.regional-feature-banner,
.wp-block-group.regional-feature-banner,
.ws-aktuelles-box,
.home-faq-box {
  border-radius: 20px !important;
  overflow: hidden !important;
  background: var(--card-bg, #FFFFFF) !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22) !important;
  box-shadow: 0 6px 24px rgba(55, 43, 37, 0.05) !important;
  margin: 40px auto !important;
  display: block !important;
  text-align: left !important;
  padding: clamp(32px, 4vw, 44px) clamp(28px, 4vw, 48px) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.regional-feature-banner .service-tag,
.regional-feature-banner .section-sub-badge,
.wp-block-group.regional-feature-banner .service-tag,
.wp-block-group.regional-feature-banner .section-sub-badge {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #8C4B3E !important;
  background: rgba(140, 75, 62, 0.09) !important;
  border: 1px solid rgba(140, 75, 62, 0.2) !important;
  padding: 5px 16px !important;
  border-radius: 999px !important;
  margin: 0 0 16px 0 !important;
  width: fit-content !important;
}

.regional-feature-banner h2,
.regional-feature-banner h3,
.regional-feature-banner .service-card-title,
.wp-block-group.regional-feature-banner h2,
.wp-block-group.regional-feature-banner h3,
.wp-block-group.regional-feature-banner .service-card-title {
  font-family: var(--font-serif) !important;
  font-size: clamp(1.4rem, 2.5vw, 1.85rem);
  font-weight: 700 !important;
  color: var(--heading-color, #2B231E) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.3 !important;
}

.regional-feature-banner p:not(.service-tag):not(.section-sub-badge),
.wp-block-group.regional-feature-banner p:not(.service-tag):not(.section-sub-badge) {
  font-size: 1.02rem;
  line-height: 1.7 !important;
  color: #4A403A !important;
  margin: 0 0 18px 0;
}

/* Spezifische Anpassungen innerhalb von regionalen Feature-Boxen */
.ws-aktuelles-box .aktuelles-card-grid {
  margin-top: 16px !important;
}
.ws-aktuelles-box .aktuelles-card p {
  margin: 0 0 12px 0 !important;
}
.home-faq-box .faq-accordion-list {
  margin-top: 20px !important;
}


/* About Quote Box (Über uns) - Volle Breite wie oberes und unteres Element */
.about-quote-box,
.wp-block-group.about-quote-box {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: var(--card-bg, #FFFFFF) !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22) !important;
  border-radius: 20px !important;
  padding: clamp(32px, 4.5vw, 48px) clamp(28px, 4.5vw, 56px) !important;
  margin: 40px 0 !important;
  text-align: center !important;
  box-shadow: 0 6px 24px rgba(55, 43, 37, 0.04) !important;
}

.about-quote-box .about-quote-text {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-style: italic !important;
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  line-height: 1.65 !important;
  color: #2B231E !important;
  margin: 0 auto 18px auto !important;
  max-width: 980px !important;
}

.about-quote-box .about-quote-author {
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: clamp(1.05rem, 1.25vw, 1.2rem);
  font-weight: 700 !important;
  color: #8C4B3E !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
}

.regional-feature-content {
  padding: clamp(24px, 3.5vw, 36px) clamp(24px, 4vw, 42px);
  text-align: left;
}

.regional-feature-media {
  width: 100%;
  height: 100%;
  min-height: 320px;
  overflow: hidden;
}

.regional-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.5s ease;
}

.regional-feature-banner:hover .regional-feature-media img {
  transform: scale(1.03);
}

.regional-feature-content {
  padding: clamp(24px, 3.5vw, 40px);
}

@media (max-width: 860px) {
  .regional-feature-banner {
    grid-template-columns: 1fr;
  }
  .regional-feature-media {
    min-height: 240px;
    max-height: 340px;
  }
}


.service-icon-box {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(168, 125, 111, 0.12);
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

/* ==========================================================================
   FAQ Modul: Volle Breite & linksbündige Ausrichtung
   ========================================================================== */
.home-faq-section,
.faq-accordion-list,
.faq-list,
.faq-card,
.faq-question,
.faq-answer,
.faq-accordion-item,
.faq-accordion-item summary,
.faq-accordion-body {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  text-align: left !important;
}

.home-faq-section .section-header-center,
.home-faq-section .section-header-left,
.home-faq-section h2,
.home-faq-section p {
  text-align: left !important;
}

/* FAQ Akkordeon Kacheln & Detail-Blöcke */
.faq-accordion-item,
details.faq-accordion-item,
details.wp-block-details.faq-accordion-item,
details.is-style-ws-faq-card,
.wp-block-details.is-style-ws-faq-card,
.home-faq-box details,
.home-faq-box .faq-accordion-item {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22) !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  box-shadow: 0 3px 12px rgba(55, 43, 37, 0.04) !important;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.2s ease !important;
  overflow: hidden !important;
}

.faq-accordion-item:hover,
details.faq-accordion-item:hover,
details.is-style-ws-faq-card:hover {
  border-color: rgba(140, 75, 62, 0.38) !important;
  box-shadow: 0 6px 18px rgba(55, 43, 37, 0.07) !important;
}

.faq-accordion-item[open],
details.faq-accordion-item[open],
details.is-style-ws-faq-card[open] {
  border-color: rgba(140, 75, 62, 0.42) !important;
  box-shadow: 0 6px 20px rgba(140, 75, 62, 0.09) !important;
}

/* FAQ Einzelfrage mit Akzentrand (is-style-ws-faq-bordered) */
details.is-style-ws-faq-bordered,
.wp-block-details.is-style-ws-faq-bordered {
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--card-bg, #FFFFFF) !important;
  border-radius: 16px !important;
  border: 1.5px solid #A87D6F !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  box-shadow: 0 4px 16px rgba(168, 125, 111, 0.12) !important;
  overflow: hidden !important;
}

/* FAQ Fragezeile / Summary - Schriftgröße ticken kleiner (0.98rem) */
.faq-accordion-item summary,
details.faq-accordion-item summary,
details.is-style-ws-faq-card summary,
details.is-style-ws-faq-bordered summary,
.home-faq-box summary,
.faq-summary {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 22px !important;
  margin: 0 !important;
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: #372B25 !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none !important;
  transition: color 0.18s ease !important;
}

.faq-accordion-item summary:hover,
details.faq-accordion-item summary:hover,
.home-faq-box summary:hover {
  color: #8C4B3E !important;
}

/* Native Pfeile ausblenden */
.faq-accordion-item summary::-webkit-details-marker,
details.faq-accordion-item summary::-webkit-details-marker,
details.is-style-ws-faq-card summary::-webkit-details-marker,
.home-faq-box summary::-webkit-details-marker {
  display: none !important;
}
.faq-accordion-item summary::marker,
details.faq-accordion-item summary::marker,
details.is-style-ws-faq-card summary::marker {
  display: none !important;
}

/* W&S Plus/Minus Indikator */
.faq-accordion-item summary::after,
details.faq-accordion-item summary::after,
details.is-style-ws-faq-card summary::after,
details.is-style-ws-faq-bordered summary::after,
.home-faq-box summary::after {
  content: "+" !important;
  font-size: 1.32rem !important;
  font-weight: 600 !important;
  color: #8C4B3E !important;
  line-height: 1 !important;
  margin-left: 14px !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.faq-accordion-item[open] summary::after,
details.faq-accordion-item[open] summary::after,
details.is-style-ws-faq-card[open] summary::after,
details.is-style-ws-faq-bordered[open] summary::after,
.home-faq-box details[open] summary::after {
  content: "\2212" !important;
  color: #8C4B3E !important;
}

/* Wenn internes .faq-toggle-icon existiert, summary::after neutralisieren */
.faq-accordion-item summary:has(.faq-toggle-icon)::after {
  display: none !important;
}

.faq-toggle-icon {
  font-size: 1.32rem !important;
  font-weight: 600 !important;
  color: #8C4B3E !important;
  line-height: 1 !important;
  margin-left: 14px !important;
  flex-shrink: 0 !important;
}

/* FAQ Antwort-Inhalt - Schriftgröße sanft & lesbar (0.93rem) */
.faq-accordion-body,
.home-faq-box .faq-accordion-body,
details.faq-accordion-item > *:not(summary),
details.is-style-ws-faq-card > *:not(summary) {
  padding: 0 22px 18px 22px !important;
  margin: 0 !important;
  font-size: 0.93rem !important;
  line-height: 1.62 !important;
  color: #5A524D !important;
}

.faq-accordion-body p,
.home-faq-box .faq-accordion-body p {
  margin: 0 0 10px 0 !important;
  font-size: 0.93rem !important;
  line-height: 1.62 !important;
  color: #5A524D !important;
}
.faq-accordion-body p:last-child {
  margin-bottom: 0 !important;
}

/* ==========================================================================
   W&S Trennstrich / Trennlinie (Block & Separator-Stile)
   ========================================================================== */
hr.ws-divider,
hr.wp-block-separator.is-style-ws-divider-sand,
hr.wp-block-separator.is-style-ws-divider-subtle,
hr.wp-block-separator.is-style-ws-divider-accent,
hr.wp-block-separator.is-style-ws-divider-dots {
  border: none !important;
  opacity: 1 !important;
  box-sizing: border-box !important;
  clear: both !important;
}

/* Stile */
hr.ws-divider.ws-divider-sand,
hr.wp-block-separator.is-style-ws-divider-sand {
  border-top: 1px solid #EADBCE !important;
  height: 1px !important;
}

hr.ws-divider.ws-divider-subtle,
hr.wp-block-separator.is-style-ws-divider-subtle {
  border-top: 1px solid rgba(140, 75, 62, 0.14) !important;
  height: 1px !important;
}

hr.ws-divider.ws-divider-accent,
hr.wp-block-separator.is-style-ws-divider-accent {
  border-top: 2px solid #8C4B3E !important;
  height: 2px !important;
}

hr.ws-divider.ws-divider-dots,
hr.wp-block-separator.is-style-ws-divider-dots {
  border: none !important;
  background: transparent !important;
  height: auto !important;
  text-align: center !important;
  line-height: 1 !important;
}

hr.ws-divider.ws-divider-dots::before,
hr.wp-block-separator.is-style-ws-divider-dots::before {
  content: "\00b7\00a0\00a0\00b7\00a0\00a0\00b7" !important;
  font-size: 26px !important;
  line-height: 1 !important;
  color: #A87D6F !important;
  display: block !important;
  text-align: center !important;
}

/* Abstände */
hr.ws-divider.ws-divider-spacing-none {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
hr.ws-divider.ws-divider-spacing-small {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}
hr.ws-divider.ws-divider-spacing-medium,
hr.wp-block-separator.is-style-ws-divider-sand,
hr.wp-block-separator.is-style-ws-divider-subtle,
hr.wp-block-separator.is-style-ws-divider-accent,
hr.wp-block-separator.is-style-ws-divider-dots {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}
hr.ws-divider.ws-divider-spacing-large {
  margin-top: 38px !important;
  margin-bottom: 38px !important;
}

/* Breiten */
hr.ws-divider.ws-divider-width-full {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
hr.ws-divider.ws-divider-width-narrow {
  width: 75% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
hr.ws-divider.ws-divider-width-short {
  width: 40% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Kassenabrechnung Info Box (Deutlich vergrößerte, hochgradig lesbare Typografie) */
.kassen-box {
  background: var(--card-bg, #FFFFFF) !important;
  border: 1.5px solid var(--border-color, rgba(168, 125, 111, 0.22)) !important;
  border-radius: 20px;
  padding: clamp(24px, 3.5vw, 36px) clamp(24px, 4vw, 42px) clamp(28px, 4vw, 38px) !important;
  margin: 44px 0;
  text-align: left;
}

.kassen-box > *:first-child,
.kassen-box h2:first-child,
.kassen-box h3:first-child,
.kassen-box .wp-block-heading:first-child {
  font-family: var(--font-serif);
  font-size: clamp(1.68rem, 2.5vw, 2.05rem);
  color: var(--text-main);
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 12px !important;
  line-height: 1.28 !important;
  font-weight: 700;
}

.kassen-box > p:first-of-type,
.kassen-box > p {
  font-family: var(--font-sans, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: clamp(1.1rem, 1.4vw, 1.22rem);
  color: #3D322B !important;
  line-height: 1.68 !important;
  margin-top: 6px !important;
  margin-bottom: 24px !important;
}

.kassen-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.kassen-col {
  background: #ffffff;
  padding: clamp(28px, 3.5vw, 36px) clamp(24px, 3vw, 30px);
  border-radius: 18px;
  border: 1px solid var(--border-color);
  box-shadow: 0 4px 16px rgba(55, 43, 37, 0.04);
  display: flex;
  flex-direction: column;
}

.kassen-col h4:not([class*="has-"]):not([style*="font-size"]),
.kassen-col .wp-block-heading:not([class*="has-"]):not([style*="font-size"]) {
  font-family: var(--font-serif);
  font-size: clamp(1.18rem, 1.4vw, 1.34rem);
  color: var(--accent, #8C4B3E) !important;
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.kassen-col p {
  font-family: var(--font-sans, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: clamp(1.04rem, 1.25vw, 1.14rem);
  font-weight: 400 !important;
  color: #4A3E37 !important;
  line-height: 1.72 !important;
  margin: 0 !important;
}

/* Gutenberg Editor Styles für Kassen-Box */
.editor-styles-wrapper .kassen-box {
  padding: 32px 36px !important;
}
.editor-styles-wrapper .kassen-box .wp-block-heading:first-child {
  font-size: 2rem;
  font-family: var(--font-serif) !important;
}
.editor-styles-wrapper .kassen-box > p {
  font-size: 1.18rem;
  font-family: var(--font-sans) !important;
  color: #3D322B !important;
}
.editor-styles-wrapper .kassen-col h4:not([class*="has-"]):not([style*="font-size"]),
.editor-styles-wrapper .kassen-col .wp-block-heading:not([class*="has-"]):not([style*="font-size"]) {
  font-size: 1.3rem;
  font-family: var(--font-serif) !important;
  color: var(--accent) !important;
}
.editor-styles-wrapper .kassen-col p {
  font-size: 1.14rem;
  font-family: var(--font-sans) !important;
  color: #4A3E37 !important;
  line-height: 1.7 !important;
}

/* ==========================================================================
   Founder Grid & Cards: Beide Gründer nebeneinander (2-Spalten-Layout)
   ==========================================================================
   Über uns: Gründer-Karten & Philosophie (Großzügiges, modernes Layout)
   ========================================================================== */
/* WordPress Block Group inner-container must always be 100% width */
.wp-block-group__inner-container {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Page Header Banner, About Card & Quote: Vollbreite Blöcke (KEINE 2-Spalten-Grids!) */
.page-header-banner,
body .is-layout-constrained > .page-header-banner,
.entry-content > .page-header-banner,
.about-card,
body .is-layout-constrained > .about-card,
.entry-content > .about-card,
.about-quote,
body .is-layout-constrained > .about-quote,
.entry-content > .about-quote {
  display: block !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  margin: 32px auto !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

.page-header-banner {
  background: var(--brand-warm, #FAF6F2) !important;
  border: 1.5px solid var(--border-color, rgba(168, 125, 111, 0.28)) !important;
  border-radius: 24px !important;
  padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 48px) !important;
  margin-bottom: 40px !important;
}

/* Kontakt-Page Header: Schöne Umrahmung & konsistente Header-Box wie auf allen anderen Seiten */
.kontakt-page .page-header-banner,
.page-template-page-kontakt .page-header-banner,
.kontakt-header-wrap,
.entry-content > .kontakt-header-wrap,
.entry-content > .page-header-banner:has(+ .contact-cards-grid),
.entry-content > .page-header-banner:has(+ .wp-block-wagner-steinbach-contact-grid) {
  display: block !important;
  background: var(--brand-warm, #FAF6F2) !important;
  border: 1px solid var(--border-color, rgba(168, 125, 111, 0.22)) !important;
  border-radius: 24px !important;
  box-shadow: 0 4px 20px rgba(55, 43, 37, 0.04) !important;
  padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 48px) !important;
  margin: 10px auto 36px auto !important;
  max-width: var(--content-max-width, 1216px) !important;
  text-align: left !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.kontakt-page .page-header-banner h1,
.page-template-page-kontakt .page-header-banner h1,
.kontakt-header-wrap h1,
.kontakt-header-wrap .wp-block-heading {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2.3rem, 4vw, 3.2rem) !important;
  font-weight: 700 !important;
  color: var(--heading-color, #2B231E) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
}

.kontakt-page .page-header-banner .lead-subtitle,
.page-template-page-kontakt .page-header-banner .lead-subtitle,
.kontakt-header-wrap .lead-subtitle,
.kontakt-header-wrap p {
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: clamp(1.05rem, 1.8vw, 1.18rem) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #716257 !important;
  max-width: 860px !important;
  margin: 0 !important;
  text-align: left !important;
}

/* ==========================================================================
   Kontakt-Karten 3er-Raster & Einzelkarten
   ========================================================================== */
.contact-cards-grid,
.wp-block-wagner-steinbach-contact-grid,
.wp-block-group.contact-cards-grid,
.entry-content .contact-cards-grid,
.entry-content > .contact-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  margin: 0 auto 44px auto !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
  float: none !important;
  clear: both !important;
}

@media (max-width: 991px) {
  .contact-cards-grid,
  .wp-block-wagner-steinbach-contact-grid,
  .wp-block-group.contact-cards-grid,
  .entry-content .contact-cards-grid,
  .entry-content > .contact-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

.contact-cards-grid > *,
.contact-cards-grid > .contact-info-card,
.contact-cards-grid > .wp-block-wagner-steinbach-contact-card,
.wp-block-group.contact-cards-grid > *,
.entry-content .contact-cards-grid > * {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  background: #FFFFFF !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22) !important;
  border-radius: 20px !important;
  padding: 32px 28px 26px !important;
  box-shadow: 0 4px 20px rgba(55, 43, 37, 0.05) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  position: relative !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 380px !important;
  text-align: left !important;
}

.contact-cards-grid > *:hover,
.contact-info-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(140, 75, 62, 0.12) !important;
  border-color: rgba(168, 125, 111, 0.45) !important;
}

.contact-info-card .card-icon {
  width: 50px !important;
  height: 50px !important;
  border-radius: 14px !important;
  background: rgba(168, 125, 111, 0.12) !important;
  color: #8C4B3E !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 20px 0 !important;
  flex-shrink: 0 !important;
}

.contact-info-card .card-icon svg {
  width: 24px !important;
  height: 24px !important;
  stroke: #8C4B3E !important;
}

.contact-info-card h3.wp-block-heading,
.contact-info-card h3 {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-size: 1.45rem;
  font-weight: 700 !important;
  color: #372B25 !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.3 !important;
}

.contact-info-card .contact-card-content {
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: 0.98rem;
  line-height: 1.65 !important;
  color: #372B25 !important;
  margin: 0 0 20px 0 !important;
  flex-grow: 1 !important;
}

.contact-info-card .contact-card-content strong {
  color: #2A211D !important;
  font-weight: 600 !important;
}

.contact-info-card .contact-card-content a {
  color: #8C4B3E !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}

.contact-info-card .contact-card-content a:hover {
  color: #6E352A !important;
  text-decoration: underline !important;
}

.contact-info-card .has-small-font-size {
  font-size: 0.88rem;
  line-height: 1.5 !important;
  color: #6E645D !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(168, 125, 111, 0.15) !important;
}

/* Gründer-Grid: Wenn ein Gutenberg Inner-Container existiert, ist die äußere Gruppe ein Block-Wrapper */
.founder-grid:has(> .wp-block-group__inner-container),
.wp-block-group.founder-grid:has(> .wp-block-group__inner-container),
.entry-content .founder-grid:has(> .wp-block-group__inner-container) {
  display: block !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  margin: 36px auto !important;
  box-sizing: border-box !important;
  text-align: left !important;
  float: none !important;
  clear: both !important;
}

/* 2-Spalten-Grid für die Gründer (funktioniert für Gutenberg inner-container UND für reine HTML/PHP section.founder-grid) */
.founder-grid > .wp-block-group__inner-container,
.founder-grid:not(:has(> .wp-block-group__inner-container)),
.founder-grid.wp-block-group > .wp-block-group__inner-container,
.wp-block-group.founder-grid > .wp-block-group__inner-container,
.entry-content .founder-grid > .wp-block-group__inner-container,
section.founder-grid,
div.founder-grid:not(:has(> .wp-block-group__inner-container)),
.entry-content section.founder-grid,
.entry-content div.founder-grid:not(:has(> .wp-block-group__inner-container)),
.entry-content .founder-grid:not(:has(> .wp-block-group__inner-container)) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(24px, 4vw, 36px) !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
  margin: 36px auto !important;
  text-align: left !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
}

/* Auf mobilen Geräten (< 768px) untereinander stapeln */
@media (max-width: 767px) {
  .founder-grid > .wp-block-group__inner-container,
  .founder-grid:not(:has(> .wp-block-group__inner-container)),
  .founder-grid.wp-block-group > .wp-block-group__inner-container,
  .wp-block-group.founder-grid > .wp-block-group__inner-container,
  .entry-content .founder-grid > .wp-block-group__inner-container,
  section.founder-grid,
  div.founder-grid:not(:has(> .wp-block-group__inner-container)),
  .entry-content section.founder-grid,
  .entry-content div.founder-grid:not(:has(> .wp-block-group__inner-container)),
  .entry-content .founder-grid:not(:has(> .wp-block-group__inner-container)) {
    grid-template-columns: 1fr !important;
  }
}

.founder-grid > .wp-block-group__inner-container > *,
.founder-grid > .wp-block-group__inner-container > .founder-card,
.founder-grid > .founder-card,
section.founder-grid > .founder-card,
div.founder-grid > .founder-card,
.wp-block-group.founder-grid > .founder-card,
.entry-content .founder-grid > .founder-card,
.entry-content .wp-block-group.founder-grid > .founder-card,
.founder-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  height: 100% !important;
  min-width: 0 !important;
}

/* Falls Gutenberg .wp-block-group__inner-container innerhalb von .founder-card erzeugt */
.founder-card > .wp-block-group__inner-container {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Geschäftsführer-Karte (Elegantes Profil mit Header & Statement) */
.founder-card {
  background: #ffffff !important;
  border: 1px solid rgba(168, 125, 111, 0.22) !important;
  border-radius: 24px !important;
  padding: clamp(26px, 3.5vw, 38px) !important;
  box-shadow: 0 6px 26px rgba(55, 43, 37, 0.05) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
  overflow: hidden !important;
}

.founder-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 38px rgba(55, 43, 37, 0.1) !important;
  border-color: var(--accent) !important;
}

/* Moderner Card-Header (Foto neben Name & Position) */
.founder-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin-bottom: 22px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(168, 125, 111, 0.14) !important;
}

figure.founder-photo-wrap,
.wp-block-image.founder-photo-wrap,
.founder-photo-wrap,
.team-circle-photo,
figure.team-circle-photo,
.wp-block-image.team-circle-photo,
figure.founder-photo,
.wp-block-image.founder-photo {
  width: 136px !important;
  height: 136px !important;
  max-width: 136px !important;
  min-width: 136px !important;
  max-height: 136px !important;
  min-height: 136px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: #FAF8F5 !important;
  border: 3.5px solid var(--accent) !important;
  box-shadow: 0 6px 18px rgba(140, 75, 62, 0.18) !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  display: block !important;
}

figure.founder-photo-wrap img,
.wp-block-image.founder-photo-wrap img,
.founder-photo-wrap img,
.team-circle-photo img,
figure.team-circle-photo img,
.wp-block-image.team-circle-photo img,
figure.founder-photo img,
.wp-block-image.founder-photo img,
.founder-photo {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform 0.4s ease !important;
  display: block !important;
  border-radius: 50% !important;
}

.founder-card:hover .founder-photo,
.founder-card:hover .founder-photo-wrap img,
.founder-card:hover .team-circle-photo img {
  transform: scale(1.06) !important;
}

.founder-card-meta,
.founder-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  flex-grow: 1 !important;
  padding: 0 !important;
}

.founder-name {
  font-family: var(--font-serif) !important;
  font-size: clamp(1.45rem, 2.2vw, 1.85rem);
  font-weight: 700 !important;
  color: var(--text-main) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.founder-role {
  display: inline-flex !important;
  align-self: flex-start !important;
  font-size: 0.78rem;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--accent) !important;
  background: rgba(140, 75, 62, 0.1) !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  margin: 0 !important;
  cursor: default !important;
}

/* Persönliches Statement / Zitat der Gründer */
.founder-bio {
  font-size: 1rem;
  color: var(--text-main) !important;
  line-height: 1.72 !important;
  margin: 0 !important;
  font-style: italic !important;
  background: var(--card-bg, #FFFFFF) !important;
  border-left: 3.5px solid var(--accent) !important;
  padding: 18px 22px !important;
  border-radius: 0 14px 14px 0 !important;
  flex-grow: 1 !important;
}

/* ==========================================================================
   Kontakt: Kanalkacheln, Icons & Auswahlelemente
   ========================================================================== */
.contact-channel-card {
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: clamp(26px, 3.5vw, 36px) 26px !important;
  border: 1px solid rgba(140, 75, 62, 0.16) !important;
  box-shadow: 0 6px 24px rgba(55, 43, 37, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  text-align: left !important;
}

.contact-channel-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 34px rgba(55, 43, 37, 0.09) !important;
  border-color: var(--accent) !important;
}

.contact-channel-icon-badge {
  width: 62px !important;
  height: 62px !important;
  border-radius: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 20px !important;
  transition: transform 0.25s ease !important;
  flex-shrink: 0 !important;
}

.contact-channel-card:hover .contact-channel-icon-badge {
  transform: scale(1.08) !important;
}

.contact-channel-icon-badge svg {
  width: 32px !important;
  height: 32px !important;
  stroke-width: 2px !important;
}

.contact-channel-icon-badge.badge-phone {
  background: rgba(140, 75, 62, 0.12) !important;
  color: var(--accent) !important;
}

.contact-channel-icon-badge.badge-callback {
  background: rgba(46, 125, 50, 0.12) !important;
  color: #2E7D32 !important;
}

.contact-channel-icon-badge.badge-teams {
  background: rgba(0, 120, 212, 0.12) !important;
  color: #0078D4 !important;
}

/* Auswahl des bevorzugten Kontaktwegs (Formular-Radio-Kacheln) */
.pref-options-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 12px !important;
  margin-top: 10px !important;
}

.pref-option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(140, 75, 62, 0.16) !important;
  border-radius: 14px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-size: 0.94rem !important;
  color: var(--text-main) !important;
  user-select: none !important;
}

.pref-option:hover {
  border-color: var(--accent) !important;
  background: #FAF8F5 !important;
  transform: translateY(-1px) !important;
}

.pref-option input[type="radio"] {
  accent-color: var(--accent) !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.pref-option input[type="radio"]:checked ~ .pref-label {
  color: var(--accent) !important;
  font-weight: 700 !important;
}

.pref-option:has(input[type="radio"]:checked) {
  border-color: var(--accent) !important;
  background: rgba(140, 75, 62, 0.05) !important;
  box-shadow: 0 0 0 1px var(--accent) !important;
}

.pref-icon {
  width: 22px !important;
  height: 22px !important;
  color: var(--accent) !important;
  stroke-width: 2px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

/* About Quote Box */
.about-quote {
  background: linear-gradient(135deg, rgba(168, 125, 111, 0.08) 0%, rgba(168, 125, 111, 0.02) 100%);
  border-left: 4px solid var(--accent);
  border-radius: 0 16px 16px 0;
  padding: 24px 28px;
  margin: 36px 0;
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  font-style: italic;
  color: var(--text-main);
  line-height: 1.65;
}

.about-card {
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: clamp(24px, 4vw, 36px);
  margin: 36px 0;
  text-align: left;
  box-shadow: 0 4px 18px rgba(55, 43, 37, 0.04);
}

.hero-trust-bar {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 28px;
}

@media (max-width: 860px) {
  .hero-trust-bar {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.trust-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  transition: none;
}

.trust-item.has-trust-content,
.trust-item:has(.trust-content) {
  flex-direction: row;
  gap: 16px;
}

.trust-item:hover {
  transform: none;
  box-shadow: none;
}

.trust-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(140, 75, 62, 0.12);
  color: var(--accent, #8C4B3E);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.trust-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--accent, #8C4B3E);
}

.trust-content {
  flex: 1 1 auto;
  min-width: 0;
}

.trust-content h4,
.trust-item h4 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-main, #372B25);
  margin: 0 0 6px 0;
  line-height: 1.35;
}

.trust-content p,
.trust-item p {
  font-size: 0.90rem;
  color: var(--text-muted, #6B5E55);
  line-height: 1.55;
  margin: 0;
}

/* Fallback protection if bare Gutenberg blocks are used without .trust-content */
.wp-block-column.trust-item,
.trust-item:not(:has(.trust-content)) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.wp-block-column.trust-item h4,
.wp-block-column.trust-item p,
.wp-block-column.trust-item .wp-block-heading,
.wp-block-column.trust-item .wp-block-paragraph,
.trust-item:not(:has(.trust-content)) h4,
.trust-item:not(:has(.trust-content)) p {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ==========================================================================
/* Kontakt-Seite: Einheitlicher Header gemäß Pflegeleistungen-Referenz */
.kontakt-page .page-header-banner,
.page-template-page-kontakt .page-header-banner,
.kontakt-header-wrap {
  background: var(--brand-warm, #FAF6F2) !important;
  border: 1px solid var(--border-color, rgba(168, 125, 111, 0.22)) !important;
  border-radius: 24px !important;
  box-shadow: 0 4px 20px rgba(55, 43, 37, 0.04) !important;
  padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 48px) !important;
  margin: 0 auto 36px auto !important;
  text-align: left !important;
}

/* Contact Cards Grid: 3 Spalten mit exakt gleicher Kartenhöhe */
.contact-cards-grid,
.wp-block-wagner-steinbach-contact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin: 24px 0 40px !important;
  align-items: stretch !important;
  text-align: left !important;
}

@media (max-width: 980px) {
  .contact-cards-grid,
  .wp-block-wagner-steinbach-contact-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  }
}

/* Editor Canvas Support */
.contact-cards-grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

/* Einzelne Kontakt-Karte */
.contact-info-card,
.wp-block-wagner-steinbach-contact-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(168, 125, 111, 0.2) !important;
  border-radius: 20px !important;
  padding: 28px 26px 24px !important;
  box-shadow: 0 4px 20px rgba(55, 43, 37, 0.05) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  min-height: 380px !important;
  box-sizing: border-box !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  text-align: left !important;
}

.contact-info-card:hover,
.wp-block-wagner-steinbach-contact-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(140, 75, 62, 0.12) !important;
  border-color: #8C4B3E !important;
}

.contact-info-card .card-icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background: rgba(168, 125, 111, 0.12) !important;
  color: #8C4B3E !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
  transition: transform 0.25s ease !important;
  flex-shrink: 0 !important;
}

.contact-info-card:hover .card-icon {
  transform: scale(1.08) !important;
}

.contact-info-card .card-icon svg {
  width: 26px !important;
  height: 26px !important;
  stroke: #8C4B3E !important;
  stroke-width: 2px !important;
  display: block !important;
}

.contact-info-card h3,
.contact-info-card .wp-block-heading {
  font-family: var(--font-serif) !important;
  font-size: 1.35rem;
  font-weight: 700 !important;
  color: #2C3137 !important;
  margin: 0 0 14px 0 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
  min-height: unset !important;
  display: block !important;
}

.contact-info-card p.contact-card-content,
.contact-info-card p:not(.has-small-font-size):not(:last-child) {
  font-size: 0.95rem;
  color: #372B25 !important;
  line-height: 1.6 !important;
  margin: 0 0 16px 0 !important;
  flex-grow: 1 !important;
}

.contact-info-card p.has-small-font-size,
.contact-info-card p:last-child {
  font-size: 0.84rem;
  color: #6E645D !important;
  line-height: 1.45 !important;
  border-top: 1px solid rgba(168, 125, 111, 0.15) !important;
  padding-top: 14px !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
}

.contact-info-card a {
  color: var(--accent, #8C4B3E) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.contact-info-card a:hover {
  text-decoration: underline !important;
}

/* Contact Form Card */
.contact-form-card {
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 24px;
  padding: clamp(28px, 5vw, 44px) clamp(20px, 4vw, 36px);
  margin: 36px 0;
  box-shadow: 0 6px 24px rgba(55, 43, 37, 0.05);
  text-align: left;
}

.contact-form-card h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600;
  color: var(--text-main);
  margin-bottom: 8px;
}

.contact-form-card .form-lead {
  font-size: 0.95rem;
  color: var(--text-muted);
  margin-bottom: 24px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.form-label {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-main);
}

.form-control {
  font-family: var(--font-sans);
  font-size: 0.95rem;
  padding: 12px 16px;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  background: var(--card-bg, #FFFFFF) !important;
  color: var(--text-main);
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}

.form-control:focus {
  outline: none;
  border-color: var(--accent);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(168, 125, 111, 0.15);
}

textarea.form-control {
  resize: vertical;
  min-height: 110px;
}

.form-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.84rem;
  color: var(--text-muted);
  line-height: 1.5;
  cursor: pointer;
  margin: 16px 0;
}

.form-checkbox-label input[type="checkbox"] {
  margin-top: 3px;
  accent-color: var(--accent);
}

.btn-submit {
  background: var(--accent);
  color: #ffffff;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  padding: 14px 28px;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(168, 125, 111, 0.25);
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.btn-submit:hover {
  background: var(--accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(168, 125, 111, 0.35);
}

.form-status-alert {
  padding: 16px 20px;
  border-radius: 14px;
  font-size: 0.95rem;
  margin-top: 20px;
  display: none;
}

.form-status-alert.success {
  display: block;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  color: #166534;
}

/* Home Section Teaser & Cards - Golden Ratio Hero Showcase */
.home-hero-card {
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 24px;
  padding: clamp(32px, 4.5vw, 52px) clamp(24px, 4vw, 44px);
  box-shadow: 0 6px 28px rgba(55, 43, 37, 0.05);
}

.home-hero-showcase .hero-showcase-grid {
  display: grid;
  grid-template-columns: 1.618fr 1fr;
  gap: clamp(28px, 3.8vw, 54px);
  align-items: center;
  text-align: left;
}

@media (max-width: 960px) {
  .home-hero-showcase .hero-showcase-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.hero-category-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(140, 75, 62, 0.07);
  border: 1px solid rgba(140, 75, 62, 0.16);
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 18px;
}

.hero-category-bullet {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
}

.hero-statement {
  font-family: var(--font-serif);
  font-size: clamp(1.85rem, 3.4vw, 2.55rem);
  font-weight: 600;
  color: var(--text-main);
  line-height: 1.22;
  margin-bottom: 18px;
}

.home-hero-showcase .hero-statement {
  text-align: left;
  margin-bottom: 18px;
}

.hero-lead-text {
  font-size: clamp(1.02rem, 1.35vw, 1.14rem);
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0 0 14px 0;
}

.hero-sublead-text {
  font-size: 0.98rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0 0 28px 0;
}

.home-hero-showcase .hero-lead-text {
  text-align: left;
  margin: 0 0 14px 0;
  max-width: 100%;
}

.home-hero-showcase .hero-quick-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 10px;
}

/* Hero Visual & Photo Frame */
.hero-showcase-visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.hero-photo-frame {
  position: relative;
  width: 100%;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(55, 43, 37, 0.12);
  border: 1.5px solid rgba(168, 125, 111, 0.22);
  background: #FAF8F5;
}

.hero-photo-frame figure.hero-team-photo {
  margin: 0 !important;
}

.hero-team-photo,
.hero-photo-frame .hero-team-photo img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  object-position: center 15%;
  display: block;
  transition: transform 0.4s ease;
}

.hero-photo-frame:hover .hero-team-photo,
.hero-photo-frame:hover .hero-team-photo img {
  transform: scale(1.02);
}

.hero-photo-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--accent, #8C4B3E);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(168, 125, 111, 0.2);
}

.hero-photo-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(42, 37, 35, 0.88) 0%, rgba(42, 37, 35, 0.45) 60%, transparent 100%);
  color: #ffffff;
  padding: 36px 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hero-photo-caption p {
  margin: 0 !important;
  color: #ffffff !important;
  line-height: 1.4 !important;
}

.hero-photo-caption strong {
  font-size: 0.94rem;
  letter-spacing: 0.02em;
  font-family: var(--font-serif);
}

.hero-photo-caption span {
  font-size: 0.8rem;
  opacity: 0.92;
}

@media (max-width: 960px) {
  .home-hero-showcase .hero-showcase-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    text-align: center;
  }
  .home-hero-showcase .hero-statement,
  .home-hero-showcase .hero-lead-text {
    text-align: center;
  }
  .hero-trust-pills {
    justify-content: center;
  }
  .home-hero-showcase .hero-quick-actions {
    justify-content: center;
  }
  .hero-photo-frame {
    max-width: 480px;
    margin: 0 auto;
  }
}

.hero-quick-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 24px;
}

.cta-link-primary {
  background: var(--accent);
  color: #ffffff !important;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 3px 12px rgba(168, 125, 111, 0.25);
  transition: all 0.2s ease;
  display: inline-block;
}

.cta-link-primary:hover {
  background: var(--accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(168, 125, 111, 0.35);
}

.cta-link-secondary,
.cta-link-secondary a,
.wp-block-button.cta-link-secondary a,
.wp-block-button.cta-link-secondary .wp-block-button__link,
.hero-quick-actions .cta-link-secondary a,
.hero-quick-actions .cta-link-secondary .wp-block-button__link,
.hero-quick-actions .cta-link-secondary .wp-element-button,
.hero-quick-actions .wp-block-button.cta-link-secondary .wp-block-button__link.wp-element-button {
  background: var(--ws-btn2-bg, #FFFFFF) !important;
  background-color: var(--ws-btn2-bg, #FFFFFF) !important;
  color: var(--ws-btn2-border, #8C4B3E) !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
  border-radius: 9999px !important;
  border: 1.5px solid var(--ws-btn2-border, #8C4B3E) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(55, 43, 37, 0.04) !important;
}

.cta-link-secondary:hover,
.cta-link-secondary a:hover,
.wp-block-button.cta-link-secondary:hover,
.wp-block-button.cta-link-secondary a:hover,
.wp-block-button.cta-link-secondary .wp-block-button__link:hover,
.hero-quick-actions .cta-link-secondary a:hover,
.hero-quick-actions .cta-link-secondary .wp-block-button__link:hover,
.hero-quick-actions .cta-link-secondary .wp-element-button:hover,
.hero-quick-actions .wp-block-button.cta-link-secondary .wp-block-button__link.wp-element-button:hover {
  border-color: var(--ws-btn2-hover-border, #722719) !important;
  color: var(--ws-btn2-hover-border, #722719) !important;
  background: var(--ws-btn2-hover, #FAF5F2) !important;
  background-color: var(--ws-btn2-hover, #FAF5F2) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(140, 75, 62, 0.25) !important;
}

/* Home Multi-Page Gateway Cards (Gateways to Subpages) */
.home-gateways-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin: 36px 0;
  text-align: left;
}

.home-gateway-card {
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 4px 18px rgba(55, 43, 37, 0.04);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.home-gateway-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(55, 43, 37, 0.08);
}

.home-gateway-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(168, 125, 111, 0.12);
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.home-gateway-card h3 {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--text-main);
  margin-bottom: 8px;
}

.home-gateway-card p {
  font-size: 0.92rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 18px;
  flex-grow: 1;
}

.home-gateway-card .gateway-btn {
  color: var(--accent);
  font-weight: 600;
  text-decoration: none;
  font-size: 0.95rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s ease, color 0.2s ease;
}

.home-gateway-card .gateway-btn:hover {
  color: var(--accent-hover);
  gap: 10px;
}

/* Home Career Teaser Banner */
.home-career-section {
  margin: 44px 0;
}

.home-career-card {
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 24px;
  padding: clamp(24px, 4vw, 36px);
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 28px;
  align-items: center;
  text-align: left;
  box-shadow: 0 4px 20px rgba(55, 43, 37, 0.05);
}

@media (max-width: 820px) {
  .home-career-card {
    grid-template-columns: 1fr;
  }
}

/* Home Instagram Preview Section */
.home-insta-section {
  margin: 44px 0;
  text-align: left;
}

.insta-header-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 22px;
}

.insta-account-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--text-main);
  text-decoration: none;
  transition: border-color 0.2s ease;
}

.insta-account-pill:hover {
  border-color: #E1306C;
}

.insta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}

.insta-item {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  display: block;
}

.insta-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.insta-item:hover img {
  transform: scale(1.05);
}

.insta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(58, 50, 45, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.insta-item:hover .insta-overlay {
  opacity: 1;
}

.insta-caption {
  color: #ffffff;
  font-size: 0.82rem;
  line-height: 1.4;
  text-align: center;
  margin: 0;
}

.insta-privacy-badge {
  font-size: 0.82rem;
  color: var(--text-muted);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.insta-privacy-badge a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
}

/* ==========================================================================
   Aktuelles aus unserem Pflegealltag (Blog-Stil)
   ========================================================================== */
.aktuelles-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 24px;
}

@media (max-width: 1080px) {
  .aktuelles-card-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .aktuelles-card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.aktuelles-card {
  background: var(--bg-card, #ffffff);
  border: 1px solid var(--border-color, #E8DFD8);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(58, 50, 45, 0.05);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.aktuelles-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(58, 50, 45, 0.1);
  border-color: rgba(140, 75, 62, 0.3);
}

.aktuelles-card-thumb-link {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f5f0ec;
}

.aktuelles-card-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.aktuelles-card-thumb[src*="Logo"],
.aktuelles-card-thumb[src*="logo"],
.aktuelles-card-thumb[src*="Logo-Design"] {
  object-fit: contain !important;
  background: #FAF8F5 !important;
  padding: 14px !important;
  box-sizing: border-box !important;
}

.aktuelles-card:hover .aktuelles-card-thumb {
  transform: scale(1.04);
}

.aktuelles-card-date-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(4px);
  color: var(--accent, #8C4B3E);
  font-size: 0.74rem;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  letter-spacing: 0.02em;
}

.aktuelles-card-body {
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.aktuelles-card-meta {
  font-size: 0.78rem;
  color: var(--text-muted, #7A726D);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.aktuelles-card-cat {
  color: var(--accent, #8C4B3E);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
}

.aktuelles-card-title {
  font-size: 0.92rem;
  line-height: 1.32;
  margin: 0 0 8px 0;
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif);
  font-weight: 700;
}

.aktuelles-card-title a {
  color: var(--text-main, #3A322D);
  text-decoration: none;
  transition: color 0.2s ease;
}

.aktuelles-card-title a:hover {
  color: var(--accent, #8C4B3E);
}

.aktuelles-card-excerpt {
  color: var(--text-muted, #5A524D);
  font-size: 0.88rem;
  line-height: 1.55;
  margin: 0 0 14px 0;
  flex-grow: 1;
}

.aktuelles-card-footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(232, 223, 216, 0.6);
}

.aktuelles-card-readmore {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--accent, #8C4B3E);
  text-decoration: none;
  transition: transform 0.2s ease, color 0.2s ease;
}

.aktuelles-card-readmore:hover {
  color: #723c31;
  transform: translateX(3px);
}

/* ==========================================================================
   Aktuelles Placeholder Card Styles (Vierer-Grid & Infotext)
   ========================================================================== */
.aktuelles-card.is-placeholder {
  background: #FAF8F6;
  border: 1.5px dashed rgba(140, 75, 62, 0.32);
  box-shadow: 0 2px 10px rgba(58, 50, 45, 0.03);
}

.aktuelles-card.is-placeholder:hover {
  transform: translateY(-2px);
  border-color: rgba(140, 75, 62, 0.55);
  box-shadow: 0 6px 18px rgba(58, 50, 45, 0.06);
}

.aktuelles-thumb-placeholder {
  background: linear-gradient(135deg, rgba(140, 75, 62, 0.07) 0%, rgba(140, 75, 62, 0.02) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.placeholder-graphic {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--accent, #8C4B3E);
}

.placeholder-graphic svg {
  opacity: 0.7;
}

.placeholder-badge {
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--accent, #8C4B3E) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
  border: 1px solid rgba(140, 75, 62, 0.25);
}

.aktuelles-card.is-placeholder .aktuelles-card-title {
  color: var(--text-main, #3A322D);
  font-size: 1.02rem;
}

.placeholder-title-text {
  color: var(--text-main, #3A322D);
  display: block;
}

.aktuelles-card.is-placeholder .aktuelles-card-excerpt {
  color: var(--text-muted, #7A726D);
  font-size: 0.86rem;
  line-height: 1.5;
}

.placeholder-readmore-disabled {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--text-muted, #8C847E);
  cursor: default;
}

/* ==========================================================================
   Kästchen darunter: Kapazitäts- & Verfügbarkeitshub (Start 01.01.2027)
   ========================================================================== */
/* ==========================================================================
   Kästchen darunter: Kapazitäts- & Verfügbarkeitshub (Harmonisiertes 2-Karten-Layout)
   ========================================================================== */
.home-capacity-hub {
  margin: 36px 0 44px 0;
  text-align: left !important;
}

.capacity-hub-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 2.5vw, 32px);
  align-items: stretch;
  text-align: left !important;
}

@media (max-width: 960px) {
  .capacity-hub-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.capacity-hub-ampel-col,
.capacity-hub-info-col {
  display: flex;
  flex-direction: column;
  text-align: left !important;
}

/* Identisches Styling für BEIDE Karten (Twin-Card Design) */
.capacity-hub-ampel-col .ws-ampel-card,
.capacity-hub-ampel-col .ampel-card,
.capacity-info-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(140, 75, 62, 0.2) !important;
  border-radius: 20px !important;
  padding: clamp(26px, 3vw, 34px) !important;
  box-shadow: 0 6px 24px rgba(55, 43, 37, 0.05) !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  text-align: left !important;
  margin: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.capacity-hub-ampel-col .ws-ampel-card:hover,
.capacity-info-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(55, 43, 37, 0.08) !important;
  border-color: rgba(140, 75, 62, 0.35) !important;
}

/* Linke Karte: Ampel Header & Body */
.capacity-hub-ampel-col .ampel-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1.5px solid #E8DFD8 !important;
  text-align: left !important;
  width: 100% !important;
  min-height: 82px !important;
  box-sizing: border-box !important;
}

.capacity-hub-ampel-col .ampel-status-indicator {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

.capacity-hub-ampel-col .ampel-dot {
  margin-top: 2px !important;
}

.capacity-hub-ampel-col .ampel-status-titles {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.capacity-hub-ampel-col .ampel-status-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #16A34A !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  text-align: left !important;
  line-height: 1.2 !important;
}

.capacity-hub-ampel-col .ampel-title {
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  color: var(--text-main, #3A322D) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 4px 0 0 0 !important;
  text-align: left !important;
}

.capacity-hub-ampel-col .ampel-body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  text-align: left !important;
  margin-bottom: 20px !important;
}

.capacity-hub-ampel-col .ampel-region {
  font-size: 0.92rem !important;
  color: var(--accent, #8C4B3E) !important;
  margin: 0 0 10px 0 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.capacity-hub-ampel-col .ampel-desc {
  font-size: 0.95rem;
  line-height: 1.6 !important;
  color: var(--text-muted, #5A524D) !important;
  margin: 0 !important;
  text-align: left !important;
}

.capacity-hub-ampel-col .ampel-highlights-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  text-align: left !important;
}

.capacity-hub-ampel-col .ampel-highlights-list li {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  color: var(--text-main, #372B25) !important;
  text-align: left !important;
}

.capacity-hub-ampel-col .ampel-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: rgba(34, 197, 94, 0.15) !important;
  color: #16A34A !important;
  font-weight: 700 !important;
  font-size: 0.76rem !important;
  flex-shrink: 0 !important;
}

.capacity-hub-ampel-col .ampel-footer {
  margin-top: auto !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(140, 75, 62, 0.12) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  text-align: left !important;
  width: 100% !important;
}

.capacity-hub-ampel-col .ampel-cta-btn {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
  align-items: center !important;
  gap: 8px !important;
  background: #A87D6F !important;
  background-color: #A87D6F !important;
  color: #ffffff !important;
  padding: 13px 28px !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 14px rgba(168, 125, 111, 0.28) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}

.capacity-hub-ampel-col .ampel-cta-btn:hover {
  background: #8C4B3E !important;
  background-color: #8C4B3E !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(140, 75, 62, 0.38) !important;
}

.capacity-hub-ampel-col .ampel-reassurance {
  font-size: 0.82rem !important;
  color: var(--text-muted, #7B716A) !important;
  font-style: italic !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* Rechte Karte: Info Card mit abgestimmter Typo, Trennlinie & Aktionen */
.capacity-info-head {
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1.5px solid #E8DFD8 !important;
  text-align: left !important;
  width: 100% !important;
  min-height: 82px !important;
  box-sizing: border-box !important;
}

.capacity-info-head .section-sub-badge,
.capacity-info-card > .section-sub-badge {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--accent, #8C4B3E) !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  text-align: left !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
}

.capacity-info-heading,
.capacity-info-card .capacity-info-heading,
.capacity-info-card h2,
.capacity-info-card h3,
.capacity-hub-info-col h2,
.capacity-hub-info-col h3,
.capacity-hub-ampel-col ~ .wp-block-column h2,
.capacity-hub-ampel-col ~ .wp-block-column h3,
.capacity-hub-ampel-col + .wp-block-column h2,
.capacity-hub-ampel-col + .wp-block-column h3,
.wp-block-column:has(.ws-ampel-card) ~ .wp-block-column h2,
.wp-block-column:has(.ws-ampel-card) ~ .wp-block-column h3,
.wp-block-column:has(.ws-ampel-wrap) ~ .wp-block-column h2,
.wp-block-column:has(.ws-ampel-wrap) ~ .wp-block-column h3,
.wp-block-column:has(.ampel-header) ~ .wp-block-column h2,
.wp-block-column:has(.ampel-header) ~ .wp-block-column h3,
.wp-block-column:has([class*="ampel"]) ~ .wp-block-column h2,
.wp-block-column:has([class*="ampel"]) ~ .wp-block-column h3,
.home-capacity-hub .wp-block-column:last-child h2,
.home-capacity-hub .wp-block-column:last-child h3,
#kapazitaeten .wp-block-column:last-child h2,
#kapazitaeten .wp-block-column:last-child h3,
.capacity-hub-grid > .wp-block-column:last-child h2,
.capacity-hub-grid > .wp-block-column:last-child h3 {
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem);
  color: var(--text-main, #3A322D) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 1.5px solid #E8DFD8 !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Falls ein Trennstrich-Block (core/separator) in der Karte liegt */
.capacity-info-card hr.wp-block-separator,
.capacity-hub-info-col hr.wp-block-separator,
.home-capacity-hub .wp-block-column:last-child hr.wp-block-separator {
  border: none !important;
  border-top: 1.5px solid #E8DFD8 !important;
  height: 1.5px !important;
  margin: 14px 0 18px 0 !important;
  width: 100% !important;
  opacity: 1 !important;
}

.capacity-info-card h2:has(+ .wp-block-separator),
.capacity-info-card .capacity-info-heading:has(+ .wp-block-separator) {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 8px !important;
}

@media (max-width: 960px) {
  .capacity-hub-ampel-col .ampel-header,
  .capacity-info-heading,
  .capacity-info-card .capacity-info-heading,
  .capacity-hub-ampel-col ~ .wp-block-column h2,
  .wp-block-column:has(.ws-ampel-card) ~ .wp-block-column h2,
  .home-capacity-hub .wp-block-column:last-child h2 {
    min-height: auto !important;
  }
}

.capacity-info-text {
  color: var(--text-muted, #5A524D) !important;
  font-size: 0.95rem;
  line-height: 1.6 !important;
  margin: 0 0 16px 0 !important;
  text-align: left !important;
}

.capacity-feature-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  text-align: left !important;
}

.capacity-feature-list li {
  position: relative !important;
  padding-left: 28px !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  color: var(--text-main, #3A322D) !important;
  text-align: left !important;
}

.capacity-feature-list li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: rgba(140, 75, 62, 0.12) !important;
  color: var(--accent, #8C4B3E) !important;
  font-weight: 700 !important;
  font-size: 0.76rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.capacity-info-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-top: auto !important;
  padding-top: 18px !important;
  border-top: 1.5px solid #E8DFD8 !important;
  text-align: left !important;
  width: 100% !important;
}

.capacity-info-actions div.cta-link-secondary,
.capacity-info-actions div.wp-block-button.cta-link-secondary,
.capacity-info-actions div.cta-link-secondary,
.capacity-info-actions div.wp-block-button,
.capacity-info-actions .wp-block-buttons,
.capacity-info-actions .wp-block-button {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  width: 100% !important;
  display: block !important;
}

a.wp-block-button__link[href*="einzugsgebiet"]:not(.home-catchment-segment a):not(.home-catchment-header-card a),
a.wp-element-button[href*="einzugsgebiet"]:not(.home-catchment-segment a):not(.home-catchment-header-card a),
.capacity-info-actions .wp-block-button__link,
.capacity-info-actions a.wp-element-button,
.capacity-info-card .wp-block-button__link,
.capacity-info-card a.wp-element-button,
.capacity-hub-info-col .wp-block-button__link,
.capacity-hub-info-col a.wp-element-button,
.capacity-hub-ampel-col ~ .wp-block-column .wp-block-button__link,
.capacity-hub-ampel-col ~ .wp-block-column a.wp-element-button,
.wp-block-column:has(.ws-ampel-card) ~ .wp-block-column .wp-block-button__link,
.wp-block-column:has(.ws-ampel-card) ~ .wp-block-column a.wp-element-button,
.wp-block-column:has(.ws-ampel-wrap) ~ .wp-block-column .wp-block-button__link,
.wp-block-column:has(.ws-ampel-wrap) ~ .wp-block-column a.wp-element-button,
.wp-block-column:has(.ampel-header) ~ .wp-block-column .wp-block-button__link,
.wp-block-column:has(.ampel-header) ~ .wp-block-column a.wp-element-button,
.wp-block-column:has([class*="ampel"]) ~ .wp-block-column .wp-block-button__link,
.wp-block-column:has([class*="ampel"]) ~ .wp-block-column a.wp-element-button,
.home-capacity-hub .wp-block-column:last-child .wp-block-button__link,
.home-capacity-hub .wp-block-column:last-child a.wp-element-button,
#kapazitaeten .wp-block-column:last-child .wp-block-button__link,
#kapazitaeten .wp-block-column:last-child a.wp-element-button,
.capacity-hub-grid > .wp-block-column:last-child .wp-block-button__link,
.capacity-hub-grid > .wp-block-column:last-child a.wp-element-button {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
  align-items: center !important;
  gap: 8px !important;
  background: #A87D6F !important;
  background-color: #A87D6F !important;
  color: #ffffff !important;
  padding: 13px 28px !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 14px rgba(168, 125, 111, 0.28) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}

a.wp-block-button__link[href*="einzugsgebiet"]:not(.home-catchment-segment a):not(.home-catchment-header-card a):hover,
a.wp-element-button[href*="einzugsgebiet"]:not(.home-catchment-segment a):not(.home-catchment-header-card a):hover,
.capacity-info-actions .wp-block-button__link:hover,
.capacity-info-actions a.wp-element-button:hover,
.capacity-info-card .wp-block-button__link:hover,
.capacity-info-card a.wp-element-button:hover,
.capacity-hub-info-col .wp-block-button__link:hover,
.capacity-hub-info-col a.wp-element-button:hover,
.capacity-hub-ampel-col ~ .wp-block-column .wp-block-button__link:hover,
.capacity-hub-ampel-col ~ .wp-block-column a.wp-element-button:hover,
.wp-block-column:has(.ws-ampel-card) ~ .wp-block-column .wp-block-button__link:hover,
.wp-block-column:has(.ws-ampel-card) ~ .wp-block-column a.wp-element-button:hover,
.wp-block-column:has(.ws-ampel-wrap) ~ .wp-block-column .wp-block-button__link:hover,
.wp-block-column:has(.ws-ampel-wrap) ~ .wp-block-column a.wp-element-button:hover,
.wp-block-column:has(.ampel-header) ~ .wp-block-column .wp-block-button__link:hover,
.wp-block-column:has(.ampel-header) ~ .wp-block-column a.wp-element-button:hover,
.wp-block-column:has([class*="ampel"]) ~ .wp-block-column .wp-block-button__link:hover,
.wp-block-column:has([class*="ampel"]) ~ .wp-block-column a.wp-element-button:hover,
.home-capacity-hub .wp-block-column:last-child .wp-block-button__link:hover,
.home-capacity-hub .wp-block-column:last-child a.wp-element-button:hover,
#kapazitaeten .wp-block-column:last-child .wp-block-button__link:hover,
#kapazitaeten .wp-block-column:last-child a.wp-element-button:hover,
.capacity-hub-grid > .wp-block-column:last-child .wp-block-button__link:hover,
.capacity-hub-grid > .wp-block-column:last-child a.wp-element-button:hover {
  background: #8C4B3E !important;
  background-color: #8C4B3E !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(140, 75, 62, 0.38) !important;
  border-color: transparent !important;
}

#einzugsgebiet {
  scroll-margin-top: 90px;
}

/* Einzugsgebiet Button (Screenshots 3 Feedback) */
.home-catchment-segment .wp-block-button .wp-block-button__link,
.home-catchment-segment .wp-block-button.cta-link-secondary .wp-block-button__link {
  background: var(--ws-btn2-bg, #FFFFFF) !important;
  color: var(--ws-btn2-border, #8C4B3E) !important;
  font-weight: 700 !important;
  padding: 13px 28px !important;
  border-radius: 9999px !important;
  border: 2px solid var(--ws-btn2-border, #8C4B3E) !important;
  box-shadow: 0 4px 14px rgba(140, 75, 62, 0.1) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.home-catchment-segment .wp-block-button .wp-block-button__link:hover,
.home-catchment-segment .wp-block-button.cta-link-secondary .wp-block-button__link:hover {
  background: var(--ws-btn2-hover, #FAF5F2) !important;
  color: var(--ws-btn2-hover-border, #722719) !important;
  border-color: var(--ws-btn2-hover-border, #722719) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(140, 75, 62, 0.28) !important;
}

/* Einzugsgebiet Header Box (Screenshot 2: Als Textfeld formatieren, linksbündig) */
.home-catchment-header-card,
.wp-block-group.home-catchment-header-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(140, 75, 62, 0.2) !important;
  border-radius: 20px !important;
  padding: clamp(24px, 3.5vw, 36px) !important;
  box-shadow: 0 6px 24px rgba(55, 43, 37, 0.05) !important;
  margin-bottom: 28px !important;
  text-align: left !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: var(--content-max-width, 1216px) !important;
}

.home-catchment-header-card .section-sub-badge,
.home-catchment-header-card .landing-badge-pill {
  text-align: left !important;
  margin-bottom: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: var(--accent, #8C4B3E) !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

.home-catchment-header-card .section-title-large,
.home-catchment-header-card h2,
.home-catchment-header-card .wp-block-heading {
  text-align: left !important;
  margin: 0 0 12px 0 !important;
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  color: var(--text-main, #3A322D) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.home-catchment-header-card .section-desc,
.home-catchment-header-card .section-desc-center,
.home-catchment-header-card .lead-subtitle,
.home-catchment-header-card p:not(.section-sub-badge):not(.landing-badge-pill) {
  text-align: left !important;
  margin: 0 !important;
  max-width: 100% !important;
  font-size: 0.98rem;
  line-height: 1.6 !important;
  color: var(--text-muted, #5A524D) !important;
}

.capacity-info-reassurance {
  font-size: 0.82rem !important;
  color: var(--text-muted, #7B716A) !important;
  font-style: italic !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* ==========================================================================
   Blog Stream / Durchscrollbare Übersicht (SEO-optimiert)
   ========================================================================== */
.aktuelles-stream-section {
  margin-top: 48px;
  padding-top: 36px;
  border-top: 1px solid var(--border-color, #E8DFD8);
  text-align: left;
}

.stream-section-header {
  margin-bottom: 28px;
}

.blog-stream-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.blog-stream-card {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--border-color, #E8DFD8);
  border-left: 4px solid transparent !important;
  border-radius: 18px;
  padding: 22px 24px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 24px;
  align-items: center;
  box-shadow: 0 2px 12px rgba(58, 50, 45, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, border-left 0.25s ease;
}

.blog-stream-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(58, 50, 45, 0.09);
  border-color: rgba(140, 75, 62, 0.35);
  border-left: 4px solid var(--accent, #8C4B3E) !important;
}

.blog-stream-thumb-wrap {
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  background: #FAF8F5;
  display: block;
}

.blog-stream-thumb {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform 0.3s ease;
}

.blog-stream-card:hover .blog-stream-thumb {
  transform: scale(1.04);
}

.blog-stream-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.blog-stream-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--text-muted, #7A726D);
}

.blog-stream-cat {
  color: var(--accent, #8C4B3E);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.74rem;
  letter-spacing: 0.04em;
}

.blog-stream-title {
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.3rem;
  line-height: 1.3;
  margin: 2px 0 6px 0;
  font-weight: 700;
}

.blog-stream-title a {
  color: var(--text-main, #3A322D);
  text-decoration: none;
  transition: color 0.2s ease;
}

.blog-stream-title a:hover {
  color: var(--accent, #8C4B3E);
}

.blog-stream-excerpt {
  color: var(--text-muted, #5A524D);
  font-size: 0.92rem;
  line-height: 1.6;
  margin: 0 0 10px 0;
}

.blog-stream-excerpt.has-long-excerpt {
  font-size: 0.96rem;
  line-height: 1.68;
  color: var(--text-main, #3A322D);
  margin-bottom: 14px;
}

.blog-stream-card.has-long-excerpt {
  border-left: 4px solid transparent !important;
  box-shadow: 0 4px 18px rgba(140, 75, 62, 0.07);
}

.blog-stream-card.has-long-excerpt:hover {
  border-left: 4px solid var(--accent, #8C4B3E) !important;
}

.blog-stream-card.has-long-excerpt .blog-stream-title {
  font-size: 1.38rem;
}

.aktuelles-card.has-long-excerpt .aktuelles-card-excerpt {
  font-size: 0.94rem;
  line-height: 1.65;
  color: var(--text-main, #3A322D);
}

.blog-stream-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
}

.blog-stream-author {
  font-size: 0.84rem;
  color: var(--text-muted, #7A726D);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

@media (max-width: 860px) {
  .blog-stream-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px;
  }
}

/* ==========================================================================
   Single Post (Aktuelles Detailansicht)
   ========================================================================== */
.single-post-wrapper {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px 80px 20px;
}

.single-post-breadcrumbs {
  font-size: 0.86rem;
  color: var(--text-muted, #7A726D);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.single-post-breadcrumbs a {
  color: var(--accent, #8C4B3E);
  text-decoration: none;
  font-weight: 600;
}

.single-post-breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumb-current {
  color: var(--text-main, #3A322D);
  max-width: 320px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.single-post-card {
  background: #ffffff;
  border: 1px solid var(--border-color, #E8DFD8);
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 8px 30px rgba(58, 50, 45, 0.06);
  margin-bottom: 40px;
}

@media (max-width: 768px) {
  .single-post-card {
    padding: 24px 18px;
    border-radius: 16px;
  }
}

.single-post-header {
  margin-bottom: 28px;
}

.single-post-badges {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.single-post-category-badge {
  background: var(--accent-light, #F9F1ED);
  color: var(--accent, #8C4B3E);
  font-weight: 700;
  font-size: 0.8rem;
  padding: 4px 12px;
  border-radius: 999px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.single-post-date {
  font-size: 0.88rem;
  color: var(--text-muted, #7A726D);
  font-weight: 500;
}

.single-post-title {
  font-size: 2.2rem;
  line-height: 1.25;
  color: var(--text-main, #3A322D);
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif);
  margin: 0 0 16px 0;
}

@media (max-width: 768px) {
  .single-post-title {
    font-size: 1.65rem;
  }
}

.single-post-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
  color: var(--text-muted, #7A726D);
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border-color, #E8DFD8);
}

.single-post-featured-wrapper {
  margin: 0 0 32px 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.single-post-featured-wrapper:has(img[src*="Logo"]),
.single-post-featured-wrapper:has(img[src*="logo"]) {
  background: linear-gradient(135deg, #FAF4EF 0%, #F5ECE4 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 36px 20px;
  border: 1.5px solid rgba(140, 75, 62, 0.2);
}

.single-post-featured-wrapper:has(img[src*="Logo"]) .single-post-featured-img,
.single-post-featured-wrapper:has(img[src*="logo"]) .single-post-featured-img {
  width: auto !important;
  max-width: 480px !important;
  height: auto !important;
  max-height: 480px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 6px 20px rgba(55, 43, 37, 0.12));
}

.single-post-featured-img {
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  display: block;
}

.single-post-body {
  font-size: 1.06rem;
  line-height: 1.8;
  color: #3f3732;
}

.single-post-body p {
  margin-bottom: 20px;
}

/* Harmonische Schriftgröße für den Lead-Absatz im Blog-Beitrag */
.single-post-body .has-large-font-size,
.single-post-card .has-large-font-size,
.entry-content p.has-large-font-size,
p.has-large-font-size {
  font-size: 1.18rem !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
  color: var(--text-main, #372B25) !important;
  margin-bottom: 22px !important;
}

.single-post-body .has-large-font-size strong,
.single-post-card .has-large-font-size strong,
p.has-large-font-size strong {
  font-weight: 600 !important;
  color: var(--text-main, #2A2523) !important;
}

/* Großes Highlight-Foto im Blog-Beitrag */
.post-highlight-photo {
  margin: 36px 0 40px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 32px rgba(55, 43, 37, 0.1);
  border: 1.5px solid rgba(168, 125, 111, 0.22);
  background: #FAF8F5;
}

.post-highlight-photo > figure > img,
.post-highlight-photo .highlight-img-full > img,
.post-highlight-photo img.wp-image-295 {
  width: 100% !important;
  height: auto !important;
  max-height: 640px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Emojis vor übergroßer Skalierung schützen */
img.emoji,
img.wp-smiley,
.wp-smiley,
.emoji,
.single-post-body img.emoji,
.single-post-body img.wp-smiley,
.post-highlight-photo img.emoji {
  width: 1.15em !important;
  height: 1.15em !important;
  max-width: 1.15em !important;
  max-height: 1.15em !important;
  display: inline-block !important;
  margin: 0 0.18em !important;
  vertical-align: -0.16em !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}

.single-post-body h2,
.single-post-body h3 {
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif);
  color: var(--text-main, #3A322D);
  margin: 36px 0 16px 0;
}

.single-post-body blockquote {
  border-left: 4px solid var(--accent, #8C4B3E);
  background: var(--bg-soft, #FAF6F3);
  margin: 28px 0;
  padding: 20px 24px;
  border-radius: 0 14px 14px 0;
  font-style: italic;
  font-size: 1.1rem;
}

.single-post-body blockquote p {
  margin-bottom: 8px;
}

.single-post-body blockquote cite {
  display: block;
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 700;
  color: var(--accent, #8C4B3E);
}

.post-social-callout {
  background: linear-gradient(135deg, rgba(225, 48, 108, 0.07) 0%, rgba(140, 75, 62, 0.04) 100%);
  border: 1px solid #E8DFD8;
  border-radius: 18px;
  padding: 20px 24px;
  margin: 40px 0;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.post-social-icon {
  background: #ffffff;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(225, 48, 108, 0.15);
  flex-shrink: 0;
}

.post-social-text {
  flex-grow: 1;
  min-width: 240px;
}

.post-social-text h4 {
  margin: 0 0 4px 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-main, #3A322D);
}

.post-social-text p {
  margin: 0;
  font-size: 0.88rem;
  color: var(--text-muted, #7A726D);
}

.post-social-btn {
  background: #E1306C;
  color: #ffffff;
  padding: 10px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.88rem;
  box-shadow: 0 4px 12px rgba(225, 48, 108, 0.25);
  transition: transform 0.2s ease, background 0.2s ease;
  white-space: nowrap;
}

.post-social-btn:hover {
  background: #cc255e;
  transform: translateY(-2px);
}

.single-post-footer {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--border-color, #E8DFD8);
}

.post-nav-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 24px;
}

@media (max-width: 600px) {
  .post-nav-links {
    grid-template-columns: 1fr;
  }
}

.post-nav-link {
  padding: 14px 18px;
  border: 1px solid var(--border-color, #E8DFD8);
  border-radius: 14px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  background: #ffffff;
}

.post-nav-link.has-thumb {
  flex-direction: row;
  align-items: center;
  gap: 14px;
}

.post-nav-link.next.has-thumb {
  justify-content: flex-end;
}

.post-nav-thumb {
  width: 60px;
  height: 60px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--bg-soft, #FAF6F3);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(168, 125, 111, 0.18);
}

.post-nav-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.post-nav-thumb-img[src*="Logo"],
.post-nav-thumb-img[src*="logo"] {
  object-fit: contain;
  padding: 4px;
}

.post-nav-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  flex: 1 1 auto;
}

.post-nav-link:hover {
  border-color: var(--accent, #8C4B3E);
  background: var(--bg-soft, #FAF6F3);
  box-shadow: 0 4px 14px rgba(55, 43, 37, 0.06);
}

.post-nav-link.next {
  text-align: right;
}

.post-nav-link .nav-label {
  font-size: 0.74rem;
  color: var(--accent, #8C4B3E);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.post-nav-link .nav-title {
  font-size: 0.92rem;
  color: var(--text-main, #3A322D);
  font-weight: 600;
  line-height: 1.35;
}

.post-back-btn-wrap {
  text-align: center;
}

.post-back-btn {
  display: inline-block;
  color: var(--text-muted, #7A726D);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 8px;
  transition: color 0.2s ease, background 0.2s ease;
}

.post-back-btn:hover {
  color: var(--accent, #8C4B3E);
  background: var(--bg-soft, #FAF6F3);
}

.single-post-cta-card {
  background: linear-gradient(135deg, rgba(140, 75, 62, 0.08) 0%, rgba(200, 169, 126, 0.06) 100%);
  border: 1px solid var(--border-color, #E8DFD8);
  border-radius: 20px;
  padding: 32px 36px;
  text-align: center;
}

.cta-card-title {
  font-size: 1.45rem;
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif);
  color: var(--text-main, #3A322D);
  margin: 10px 0 12px 0;
}

.cta-card-desc {
  max-width: 650px;
  margin: 0 auto 24px auto;
  color: var(--text-muted, #5A524D);
  font-size: 0.96rem;
  line-height: 1.6;
}

.cta-card-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

/* ==========================================================================
   Aktuelles Archive / Page (page-aktuelles.php)
   ========================================================================== */
.aktuelles-archive-wrapper {
  max-width: var(--content-max-width, 1216px);
  margin: 0 auto;
  padding: 36px 20px 80px 20px;
}

.aktuelles-archive-header {
  margin-bottom: 28px;
  text-align: left;
}

.aktuelles-archive-header .section-title-large,
.aktuelles-archive-header .section-sub-badge,
.aktuelles-archive-header .aktuelles-archive-desc {
  text-align: left;
}

.aktuelles-archive-desc {
  color: var(--text-muted, #5A524D);
  font-size: 1.05rem;
  max-width: 720px;
  line-height: 1.6;
  margin-top: 8px;
}

.aktuelles-pagination {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.aktuelles-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid var(--border-color, #E8DFD8);
  color: var(--text-main, #3A322D);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  background: #ffffff;
  transition: all 0.2s ease;
}

.aktuelles-pagination .page-numbers.current {
  background: var(--accent, #8C4B3E);
  color: #ffffff;
  border-color: var(--accent, #8C4B3E);
}

.aktuelles-pagination .page-numbers:hover:not(.current) {
  border-color: var(--accent, #8C4B3E);
  color: var(--accent, #8C4B3E);
}

/* ==========================================================================
   Page: Einzugsgebiet (20 km Radius Pflegekammer RLP)
   ========================================================================== */
.page-einzugsgebiet .page-container {
  max-width: 1216px;
  margin: 0 auto;
  padding: 0 16px 60px;
}

.wsp-leaflet-radius-badge {
  background: #8C4B3E !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 5px 12px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  box-shadow: 0 4px 14px rgba(140, 75, 62, 0.35) !important;
  pointer-events: none;
}

.wsp-leaflet-radius-badge::before {
  border-top-color: #8C4B3E !important;
}

.catchment-top-interactive {
  position: relative;
}

.catchment-osm-section {
  position: relative;
}

.catchment-explanation-grid > div {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.catchment-explanation-grid > div:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(140, 75, 62, 0.1) !important;
}


/* ==========================================================================
   Persistente Anzeige gesuchter Ortschaften auf der Auto-Karte
   ========================================================================== */
.wsp-map-spot.is-searched-persistent {
  display: block !important;
  opacity: 1 !important;
  z-index: 40 !important;
}
.wsp-map-spot.is-searched-persistent .spot-label {
  display: block !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  fill: #8C4B3E !important;
  font-size: 11.5px !important;
  paint-order: stroke fill;
  stroke: #ffffff;
  stroke-width: 3.2px;
  stroke-linejoin: round;
}
.wsp-map-spot.is-searched-persistent .spot-circle {
  stroke: #8C4B3E !important;
  stroke-width: 2.4px !important;
}

/* ==========================================================================
   4er-Grid & Platzhalter-Karten (Aktuelles & Teaser)
   ========================================================================== */
.aktuelles-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 24px;
}

@media (max-width: 1024px) {
  .aktuelles-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .aktuelles-card-grid {
    grid-template-columns: 1fr;
  }
}

/* 4-Spalten Grid für Startseiten-Blog-Vorschau */
.home-insta-section .aktuelles-card-grid,
.home .aktuelles-card-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-top: 24px !important;
  margin-bottom: 36px !important;
}

@media (max-width: 1024px) {
  .home-insta-section .aktuelles-card-grid,
  .home .aktuelles-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (max-width: 640px) {
  .home-insta-section .aktuelles-card-grid,
  .home .aktuelles-card-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* 2-Spalten Grid Option für Startseiten-Blog-Vorschau (cols-2) */
.home-insta-section .aktuelles-card-grid.cols-2,
.home .aktuelles-card-grid.cols-2,
.aktuelles-card-grid.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(20px, 3.5vw, 32px) !important;
}

@media (max-width: 640px) {
  .home-insta-section .aktuelles-card-grid.cols-2,
  .home .aktuelles-card-grid.cols-2,
  .aktuelles-card-grid.cols-2 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* Gutenberg Editor-Canvas Layout für Trust-Bar */
.ws-trust-bar-editor > .block-editor-inner-blocks > .block-editor-block-list__layout,
.editor-styles-wrapper .hero-trust-bar .block-editor-block-list__layout {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

@media (max-width: 860px) {
  .ws-trust-bar-editor > .block-editor-inner-blocks > .block-editor-block-list__layout,
  .editor-styles-wrapper .hero-trust-bar .block-editor-block-list__layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.ws-editable-trust-item {
  cursor: text;
}

/* Archiv-Seite Aktuelles: Harmonisches 2-Spalten-Layout */
.aktuelles-archive-wrapper .aktuelles-card-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(24px, 3.5vw, 36px) !important;
  margin-top: 28px !important;
  margin-bottom: 40px !important;
}

@media (max-width: 768px) {
  .aktuelles-archive-wrapper .aktuelles-card-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}

.aktuelles-card {
  background: #ffffff !important;
  border: 1px solid var(--border-color, #E8DFD8) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 6px 20px rgba(55, 43, 37, 0.05) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.aktuelles-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(55, 43, 37, 0.09) !important;
  border-color: rgba(140, 75, 62, 0.35) !important;
}

.aktuelles-card-thumb-link {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 10 !important;
  background: #f0ebe6 !important;
}

.aktuelles-card-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.aktuelles-card:hover .aktuelles-card-thumb {
  transform: scale(1.05) !important;
}

/* Original Datums-Badge: Dezente weiße Pille oben links auf dem Bild */
.aktuelles-card-date-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  bottom: auto !important;
  right: auto !important;
  height: auto !important;
  width: auto !important;
  background: #ffffff !important;
  color: #5A524D !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  padding: 5px 14px !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
  z-index: 3 !important;
  pointer-events: none !important;
  letter-spacing: 0.01em !important;
  line-height: 1.3 !important;
  backdrop-filter: none !important;
}

/* Zentrierter Card Body wie im Screenshot */
.aktuelles-card-body {
  padding: 26px 28px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  flex-grow: 1 !important;
  justify-content: space-between !important;
}

.aktuelles-card-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 0.74rem !important;
  color: var(--text-muted, #7A726D) !important;
  margin-bottom: 10px !important;
  text-align: center !important;
}

.aktuelles-card-cat {
  color: var(--accent, #8C4B3E) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.aktuelles-card-title {
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 8px 0 !important;
  color: var(--text-main, #3A322D) !important;
  text-align: left !important;
}

.ws-aktuelles-box .social-channels-banner-card {
  margin: 18px auto 26px auto !important;
  max-width: 100% !important;
}

.aktuelles-card-title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.aktuelles-card-title a:hover {
  color: var(--accent, #8C4B3E) !important;
}

.aktuelles-card-excerpt {
  color: var(--text-muted, #5A524D) !important;
  font-size: 0.85rem !important;
  line-height: 1.55 !important;
  margin: 0 0 16px 0 !important;
  text-align: center !important;
  max-width: 90% !important;
}

.aktuelles-card-footer {
  margin-top: auto !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
}

.aktuelles-card-readmore {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--accent, #8C4B3E) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  text-decoration: none !important;
  transition: gap 0.2s ease, color 0.2s ease !important;
}

.aktuelles-card-readmore:hover {
  gap: 10px !important;
  color: var(--accent-hover, #723c31) !important;
}

.aktuelles-card-readmore:hover {
  gap: 10px;
}

/* Platzhalter-Karten Styles */
.aktuelles-card.is-placeholder {
  background: #fdfbf9;
  border: 2px dashed rgba(140, 75, 62, 0.28);
  box-shadow: none;
  opacity: 0.92;
  transition: all 0.25s ease;
}

.aktuelles-card.is-placeholder:hover {
  border-color: rgba(140, 75, 62, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(55, 43, 37, 0.05);
}

.aktuelles-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(140, 75, 62, 0.05) 0%, rgba(200, 169, 126, 0.08) 100%);
  aspect-ratio: 16 / 10;
  position: relative;
}

.placeholder-graphic {
  color: rgba(140, 75, 62, 0.38);
  display: flex;
  align-items: center;
  justify-content: center;
}

.placeholder-badge {
  background: rgba(140, 75, 62, 0.12) !important;
  color: var(--accent, #8C4B3E) !important;
  border: 1px solid rgba(140, 75, 62, 0.22);
}

.placeholder-title-text {
  color: var(--text-main, #3A322D);
  font-weight: 700;
}

.placeholder-readmore-disabled {
  color: var(--text-muted, #7A726D) !important;
  font-size: 0.88rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}


/* ==========================================================================
   Blog-Stream (SEO-optimiertes & flüssiges Durchscrollen auf /aktuelles/)
   ========================================================================== */
.aktuelles-stream-section {
  margin-top: 56px;
  padding-top: 36px;
  border-top: 1px solid var(--border-color, #E8DFD8);
}

.blog-stream-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 28px;
}

.blog-stream-card {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 28px;
  background: #ffffff;
  border: 1px solid var(--border-color, #E8DFD8);
  border-left: 4px solid transparent !important;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(55, 43, 37, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, border-left 0.25s ease;
}

.blog-stream-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(55, 43, 37, 0.08);
  border-color: rgba(140, 75, 62, 0.35);
  border-left: 4px solid var(--accent, #8C4B3E) !important;
}

.blog-stream-thumb-wrap {
  position: relative;
  overflow: hidden;
  min-height: 200px;
  display: block;
  background: #FAF8F5;
}

.blog-stream-thumb {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform 0.4s ease;
}

.blog-stream-card:hover .blog-stream-thumb {
  transform: scale(1.04);
}

.blog-stream-content {
  padding: 24px 28px 24px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media (max-width: 768px) {
  .blog-stream-card {
    grid-template-columns: 1fr;
  }
  .blog-stream-thumb-wrap {
    height: 200px;
  }
  .blog-stream-content {
    padding: 20px;
  }
}

.blog-stream-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.84rem;
  color: var(--text-muted, #7A726D);
  margin-bottom: 8px;
}

.blog-stream-cat {
  color: var(--accent, #8C4B3E);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.blog-stream-title {
  font-family: var(--font-heading, 'Cormorant Garamond', Georgia, serif);
  font-size: 1.35rem;
  line-height: 1.3;
  margin: 0 0 10px 0;
  color: var(--text-main, #3A322D);
}

.blog-stream-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.blog-stream-title a:hover {
  color: var(--accent, #8C4B3E);
}

.blog-stream-excerpt {
  color: var(--text-muted, #5A524D);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 16px 0;
}

.blog-stream-readmore {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--accent, #8C4B3E);
  font-weight: 700;
  font-size: 0.92rem;
  text-decoration: none;
  transition: gap 0.2s ease;
}

.blog-stream-readmore:hover {
  gap: 10px;
}

/* Social Media Icons in Header & Footer */
.social-nav-icon {
  display: inline-block !important;
  vertical-align: -2.5px !important;
  margin-right: 5px !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
}

.nav-menu a:hover .social-nav-icon,
.footer-links a:hover .social-nav-icon,
.footer-menu-list a:hover .social-nav-icon {
  transform: scale(1.15) !important;
}

.social-insta-icon {
  color: #E1306C !important;
}

.social-fb-icon {
  color: #1877F2 !important;
}

.social-linkedin-icon {
  color: #0A66C2 !important;
}

.social-yt-icon {
  color: #FF0000 !important;
}

/* Footer Navigation & Social Links */
.footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 18px 0 !important;
}

.footer-links a,
.footer-menu-list a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--text-muted) !important;
  text-decoration: none !important;
  font-size: 0.92rem !important;
  transition: color 0.2s ease !important;
}

.footer-links a:hover,
.footer-menu-list a:hover {
  color: var(--accent) !important;
}

.footer-menu-list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 !important;
  gap: 20px !important;
}

.footer-menu-list li {
  display: inline-flex !important;
  align-items: center !important;
}

/* About Quote and Sections in Gutenberg */
.about-quote {
  text-align: center !important;
  margin: 36px auto !important;
  max-width: 800px !important;
  padding: 24px 32px !important;
  background: var(--card-bg, #FFFFFF) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(168, 125, 111, 0.15) !important;
}

.about-quote p {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  line-height: 1.65 !important;
  color: var(--text-main) !important;
  font-style: italic !important;
  margin: 0 0 16px 0 !important;
}

.about-quote-author {
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-style: normal !important;
  font-size: clamp(1.05rem, 1.25vw, 1.2rem);
  margin-top: 10px !important;
  color: var(--accent, #8C4B3E) !important;
  font-weight: 700 !important;
  display: block !important;
}

.about-card-title {
  font-family: var(--font-serif) !important;
  font-size: clamp(1.4rem, 2.2vw, 1.75rem);
  margin-bottom: 14px !important;
  color: var(--text-main) !important;
}

.about-card-desc {
  line-height: 1.7 !important;
  color: var(--text-muted) !important;
  margin-bottom: 20px !important;
  font-size: 1rem;
}

.hero-actions {
  margin-top: 40px !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
/* Services Grid Layout */
.services-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 24px !important;
  margin-top: 24px !important;
}
@media (max-width: 768px) {
  .services-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Services Columns Grid (Native Gutenberg 3-Spalten) */
.services-columns-grid {
  gap: 24px !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}
.services-columns-grid .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
}
.services-columns-grid .service-card {
  flex: 1 1 auto !important;
  height: 100% !important;
  margin: 0 !important;
}


.service-card {
  background: var(--card-bg, #FFFFFF) !important;
  border: 1.5px solid rgba(168, 125, 111, 0.18) !important;
  border-radius: 18px !important;
  padding: 24px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.service-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(55, 43, 37, 0.06) !important;
}

.service-card-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 12px !important;
  background: rgba(140, 75, 62, 0.12) !important;
  color: var(--accent, #8C4B3E) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 14px !important;
  font-size: 1.25rem !important;
}

.service-card-icon i {
  font-size: 1.25rem !important;
  color: var(--accent, #8C4B3E) !important;
  line-height: 1 !important;
}

.trust-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 12px !important;
  background: rgba(140, 75, 62, 0.12) !important;
  color: var(--accent, #8C4B3E) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  font-size: 1.25rem !important;
}

.trust-icon i {
  font-size: 1.25rem !important;
  color: var(--accent, #8C4B3E) !important;
  line-height: 1 !important;
}

/* Fallback icons if elements are empty or icons stripped */
.trust-item:nth-child(1) .trust-icon:empty::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f7f2" !important; /* fa-house-chimney-medical */
  font-size: 1.2rem !important;
  color: var(--accent, #8C4B3E) !important;
}
.trust-item:nth-child(2) .trust-icon:empty::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f017" !important; /* fa-clock */
  font-size: 1.2rem !important;
  color: var(--accent, #8C4B3E) !important;
}
.trust-item:nth-child(3) .trust-icon:empty::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f4bd" !important; /* fa-hand-holding-heart */
  font-size: 1.2rem !important;
  color: var(--accent, #8C4B3E) !important;
}

.service-card:nth-child(1) .service-card-icon:empty::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f017" !important; /* fa-clock */
  font-size: 1.25rem !important;
  color: var(--accent, #8C4B3E) !important;
}
.service-card:nth-child(2) .service-card-icon:empty::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f2b5" !important; /* fa-handshake */
  font-size: 1.25rem !important;
  color: var(--accent, #8C4B3E) !important;
}
.service-card:nth-child(3) .service-card-icon:empty::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f3c5" !important; /* fa-location-dot */
  font-size: 1.25rem !important;
  color: var(--accent, #8C4B3E) !important;
}
.service-card:nth-child(4) .service-card-icon:empty::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  content: "\f4bd" !important; /* fa-hand-holding-heart */
  font-size: 1.25rem !important;
  color: var(--accent, #8C4B3E) !important;
}

/* ==========================================================================
   Wagner & Steinbach - Gutenberg Icon & Icon-Box Block Styles
   ========================================================================== */
.ws-icon-block {
  margin: 14px 0;
  display: block;
}
.ws-icon-block.ws-align-center {
  text-align: center;
}
.ws-icon-block.ws-align-right {
  text-align: right;
}
.ws-icon-block.ws-align-left {
  text-align: left;
}
.ws-icon-wrap,
.ws-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease;
}
.ws-icon-link {
  text-decoration: none;
  display: inline-flex;
}
.ws-icon-link:hover .ws-icon-wrap,
.ws-icon-link:focus .ws-icon-wrap {
  transform: translateY(-2px) scale(1.05);
}
.ws-icon-box-card {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.ws-icon-box-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(55, 43, 37, 0.08) !important;
}
.ws-icon-inline {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin: 0 4px;
}

/* ==========================================================================
   Wagner & Steinbach - Editorial Callout Box / Chronologie Hinweis-Kästchen
   ========================================================================== */
.backdate-editorial-note,
.editorial-callout-box {
  background: var(--card-bg, #FFFFFF) !important;
  border: 1px solid rgba(140, 75, 62, 0.18) !important;
  border-left: 4.5px solid var(--accent, #8C4B3E) !important;
  border-radius: 4px 14px 14px 4px !important;
  padding: 18px 24px !important;
  margin: 0 0 28px 0 !important;
  box-shadow: 0 2px 10px rgba(55, 43, 37, 0.03) !important;
}

.backdate-editorial-note p,
.editorial-callout-box p {
  margin: 0 !important;
  font-size: 0.94rem;
  line-height: 1.65 !important;
  color: var(--text-main, #372B25) !important;
}

.backdate-editorial-note strong,
.editorial-callout-box strong {
  color: var(--accent, #8C4B3E) !important;
  font-weight: 700 !important;
  font-size: 0.98rem;
  display: block !important;
  margin-bottom: 6px !important;
}

/* ==========================================================================
   Wagner & Steinbach - Über uns: Family Showcase & Quote Box
   ========================================================================== */
.about-family-showcase,
.editor-styles-wrapper .about-family-showcase {
  margin: 40px 0 !important;
  background: var(--card-bg, #FFFFFF) !important;
  border-radius: 24px !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22) !important;
  box-shadow: 0 6px 24px rgba(55, 43, 37, 0.05) !important;
  overflow: hidden !important;
  align-items: center !important;
}

.about-family-showcase > .wp-block-column:first-child,
.editor-styles-wrapper .about-family-showcase > .wp-block-column:first-child {
  padding: clamp(26px, 4vw, 42px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.about-family-showcase > .wp-block-column:first-child .service-tag,
.editor-styles-wrapper .about-family-showcase > .wp-block-column:first-child .service-tag {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--accent, #8C4B3E) !important;
  margin: 0 0 10px 0 !important;
  display: block !important;
}

.about-family-showcase > .wp-block-column:first-child h2,
.editor-styles-wrapper .about-family-showcase > .wp-block-column:first-child h2 {
  font-family: var(--font-serif, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  line-height: 1.25 !important;
  color: var(--text-main, #372B25) !important;
  margin: 0 0 16px 0 !important;
}

.about-family-showcase > .wp-block-column:first-child p,
.editor-styles-wrapper .about-family-showcase > .wp-block-column:first-child p {
  font-size: 1rem;
  line-height: 1.7 !important;
  color: var(--text-muted, #5A524D) !important;
  margin: 0 0 16px 0 !important;
}

.about-family-showcase > .wp-block-column:first-child p:last-child,
.editor-styles-wrapper .about-family-showcase > .wp-block-column:first-child p:last-child {
  font-size: 0.98rem;
  line-height: 1.6 !important;
  color: var(--text-main, #372B25) !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.about-family-showcase > .wp-block-column:last-child,
.editor-styles-wrapper .about-family-showcase > .wp-block-column:last-child {
  margin: 0 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
}

.about-family-showcase .wp-block-image,
.about-family-showcase figure,
.editor-styles-wrapper .about-family-showcase .wp-block-image,
.editor-styles-wrapper .about-family-showcase figure {
  margin: 0 !important;
  width: 100% !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 6px 20px rgba(55, 43, 37, 0.08) !important;
}

.about-family-showcase .wp-block-image img,
.about-family-showcase figure img,
.editor-styles-wrapper .about-family-showcase .wp-block-image img,
.editor-styles-wrapper .about-family-showcase figure img {
  border-radius: 20px !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 280px !important;
  max-height: 420px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Quote Box */
.about-quote-box,
.wp-block-quote.about-quote-box,
.editor-styles-wrapper .about-quote-box {
  margin: 44px auto !important;
  padding: clamp(32px, 4vw, 44px) clamp(28px, 5vw, 56px) !important;
  background: var(--card-bg, #FFFFFF) !important;
  border-radius: 20px !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22) !important;
  box-shadow: 0 4px 20px rgba(55, 43, 37, 0.04) !important;
  text-align: center !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.about-quote-box .about-quote-text,
.about-quote-box p:first-of-type,
.wp-block-quote.about-quote-box p,
.editor-styles-wrapper .about-quote-box p:first-of-type {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  line-height: 1.65 !important;
  font-style: italic !important;
  color: var(--text-main, #372B25) !important;
  max-width: 980px !important;
  margin: 0 auto 20px auto !important;
}

.about-quote-box .about-quote-author,
.about-quote-box p:last-child,
.wp-block-quote.about-quote-box cite,
.editor-styles-wrapper .about-quote-box p:last-child {
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: clamp(1.05rem, 1.25vw, 1.2rem);
  font-weight: 700 !important;
  color: var(--accent, #8C4B3E) !important;
  font-style: normal !important;
  display: block !important;
  margin: 0 !important;
}

/* ==========================================================================
   Aufnahmeplan: 4-Schritte-Ablauf & Kapazitäten-Steps (Streng gekapselt)
   ========================================================================== */
.kapazitaeten-steps {
  background: var(--card-bg, #FFFFFF) !important;
  border: 1px solid rgba(140, 75, 62, 0.12) !important;
  border-radius: 20px !important;
  max-width: 1100px !important;
  margin: 40px auto 60px !important;
  padding: 48px 32px !important;
  text-align: center !important;
}

.kapazitaeten-steps .wp-block-columns,
.kapazitaeten-steps .steps-grid,
.steps-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 24px !important;
  margin-top: 28px !important;
  margin-bottom: 28px !important;
  width: 100% !important;
}

@media (min-width: 900px) {
  .kapazitaeten-steps .wp-block-columns,
  .kapazitaeten-steps .steps-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

.step-card,
.wp-block-column.step-card {
  background: #ffffff !important;
  border: 1px solid rgba(140, 75, 62, 0.14) !important;
  border-radius: 14px !important;
  padding: 28px 20px !important;
  text-align: center !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  width: 100% !important;
  flex: 1 1 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.step-card:hover,
.wp-block-column.step-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(55, 43, 37, 0.06) !important;
}

.step-badge,
p.step-badge {
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--accent, #8C4B3E) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 14px auto !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

.step-title,
h3.step-title,
h4.step-title {
  font-family: var(--font-serif) !important;
  font-size: 1.12rem !important;
  color: var(--text-main, #372B25) !important;
  margin: 0 0 10px 0 !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   4 Einheitliche W&S Button-Stile (Pillenform / 9999px, konsistente Typo & Hover)
   ========================================================================== */
.wp-block-button,
.wp-block-button.cta-link-primary {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border: none !important;
  display: inline-block !important;
}

/* Gemeinsame Basis für alle Buttons */
.wp-block-button .wp-block-button__link,
.wp-block-button a.wp-element-button,
.is-style-ws-btn-primary .wp-block-button__link,
.is-style-ws-btn-outline .wp-block-button__link,
.is-style-ws-btn-dark .wp-block-button__link,
.is-style-ws-btn-sage .wp-block-button__link,
.btn-primary, .btn-secondary, .btn-outline,
.job-btn-primary, .job-btn-secondary,
.cta-link-primary .wp-block-button__link {
  font-family: var(--font-sans, "Plus Jakarta Sans", sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  padding: 12px 28px !important;
  border-radius: 9999px !important; /* Exakte Pillenform */
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Stil 1: Primär Terrakotta (Erstgespräch anfragen / Haupt-CTA) */
.is-style-ws-btn-primary .wp-block-button__link,
.is-style-ws-btn-terracotta .wp-block-button__link,
.wp-block-button.cta-link-primary .wp-block-button__link,
.job-btn-primary,
.btn-primary,
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link,
.is-style-fill .wp-block-button__link {
  background-color: var(--ws-btn1-bg, #8C4B3E) !important;
  background: var(--ws-btn1-bg, #8C4B3E) !important;
  color: var(--ws-btn1-text, #FFFFFF) !important;
  border: 2px solid var(--ws-btn1-border, #8C4B3E) !important;
  box-shadow: 0 4px 14px rgba(140, 75, 62, 0.28) !important;
}
.is-style-ws-btn-primary .wp-block-button__link:hover,
.is-style-ws-btn-terracotta .wp-block-button__link:hover,
.wp-block-button.cta-link-primary .wp-block-button__link:hover,
.job-btn-primary:hover,
.btn-primary:hover,
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover,
.is-style-fill .wp-block-button__link:hover {
  background-color: var(--ws-btn1-hover, #722719) !important;
  background: var(--ws-btn1-hover, #722719) !important;
  color: var(--ws-btn1-text, #FFFFFF) !important;
  border-color: var(--ws-btn1-hover, #722719) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(140, 75, 62, 0.38) !important;
}

/* Stil 2: Outline (Kontur) (Stellenanfragen / Sekundär) */
.is-style-ws-btn-outline .wp-block-button__link,
.is-style-outline .wp-block-button__link,
.job-btn-secondary,
.btn-outline {
  background-color: var(--ws-btn2-bg, #FFFFFF) !important;
  background: var(--ws-btn2-bg, #FFFFFF) !important;
  color: var(--ws-btn2-border, #8C4B3E) !important;
  border: 2px solid var(--ws-btn2-border, #8C4B3E) !important;
  box-shadow: 0 2px 8px rgba(168, 125, 111, 0.12) !important;
}
.is-style-ws-btn-outline .wp-block-button__link:hover,
.is-style-outline .wp-block-button__link:hover,
.job-btn-secondary:hover,
.btn-outline:hover {
  background-color: var(--ws-btn2-hover, #FAF5F2) !important;
  background: var(--ws-btn2-hover, #FAF5F2) !important;
  color: var(--ws-btn2-hover-border, #722719) !important;
  border-color: var(--ws-btn2-hover-border, #722719) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(168, 125, 111, 0.26) !important;
}

/* Stil 3: Soft-Anthrazit (Dunkel / Kontrast) */
.is-style-ws-btn-dark .wp-block-button__link,
.is-style-ws-btn-slate .wp-block-button__link,
.is-style-ws-btn-anthracite .wp-block-button__link {
  background-color: #2C3137 !important;
  background: #2C3137 !important;
  color: #FFFFFF !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 14px rgba(44, 49, 55, 0.24) !important;
}
.is-style-ws-btn-dark .wp-block-button__link:hover,
.is-style-ws-btn-slate .wp-block-button__link:hover,
.is-style-ws-btn-anthracite .wp-block-button__link:hover {
  background-color: #1E2328 !important;
  background: #1E2328 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(22, 24, 27, 0.34) !important;
}

/* Stil 4: Salbei / Olive (Natur / Gesundheit) */
.is-style-ws-btn-sage .wp-block-button__link,
.is-style-ws-btn-olive .wp-block-button__link,
.is-style-ws-btn-green .wp-block-button__link {
  background-color: #728D7E !important;
  background: #728D7E !important;
  color: #FFFFFF !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 14px rgba(114, 141, 126, 0.26) !important;
}
.is-style-ws-btn-sage .wp-block-button__link:hover,
.is-style-ws-btn-olive .wp-block-button__link:hover,
.is-style-ws-btn-green .wp-block-button__link:hover {
  background-color: #5D7668 !important;
  background: #5D7668 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(93, 118, 104, 0.36) !important;
}

/* Scoped: 2 Klicks für mehr Datenschutz & 20-km-Radius Tooltip */
.ws-osm-privacy-overlay {
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.ws-osm-privacy-inner .btn-primary:hover {
  background: #722719 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(140, 75, 62, 0.4) !important;
}

.wsp-radius-tooltip {
  background: rgba(55, 43, 37, 0.92) !important;
  color: #ffffff !important;
  font-family: var(--font-sans, sans-serif) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
  padding: 5px 10px !important;
}

/* Custom Headquarters Leaflet Pin Needle with Company Logo */
.ws-headquarters-pin-marker {
  background: transparent !important;
  border: none !important;
}
.ws-headquarters-pin {
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.ws-headquarters-pin:hover {
  transform: scale(1.12) translateY(-3px);
}

/* Kapazitaeten & Einzugsgebiet Page Blocks: Einheitlich wie Pflegeleistungen */
.page-hero-banner,
.wp-block-group.page-hero-banner,
.entry-content > .page-hero-banner,
.kapazitaeten-page .page-hero-banner,
.einzugsgebiet-page .page-hero-banner {
  background: var(--brand-warm, #FAF6F2) !important;
  border: 1.5px solid var(--border-color, rgba(168, 125, 111, 0.28)) !important;
  border-radius: 24px !important;
  padding: clamp(32px, 5vw, 56px) clamp(24px, 4vw, 48px) !important;
  margin: 0 auto 36px auto !important;
  max-width: var(--content-max-width, 1216px) !important;
  text-align: left !important;
  box-sizing: border-box !important;
  display: block !important;
}

.page-hero-banner h1,
.page-hero-banner .wp-block-heading {
  font-family: var(--font-serif, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(2.3rem, 4vw, 3.2rem);
  font-weight: 700 !important;
  color: var(--heading-color, #2B231E) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 14px 0 !important;
  text-align: left !important;
}

.page-hero-banner .lead-subtitle,
.page-hero-banner p.lead-subtitle,
.page-hero-banner p:not(.landing-badge-pill):not(.hero-region-badge) {
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: clamp(1.05rem, 1.8vw, 1.18rem);
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #716257 !important;
  max-width: 920px !important;
  margin: 0 !important;
  text-align: left !important;
}

.landing-badge-pill,
p.landing-badge-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #8C4B3E !important;
  background: rgba(140, 75, 62, 0.09) !important;
  border: 1px solid rgba(140, 75, 62, 0.2) !important;
  padding: 5px 16px !important;
  border-radius: 999px !important;
  margin: 0 0 16px 0 !important;
  width: fit-content !important;
  text-align: left !important;
}
.kapazitaeten-status-cards .status-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 28px 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
}
.kapazitaeten-status-cards .status-card-green {
  border: 1px solid rgba(34, 197, 94, 0.3) !important;
  border-top: 4px solid #22c55e !important;
}
.kapazitaeten-status-cards .status-card-green h3 {
  color: #15803d !important;
  margin: 0 0 12px !important;
}
.kapazitaeten-status-cards .status-card-yellow {
  border: 1px solid rgba(234, 179, 8, 0.3) !important;
  border-top: 4px solid #eab308 !important;
}
.kapazitaeten-status-cards .status-card-yellow h3 {
  color: #854d0e !important;
  margin: 0 0 12px !important;
}
.kapazitaeten-status-cards .status-card-red {
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  border-top: 4px solid #ef4444 !important;
}
.kapazitaeten-status-cards .status-card-red h3 {
  color: #b91c1c !important;
  margin: 0 0 12px !important;
}
.kapazitaeten-cta {
  background: linear-gradient(135deg, var(--accent, #8C4B3E) 0%, #6E352B 100%) !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  max-width: 1100px !important;
  margin: 0 auto 60px !important;
  padding: 40px 28px !important;
  text-align: center !important;
}
.kapazitaeten-cta h3 {
  color: #ffffff !important;
}
.kapazitaeten-cta p {
  color: rgba(255, 255, 255, 0.9) !important;
}
.catchment-cta-section {
  background: linear-gradient(135deg, var(--accent, #8C4B3E) 0%, #722719 100%) !important;
  color: #ffffff !important;
  border-radius: 20px !important;
  max-width: 1100px !important;
  margin: 0 auto 60px !important;
  padding: 36px 32px !important;
  text-align: center !important;
}
.catchment-cta-section h3 {
  color: #ffffff !important;
}
.catchment-cta-section p {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* ==========================================================================
   LEAFLET OSM OVERRIDES: KEIN RAHMEN / QUADRAT UM DEN SVG-RADIUSKREIS
   ========================================================================== */
.leaflet-container svg,
.leaflet-overlay-pane svg,
.leaflet-pane svg,
svg.leaflet-zoom-animated,
.wsp-leaflet-map-frame svg,
.wsp-leaflet-map-container svg,
.wsp-map-card svg,
.leaflet-layer svg {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

#anfrageformular {
  scroll-margin-top: 90px;
}

/* ==========================================================================
   Karriere: Gründer-Hero mit 2 Portraits Block
   ========================================================================== */
.career-founders-hero-card {
  background: var(--card-bg, #FFFFFF) !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22);
  border-radius: 24px;
  padding: 40px 32px;
  text-align: center;
  box-shadow: 0 8px 30px rgba(55, 43, 37, 0.05);
  margin: 36px 0;
  box-sizing: border-box;
}

.career-hero-badge-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

.career-hero-badge {
  display: inline-block;
  background: rgba(140, 75, 62, 0.09);
  color: var(--accent, #8C4B3E);
  padding: 6px 22px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.career-hero-title {
  font-family: var(--font-serif, "Playfair Display", Georgia, serif);
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: var(--text-main, #372B25);
  margin: 0 0 14px 0;
  line-height: 1.28;
}

.career-hero-subtitle {
  font-size: 1.02rem;
  color: var(--text-muted, #6E645D);
  line-height: 1.65;
  max-width: 720px;
  margin: 0 auto 36px;
}

.career-founders-grid {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 56px;
  flex-wrap: wrap;
  margin: 28px 0 36px;
}

.career-founder-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 180px;
  max-width: 240px;
}

.career-founder-col .founder-photo-wrap {
  margin: 0 0 14px 0;
}

.career-founder-col .founder-photo {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  object-fit: cover;
  border: 3.5px solid var(--accent, #8C4B3E);
  box-shadow: 0 4px 14px rgba(140, 75, 62, 0.18);
  display: block;
}

.career-founder-col .founder-name {
  font-family: var(--font-serif, "Playfair Display", Georgia, serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-main, #372B25);
  margin: 0 0 4px 0;
  line-height: 1.3;
}

.career-founder-col .founder-role {
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: 0.90rem;
  color: var(--text-muted, #6E645D);
  margin: 0;
  line-height: 1.4;
}

.career-hero-bottom-bar-wrap {
  display: flex;
  justify-content: center;
  margin-top: 12px;
}

.career-hero-bottom-bar {
  display: inline-block;
  background: var(--color-green, #2E6930);
  color: #ffffff;
  border-radius: 999px;
  padding: 10px 30px;
  font-size: 0.95rem;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(46, 105, 48, 0.25);
  letter-spacing: 0.01em;
}

@media (max-width: 640px) {
  .career-founders-hero-card {
    padding: 28px 18px;
  }
  .career-founders-grid {
    gap: 32px;
  }
}

/* ==========================================================================
   Leaflet OSM Kachelnaht- & Gitter-Fix (Längen- und Breitengrade)
   ========================================================================== */
.leaflet-container img.leaflet-tile {
  mix-blend-mode: normal !important;
}

.leaflet-container,
.wsp-leaflet-map-frame,
.leaflet-tile-pane,
.leaflet-tile-container {
  background-color: #cad2d3 !important;
}

.leaflet-tile {
  outline: 1px solid transparent;
}

/* Button "Text neu generieren" erst sichtbar, wenn Text generiert wurde */
.ws-btn-regenerate-msg {
  display: none !important;
}
.ws-btn-regenerate-msg.is-visible {
  display: inline-flex !important;
}

/* Strg + Mausrad Zoom Hinweis für OSM Karte */
.wsp-map-ctrl-zoom-hint {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(43, 35, 30, 0.38);
  color: #ffffff;
  font-family: var(--font-sans, "Plus Jakarta Sans", system-ui, sans-serif);
  font-size: 0.95rem;
  font-weight: 500;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.22s ease;
  z-index: 9999;
}
.wsp-map-ctrl-zoom-hint span {
  background: rgba(25, 20, 17, 0.88);
  padding: 10px 22px;
  border-radius: 999px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(4px);
  letter-spacing: 0.01em;
}
.wsp-map-ctrl-zoom-hint.is-active {
  opacity: 1;
}

/* Vollbild-Modus für OSM-Karte */
.wsp-fullscreen-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  color: #4A403A !important;
  border: 1.5px solid rgba(140, 75, 62, 0.22) !important;
  border-radius: 999px !important;
  padding: 7px 16px !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 2px 6px rgba(55, 43, 37, 0.05) !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
.wsp-fullscreen-toggle-btn:hover {
  background: #FAF5F2 !important;
  border-color: #8C4B3E !important;
  color: #8C4B3E !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(140, 75, 62, 0.15) !important;
}
/* Anti-Quadrat / Anti-Outline Fix für SVG & Leaflet-Pfade */
.leaflet-container :focus,
.leaflet-container svg:focus,
.leaflet-container path:focus,
.leaflet-interactive:focus,
path.leaflet-interactive:focus,
.leaflet-container svg,
.leaflet-container path {
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}
.wsp-fullscreen-close-floating {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 10050 !important;
  display: none !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(43, 35, 30, 0.9) !important;
  backdrop-filter: blur(8px) !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 999px !important;
  padding: 9px 20px !important;
  font-size: 0.88rem;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35) !important;
  transition: all 0.2s ease !important;
}
.wsp-fullscreen-close-floating:hover {
  background: #8C4B3E !important;
  transform: scale(1.03) !important;
}
.wsp-osm-unified-card.is-fullscreen .wsp-fullscreen-close-floating,
.wsp-osm-unified-card:fullscreen .wsp-fullscreen-close-floating,
.wsp-osm-unified-card:-webkit-full-screen .wsp-fullscreen-close-floating {
  display: inline-flex !important;
}
  .wsp-osm-highlight-card {
    top: 50% !important;
    left: 50% !important;
    bottom: auto !important;
    right: auto !important;
    transform: translate(-50%, -50%) scale(0.95) !important;
    width: calc(100% - 24px) !important;
    max-width: 390px !important;
    max-height: 85vh !important;
    overflow-y: auto !important;
    padding: 18px 18px !important;
    border-radius: 20px !important;
  }
}
/* Erstberatungs-Box zentriert und größer */
.wsp-osm-highlight-card {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(0.95) !important;
  max-width: 440px !important;
  width: calc(100% - 32px) !important;
  background: #ffffff !important;
  border-radius: 22px !important;
  padding: 22px 24px !important;
  box-shadow: 0 20px 50px rgba(45, 30, 24, 0.35) !important;
  border: 1.5px solid rgba(140, 75, 62, 0.22) !important;
  z-index: 1200 !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease !important;
}
body.ws-map-fullscreen-active {
  overflow: hidden !important;
}
.wsp-osm-unified-card:fullscreen,
.wsp-osm-unified-card:-webkit-full-screen,
.wsp-osm-unified-card.is-fullscreen {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  z-index: 9999999 !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: none !important;
  background: #FAF8F5 !important;
  overflow: hidden !important;
}
.wsp-osm-unified-card.is-fullscreen .wsp-map-topbar {
  flex: 0 0 auto !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.wsp-osm-unified-card:fullscreen .wsp-leaflet-map-container,
.wsp-osm-unified-card:-webkit-full-screen .wsp-leaflet-map-container,
.wsp-osm-unified-card.is-fullscreen .wsp-leaflet-map-container {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: calc(100vh - 75px) !important;
  height: calc(100dvh - 75px) !important;
  min-height: calc(100vh - 75px) !important;
  min-height: calc(100dvh - 75px) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  position: relative !important;
}
.wsp-osm-unified-card.is-fullscreen .wsp-leaflet-map-frame,
.wsp-osm-unified-card.is-fullscreen .leaflet-container {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
}

/* Missing field scroll links & focus highlight pulse */
.ws-missing-field-link {
  color: #8C4B3E;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s ease, background-color 0.15s ease;
  border-radius: 4px;
  padding: 1px 3px;
}
.ws-missing-field-link:hover,
.ws-missing-field-link:focus {
  color: #6d2f23;
  background-color: rgba(140, 75, 62, 0.08);
}

@keyframes wsFieldPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(140, 75, 62, 0.45);
    border-color: #8C4B3E;
  }
  50% {
    box-shadow: 0 0 0 8px rgba(140, 75, 62, 0.18);
    border-color: #8C4B3E;
  }
  100% {
    box-shadow: 0 0 0 0 rgba(140, 75, 62, 0);
  }
}

.ws-field-highlight-pulse {
  animation: wsFieldPulse 1.2s ease-out 1 !important;
  border-color: #8C4B3E !important;
}




/* ==========================================================================
   WAGNER & STEINBACH: KORREKTE CURSOR FÜR SCHIEBEREGLER & FORMULAR-ELEMENTE
   ========================================================================== */
/* Texte, Labels und Statusanzeige über/um den Schieberegler: cursor: default und kein Text-Cursor */
#anfrageformular label,
#anfrageformular .forminator-label,
#anfrageformular .forminator-label *,
#anfrageformular .forminator-description,
#anfrageformular .forminator-legend,
#anfrageformular .ws-pg-slider-container,
#anfrageformular .ws-pg-slider-container *,
#anfrageformular .ws-pg-slider-status,
#anfrageformular .ws-pg-slider-status *,
#anfrageformular .ws-pg-slider-badge,
#anfrageformular .ws-pg-slider-text,
#anfrageformular .ws-pg-slider-title,
#anfrageformular .ws-pg-slider-desc,
#anfrageformular .ws-slider-section,
#anfrageformular .ws-slider-section-label,
#anfrageformular .ws-slider-section-label *,
#anfrageformular .ws-selected-pg-status,
#anfrageformular .ws-selected-pg-status *,
#anfrageformular .ws-slider-step-num,
#anfrageformular .ws-slider-current-pick,
#anfrageformular .ws-slider-val-badge,
#anfrageformular .ws-slider-divider,
#anfrageformular .forminator-field-select-3,
#anfrageformular .forminator-field-select-3 label,
#anfrageformular .forminator-field-select-3 .forminator-label,
#anfrageformular .forminator-field-select-3 .forminator-label * {
  cursor: default !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

/* Interaktive Schieberegler-Elemente: Strikt Zeiger / Pointer */
#anfrageformular input[type="range"],
#anfrageformular input[type="range"].ws-pg-slider-range,
.forminator-ui.forminator-custom-form input[type="range"],
.forminator-ui.forminator-custom-form .ws-pg-slider-range,
#anfrageformular .ws-pg-slider-range,
#anfrageformular .ws-pg-slider-bar,
#anfrageformular .ws-pg-slider-bar *,
#anfrageformular .ws-pg-slider-track-wrap,
#anfrageformular .ws-pg-slider-thumb-visual,
#anfrageformular .ws-pg-slider-thumb-visual *,
#anfrageformular .ws-pg-slider-step-btn,
#anfrageformular .ws-pg-slider-step-btn *,
#anfrageformular .ws-pg-slider-fill,
#anfrageformular .ws-pg-slider-hover-fill,
#anfrageformular .ws-pg-slider-ticks,
#anfrageformular .ws-pg-slider-tick,
#anfrageformular .ws-pg-slider-labels,
#anfrageformular .ws-pg-slider-labels * {
  cursor: pointer !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

#anfrageformular input[type="range"]::-webkit-slider-thumb,
#anfrageformular .ws-pg-slider-range::-webkit-slider-thumb,
.forminator-ui.forminator-custom-form input[type="range"]::-webkit-slider-thumb {
  cursor: pointer !important;
}

#anfrageformular input[type="range"]::-webkit-slider-runnable-track,
#anfrageformular .ws-pg-slider-range::-webkit-slider-runnable-track,
.forminator-ui.forminator-custom-form input[type="range"]::-webkit-slider-runnable-track {
  cursor: pointer !important;
}

#anfrageformular input[type="range"]::-moz-range-thumb,
#anfrageformular .ws-pg-slider-range::-moz-range-thumb,
.forminator-ui.forminator-custom-form input[type="range"]::-moz-range-thumb {
  cursor: pointer !important;
}

#anfrageformular input[type="range"]::-moz-range-track,
#anfrageformular .ws-pg-slider-range::-moz-range-track,
.forminator-ui.forminator-custom-form input[type="range"]::-moz-range-track {
  cursor: pointer !important;
}

#anfrageformular .ws-pg-slider-range:active,
#anfrageformular .ws-pg-slider-range:active::-webkit-slider-thumb,
#anfrageformular .ws-pg-slider-range:active::-moz-range-thumb {
  cursor: grabbing !important;
}

/* ==========================================================================
   Social Media Kanäle Banner (Eigenständige Box)
   ========================================================================== */
.social-channels-banner-card {
  background: linear-gradient(135deg, rgba(140, 75, 62, 0.08) 0%, rgba(140, 75, 62, 0.03) 100%) !important;
  border: 1.5px solid rgba(168, 125, 111, 0.22) !important;
  border-radius: 20px !important;
  padding: 18px 26px !important;
  margin: 36px auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  box-shadow: 0 4px 18px rgba(55, 43, 37, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.social-channels-banner-card .social-channel-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
  transition: all 0.2s ease;
}

/* ==========================================================================
   Gutenberg Typography & Font Size Priority (Webmaster Customization Support)
   Allows enlarging/reducing font size per block in the editor without CSS blockage.
   ========================================================================== */
:root {
  --ws-base-font-size: 16px;
}

html body .has-extra-small-font-size,
.editor-styles-wrapper .has-extra-small-font-size {
  font-size: 0.75rem !important;
}

html body .has-small-font-size,
.editor-styles-wrapper .has-small-font-size {
  font-size: 0.875rem !important;
}

html body .has-medium-font-size,
.editor-styles-wrapper .has-medium-font-size {
  font-size: 1rem !important;
}

html body .has-large-font-size,
.editor-styles-wrapper .has-large-font-size {
  font-size: 1.125rem !important;
}

html body .has-x-large-font-size,
.editor-styles-wrapper .has-x-large-font-size {
  font-size: 1.5rem !important;
}

html body .has-xx-large-font-size,
.editor-styles-wrapper .has-xx-large-font-size {
  font-size: 2rem !important;
}

html body .has-huge-font-size,
.editor-styles-wrapper .has-huge-font-size {
  font-size: 2.625rem !important;
}

/* ==========================================================================
   Karriere & Stellenanzeigen: Direkter Draht zu den Gründern (Kontaktkarte)
   ========================================================================== */
.career-founders-bottom-card,
.hr-contact-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(168, 125, 111, 0.3) !important;
  border-radius: 24px !important;
  padding: clamp(28px, 4vw, 40px) !important;
  box-shadow: 0 8px 30px rgba(55, 43, 37, 0.05) !important;
  margin-top: 40px !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}

.hr-contact-columns {
  display: flex !important;
  align-items: center !important;
  gap: clamp(24px, 4vw, 36px) !important;
  flex-wrap: wrap !important;
}

.hr-contact-avatars-col {
  flex: 0 0 auto !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.hr-avatars-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-bottom: 12px !important;
  flex-wrap: wrap !important;
}

.hr-founder-single {
  text-align: center !important;
}

.hr-contact-badge {
  display: inline-block !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: var(--accent, #8C4B3E) !important;
  background: rgba(140, 75, 62, 0.1) !important;
  padding: 4px 14px !important;
  border-radius: 999px !important;
}

.hr-contact-text-col {
  flex: 1 1 320px !important;
  text-align: left !important;
}

.hr-contact-overline {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--accent, #8C4B3E) !important;
  display: block !important;
  margin: 0 0 4px 0 !important;
}

.hr-contact-title {
  font-family: var(--font-serif) !important;
  font-size: clamp(1.3rem, 2vw, 1.6rem) !important;
  color: var(--text-main, #372B25) !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.3 !important;
}

.hr-contact-desc {
  margin: 0 0 16px 0 !important;
  color: var(--text-muted, #6E645D) !important;
  line-height: 1.6 !important;
  font-size: 0.94rem !important;
}

.hr-contact-actions {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin-top: 18px !important;
}

.hr-contact-actions .wp-block-button {
  width: auto !important;
  display: inline-block !important;
  margin: 0 !important;
}

.hr-contact-actions .wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  border-radius: 9999px !important;
  padding: 12px 26px !important;
  font-family: var(--font-sans, 'Plus Jakarta Sans', system-ui, sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
}

.hr-contact-actions .wp-block-button.cta-button .wp-block-button__link,
.hr-contact-actions .wp-block-button.is-style-ws-btn-primary .wp-block-button__link {
  background: #A87D6F !important;
  background-color: #A87D6F !important;
  color: #FFFFFF !important;
  border: 2px solid #A87D6F !important;
  box-shadow: 0 4px 14px rgba(168, 125, 111, 0.28) !important;
}

.hr-contact-actions .wp-block-button.cta-button .wp-block-button__link:hover,
.hr-contact-actions .wp-block-button.is-style-ws-btn-primary .wp-block-button__link:hover {
  background: #8C4B3E !important;
  background-color: #8C4B3E !important;
  border-color: #8C4B3E !important;
  transform: translateY(-2px) !important;
}

.hr-contact-actions .wp-block-button.cta-link-secondary .wp-block-button__link,
.hr-contact-actions .wp-block-button.is-style-ws-btn-outline .wp-block-button__link,
.hr-contact-actions .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  background-color: transparent !important;
  color: #8C4B3E !important;
  border: 2px solid #A87D6F !important;
}

.hr-contact-actions .wp-block-button.cta-link-secondary .wp-block-button__link:hover,
.hr-contact-actions .wp-block-button.is-style-ws-btn-outline .wp-block-button__link:hover,
.hr-contact-actions .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #A87D6F !important;
  background-color: #A87D6F !important;
  color: #FFFFFF !important;
  border-color: #A87D6F !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   Karriereseite & Stellenanzeigen: Portrait-Alignment & Textfeld-Optimierung
   ========================================================================== */
.career-founders-hero .job-hero-avatar-wrap,
.job-hero-avatar-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  margin: 24px auto 12px !important;
}

.job-hero-avatar-wrap > div:first-child,
.career-founders-grid,
.hr-avatars-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: clamp(16px, 3vw, 24px) !important;
  flex-wrap: wrap !important;
  margin: 0 auto !important;
}

.job-hero-avatar-wrap .team-circle-photo,
.career-founders-hero .team-circle-photo,
.career-founders-bottom-card .team-circle-photo,
.hr-contact-card .team-circle-photo,
.career-founder-col .founder-photo-wrap {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}

.career-founder-col,
.hr-founder-single,
.job-hero-avatar-wrap > div:first-child > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  flex: 0 0 auto !important;
  max-width: 220px !important;
}

.career-founder-col strong,
.hr-founder-single strong,
.job-hero-avatar-wrap strong {
  text-align: center !important;
}

.career-founder-col span,
.hr-founder-single span,
.job-hero-avatar-wrap span {
  text-align: center !important;
}

/* Stellenanzeige Content & Textfeld Formatierung */
.job-panel,
.job-body article {
  text-align: left !important;
}

.job-gutenberg-content {
  text-align: left !important;
  color: var(--text-main) !important;
  line-height: 1.68 !important;
}

.job-gutenberg-content p {
  text-align: left !important;
  margin-bottom: 16px !important;
}

.job-gutenberg-content h2,
.job-gutenberg-content h3,
.job-gutenberg-content h4 {
  text-align: left !important;
}

/* ==========================================================================
   Textfeld-Hinweis "Hier bitte ausfüllen" - Dunkelbraunes Layout mit weißer Schrift
   ========================================================================== */
.ws-handwritten-pointer {
  background: #372B25 !important;
  color: #FFFFFF !important;
  border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 8px !important;
  padding: 6px 14px 6px 12px !important;
  box-shadow: 0 4px 14px rgba(55, 43, 37, 0.38) !important;
  font-family: var(--font-sans, 'Plus Jakarta Sans', system-ui, sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 999999 !important;
}

.ws-handwritten-pointer .ws-hand-text {
  color: #FFFFFF !important;
  font-family: var(--font-sans, 'Plus Jakarta Sans', system-ui, sans-serif) !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.01em !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}

.ws-handwritten-pointer .ws-hand-arrow {
  stroke: #FFFFFF !important;
  width: 20px !important;
  height: 16px !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4)) !important;
}



