:root{
  --bg:#f7faf6;
  --text:#12364a;
  --muted:#637381;
  --card:#ffffff;
  --primary:#0d4262;
  --primary-dark:#08324b;
  --secondary:#83ad36;
  --secondary-dark:#6f972d;
  --accent:#eef7e6;
  --accent-blue:#e8f2f6;
  --line:#d9e5df;
  --danger:#b42318;
  --success:#027a48;
  --shadow:0 22px 60px rgba(13,66,98,.12);
  --shadow-soft:0 14px 34px rgba(13,66,98,.08);
  --radius:24px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,4vw,64px);background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:1.18rem;letter-spacing:-.02em;color:var(--primary-dark)}
.brand-logo{width:46px;height:50px;object-fit:contain;display:block}
.site-nav{display:flex;gap:8px;align-items:center}.site-nav a{padding:10px 14px;border-radius:999px;color:var(--muted);font-weight:800}.site-nav a:hover,.site-nav a.active{background:var(--accent);color:var(--primary-dark)}
.site-nav a[href*="register"]{background:var(--primary);color:#fff;box-shadow:0 10px 24px rgba(13,66,98,.20)}.site-nav a[href*="register"]:hover{background:var(--primary-dark);color:#fff}
.nav-toggle{display:none;border:0;background:var(--primary);color:white;border-radius:14px;padding:10px 12px;font-size:1.1rem}main{min-height:70vh}
.hero{position:relative;overflow:hidden;padding:86px clamp(18px,5vw,80px) 52px;background:radial-gradient(circle at 88% 5%,rgba(131,173,54,.20) 0,rgba(131,173,54,0) 34%),radial-gradient(circle at 8% 15%,rgba(13,66,98,.12) 0,rgba(13,66,98,0) 34%),linear-gradient(135deg,#fff 0,#f7faf6 100%)}
.hero:after{content:"";position:absolute;right:-130px;bottom:-190px;width:460px;height:460px;border-radius:50%;background:rgba(131,173,54,.14);pointer-events:none}.hero:before{content:"";position:absolute;left:-170px;bottom:-230px;width:520px;height:520px;border-radius:50%;background:rgba(13,66,98,.10);pointer-events:none}
.hero-grid{position:relative;z-index:1;max-width:1180px;margin:auto;display:grid;grid-template-columns:1.12fr .88fr;gap:36px;align-items:center}.eyebrow{display:inline-flex;padding:8px 13px;border-radius:999px;background:white;border:1px solid var(--line);color:var(--secondary-dark);font-weight:900;font-size:.9rem;box-shadow:var(--shadow-soft)}
.hero h1{font-size:clamp(2.25rem,5vw,4.9rem);line-height:1.02;margin:18px 0 18px;letter-spacing:-.06em;color:var(--primary-dark)}.hero h1 strong{color:var(--secondary-dark)}.lead{font-size:1.18rem;color:var(--muted);max-width:700px}.search-card,.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.search-card{border-top:5px solid var(--secondary)}.search-card h2,.card h2{margin-top:0;color:var(--primary-dark)}
.search-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;margin-top:18px}
.field{
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 16px;
  position: relative;
  /*width: 300px;*/
}
.field label{font-weight:800;color:var(--primary-dark)}
.field input,
.field textarea,
.field select{width:100%;border:1px solid var(--line);border-radius:15px;padding:13px 14px;font:inherit;background:#fff;outline:none}
.field input:focus,
.field textarea:focus,
.field select:focus{border-color:var(--secondary);box-shadow:0 0 0 4px rgba(131,173,54,.16)}
.field textarea{min-height:120px;resize:vertical}
.button{border:0;border-radius:15px;padding:13px 19px;background:var(--secondary);color:white;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 26px rgba(131,173,54,.22)}.button:hover{background:var(--secondary-dark)}.button.secondary{background:#fff;color:var(--primary-dark);border:1px solid var(--line);box-shadow:none}.button.secondary:hover{background:var(--accent-blue)}
.section{padding:48px clamp(18px,5vw,80px)}.container{max-width:1180px;margin:auto}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow-soft)}.feature span{font-size:2rem}.feature h3{color:var(--primary-dark)}.muted{color:var(--muted)}
.auth-wrap{max-width:760px;margin:44px auto;padding:0 18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.results-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.result-list{display:grid;gap:16px}.result-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:23px;display:grid;grid-template-columns:1fr auto;gap:20px;box-shadow:var(--shadow-soft)}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:var(--accent);color:var(--secondary-dark);font-weight:900;font-size:.85rem}.flash{max-width:1180px;margin:18px auto 0;padding:14px 18px;border-radius:14px;border:1px solid var(--line);background:white}.flash-success{border-color:#abefc6;color:var(--success);background:#ecfdf3}.flash-error{border-color:#fecdca;color:var(--danger);background:#fef3f2}.site-footer{display:flex;justify-content:space-between;gap:18px;padding:34px clamp(18px,4vw,64px);border-top:1px solid var(--line);color:var(--muted);background:white}.footer-links{display:flex;gap:16px}.dashboard-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.table th,.table td{padding:14px;text-align:left;border-bottom:1px solid var(--line)}.table th{background:var(--accent-blue);color:var(--primary-dark)}
@media(max-width:860px){.hero-grid,.features,.grid-2{grid-template-columns:1fr}.search-form{grid-template-columns:1fr}.nav-toggle{display:block}.site-nav{display:none;position:absolute;left:18px;right:18px;top:76px;flex-direction:column;align-items:stretch;background:white;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.site-nav a[href*="register"]{text-align:center}.result-card{grid-template-columns:1fr}.site-footer{flex-direction:column}.hero{padding-top:46px}.brand-logo{width:42px;height:46px}}


/* Smart Search Erweiterung */
.smart-home-search{grid-template-columns:1.2fr .8fr auto}
.quick-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 16px;color:var(--muted);font-weight:750}
.quick-filters label,.filter-row label{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px}
.quick-filters input,.filter-row input{accent-color:var(--secondary)}
.search-page .results-header{margin-bottom:22px}
.advanced-search{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:22px;display:grid;grid-template-columns:1.5fr .55fr .55fr auto auto;gap:14px;align-items:end;margin-bottom:20px}
.advanced-search .field{margin-bottom:0}
.advanced-search .filter-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
.notice{background:var(--accent-blue);border:1px solid var(--line);border-left:5px solid var(--primary);border-radius:18px;padding:14px 16px;margin:16px 0;color:var(--primary-dark)}
.result-card.enhanced{grid-template-columns:minmax(0,1fr) 260px;position:relative;overflow:hidden}
.result-card.enhanced:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(var(--primary),var(--secondary))}
.result-topline{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.badge.soft{background:var(--accent);color:var(--secondary-dark)}
.result-actions{border-left:1px solid var(--line);padding-left:20px}
.suggestions{display:flex;flex-wrap:wrap;gap:10px}.suggestions a{background:var(--accent);border:1px solid var(--line);padding:9px 12px;border-radius:999px;font-weight:850;color:var(--primary-dark)}
@media(max-width:980px){
  .advanced-search{grid-template-columns:1fr 1fr}
  .advanced-search .main-query{grid-column:1/-1}
  .advanced-search .button{width:100%}
  .result-card.enhanced{grid-template-columns:1fr}
  .result-actions{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:16px}
}
@media(max-width:720px){
  .smart-home-search{grid-template-columns:1fr}
  .advanced-search{grid-template-columns:1fr}
}


/* High-End Burger-Menü */
.nav-toggle{
  width:46px;
  height:46px;
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  border:1px solid rgba(13,66,98,.14);
  background:#fff;
  color:var(--primary);
  border-radius:16px;
  box-shadow:0 12px 28px rgba(13,66,98,.10);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.nav-toggle:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(13,66,98,.16)}
.nav-toggle span{
  width:21px;
  height:2px;
  border-radius:999px;
  background:var(--primary);
  transition:transform .25s ease, opacity .2s ease;
}
.nav-toggle.open{background:var(--primary)}
.nav-toggle.open span{background:#fff}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:860px){
  body.nav-open{overflow:hidden}
  .nav-toggle{display:flex}
  .site-header{padding:12px 18px}
  .site-nav{
    display:flex;
    visibility:hidden;
    opacity:0;
    transform:translateY(-8px) scale(.98);
    pointer-events:none;
    position:absolute;
    left:14px;
    right:14px;
    top:74px;
    flex-direction:column;
    align-items:stretch;
    background:rgba(255,255,255,.98);
    border:1px solid var(--line);
    border-radius:24px;
    padding:12px;
    box-shadow:0 30px 80px rgba(13,66,98,.20);
    backdrop-filter:blur(18px);
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  }
  .site-nav.open{
    visibility:visible;
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
  }
  .site-nav a{
    padding:15px 16px;
    border-radius:17px;
    font-size:1rem;
    color:var(--primary-dark);
  }
  .site-nav a + a{margin-top:4px}
  .site-nav a[href*="register"]{
    margin-top:6px;
    text-align:center;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
  }
}


/* Dashboard & Lead-System */
.container.narrow{max-width:860px}
.dashboard-hero{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;margin-bottom:22px;background:linear-gradient(135deg,#fff,var(--accent-blue));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:28px}
.dashboard-hero h1{margin:12px 0 8px;color:var(--primary-dark);font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em}
.status-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;min-width:190px;display:grid;gap:8px;box-shadow:var(--shadow-soft)}
.status-panel small{color:var(--muted)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-soft)}
.metric-card span{display:block;color:var(--muted);font-weight:800;margin-bottom:8px}
.metric-card strong{font-size:2.3rem;color:var(--primary-dark);letter-spacing:-.04em}
.metric-card.highlight{border-color:rgba(131,173,54,.45);background:linear-gradient(135deg,#fff,var(--accent))}
.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}
.progress{height:14px;background:var(--accent-blue);border-radius:999px;overflow:hidden;border:1px solid var(--line);margin:18px 0}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:999px}
.notice.compact{font-size:.95rem;margin-top:16px}
.action-list{display:grid;gap:10px}
.action-list a{padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:var(--accent-blue);font-weight:900;color:var(--primary-dark)}
.action-list a:hover{background:var(--accent)}
.section-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.lead-list{display:grid;gap:14px}
.lead-item,.lead-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-soft)}
.lead-item{display:flex;justify-content:space-between;gap:18px;align-items:center}
.lead-item h3,.lead-card h2{margin:8px 0 4px;color:var(--primary-dark)}
.lead-card{scroll-margin-top:100px}
.lead-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}
.lead-details{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.lead-details p{background:var(--accent-blue);border:1px solid var(--line);border-radius:16px;padding:13px;margin:0}
.message-box{background:#fff;border:1px solid var(--line);border-left:5px solid var(--secondary);border-radius:18px;padding:16px;margin:14px 0}
.status-form{display:flex;gap:10px;align-items:center}
.status-form select{border:1px solid var(--line);border-radius:14px;padding:12px 13px;font:inherit;background:#fff}
.filter-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.filter-tabs a{padding:11px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--primary-dark);font-weight:900}
.filter-tabs a.active,.filter-tabs a:hover{background:var(--primary);color:#fff}
.badge.active,.badge.contacted{background:var(--accent-blue);color:var(--primary-dark)}
.badge.pending,.badge.new{background:#fff7e6;color:#9a6700}
.badge.closed{background:#ecfdf3;color:var(--success)}
.badge.disabled{background:#fef3f2;color:var(--danger)}
.checkbox-field span{font-weight:700;color:var(--muted)}
.result-actions .button + .button{margin-top:10px}

@media(max-width:980px){
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .dashboard-grid{grid-template-columns:1fr}
  .lead-details{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .dashboard-hero,.lead-card-head,.lead-item,.section-title-row{flex-direction:column}
  .metric-grid,.lead-details{grid-template-columns:1fr}
  .status-panel{width:100%}
  .status-form{width:100%;align-items:stretch;flex-direction:column}
}


/* Elternbereich, Kommunikation & Abonnement */
.conversation-card h1{margin:12px 0 8px;color:var(--primary-dark)}
.message-thread{display:grid;gap:12px;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--accent-blue)}
.message-bubble{max-width:82%;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.message-bubble.kita{margin-left:auto;background:var(--accent);border-color:rgba(131,173,54,.35)}
.message-bubble.parent{margin-right:auto}
.message-bubble strong{display:block;color:var(--primary-dark);margin-bottom:4px}
.message-bubble p{margin:0 0 6px}
.message-bubble small{color:var(--muted)}
.reply-form{border-top:1px solid var(--line);padding-top:18px}
.subscription-box{border-radius:22px;border:1px solid var(--line);padding:20px;margin:18px 0;background:#fff}
.subscription-box.active{background:#ecfdf3;border-color:#abefc6}
.subscription-box.inactive{background:#fff7e6;border-color:#fedf89}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.pricing-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow-soft)}
.pricing-card.featured{border-color:rgba(131,173,54,.45);background:linear-gradient(135deg,#fff,var(--accent))}
.price{font-size:1.6rem;font-weight:950;color:var(--primary-dark);letter-spacing:-.03em}
.site-nav a[href*="parent/register"]{background:var(--accent);color:var(--primary-dark)}
@media(max-width:720px){
  .message-bubble{max-width:100%}
  .pricing-grid{grid-template-columns:1fr}
}


/* Unified Login, Register Cards & Pretty Checkbox */
.nav-login{
  background:linear-gradient(135deg,var(--primary),var(--secondary)) !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(13,66,98,.18);
}
.auth-shell{
  width:min(1120px,100%);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:stretch;
}
.auth-intro{
  background:linear-gradient(135deg,#fff,var(--accent-blue));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:34px;
}
.auth-intro h1{
  margin:18px 0 12px;
  font-size:clamp(2rem,4vw,3.7rem);
  line-height:1.04;
  letter-spacing:-.05em;
  color:var(--primary-dark);
}
.auth-card h2{margin-top:0;color:var(--primary-dark)}
.auth-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:24px;
}
.auth-choice-grid a{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  font-weight:950;
  color:var(--primary-dark);
  box-shadow:var(--shadow-soft);
}
.auth-choice-grid a:hover{background:var(--accent)}
.register-card{
  max-width:900px;
  width:100%;
  border-top:5px solid var(--secondary);
}
.register-card h1{
  color:var(--primary-dark);
  letter-spacing:-.04em;
}
.pretty-check{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:12px;
  align-items:start;
  border:1px solid var(--line);
  background:linear-gradient(135deg,#fff,var(--accent-blue));
  border-radius:18px;
  padding:14px 15px;
  margin:10px 0 18px;
  cursor:pointer;
  color:var(--muted);
  font-weight:800;
}
.pretty-check input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.pretty-check .checkmark{
  width:24px;
  height:24px;
  border-radius:8px;
  border:2px solid var(--line);
  background:#fff;
  position:relative;
  transition:.18s ease;
  margin-top:1px;
}
.pretty-check input:checked + .checkmark{
  background:var(--secondary);
  border-color:var(--secondary);
  box-shadow:0 8px 18px rgba(131,173,54,.26);
}
.pretty-check input:checked + .checkmark:after{
  content:"";
  position:absolute;
  left:7px;
  top:3px;
  width:6px;
  height:12px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.pretty-check a{
  color:var(--primary-dark);
  text-decoration:underline;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr}
  .auth-choice-grid{grid-template-columns:1fr}
}


/* Login vereinfacht & Navbar Buttons */
.simple-login-card{
  max-width:520px;
  width:100%;
}
.simple-login-card h1{
  color:var(--primary-dark);
  font-size:clamp(2rem,4vw,3rem);
  margin:14px 0 18px;
  letter-spacing:-.04em;
}
.small-text{font-size:.95rem;margin-top:18px}
.small-text a{color:var(--primary-dark);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.site-nav > a{
  white-space:nowrap;
}
.site-nav a[href*="auth/register"],
.site-nav a[href*="parent/register"]{
  background:#fff;
  color:var(--primary-dark);
  border:1px solid var(--line);
  box-shadow:none;
}
.site-nav a[href*="auth/register"]:hover,
.site-nav a[href*="parent/register"]:hover{
  background:var(--accent);
}


/* Logo-Farben für Navbar & freie Plätze */
.site-nav a{
  border:1px solid transparent;
  color:var(--primary-dark);
}
.site-nav a[href="/search.php"]{
  background:var(--accent-blue);
  color:var(--primary-dark);
  border-color:rgba(13,66,98,.12);
}
.site-nav a[href*="auth/register"]{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
  box-shadow:0 10px 24px rgba(13,66,98,.18);
}
.site-nav a[href*="parent/register"]{
  background:var(--secondary);
  color:#fff;
  border-color:var(--secondary);
  box-shadow:0 10px 24px rgba(131,173,54,.22);
}
.site-nav .nav-login{
  background:linear-gradient(135deg,var(--primary),var(--secondary)) !important;
  color:#fff !important;
  border-color:transparent;
}
.site-nav a:hover,
.site-nav a.active{
  transform:translateY(-1px);
  filter:saturate(1.03);
}
.pretty-check{
  display:grid !important;
  grid-template-columns:26px 1fr;
  align-items:flex-start;
}
.badge.places{
  background:#ecfdf3;
  color:var(--success);
  border:1px solid #abefc6;
}
.form-hint{
  margin-top:-8px;
  margin-bottom:16px;
  font-size:.95rem;
}
@media(max-width:860px){
  .site-nav a[href="/search.php"],
  .site-nav a[href*="auth/register"],
  .site-nav a[href*="parent/register"],
  .site-nav .nav-login{
    text-align:center;
  }
}


/* Final UI polish: kräftiger Navbar-Hover, Footer, Legal */
.site-nav a{
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.site-nav a:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(13,66,98,.18);
}
.site-nav a[href="/search.php"]:hover,
.site-nav a[href="/search.php"].active{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}
.site-nav a[href*="auth/register"]:hover,
.site-nav a[href*="auth/register"].active{
  background:var(--primary-dark);
  color:#fff;
  border-color:var(--primary-dark);
}
.site-nav a[href*="parent/register"]:hover,
.site-nav a[href*="parent/register"].active{
  background:var(--secondary-dark);
  color:#fff;
  border-color:var(--secondary-dark);
}
.site-nav .nav-login:hover,
.site-nav .nav-login.active{
  background:linear-gradient(135deg,var(--primary-dark),var(--secondary-dark)) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(13,66,98,.24);
}
.pro-footer{
  display:block;
  padding:0;
  background:linear-gradient(135deg,var(--primary-dark),#0d4262);
  color:#fff;
  border-top:0;
}
.footer-main{
  max-width:1180px;
  margin:0 auto;
  padding:44px 18px;
  display:grid;
  grid-template-columns:1.4fr .8fr .8fr 1fr;
  gap:28px;
}
.footer-brand p,.footer-col p{
  color:rgba(255,255,255,.74);
  margin:12px 0 0;
}
.footer-brand-link{
  color:#fff;
}
.footer-col h3{
  margin:0 0 12px;
  color:#fff;
  font-size:1rem;
}
.footer-col a{
  display:block;
  color:rgba(255,255,255,.78);
  padding:5px 0;
  font-weight:750;
}
.footer-col a:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:4px;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.14);
  max-width:1180px;
  margin:0 auto;
  padding:16px 18px 22px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:rgba(255,255,255,.68);
  font-size:.95rem;
}
.legal-page .legal-card{
  max-width:900px;
  margin:0 auto;
}
.legal-card h1{
  color:var(--primary-dark);
  font-size:clamp(2.2rem,4vw,3.8rem);
  letter-spacing:-.05em;
  margin:16px 0 20px;
}
.legal-card h2{
  color:var(--primary-dark);
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.legal-card ul{
  padding-left:20px;
}
@media(max-width:900px){
  .footer-main{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .footer-main{
    grid-template-columns:1fr;
  }
  .footer-bottom{
    flex-direction:column;
  }
}


/* Footer logo & form feedback */
.footer-logo-white{
  width:54px;
  height:58px;
  object-fit:contain;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.16));
}
.footer-brand-link span{
  color:#fff;
}
.form-error{
  border:1px solid #fecdca;
  background:#fef3f2;
  color:var(--danger);
  border-radius:16px;
  padding:13px 15px;
  margin:0 0 16px;
  font-weight:850;
}


/* Message edit/delete, password boxes, danger button */
.message-actions{
  margin-top:10px;
  border-top:1px solid rgba(13,66,98,.12);
  padding-top:8px;
}
.message-actions summary{
  cursor:pointer;
  font-weight:900;
  color:var(--primary-dark);
}
.inline-edit-form{
  margin-top:10px;
}
.inline-edit-form textarea{
  width:100%;
  min-height:90px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  font:inherit;
}
.button.danger{
  background:var(--danger);
  color:#fff;
  box-shadow:0 12px 26px rgba(180,35,24,.18);
}
.button.danger:hover{
  background:#8f1d15;
}
.message-bubble.deleted{
  opacity:.72;
  font-style:italic;
}
.profile-password-box{
  margin:22px 0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--accent-blue);
}
.profile-password-box h2{
  margin-top:0;
  color:var(--primary-dark);
}


.notice code{
  background:rgba(255,255,255,.75);
  border:1px solid var(--line);
  padding:2px 6px;
  border-radius:8px;
  font-weight:800;
}


.inline-filter-form{
  display:grid;
  grid-template-columns:1fr 1fr auto auto;
  gap:12px;
  align-items:end;
  margin:14px 0 20px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--accent-blue);
}
.inline-filter-form .field{margin:0}
@media(max-width:760px){
  .inline-filter-form{grid-template-columns:1fr}
}


.badge.address{
  background:#eef6ff;
  color:var(--primary-dark);
  border:1px solid rgba(13,66,98,.16);
}
.subscription-badge.active,
.badge.subscription-badge.active{
  background:#ecfdf3;
  color:var(--success);
  border:1px solid #abefc6;
}
.subscription-badge.cancelled,
.badge.subscription-badge.cancelled,
.subscription-badge.inactive,
.badge.subscription-badge.inactive,
.subscription-badge.trial,
.badge.subscription-badge.trial{
  background:#fff7e6;
  color:#9a6700;
  border:1px solid #fedf89;
}
.subscription-badge.past_due,
.badge.subscription-badge.past_due{
  background:#fef3f2;
  color:var(--danger);
  border:1px solid #fecdca;
}
.subscription-badge.pending,
.badge.subscription-badge.pending{
  background:#eef4ff;
  color:#3538cd;
  border:1px solid #c7d7fe;
}


/* Inquiry consent, conversation details, parent reply status */
.consent-check{
  margin-top:16px;
  background:linear-gradient(135deg,#fff,var(--accent-blue));
  border-color:rgba(13,66,98,.14);
}
.consent-check .checkmark{
  border-color:rgba(13,66,98,.24);
}
.conversation-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin:18px 0;
}
.conversation-meta-grid p{
  background:var(--accent-blue);
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  margin:0;
}
.badge.reply-status{
  font-size:.82rem;
  margin-bottom:6px;
}
.badge.reply-status.answered{
  background:#ecfdf3;
  color:var(--success);
  border:1px solid #abefc6;
}
.badge.reply-status.waiting{
  background:#fff7e6;
  color:#9a6700;
  border:1px solid #fedf89;
}
.reply-hint{
  margin:.25rem 0 0;
  font-weight:850;
  color:var(--primary-dark);
}
@media(max-width:700px){
  .conversation-meta-grid{grid-template-columns:1fr}
}


.badge.new-parent-message-badge{
  background:#eef4ff;
  color:#3538cd;
  border:1px solid #c7d7fe;
}


.search-grid-pro{
  display:grid;
  grid-template-columns:1fr 1fr 1.2fr 1.2fr .9fr;
  gap:14px;
  align-items:end;
}
.search-grid-pro .field{margin:0}
.badge.parent-replied-badge{
  background:#ecfdf3;
  color:var(--success);
  border:1px solid #abefc6;
}
.badge.no-parent-reply-badge{
  background:#fff7e6;
  color:#9a6700;
  border:1px solid #fedf89;
}
@media(max-width:1050px){
  .search-grid-pro{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .search-grid-pro{grid-template-columns:1fr}
}


.legal-page .legal-card{
  padding:clamp(24px,4vw,48px);
}
.legal-page h1{
  margin-bottom:10px;
}
.legal-page h2{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:1.18rem;
}
.legal-page p{
  line-height:1.75;
}
.legal-page strong{
  color:var(--primary-dark);
}

.cookie-banner{
 position:fixed;
 bottom:0;
 left:0;
 width:100%;
 background:#0d4262;
 color:#fff;
 padding:20px;
 z-index:9999;
 box-shadow:0 -5px 20px rgba(0,0,0,0.2);
}
.cookie-content{
 max-width:900px;
 margin:auto;
 display:flex;
 flex-direction:column;
 gap:10px;
}
.cookie-actions{
 display:flex;
 gap:10px;
}
.cookie-actions button{
 border:none;
 padding:10px 16px;
 border-radius:8px;
 cursor:pointer;
}
#accept-all{
 background:#83ad36;
 color:#fff;
}
#reject{
 background:#ccc;
}
@media(max-width:600px){
 .cookie-content{
   font-size:14px;
 }
 .cookie-actions{
   flex-direction:column;
 }
}


/* Advanced Cookie Consent */
.cookie-consent-shell{
  position:fixed;
  inset:auto 18px 18px 18px;
  z-index:99999;
  pointer-events:none;
}
.cookie-consent-card{
  pointer-events:auto;
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:20px;
  align-items:center;
  padding:22px;
  border-radius:28px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(13,66,98,.12);
  box-shadow:0 24px 70px rgba(13,66,98,.22);
  backdrop-filter:blur(18px);
}
.cookie-kicker{
  display:inline-flex;
  margin-bottom:6px;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  color:var(--green);
}
.cookie-consent-copy h3,
.cookie-modal-header h3{
  margin:0 0 8px;
  color:var(--primary-dark);
}
.cookie-consent-copy p,
.cookie-modal-intro,
.cookie-category p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.cookie-consent-actions,
.cookie-modal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.cookie-btn{
  border:0;
  border-radius:999px;
  padding:12px 18px;
  font-weight:900;
  cursor:pointer;
  transition:.2s ease;
}
.cookie-btn-primary{
  background: var(--green);
  color: #111;
  box-shadow: 0 12px 24px rgba(131,173,54,.22);
}
.cookie-btn-primary:hover{transform:translateY(-1px);filter:brightness(.97)}
.cookie-btn-secondary{
  background:#eef6ff;
  color:var(--primary-dark);
}
.cookie-btn-link{
  background:transparent;
  color:var(--primary-dark);
  text-decoration:underline;
}
.cookie-modal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  pointer-events:auto;
}
.cookie-modal.is-open{
  display:block;
}
.cookie-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(9,32,48,.48);
  backdrop-filter:blur(4px);
}
.cookie-modal-panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(680px,calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  overflow:auto;
  background:#fff;
  border-radius:28px;
  border:1px solid rgba(13,66,98,.12);
  box-shadow:0 26px 80px rgba(0,0,0,.28);
  padding:24px;
}
.cookie-modal-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:12px;
}
.cookie-icon-btn{
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  font-size:28px;
  line-height:1;
  background:#f2f6f8;
  color:var(--primary-dark);
  cursor:pointer;
}
.cookie-category{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.cookie-category h4{
  margin:0 0 4px;
  color:var(--primary-dark);
}
.cookie-category.locked{
  opacity:.9;
}
.cookie-switch{
  position:relative;
  display:inline-flex;
  width:58px;
  height:34px;
}
.cookie-switch input{
  opacity:0;
  width:0;
  height:0;
}
.cookie-switch span{
  position:absolute;
  inset:0;
  cursor:pointer;
  border-radius:999px;
  background:#d0d5dd;
  transition:.2s;
}
.cookie-switch span:before{
  content:"";
  position:absolute;
  width:26px;
  height:26px;
  left:4px;
  top:4px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  transition:.2s;
}
.cookie-switch input:checked + span{
  background:var(--green);
}
.cookie-switch input:checked + span:before{
  transform:translateX(24px);
}
.cookie-switch input:disabled + span{
  cursor:not-allowed;
  background:var(--primary);
}
.cookie-modal-actions{
  margin-top:18px;
}
@media(max-width:760px){
  .cookie-consent-shell{
    inset:auto 10px 10px 10px;
  }
  .cookie-consent-card{
    grid-template-columns:1fr;
    padding:18px;
    border-radius:22px;
  }
  .cookie-consent-actions,
  .cookie-modal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .cookie-btn{
    width:100%;
  }
  .cookie-modal-panel{
    width:calc(100vw - 18px);
    padding:18px;
    border-radius:22px;
  }
  .cookie-category{
    grid-template-columns:1fr;
  }
}


/* SEO City Landingpages */
.city-hero{
  background:
    radial-gradient(circle at 90% 10%, rgba(131,173,54,.18), transparent 34%),
    radial-gradient(circle at 8% 15%, rgba(13,66,98,.12), transparent 34%),
    linear-gradient(135deg,#fff,#f7faf6);
  padding-top:72px;
}
.city-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.75fr);
  gap:28px;
  align-items:center;
}
.city-hero h1{
  color:var(--primary-dark);
  font-size:clamp(2.4rem,5vw,4.4rem);
  letter-spacing:-.05em;
  line-height:.98;
  margin:16px 0;
}
.city-info-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  padding:26px;
}
.check-list{
  list-style:none;
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:12px;
}
.check-list li{
  position:relative;
  padding-left:30px;
  color:var(--primary-dark);
  font-weight:800;
}
.check-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#ecfdf3;
  color:var(--success);
  font-weight:950;
}
.city-kita-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.city-kita-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow-soft);
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.city-kita-card h3{
  margin:0;
  color:var(--primary-dark);
}
.city-kita-card p{
  flex:1;
}
.city-content h3{
  color:var(--primary-dark);
  margin-top:22px;
}
@media(max-width:980px){
  .city-hero-grid,
  .city-kita-grid{
    grid-template-columns:1fr;
  }
}


.city-link-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.city-link-grid a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:74px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-soft);
  color:var(--primary-dark);
  font-weight:950;
  text-decoration:none;
  transition:.18s ease;
}
.city-link-grid a:hover{
  transform:translateY(-2px);
  background:var(--accent-blue);
  box-shadow:0 16px 34px rgba(13,66,98,.14);
}
@media(max-width:860px){
  .city-link-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .city-link-grid{grid-template-columns:1fr}
}


/* CTA Button Navbar */
.site-header .site-nav a[href="/auth/register.php"]{
  color:#ffffff !important;
  background:linear-gradient(135deg,#0d4262,#83ad36);
}
.site-header .site-nav a[href="/auth/register.php"]:hover{
  opacity:0.9;
}


/* Final Navbar CTA fix */
.site-header .site-nav a[href="/auth/register.php"],
.site-nav a[href="/auth/register.php"]{
  background:#0d4262 !important;
  color:#ffffff !important;
  border-color:#0d4262 !important;
}
.site-header .site-nav a[href="/auth/register.php"]:hover,
.site-nav a[href="/auth/register.php"]:hover{
  background:#08324b !important;
  color:#ffffff !important;
}
.login-verification-hint a{
  font-weight:900;
  color:var(--primary-dark);
  text-decoration:underline;
  text-underline-offset:3px;
}


.ktp-highlight{
  color:var(--secondary-dark);
  font-weight:950;
}
.how-section .feature span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--primary);
  color:#fff;
  font-weight:950;
  font-size:1.1rem;
}


.city-side-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:22px;
  align-items:start;
}
.city-guide-card{
  position:relative;
}
.city-side-cta{
  position:sticky;
  top:108px;
  background:linear-gradient(135deg,#fff,var(--accent-blue));
}
@media(max-width:980px){
  .city-side-grid{
    grid-template-columns:1fr;
  }
  .city-side-cta{
    position:static;
  }
}


.metric-card.metric-link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.metric-card.metric-link:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(13,66,98,.14);
  border-color:rgba(13,66,98,.24);
}


.optional-label{
  font-size:.78em;
  font-weight:700;
  color:#7b8b96;
}
.checkbox-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.checkbox-card{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 13px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  font-weight:800;
  color:var(--primary-dark);
  cursor:pointer;
}
.checkbox-card input{
  width:18px;
  height:18px;
  accent-color:var(--primary);
}
.checkbox-card:has(input:checked){
  border-color:rgba(13,66,98,.45);
  background:var(--accent-blue);
}
@media(max-width:760px){
  .checkbox-grid{
    grid-template-columns:1fr;
  }
}


.subscription-cancel-note{
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff7db;
  color:#6b4e00;
  font-size:.92rem;
  font-weight:800;
}
.subscription-terms-note{
  flex-basis:100%;
}


/* Startseite: hochwertige So-funktioniert's-Kacheln */
.how-steps-pro{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.how-card-pro{
  position:relative;
  display:flex;
  gap:16px;
  align-items:flex-start;
  min-height:190px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:28px;
  background:
    radial-gradient(circle at 95% 0%, rgba(131,173,54,.16), transparent 35%),
    linear-gradient(180deg,#ffffff,#f8fbfd);
  box-shadow:0 18px 48px rgba(13,66,98,.10);
  overflow:hidden;
}
.how-card-pro:after{
  content:"";
  position:absolute;
  inset:auto -30px -45px auto;
  width:120px;
  height:120px;
  border-radius:999px;
  background:rgba(13,66,98,.06);
}
.how-number{
  flex:0 0 auto;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#0d4262,#83ad36);
  color:#fff;
  font-size:1.25rem;
  font-weight:950;
  box-shadow:0 14px 28px rgba(13,66,98,.22);
}
.how-card-pro h3{
  margin:2px 0 8px;
  color:var(--primary-dark);
  font-size:1.18rem;
}
.how-card-pro p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
.benefit-split-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}
.benefit-panel{
  padding:28px;
  border-radius:30px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 20px 55px rgba(13,66,98,.11);
}
.benefit-panel.parent-panel{
  background:linear-gradient(135deg,#ffffff,#eef7ff);
}
.benefit-icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:20px;
  background:#eef6ff;
  font-size:1.5rem;
  margin-bottom:16px;
}
.benefit-panel h3{
  color:var(--primary-dark);
  margin:0 0 14px;
  font-size:1.35rem;
}
.benefit-panel ul{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  display:grid;
  gap:11px;
}
.benefit-panel li{
  position:relative;
  padding-left:28px;
  color:#365366;
  font-weight:750;
}
.benefit-panel li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#ecfdf3;
  color:#15803d;
  font-size:.82rem;
  font-weight:950;
}
@media(max-width:980px){
  .how-steps-pro,
  .benefit-split-grid{
    grid-template-columns:1fr;
  }
  .how-card-pro{
    min-height:auto;
  }
}


.result-title-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:10px 0 8px;
}
.result-title-row h2{
  margin:0;
}
.result-title-row .badge.address{
  order:-1;
}


/* Final UI polish: Startseite */
.hero .search-card .search-form,
.hero .smart-home-search{
  grid-template-columns:1fr auto;
  align-items:end;
}
.hero .search-card .field{
  margin-bottom:0;
}
.features .feature{
  position:relative;
  overflow:hidden;
  min-height:210px;
  padding:28px;
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(131,173,54,.14), transparent 34%),
    linear-gradient(180deg,#fff,#f8fbfd);
  box-shadow:0 22px 55px rgba(13,66,98,.10);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.features .feature:hover{
  transform:translateY(-4px);
  border-color:rgba(13,66,98,.20);
  box-shadow:0 28px 70px rgba(13,66,98,.15);
}
.features .feature > span{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:20px;
  background:linear-gradient(135deg,#eef6ff,#ecfdf3);
  font-size:1.65rem;
  box-shadow:0 12px 28px rgba(13,66,98,.08);
}
.features .feature h3{
  margin:18px 0 8px;
  font-size:1.18rem;
}
.features .feature p{
  line-height:1.7;
}
.benefit-split-grid{
  align-items:stretch;
}
.benefit-panel{
  position:relative;
  overflow:hidden;
  min-height:340px;
}
.benefit-panel:before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-80px;
  top:-80px;
  border-radius:999px;
  background:rgba(131,173,54,.12);
}
.benefit-panel.parent-panel:before{
  background:rgba(13,66,98,.10);
}
.benefit-panel > *{
  position:relative;
  z-index:1;
}
.benefit-panel .button{
  margin-top:auto;
}
@media(max-width:860px){
  .hero .search-card .search-form,
  .hero .smart-home-search{
    grid-template-columns:1fr;
  }
}


.form-section-block{
  padding:22px;
  margin:20px 0;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff,#f8fbfd);
  box-shadow:var(--shadow-soft);
}
.form-section-head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:18px;
}
.form-section-head h2{
  margin:0 0 4px;
  color:var(--primary-dark);
  font-size:1.22rem;
}
.form-section-head p{
  margin:0;
}
.section-step{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:15px;
  background:linear-gradient(135deg,#0d4262,#83ad36);
  color:#fff;
  font-weight:950;
}


.readonly-field input[readonly]{
  background:#f5f8fa;
  color:#365366;
  border-style:dashed;
  cursor:not-allowed;
}


.founder-offer-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:center;
  padding:30px;
  border-radius:32px;
  background:
    radial-gradient(circle at 100% 0%, rgba(131,173,54,.22), transparent 34%),
    linear-gradient(135deg,#0d4262,#123d59);
  color:#fff;
  box-shadow:0 26px 70px rgba(13,66,98,.22);
}
.founder-offer-card .eyebrow{
  color:#0d4262;
  background:#ffffff;
  padding:6px 10px;
  border-radius:999px;
  display:inline-block;
}
.founder-offer-card h2{
  color:#fff;
  margin:8px 0 10px;
  font-size:clamp(1.7rem,3vw,2.4rem);
}
.founder-offer-card p{
  margin:0;
  color:rgba(255,255,255,.86);
  line-height:1.7;
  max-width:780px;
}
.founder-offer-actions{
  display:grid;
  gap:10px;
  justify-items:end;
}
.founder-offer-actions small{
  color:rgba(255,255,255,.75);
  font-weight:800;
}
.founder-offer-card .button{
  background:#fff;
  color:#0d4262;
}
@media(max-width:860px){
  .founder-offer-card{
    grid-template-columns:1fr;
  }
  .founder-offer-actions{
    justify-items:start;
  }
}


.mapbox-search-card{
  margin:22px 0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  padding:20px;
  overflow:hidden;
}
.mapbox-card-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:16px;
}
.mapbox-card-header h2{
  margin:8px 0 4px;
  color:var(--primary-dark);
}
.kita-mapbox-map{
  width:100%;
  height:430px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--accent-blue);
}
.mapbox-popup{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:#12364a;
  min-width:190px;
}
.mapbox-popup strong{
  display:block;
  margin-bottom:6px;
  color:#08324b;
}
.mapbox-popup p{
  margin:0 0 10px;
  color:#637381;
}
.mapbox-popup a{
  display:inline-flex;
  padding:8px 10px;
  border-radius:10px;
  background:#83ad36;
  color:#fff;
  font-weight:900;
}
@media(max-width:760px){
  .mapbox-card-header{
    display:block;
  }
  .kita-mapbox-map{
    height:340px;
  }
}


.mapbox-empty{
  display:grid;
  place-items:center;
}
.mapbox-empty-message{
  padding:20px;
  color:var(--muted);
  font-weight:800;
  text-align:center;
}


.kita-map-marker{
  width:34px;
  height:34px;
  border-radius:50% 50% 50% 0;
  background:#0d4262;
  border:3px solid #ffffff;
  box-shadow:0 10px 22px rgba(13,66,98,.32);
  transform:rotate(-45deg);
  cursor:pointer;
}
.kita-map-marker::after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#83ad36;
  top:9px;
  left:9px;
}
.mapbox-empty-message.floating{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-soft);
  max-width:460px;
}


/* Premium Mapbox UX */
.mapbox-controls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.mapbox-search-card{
  position:relative;
}
.mapbox-search-card.mapbox-expanded{
  position:fixed;
  inset:20px;
  z-index:1000;
  padding:22px;
  display:flex;
  flex-direction:column;
}
.mapbox-search-card.mapbox-expanded .kita-mapbox-map{
  flex:1;
  height:auto;
  min-height:0;
}
.result-card.map-active{
  border-color:rgba(131,173,54,.75);
  box-shadow:0 24px 70px rgba(131,173,54,.18);
}
.result-card.map-hover{
  border-color:rgba(13,66,98,.35);
}
.map-focus-button{
  width:100%;
}
.mapbox-popup.premium{
  min-width:220px;
}
.mapbox-popup .popup-eyebrow{
  display:inline-flex;
  margin-bottom:7px;
  padding:4px 8px;
  border-radius:999px;
  background:#eef7e6;
  color:#6f972d;
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.mapbox-popup .popup-actions{
  margin-top:10px;
}
.mapbox-popup .popup-actions a{
  display:inline-flex;
  width:100%;
  justify-content:center;
  padding:10px 12px;
  border-radius:12px;
}
@media(max-width:760px){
  .mapbox-controls{
    justify-content:flex-start;
    margin-top:12px;
  }
  .mapbox-search-card.mapbox-expanded{
    inset:8px;
    padding:14px;
  }
}


/* Premium pin marker replacement */
.kita-map-marker.premium-pin{
  width:36px;
  height:36px;
  border:none;
  border-radius:50% 50% 50% 0;
  background:#0d4262;
  box-shadow:0 14px 30px rgba(13,66,98,.35);
  transform:rotate(-45deg);
  cursor:pointer;
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.kita-map-marker.premium-pin::before{
  content:"";
  position:absolute;
  inset:-4px;
  border:3px solid #ffffff;
  border-radius:50% 50% 50% 0;
}
.kita-map-marker.premium-pin::after{
  content:"";
  position:absolute;
  width:11px;
  height:11px;
  border-radius:999px;
  background:#ffffff;
  top:12px;
  left:12px;
  box-shadow:inset 0 0 0 4px #83ad36;
}
.kita-map-marker.premium-pin.has-free-places{
  background:#b7df65;
  box-shadow:0 14px 30px rgba(131,173,54,.38);
}
.kita-map-marker.premium-pin.has-free-places::after{
  box-shadow:inset 0 0 0 4px #0d4262;
}
.kita-map-marker.premium-pin.is-hovered,
.kita-map-marker.premium-pin.is-active{
  transform:rotate(-45deg) scale(1.18);
  box-shadow:0 18px 42px rgba(13,66,98,.42);
  z-index:5;
}
.popup-free-places{
  display:inline-flex;
  margin:4px 0 8px;
  padding:5px 9px;
  border-radius:999px;
  background:#ecfdf3;
  color:#027a48;
  font-size:.82rem;
  font-weight:950;
}


/* Final: erste schlichte Pin-Marker-Variante */
.kita-map-marker.first-pin{
  width:34px;
  height:34px;
  border-radius:50% 50% 50% 0;
  background:#0d4262;
  border:3px solid #ffffff;
  box-shadow:0 10px 22px rgba(13,66,98,.32);
  transform:rotate(-45deg);
  cursor:pointer;
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.kita-map-marker.first-pin::before{
  content:none;
}
.kita-map-marker.first-pin::after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#83ad36;
  top:9px;
  left:9px;
  box-shadow:none;
}
.kita-map-marker.first-pin.has-free-places{
  background:#b7df65;
  box-shadow:0 10px 22px rgba(131,173,54,.36);
}
.kita-map-marker.first-pin.has-free-places::after{
  background:#0d4262;
}
.kita-map-marker.first-pin.is-hovered,
.kita-map-marker.first-pin.is-active{
  transform:rotate(-45deg) scale(1.16);
  box-shadow:0 16px 34px rgba(13,66,98,.40);
  z-index:5;
}


/* FINAL OVERRIDE: schlichte erste Pin-Marker sichtbar erzwingen */
.mapboxgl-marker .kita-map-marker.first-pin{
  display:block !important;
  width:34px !important;
  height:34px !important;
  padding:0 !important;
  border:3px solid #ffffff !important;
  border-radius:50% 50% 50% 0 !important;
  background:#0d4262 !important;
  box-shadow:0 10px 22px rgba(13,66,98,.32) !important;
  transform:rotate(-45deg) !important;
  cursor:pointer !important;
  position:relative !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.mapboxgl-marker .kita-map-marker.first-pin::before{
  content:none !important;
}
.mapboxgl-marker .kita-map-marker.first-pin::after{
  content:"" !important;
  position:absolute !important;
  width:10px !important;
  height:10px !important;
  border-radius:999px !important;
  background:#83ad36 !important;
  top:9px !important;
  left:9px !important;
  box-shadow:none !important;
}
.mapboxgl-marker .kita-map-marker.first-pin.has-free-places{
  background:#b7df65 !important;
}
.mapboxgl-marker .kita-map-marker.first-pin.has-free-places::after{
  background:#0d4262 !important;
}
.mapboxgl-marker .kita-map-marker.first-pin.is-hovered,
.mapboxgl-marker .kita-map-marker.first-pin.is-active{
  transform:rotate(-45deg) scale(1.16) !important;
  z-index:5 !important;
}


/* FINAL: gewünschte Mapbox Marker Icons */
.mapbox-marker-icon-blue,
.mapbox-marker-icon-yellow{
  width:32px;
  height:44px;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  position:relative;
  transform:translateY(-6px);
  appearance:none;
  -webkit-appearance:none;
  filter:drop-shadow(0 8px 14px rgba(13,66,98,.28));
  transition:transform .16s ease, filter .16s ease;
}
.mapbox-marker-icon-blue::before,
.mapbox-marker-icon-yellow::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:30px;
  height:30px;
  transform:translateX(-50%) rotate(-45deg);
  border-radius:50% 50% 50% 0;
  border:3px solid #ffffff;
  box-shadow:0 6px 16px rgba(13,66,98,.24);
}
.mapbox-marker-icon-blue::before{
  background:#0d4262;
}
.mapbox-marker-icon-yellow::before{
  background:#f4c542;
}
.mapbox-marker-icon-blue::after,
.mapbox-marker-icon-yellow::after{
  content:"";
  position:absolute;
  left:50%;
  top:10px;
  width:10px;
  height:10px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#ffffff;
}
.mapbox-marker-icon-yellow::after{
  background:#0d4262;
}
.mapbox-marker-icon-blue.is-hovered,
.mapbox-marker-icon-blue.is-active,
.mapbox-marker-icon-yellow.is-hovered,
.mapbox-marker-icon-yellow.is-active{
  transform:translateY(-6px) scale(1.14);
  filter:drop-shadow(0 12px 22px rgba(13,66,98,.38));
  z-index:5;
}


/* FINAL FIX: Mapbox Icon-Ausrichtung + gelbe Marker */
.mapbox-marker-icon-blue,
.mapbox-marker-icon-yellow{
  transform:translateY(-6px) !important;
}
.mapbox-marker-icon-blue::before,
.mapbox-marker-icon-yellow::before{
  transform:translateX(-50%) rotate(-45deg) !important;
  transform-origin:center center !important;
}
.mapbox-marker-icon-yellow::before{
  background:#f4c542 !important;
}
.mapbox-marker-icon-blue::before{
  background:#0d4262 !important;
}


/* FINAL MARKER POSITION FIX: SVG-Pin, Spitze exakt unten mittig am Koordinatenpunkt */
.mapboxgl-marker .mapbox-marker-icon-blue,
.mapboxgl-marker .mapbox-marker-icon-yellow{
  width:32px !important;
  height:42px !important;
  padding:0 !important;
  border:0 !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center bottom !important;
  background-size:32px 42px !important;
  transform:none !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  filter:drop-shadow(0 8px 14px rgba(13,66,98,.28));
  transition:transform .16s ease, filter .16s ease;
}
.mapboxgl-marker .mapbox-marker-icon-blue::before,
.mapboxgl-marker .mapbox-marker-icon-blue::after,
.mapboxgl-marker .mapbox-marker-icon-yellow::before,
.mapboxgl-marker .mapbox-marker-icon-yellow::after{
  content:none !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue{
  background-image:url("data:image/svg+xml,%3Csvg width='32' height='42' viewBox='0 0 32 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 41C16 41 30 23.8 30 15.4C30 7.45 23.73 1 16 1C8.27 1 2 7.45 2 15.4C2 23.8 16 41 16 41Z' fill='%230d4262' stroke='white' stroke-width='3'/%3E%3Ccircle cx='16' cy='15.5' r='5' fill='%2383ad36'/%3E%3C/svg%3E") !important;
}
.mapboxgl-marker .mapbox-marker-icon-yellow{
  background-image:url("data:image/svg+xml,%3Csvg width='32' height='42' viewBox='0 0 32 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 41C16 41 30 23.8 30 15.4C30 7.45 23.73 1 16 1C8.27 1 2 7.45 2 15.4C2 23.8 16 41 16 41Z' fill='%23f4c542' stroke='white' stroke-width='3'/%3E%3Ccircle cx='16' cy='15.5' r='5' fill='%230d4262'/%3E%3C/svg%3E") !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue.is-hovered,
.mapboxgl-marker .mapbox-marker-icon-blue.is-active,
.mapboxgl-marker .mapbox-marker-icon-yellow.is-hovered,
.mapboxgl-marker .mapbox-marker-icon-yellow.is-active{
  transform:scale(1.12) translateY(-2px) !important;
  filter:drop-shadow(0 12px 22px rgba(13,66,98,.38));
  z-index:5;
}


.invoice-forward{
  width:100%;
}
.invoice-forward summary{
  list-style:none;
}
.invoice-forward summary::-webkit-details-marker{
  display:none;
}
.invoice-forward-form{
  margin-top:10px;
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.invoice-forward-form label{
  display:grid;
  gap:6px;
  font-weight:800;
  color:var(--primary-dark);
}
.invoice-forward-form input{
  border:1px solid var(--line);
  border-radius:12px;
  padding:11px 12px;
  font:inherit;
}


/* FINAL MARKER ANCHOR FIX
   Mapbox anchor bottom setzt die UNTERE MITTE des Marker-Elements auf die Koordinate.
   Deshalb darf der Marker selbst nicht per translateY verschoben werden. */
.mapboxgl-marker .mapbox-marker-icon-blue,
.mapboxgl-marker .mapbox-marker-icon-yellow{
  display:block !important;
  width:32px !important;
  height:42px !important;
  min-width:32px !important;
  min-height:42px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:32px 42px !important;
  transform:none !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  filter:drop-shadow(0 8px 14px rgba(13,66,98,.28)) !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue::before,
.mapboxgl-marker .mapbox-marker-icon-blue::after,
.mapboxgl-marker .mapbox-marker-icon-yellow::before,
.mapboxgl-marker .mapbox-marker-icon-yellow::after{
  content:none !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue{
  background-image:url("data:image/svg+xml,%3Csvg width='32' height='42' viewBox='0 0 32 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 41C16 41 30 23.8 30 15.4C30 7.45 23.73 1 16 1C8.27 1 2 7.45 2 15.4C2 23.8 16 41 16 41Z' fill='%230d4262' stroke='white' stroke-width='3'/%3E%3Ccircle cx='16' cy='15.5' r='5' fill='%2383ad36'/%3E%3C/svg%3E") !important;
}
.mapboxgl-marker .mapbox-marker-icon-yellow{
  background-image:url("data:image/svg+xml,%3Csvg width='32' height='42' viewBox='0 0 32 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 41C16 41 30 23.8 30 15.4C30 7.45 23.73 1 16 1C8.27 1 2 7.45 2 15.4C2 23.8 16 41 16 41Z' fill='%23f4c542' stroke='white' stroke-width='3'/%3E%3Ccircle cx='16' cy='15.5' r='5' fill='%230d4262'/%3E%3C/svg%3E") !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue.is-hovered,
.mapboxgl-marker .mapbox-marker-icon-blue.is-active,
.mapboxgl-marker .mapbox-marker-icon-yellow.is-hovered,
.mapboxgl-marker .mapbox-marker-icon-yellow.is-active{
  transform:scale(1.12) !important;
  transform-origin:bottom center !important;
  filter:drop-shadow(0 12px 22px rgba(13,66,98,.38)) !important;
}


/* FINAL EXACT POSITION: keine Verschiebung des Marker-Elements; Spitze liegt unten mittig */
.mapboxgl-marker{
  will-change:transform;
}
.mapboxgl-marker .mapbox-marker-icon-blue,
.mapboxgl-marker .mapbox-marker-icon-yellow{
  width:27px !important;
  height:41px !important;
  min-width:27px !important;
  min-height:41px !important;
  background-size:27px 41px !important;
  background-position:center bottom !important;
  transform:none !important;
  transform-origin:bottom center !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue{
  background-image:url("data:image/svg+xml,%3Csvg width='27' height='41' viewBox='0 0 27 41' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.5 40C13.5 40 26 23.9 26 13.7C26 6.68 20.4 1 13.5 1C6.6 1 1 6.68 1 13.7C1 23.9 13.5 40 13.5 40Z' fill='%230d4262' stroke='white' stroke-width='2'/%3E%3Ccircle cx='13.5' cy='13.7' r='4.8' fill='%2383ad36'/%3E%3C/svg%3E") !important;
}
.mapboxgl-marker .mapbox-marker-icon-yellow{
  background-image:url("data:image/svg+xml,%3Csvg width='27' height='41' viewBox='0 0 27 41' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.5 40C13.5 40 26 23.9 26 13.7C26 6.68 20.4 1 13.5 1C6.6 1 1 6.68 1 13.7C1 23.9 13.5 40 13.5 40Z' fill='%23f4c542' stroke='white' stroke-width='2'/%3E%3Ccircle cx='13.5' cy='13.7' r='4.8' fill='%230d4262'/%3E%3C/svg%3E") !important;
}


/* Carrier / multi-facility workflow */
.facility-price-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:0 0 22px;
}
.facility-price-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow-soft);
  padding:22px;
}
.facility-price-card span{
  display:block;
  color:var(--muted);
  font-weight:850;
}
.facility-price-card strong{
  display:block;
  margin-top:6px;
  font-size:2rem;
  color:var(--primary-dark);
}
.facility-price-card small{
  color:var(--muted);
  font-weight:750;
}
.facility-price-card.highlight{
  border-color:rgba(131,173,54,.45);
  background:linear-gradient(180deg,#fff,#f7fbef);
}
.facility-layout{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:18px;
  align-items:start;
}
.facility-main-card{
  margin-bottom:18px;
}
.facility-main-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
}
.facility-item .dashboard-actions{
  justify-content:flex-end;
}
.facility-overview-list{
  display:grid;
  gap:14px;
}
@media(max-width:980px){
  .facility-price-summary,
  .facility-layout{
    grid-template-columns:1fr;
  }
  .facility-main-head{
    display:block;
  }
}


.facility-price-consent{
  margin:14px 0 4px;
  padding:14px;
  border:1px solid rgba(131,173,54,.35);
  border-radius:18px;
  background:#f7fbef;
}
.mini-consent{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.85rem;
  color:var(--muted);
  font-weight:800;
  margin-bottom:8px;
}
.mini-consent input{
  accent-color:var(--secondary);
}


/* Mapbox Neuaufbau */
.kita-mapbox-map{
  position:relative;
  width:100%;
  min-height:430px;
}
.mapboxgl-marker .mapbox-marker-icon-blue,
.mapboxgl-marker .mapbox-marker-icon-yellow{
  width:30px !important;
  height:42px !important;
  min-width:30px !important;
  min-height:42px !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center bottom !important;
  background-size:30px 42px !important;
  transform:none !important;
  transform-origin:bottom center !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  filter:drop-shadow(0 8px 14px rgba(13,66,98,.28)) !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue::before,
.mapboxgl-marker .mapbox-marker-icon-blue::after,
.mapboxgl-marker .mapbox-marker-icon-yellow::before,
.mapboxgl-marker .mapbox-marker-icon-yellow::after{
  content:none !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue{
  background-image:url("data:image/svg+xml,%3Csvg width='30' height='42' viewBox='0 0 30 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 41C15 41 28.5 24 28.5 15C28.5 7.25 22.45 1 15 1C7.55 1 1.5 7.25 1.5 15C1.5 24 15 41 15 41Z' fill='%230d4262' stroke='white' stroke-width='2'/%3E%3Ccircle cx='15' cy='15' r='5' fill='%2383ad36'/%3E%3C/svg%3E") !important;
}
.mapboxgl-marker .mapbox-marker-icon-yellow{
  background-image:url("data:image/svg+xml,%3Csvg width='30' height='42' viewBox='0 0 30 42' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 41C15 41 28.5 24 28.5 15C28.5 7.25 22.45 1 15 1C7.55 1 1.5 7.25 1.5 15C1.5 24 15 41 15 41Z' fill='%23f4c542' stroke='white' stroke-width='2'/%3E%3Ccircle cx='15' cy='15' r='5' fill='%230d4262'/%3E%3C/svg%3E") !important;
}
.mapboxgl-marker .mapbox-marker-icon-blue.is-hovered,
.mapboxgl-marker .mapbox-marker-icon-yellow.is-hovered{
  transform:scale(1.12) !important;
}
.facility-filter-card{margin-bottom:16px}
.facility-inquiry-button{background:var(--primary);color:#fff}
.facility-inquiry-alert{background:#f4c542 !important;color:#08324b !important;box-shadow:0 12px 26px rgba(244,197,66,.28)}
.badge.warning{background:#fff7e6;color:#9a6700}


/* Final facility overview layout */
.facilities-overview-page .facility-price-summary{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.facilities-overview-page .facility-add-card .dashboard-actions{
  margin-top:16px;
}
.full-width-card{
  width:100%;
  margin-bottom:18px;
}
.facility-filter-form{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(220px,.45fr) auto auto;
  gap:14px;
  align-items:end;
}
.facility-filter-form .field{
  margin-bottom:0;
}
.wide-list{
  display:grid;
  gap:16px;
}
.wide-facility-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
}
.facility-card-actions{
  justify-content:flex-end;
  min-width:320px;
}
.wide-form-card{
  max-width:980px;
  margin:0 auto;
}
@media(max-width:980px){
  .facilities-overview-page .facility-price-summary,
  .facility-filter-form,
  .wide-facility-item{
    grid-template-columns:1fr;
  }
  .facility-card-actions{
    min-width:0;
    justify-content:flex-start;
  }
}

/* Mapbox reset: nutze native Mapbox Marker, keine eigenen CSS-Marker mehr */
.mapboxgl-marker svg{
  display:block;
}
.mapboxgl-marker .mapbox-marker-icon-blue,
.mapboxgl-marker .mapbox-marker-icon-yellow{
  all:unset !important;
}
.kita-mapbox-map{
  position:relative;
  width:100%;
  min-height:430px;
}


.admin-subscription-form{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto;
  gap:10px;
  align-items:end;
  min-width:340px;
}
.admin-subscription-form label{
  display:grid;
  gap:6px;
  font-weight:850;
  color:var(--primary-dark);
}
.admin-subscription-form input{
  border:1px solid var(--line);
  border-radius:12px;
  padding:11px 12px;
  font:inherit;
}
@media(max-width:820px){
  .admin-subscription-form{
    grid-template-columns:1fr;
    min-width:0;
  }
}

/* Mapbox GeoJSON-Layer: keine DOM-Marker mehr nötig */
.kita-mapbox-map{
  position:relative;
  width:100%;
  min-height:430px;
}
.mapboxgl-popup-content{
  border-radius:16px;
  box-shadow:0 18px 46px rgba(13,66,98,.18);
}


/* Default Mapbox Marker: nicht überschreiben */
.mapboxgl-marker svg{
  display:block !important;
}
.mapboxgl-marker{
  cursor:pointer;
}


/* 2-Level-Listing */
.result-card.passive-listing{
  background:linear-gradient(180deg,#fff,#f8fafc);
  border-style:dashed;
}
.result-card.passive-listing:before{
  background:#9aa6b2;
}
.result-card.paid-listing{
  border-color:rgba(131,173,54,.45);
}
.badge.verified{
  background:#ecfdf3;
  color:#027a48;
  border:1px solid #abefc6;
}
.badge.unclaimed{
  background:#f2f4f7;
  color:#475467;
  border:1px solid #d0d5dd;
}
.passive-listing .result-actions{
  background:#f8fafc;
  border-radius:18px;
  padding:18px;
}


/* 2-Level-Listing final */
.result-card.passive-listing{
  background:linear-gradient(180deg,#fff,#f8fafc);
  border-style:dashed;
}
.result-card.passive-listing:before{
  background:#9aa6b2;
}
.result-card.paid-listing{
  border-color:rgba(131,173,54,.45);
}
.badge.verified{
  background:#ecfdf3;
  color:#027a48;
  border:1px solid #abefc6;
}
.badge.unclaimed{
  background:#f2f4f7;
  color:#475467;
  border:1px solid #d0d5dd;
}
.passive-listing .result-actions{
  background:#f8fafc;
  border-radius:18px;
  padding:18px;
}


/* Admin CSV/XLSX Import */
.import-options-form{
  margin-bottom:18px;
}
.import-mapping-table-wrap,
.import-preview-table-wrap{
  width:100%;
  overflow:auto;
  margin:16px 0 22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.import-mapping-table,
.import-preview-table{
  min-width:900px;
}
.import-mapping-table select{
  width:100%;
  min-width:260px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  background:#fff;
}
.import-preview-table td,
.import-preview-table th{
  white-space:nowrap;
}
.notice.error{
  background:#fff1f3;
  color:#b42318;
  border-color:#fecdca;
}


.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:28px 0 0;
  flex-wrap:wrap;
}
.pagination-pages{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.pagination-pages a,
.pagination-pages span{
  min-width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--primary-dark);
  font-weight:800;
  text-decoration:none;
}
.pagination-pages span.active{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}
.pagination .disabled{
  opacity:.45;
  pointer-events:none;
}


.pagination-top{ margin:0 0 22px; }


.admin-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.admin-action-card{
  display:block;
  transition:transform .18s ease, box-shadow .18s ease;
}
.admin-action-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}
.admin-metric-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.claim-action-form{
  display:grid;
  gap:10px;
  min-width:320px;
}
.claim-action-form textarea{
  width:100%;
  min-height:82px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  font:inherit;
}
@media(max-width:980px){
  .admin-action-grid,
  .admin-metric-grid{
    grid-template-columns:1fr;
  }
  .claim-action-form{
    min-width:0;
  }
}


.details-filter-panel{
  width:100%;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:0;
  overflow:hidden;
}
.details-filter-panel summary{
  cursor:pointer;
  padding:13px 15px;
  font-weight:900;
  color:var(--primary-dark);
  list-style:none;
}
.details-filter-panel summary::-webkit-details-marker{display:none}
.details-filter-panel summary:after{
  content:"＋";
  float:right;
  color:var(--secondary-dark);
}
.details-filter-panel[open] summary:after{content:"–"}
.compact-filter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:0 14px 14px;
}
.filter-row .details-filter-panel label{
  border-radius:14px;
  justify-content:flex-start;
}
@media(max-width:860px){
  .compact-filter-grid{grid-template-columns:1fr}
}


/* radius-admin-claim-all-fix */
.search-grid-pro{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  align-items:end;
  grid-column:1/-1;
}
.search-grid-pro .field{
  margin-bottom:0;
}
.advanced-search .sort-field{
  grid-column:auto;
}
@media(max-width:1180px){
  .search-grid-pro{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .search-grid-pro{
    grid-template-columns:1fr;
  }
}


.admin-facility-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.admin-facility-actions form{
  margin:0;
}
@media(max-width:760px){
  .admin-facility-actions{
    justify-content:flex-start;
    width:100%;
  }
}

.status-panel-link{
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease, box-shadow .18s ease;
}
.status-panel-link:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}


.facility-overview-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  padding:22px;
  box-shadow:var(--shadow-soft);
  display:grid;
  gap:18px;
}
.facility-overview-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.facility-overview-head h3{
  margin:10px 0 6px;
  color:var(--primary-dark);
}
.facility-coordinate-state{
  background:var(--accent-blue);
  border:1px solid var(--line);
  color:var(--primary-dark);
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  font-size:.9rem;
  white-space:nowrap;
}
.facility-overview-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.facility-overview-meta div{
  background:linear-gradient(135deg,#fff,var(--accent-blue));
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
}
.facility-overview-meta span{
  display:block;
  color:var(--muted);
  font-weight:800;
  font-size:.9rem;
}
.facility-overview-meta strong{
  display:block;
  margin-top:4px;
  color:var(--primary-dark);
}
.facility-overview-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  border-top:1px solid var(--line);
  padding-top:16px;
}
.facility-toggle-form{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.admin-mollie-meta{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  margin-top:10px;
  font-size:.88rem;
  color:var(--muted);
}
.admin-mollie-meta span{
  word-break:break-all;
}
@media(max-width:920px){
  .facility-overview-head{
    flex-direction:column;
  }
  .facility-overview-meta{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:620px){
  .facility-overview-meta{
    grid-template-columns:1fr;
  }
}


.facility-search-photo{
  display:block;
  margin:14px 0;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  max-width:340px;
  text-decoration:none;
  box-shadow:var(--shadow-soft);
}
.facility-search-photo img{
  display:block;
  width:100%;
  height:170px;
  object-fit:cover;
}
.facility-search-photo span{
  display:block;
  padding:10px 12px;
  font-weight:900;
  color:var(--primary-dark);
}
.facility-photo-admin-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:10px 0 22px;
}
.facility-photo-admin-item{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.facility-photo-admin-item img{
  display:block;
  width:100%;
  height:135px;
  object-fit:cover;
}
.facility-photo-admin-item form{
  padding:10px;
}
.facility-photo-admin-item .button{
  width:100%;
}
@media(max-width:860px){
  .mapbox-search-card,
  #mapbox-search-map,
  .mapbox-map,
  .mapbox-card-body{
    display:block !important;
    visibility:visible !important;
  }
  #mapbox-search-map,
  .mapbox-map{
    min-height:360px !important;
    height:360px !important;
    width:100% !important;
  }
  .facility-photo-admin-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:540px){
  .facility-photo-admin-grid{
    grid-template-columns:1fr;
  }
  .facility-search-photo{
    max-width:100%;
  }
}


/* Facility main photo improvements */
.facility-search-photo{
  margin:12px 0 16px;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:#fff;
  max-width:420px;
  box-shadow:var(--shadow-soft);
}
.facility-search-photo img{
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
}
.facility-search-photo span{
  display:block;
  padding:10px 13px;
  font-weight:900;
  color:var(--primary-dark);
  background:linear-gradient(135deg,#fff,var(--accent-blue));
}
.facility-photo-admin-item{
  position:relative;
}
.facility-photo-admin-item.is-main{
  border-color:rgba(131,173,54,.6);
  box-shadow:0 18px 44px rgba(131,173,54,.16);
}
.main-photo-badge{
  position:absolute;
  left:10px;
  top:10px;
  background:var(--secondary);
  color:#fff;
  padding:7px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:.85rem;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.facility-photo-admin-actions{
  display:grid;
  gap:8px;
  padding:10px;
}
.facility-photo-admin-actions form{
  padding:0;
}
@media(max-width:720px){
  .facility-search-photo{
    max-width:100%;
  }
  .facility-search-photo img{
    height:190px;
  }
}


/* Photo lightbox + smaller search cover */
.facility-search-photo{
  display:block;
  width:100%;
  max-width:260px;
  margin:10px 0 14px;
  padding:0;
  text-align:left;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow-soft);
  cursor:pointer;
  appearance:none;
}
.facility-search-photo:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow);
}
.facility-search-photo img{
  display:block;
  width:100%;
  height:132px;
  object-fit:cover;
}
.facility-search-photo span{
  display:block;
  padding:8px 11px;
  font-weight:900;
  font-size:.92rem;
  color:var(--primary-dark);
  background:linear-gradient(135deg,#fff,var(--accent-blue));
}
.facility-photo-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:9999;
}
.facility-photo-lightbox.is-open{
  display:block;
}
.facility-photo-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,31,44,.72);
  backdrop-filter:blur(8px);
}
.facility-photo-lightbox__dialog{
  position:relative;
  width:min(920px,calc(100vw - 28px));
  max-height:calc(100vh - 28px);
  margin:14px auto;
  background:#fff;
  border-radius:24px;
  padding:18px;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
  display:grid;
  gap:12px;
}
.facility-photo-lightbox__dialog h2{
  margin:0;
  color:var(--primary-dark);
  padding-right:48px;
}
.facility-photo-lightbox__dialog img{
  width:100%;
  max-height:72vh;
  object-fit:contain;
  background:#f4f7f9;
  border-radius:18px;
}
.facility-photo-lightbox__close{
  position:absolute;
  right:14px;
  top:12px;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-size:28px;
  cursor:pointer;
}
.facility-photo-lightbox__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.facility-photo-lightbox__controls span{
  font-weight:900;
  color:var(--primary-dark);
}
body.modal-open{
  overflow:hidden;
}
@media(max-width:720px){
  .facility-search-photo{
    max-width:220px;
  }
  .facility-search-photo img{
    height:118px;
  }
  .facility-photo-lightbox__dialog{
    width:calc(100vw - 18px);
    margin:9px auto;
    border-radius:18px;
    padding:12px;
  }
  .facility-photo-lightbox__controls{
    flex-direction:column;
  }
  .facility-photo-lightbox__controls .button{
    width:100%;
  }
}


.inquiry-facility-context{
  margin:10px 0;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(135deg,#fff,var(--accent-blue));
}
.inquiry-facility-context strong{
  display:block;
  color:var(--primary-dark);
  margin-bottom:4px;
}
.inquiry-facility-context span{
  display:block;
  color:var(--muted);
  font-weight:700;
}


.debug-pre{
  background:#0f172a;
  color:#e5e7eb;
  border-radius:18px;
  padding:16px;
  overflow:auto;
  max-height:420px;
  font-size:.88rem;
  line-height:1.45;
}
.admin-debug-card{
  margin-top:26px;
}


/* mobile-map-force-kitalink */
@media(max-width: 860px){
  .mapbox-search-card{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin:16px 0 !important;
    padding:12px !important;
    border-radius:20px !important;
  }
  .mapbox-card-header{
    display:block !important;
  }
  .mapbox-controls{
    justify-content:flex-start !important;
    margin-top:10px !important;
  }
  #kitaMapboxMap,
  .kita-mapbox-map,
  .mapboxgl-map{
    display:block !important;
    visibility:visible !important;
    width:100% !important;
    min-height:360px !important;
    height:360px !important;
    max-height:none !important;
  }
}


/* mobile-map-visible-final */
@media(max-width: 900px){
  .mobile-map-visible,
  .mapbox-search-card.mobile-map-visible,
  .search-results-layout .mapbox-search-card,
  .mapbox-search-card{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    height:auto !important;
    min-height:420px !important;
    max-height:none !important;
    overflow:visible !important;
    transform:none !important;
  }
  #kitaMapboxMap,
  .kita-mapbox-map{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    min-width:100% !important;
    height:360px !important;
    min-height:360px !important;
    max-height:none !important;
    position:relative !important;
    overflow:hidden !important;
  }
  #kitaMapboxMap .mapboxgl-canvas,
  .kita-mapbox-map .mapboxgl-canvas{
    width:100% !important;
    height:360px !important;
  }
}


.top-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:18px 0 20px;
}
.pagination-info{
  font-weight:900;
  color:var(--primary-dark);
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 14px;
}


.share-button{
  width:100%;
}


/* Google Ads Landing Pages */
.ads-hero{
  padding:72px min(5vw,72px);
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.72), transparent 32%),
    linear-gradient(135deg, #e8f8f3 0%, #f7fbff 42%, #fff7e8 100%);
}
.ads-hero-kita{
  background:
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.75), transparent 30%),
    linear-gradient(135deg, #eef6ff 0%, #f7fbff 45%, #e9fbf2 100%);
}
.ads-hero-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:34px;
  align-items:center;
}
.ads-hero h1{
  font-size:clamp(2.35rem, 5vw, 4.8rem);
  line-height:.98;
  letter-spacing:-.055em;
  margin:12px 0 18px;
}
.ads-hero .lead{
  font-size:clamp(1.05rem, 2vw, 1.28rem);
  max-width:680px;
}
.ads-hero-actions,
.trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:22px;
}
.trust-row span{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(13,66,98,.12);
  border-radius:999px;
  padding:9px 13px;
  font-weight:800;
  color:var(--primary-dark);
}
.ads-search-panel,
.ads-offer-panel{
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(16px);
  border:1px solid rgba(13,66,98,.12);
  border-radius:28px;
  box-shadow:0 24px 65px rgba(13,66,98,.14);
  padding:28px;
}
.grid-form{
  display:grid;
  gap:16px;
}
.button.full{
  width:100%;
  justify-content:center;
}
.ads-offer-panel .price{
  font-size:1.35rem;
  font-weight:950;
  color:var(--primary-dark);
}
.check-list{
  list-style:none;
  padding:0;
  margin:18px 0;
  display:grid;
  gap:11px;
}
.check-list li{
  padding-left:30px;
  position:relative;
  font-weight:750;
}
.check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-1px;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#dbf7e8;
  color:#11623b;
  display:grid;
  place-items:center;
  font-weight:950;
}
.centered{
  justify-content:center;
  text-align:center;
}
.soft-section{
  background:#f7fbff;
}
.split-section{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:34px;
  align-items:start;
}
.steps-list{
  display:grid;
  gap:14px;
}
.steps-list > div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:20px;
  box-shadow:0 14px 38px rgba(13,66,98,.08);
}
.steps-list strong{
  display:block;
  color:var(--primary-dark);
  font-size:1.08rem;
  margin-bottom:5px;
}
.cta-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  background:linear-gradient(135deg, var(--primary-dark), #176b8f);
  color:#fff;
  border-radius:30px;
  padding:34px;
  box-shadow:0 24px 65px rgba(13,66,98,.20);
}
.cta-card .eyebrow,
.cta-card h2,
.cta-card p{
  color:#fff;
}
.cta-card .button{
  background:#fff;
  color:var(--primary-dark);
}
@media(max-width: 860px){
  .ads-hero{
    padding:42px 18px;
  }
  .ads-hero-inner,
  .split-section{
    grid-template-columns:1fr;
  }
  .ads-search-panel,
  .ads-offer-panel{
    padding:20px;
  }
  .cta-card{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* FAQ page */
.faq-group{
  margin-top:34px;
}
.faq-group h2{
  color:var(--primary-dark);
  margin-bottom:16px;
}
.faq-list > div strong{
  font-size:1.05rem;
}
.faq-cta{
  margin-top:42px;
}

/* cta-card-white-text-final */
.cta-card{
  color:#fff !important;
}
.cta-card h1,
.cta-card h2,
.cta-card h3,
.cta-card p,
.cta-card .eyebrow,
.cta-card span,
.cta-card strong{
  color:#fff !important;
}
.cta-card .button.secondary{
  background:rgba(255,255,255,.14);
  color:#fff !important;
  border-color:rgba(255,255,255,.42);
}
.cta-card .button:not(.secondary){
  background:#fff;
  color:var(--primary-dark) !important;
}


/* faq-cta-white-fix-2026 */
.faq-cta,
.faq-cta *,
.lp-eltern .cta-card,
.lp-kitas .cta-card,
.cta-card,
.cta-card *{
  color:#ffffff !important;
}
.cta-card .button:not(.secondary),
.faq-cta .button:not(.secondary){
  background:#ffffff !important;
  color:var(--primary-dark) !important;
}
.cta-card .button.secondary,
.faq-cta .button.secondary{
  background:rgba(255,255,255,.14) !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.45) !important;
}


/* cta-eyebrow-blue-pill-fix */
.cta-card .eyebrow,
.faq-cta .eyebrow,
.lp-eltern .cta-card .eyebrow,
.lp-kitas .cta-card .eyebrow{
  color:var(--primary-dark) !important;
}
.advanced-field-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  padding-top:14px;
}
@media(max-width: 760px){
  .advanced-field-grid{
    grid-template-columns:1fr;
  }
}


/* EIGENER BEREICH */
/* Passwortfeld mit Auge */
/* FINAL Passwort-Auge im Eingabefeld */
.field{
    width:100%;
    max-width:100%;
}

.password-container{
    position:relative;
    width:100%;
}

.password-container input{
    width:100%;
    padding-right:60px !important;
}

.toggle-password{
    position:absolute !important;
    top:50% !important;
    right:14px !important;
    transform:translateY(-50%) !important;

    width:42px !important;
    height:42px !important;

    border:0 !important;
    background:transparent !important;
    padding:0 !important;
    margin:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    color:var(--muted);
    cursor:pointer;
    border-radius:12px;
}

.toggle-password:hover{
    background:var(--accent-blue);
    color:var(--primary-dark);
}

#eye-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:0;
}

#eye-icon svg{
    width:20px;
    height:20px;
    display:block;
}

@media(max-width:600px){
    .password-container input{
        min-height:52px;
        font-size:16px;
        padding-right:60px !important;
    }

    .toggle-password{
        right:10px !important;
        width:44px !important;
        height:44px !important;
    }
}
/* EIGENER BEREICH ENDE */
/* SEO 20260513: Darstellung für lokale Landingpages und Einrichtungsdetailseiten. */
.seo-city-hero{background:linear-gradient(135deg,rgba(13,66,98,.08),rgba(131,173,54,.10));}
.seo-city-hero .lead{max-width:820px;}
.result-card h3 a,.result-card h2 a{color:inherit;text-decoration:none;}
.result-card h3 a:hover,.result-card h2 a:hover{text-decoration:underline;}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;}
.facility-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0;}
.facility-photo-grid img{width:100%;height:190px;object-fit:cover;border-radius:22px;box-shadow:0 16px 40px rgba(13,66,98,.12);}
@media(max-width:760px){.faq-grid,.facility-photo-grid{grid-template-columns:1fr}.facility-photo-grid img{height:230px}}

/* SEO 20260513: Interne Linkmodule für skalierbare Stadtseiten. */
.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.tag-cloud a{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#eef6ff;color:#0d4262;font-weight:800;text-decoration:none;border:1px solid rgba(13,66,98,.10);}
.tag-cloud a:hover{background:#0d4262;color:#fff;}

/* Search result photo carousel */
.facility-search-carousel{
  position:relative;
  width:100%;
  max-width:360px;
  margin:12px 0 16px;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:#f4f7f9;
  box-shadow:var(--shadow-soft);
}
.facility-search-carousel__track{
  position:relative;
  width:100%;
  aspect-ratio:16 / 10;
  min-height:160px;
  background:#eef4f7;
}
.facility-search-carousel__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease, visibility .22s ease;
}
.facility-search-carousel__image.is-active{
  opacity:1;
  visibility:visible;
}
.facility-search-carousel__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--primary-dark);
  font-size:28px;
  line-height:1;
  font-weight:900;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(8,31,44,.18);
}
.facility-search-carousel__nav:hover{
  background:#fff;
  transform:translateY(-50%) scale(1.04);
}
.facility-search-carousel__nav--prev{left:10px;}
.facility-search-carousel__nav--next{right:10px;}
.facility-search-carousel__counter{
  position:absolute;
  right:10px;
  bottom:10px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(8,31,44,.72);
  color:#fff;
  font-size:.82rem;
  font-weight:900;
  backdrop-filter:blur(6px);
}
.facility-search-carousel__dots{
  position:absolute;
  left:10px;
  bottom:13px;
  display:flex;
  gap:5px;
}
.facility-search-carousel__dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.65);
  box-shadow:0 1px 4px rgba(0,0,0,.18);
}
.facility-search-carousel__dot.is-active{
  width:18px;
  background:#fff;
}
@media(max-width:860px){
  .facility-search-carousel{
    max-width:100%;
  }
}
@media(max-width:520px){
  .facility-search-carousel__track{
    min-height:145px;
  }
  .facility-search-carousel__nav{
    width:32px;
    height:32px;
    font-size:25px;
  }
}
