/* ═══════════════════════════════════════
   marktplatz4pets.com — Shared Design System
   ═══════════════════════════════════════ */
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ── Tokens ──
   Altes events4pets-CD (Orange) → bestehende Namen (--teal etc.) bleiben als API für das Stylesheet. */
:root{
  --primary-color:#C55A00;
  --primary-hover:#A04800;
  --primary-rgb:197,90,0;
  --light-orange:#FFF0E0;
  --dark-accent:#212529;
  --category-badge-bg:#6c757d;
  --sender-bubble-background:#FFF3E0;
  --sender-bubble-border:#FFE0B2;
  --sender-bubble-text:#5D4037;
  --sender-bubble-background-hover:#FFF8E1;
  --cookie-banner-bg:#2c3e50;
  --cookie-banner-text:#ecf0f1;
  --cookie-banner-border:#34495e;
  --bs-primary:var(--primary-color);
  --bs-primary-rgb:197,90,0;

  --cream:#f5efe6;
  --teal:var(--primary-color);
  --teal-dk:var(--primary-hover);
  --teal-dark:var(--teal-dk);
  --teal-lt:var(--light-orange);
  --coral:#D96910;
  --coral-lt:var(--sender-bubble-background);
  --text:#1f1a17;
  --muted:#6f635a;
  --border:#e5d5c8;
  --border-soft:#ead9cc;
  --white:#ffffff;
  --surface-muted:#faf2ea;
  --surface-soft:#fffaf6;
  --bg:var(--surface-muted);
  --ink:#2b241f;
  --shadow-warm-sm:0 2px 12px rgba(95,58,22,.07);
  --shadow-warm-md:0 4px 20px rgba(95,58,22,.09);
  --blue:#f3e4d4;
  --gold:#f0c040;
  --green-lt:#f2ebe4;
  --green:#6b5c4d;
  --amber-lt:#fffbe6;
  --amber-br:#f0d060;
  --amber-tx:#7a5a00;
  --page-bg-gradient:linear-gradient(180deg,#ffc078 0%,#fac090 14vh,#f5c8a0 34vh,#efd5bc 54vh,var(--cream) 80vh);
  --page-hero-listing-min-h:156px;
}

/* ── Base ── */
body{font-family:'Nunito Sans',sans-serif;background:var(--page-bg-gradient);background-color:var(--cream);background-repeat:no-repeat;color:var(--text);font-size:14px;line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;display:flex;flex-direction:column}
img{display:block}
a{text-decoration:none;color:inherit}

/* ── Accessible keyboard focus ── */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.btn-nav-login:focus-visible,
.btn-nav-cta:focus-visible,
.mobile-menu a:focus-visible,
.nav-links a:focus-visible,
.form-input:focus-visible,
.form-select:focus-visible,
.form-textarea:focus-visible{
  outline:3px solid rgba(var(--primary-rgb),0.42);
  outline-offset:2px;
  border-radius:8px;
}

/* ════════════════ NAV ════════════════ */
nav{background:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:58px;box-shadow:0 1px 3px rgba(0,0,0,.1);position:sticky;top:0;z-index:200}
.logo{display:inline-flex;align-items:center;gap:6px;font-family:'Nunito',sans-serif;font-weight:800;font-size:20px;color:var(--teal);letter-spacing:-.5px;line-height:1;flex-shrink:0}
.logo .bi{font-size:1.05em;line-height:1;color:var(--coral);position:relative;top:.02em}
.brand-logo{font-size:0;line-height:0;color:transparent;gap:0;flex-shrink:0;min-width:0}
.brand-logo__img{display:block;height:42px;width:auto;max-width:min(300px,52vw);object-fit:contain}
.brand-logo--footer{margin-bottom:10px}
.brand-logo--footer .brand-logo__img{height:38px;max-width:280px}
.brand-logo--chat .brand-logo__img{height:40px;max-width:240px}
.nav-links{display:none;gap:22px;list-style:none;align-items:center}
.nav-links a{color:var(--text);font-weight:600;font-size:13px;line-height:1.2;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--teal)}
.nav-links a.active{color:var(--teal);border-bottom:2px solid var(--teal);padding-bottom:2px}
.nav-right{display:flex;align-items:center;gap:10px}
.btn-nav-cta{display:none;align-items:center;justify-content:center;line-height:1;background:var(--coral);color:white;border:none;padding:9px 18px;border-radius:25px;font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;letter-spacing:.5px;cursor:pointer;text-transform:uppercase;transition:background .2s;white-space:nowrap}
.btn-nav-cta:hover{background:var(--primary-hover)}

/* Hamburger */
.hamburger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile menu */
.mobile-menu{
  display:none;
  position:fixed;
  top:58px;
  left:0;
  right:0;
  background:var(--white);
  box-shadow:0 8px 32px rgba(0,0,0,.1);
  z-index:190;
  padding:10px 12px 22px;
  flex-direction:column;
  gap:3px;
  max-height:calc(100vh - 58px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.mobile-menu.open{display:flex}
/* Listen-Einträge: keine durchgehenden Unterstriche (vermeidet Doppel-Linie vor mob-divider) */
.mobile-menu > a:not(.mob-cta){
  display:flex;
  align-items:center;
  min-height:48px;
  padding:10px 14px;
  border-radius:12px;
  color:var(--text);
  font-weight:600;
  font-size:15px;
  line-height:1.3;
  text-decoration:none;
  transition:background .2s,color .2s,box-shadow .2s;
}
.mobile-menu > a:not(.mob-cta):hover{
  background:var(--cream);
  color:var(--text);
}
.mobile-menu > a:not(.mob-cta).active{
  background:var(--teal-lt);
  color:var(--teal);
  font-weight:800;
  box-shadow:inset 4px 0 0 0 var(--coral);
}
.mobile-menu > a:not(.mob-cta):focus-visible{
  outline:2px solid var(--coral);
  outline-offset:2px;
}
.mobile-menu > a.mob-premium{
  gap:10px;
  color:#7a5200;
  font-weight:800;
  background:linear-gradient(135deg,rgba(246,195,75,.18),rgba(224,160,32,.12));
  box-shadow:inset 4px 0 0 0 #e0a020;
}
.mobile-menu > a.mob-premium:hover{
  background:linear-gradient(135deg,rgba(246,195,75,.3),rgba(224,160,32,.2));
  color:#5e3f00;
}
.mobile-menu > a.mob-premium.active{
  background:linear-gradient(135deg,rgba(246,195,75,.45),rgba(224,160,32,.3));
  color:#5e3f00;
  font-weight:800;
  box-shadow:inset 4px 0 0 0 #c98700;
}
.mob-premium-ico{
  color:#e0a020;
  font-size:14px;
  line-height:1;
}
.mobile-menu > a.mob-premium.active .mob-premium-ico{
  color:#c98700;
}
.mobile-menu .mob-cta{
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1.1;
  text-align:center;
  background:var(--coral);
  color:#fff;
  padding:14px 18px;
  border-radius:14px;
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.4px;
  border:none;
  box-shadow:0 2px 8px rgba(var(--primary-rgb),.28);
  transition:background .2s,box-shadow .2s
}
.mobile-menu .mob-cta:hover{
  background:var(--primary-hover);
  box-shadow:0 4px 14px rgba(var(--primary-rgb),.35)
}
.mobile-menu .mob-cta:focus-visible{
  outline:2px solid var(--coral);
  outline-offset:2px;
}
.btn-nav-login{display:none;align-items:center;justify-content:center;gap:6px;line-height:1;color:var(--teal);font-weight:700;font-size:13px;padding:8px 14px;border-radius:25px;transition:background .2s}
.btn-nav-login:hover{background:var(--teal-lt)}
.btn-nav-premium{display:none;align-items:center;justify-content:center;line-height:1;color:#4d3400;font-weight:800;font-size:12px;padding:8px 14px;border-radius:25px;background:linear-gradient(135deg,#f6c34b,#e0a020);border:1px solid #d9971a;transition:filter .2s;white-space:nowrap}
.btn-nav-premium:hover{filter:brightness(1.05)}
.btn-nav-premium.is-active{filter:brightness(1.05);box-shadow:0 0 0 2px rgba(217,151,26,.45),0 2px 6px rgba(217,151,26,.35)}
.btn-nav-logout{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--muted);flex-shrink:0;transition:background .2s,color .2s}
.btn-nav-logout:hover{background:var(--coral-lt);color:var(--coral)}
/* Icon-only Nav-Aktionen (Nachrichten, Admin) im eingeloggten Header */
.btn-nav-icon{display:none;align-items:center;justify-content:center;position:relative;width:36px;height:36px;border-radius:50%;color:var(--muted);flex-shrink:0;font-size:18px;line-height:1;transition:background .2s,color .2s}
.btn-nav-icon:hover{background:var(--cream);color:var(--teal)}
.btn-nav-icon .e4p-nav-msg-badge{position:absolute;top:-1px;right:-1px;pointer-events:none}
.e4p-nav-msg-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--coral);color:#fff;font-size:11px;font-weight:800;line-height:1}
.nav-user{display:none;align-items:center;gap:6px}

/* ════════════════ PAGE HERO ════════════════ */
.page-hero{background:transparent;padding:28px 16px 22px}
.page-hero-inner{max-width:1360px;margin:0 auto}
.page-hero h1{font-family:'Nunito',sans-serif;font-weight:800;font-size:26px;margin-bottom:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-hero-icon{font-size:1.15em;color:var(--teal);flex-shrink:0;line-height:1}
.page-hero p{color:var(--muted);font-size:14px;max-width:480px}
/* Sparten-Icons (einheitlich siteweit) */
.e4p-sparte-icon{color:var(--teal);line-height:1;flex-shrink:0}
.section-label-sm-icon{font-size:14px}
.home-hub-stat-icon{font-size:20px}
.ts-strip-title-icon,.paten-title-icon{font-size:1.15em;line-height:1;flex-shrink:0}
.paten-title-icon{color:var(--coral)}
.result-more-row-icon{font-size:15px}
.empty-icon .bi{font-size:44px;display:block;line-height:1;color:var(--teal)}
.search-empty-icon .bi{font-size:30px;color:var(--teal)}
/* Hub-Listen, Formulare, Rechtstexte: gleiche Hero-Bandhöhe; Titel oben fix */
.page-hero--standard,
.page-hero--listing{
  height:var(--page-hero-listing-min-h);
  min-height:var(--page-hero-listing-min-h);
  box-sizing:border-box;
  display:flex;
  align-items:flex-start;
  padding-bottom:18px;
}
.page-hero--standard .page-hero-inner,
.page-hero--listing .page-hero-inner{width:100%}
.page-hero--standard .page-hero-inner h1,
.page-hero--listing .page-hero-inner h1{
  margin-top:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.page-hero--standard .page-hero-inner p,
.page-hero--listing .page-hero-inner p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.5;
  max-height:calc(1.5em * 2);
}
/* Hub-Listen + Blog/Suche/FAQ: Akzentstreifen links, Farbfläche + Icon rechts */
.page-hero--listing.page-hero--sparte-kurse,
.page-hero--listing.page-hero--sparte-dienst,
.page-hero--listing.page-hero--sparte-klein,
.page-hero--listing.page-hero--sparte-tier,
.page-hero--listing.page-hero--theme-blog,
.page-hero--listing.page-hero--theme-suche,
.page-hero--listing.page-hero--theme-faq,
.page-hero--listing.page-hero--theme-partner{
  position:relative;
  overflow:hidden;
  --page-hero-listing-min-h:180px;
  --hero-accent:var(--teal);
  --hero-tint:var(--teal-lt);
  padding-top:28px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(0,0,0,.06);
  background:var(--cream);
}
.page-hero--listing[class*="page-hero--sparte-"]::before,
.page-hero--listing[class*="page-hero--theme-"]::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(46%,460px);
  background:linear-gradient(90deg,transparent 0%,var(--hero-tint) 100%);
  pointer-events:none;
  z-index:0;
}
.page-hero--listing[class*="page-hero--sparte-"]::after,
.page-hero--listing[class*="page-hero--theme-"]::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(46%,460px);
  background:radial-gradient(ellipse 70% 95% at 88% 50%,color-mix(in srgb,var(--hero-accent) 18%,transparent),transparent 70%);
  pointer-events:none;
  z-index:0;
}
.page-hero-watermark{
  position:absolute;
  right:clamp(20px,5vw,56px);
  top:50%;
  transform:translateY(-50%);
  font-size:clamp(4.25rem,12vw,6.5rem);
  line-height:1;
  color:var(--hero-accent);
  opacity:.22;
  pointer-events:none;
  z-index:1;
}
.page-hero--listing[class*="page-hero--sparte-"] .page-hero-inner,
.page-hero--listing[class*="page-hero--theme-"] .page-hero-inner{
  position:relative;
  z-index:2;
  padding-left:14px;
  border-left:4px solid var(--hero-accent);
}
.page-hero--listing[class*="page-hero--sparte-"] h1,
.page-hero--listing[class*="page-hero--theme-"] h1{
  color:var(--dark-accent);
  text-shadow:none;
  display:block;
}
.page-hero--listing[class*="page-hero--sparte-"] p,
.page-hero--listing[class*="page-hero--theme-"] p{
  color:var(--muted);
  text-shadow:none;
  max-width:min(520px,88%);
}
.page-hero--sparte-kurse{--hero-accent:#3a8f7e;--hero-tint:#e8f3f0}
.page-hero--sparte-dienst{--hero-accent:#c55a00;--hero-tint:#faebd8}
.page-hero--sparte-klein{--hero-accent:#b87818;--hero-tint:#f8efe0}
.page-hero--sparte-tier{--hero-accent:#c45a4a;--hero-tint:#f8ebe8}
.page-hero--theme-blog{--hero-accent:#4a7da8;--hero-tint:#e8f0f7}
.page-hero--theme-suche{--hero-accent:#a87828;--hero-tint:#f6eede}
.page-hero--theme-faq{--hero-accent:#4a7a9a;--hero-tint:#e6eff5}
.page-hero--theme-partner{--hero-accent:#c55a00;--hero-tint:#faebd8}

/* ════════════════ FILTER BAR ════════════════ */
.filter-bar{background:var(--white);border-bottom:1px solid var(--border);padding:12px 16px;position:sticky;top:58px;z-index:100;overflow:visible}
body:has(.e4p-top-chrome--maintenance) .filter-bar{top:calc(58px + 42px)}
body:has(.e4p-top-chrome--maintenance) .mobile-menu{
  top:calc(58px + 42px);
  max-height:calc(100vh - 58px - 42px)
}
body:has(.e4p-top-chrome--maintenance) .sidebar-sticky{top:calc(74px + 42px)}
body:has(.e4p-top-chrome--maintenance) .blog-sidebar{top:calc(141px + 42px)}
body:has(.e4p-top-chrome--maintenance) .faq-item,
body:has(.e4p-top-chrome--maintenance) .faq-section-card{scroll-margin-top:170px}
.filter-bar-inner{max-width:1360px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center;overflow:visible}
.filter-bar-inner--search-left{--filter-ctl-h:38px}
.filter-search{display:flex;align-items:center;gap:8px;background:var(--surface-muted);border:1px solid var(--border);border-radius:25px;padding:0 12px;flex:1;min-width:180px;max-width:300px;min-height:var(--filter-ctl-h,38px);box-sizing:border-box}
.filter-search input{border:none;outline:none;background:transparent;font-family:inherit;font-size:13px;color:var(--text);width:100%;min-width:0;height:var(--filter-ctl-h,38px);line-height:var(--filter-ctl-h,38px);padding:0}
.filter-search input::placeholder{color:var(--muted)}
.filter-search svg{flex-shrink:0}
.filter-select{appearance:none;background:var(--surface-muted);border:1px solid var(--border);border-radius:25px;padding:0 32px 0 14px;font-family:inherit;font-size:13px;color:var(--text);cursor:pointer;min-height:var(--filter-ctl-h,38px);height:var(--filter-ctl-h,38px);line-height:var(--filter-ctl-h,38px);box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;outline:none;transition:border-color .2s}
.filter-select:focus{border-color:var(--teal)}
.chip{background:var(--surface-muted);border:1px solid var(--border);border-radius:25px;padding:6px 14px;font-family:'Nunito',sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:all .2s;color:var(--text);white-space:nowrap}
.chip:hover,.chip.active{background:var(--teal);border-color:var(--teal);color:white}
.filter-count{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
/* Suche links; Zähler am rechten Leistenende (kurse, dienstleistungen, kleinanzeigen) */
.filter-bar-inner--search-left .filter-search:not(.filter-search--loc){flex:0 1 260px;max-width:260px;min-width:160px}
.filter-bar-inner--search-left .filter-count:not(.faq-result-count){display:none}
.filter-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text);cursor:pointer;white-space:nowrap;user-select:none;min-height:var(--filter-ctl-h,38px)}
.filter-chip input{width:15px;height:15px;margin:0;accent-color:var(--teal);cursor:pointer}
.filter-search--plz{flex:0 1 110px;min-width:88px;max-width:130px}
.filter-geo-status{display:inline-flex;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap}
.filter-geo-status--error{color:var(--coral)}
/* ── Standortfilter "PLZ, Ort oder Land" mit Autocomplete (Listen-Seiten) ── */
.filter-loc{position:relative;flex:0 1 260px;min-width:180px;max-width:260px;align-self:center}
.filter-search--loc{flex:1 1 auto;max-width:none;min-width:0;width:100%;margin:0}
.filter-loc-dd.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:auto;z-index:200;display:none;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:min(320px,50vh);overflow-y:auto;border:1px solid var(--border);min-width:100%;width:max-content;max-width:min(440px,92vw)}
.filter-loc-dd.search-dropdown.is-open{display:block}
.filter-loc-dd[hidden]{display:none!important}
.filter-loc-dd .search-result-item{width:100%;border:none;background:transparent;font:inherit;text-align:left}
/* Treffer einzeilig halten; nur bei echtem Platzmangel kürzen. */
.filter-loc-dd .search-result-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.filter-geo-status:not(.u-hidden){flex:0 0 100%;width:100%;padding:2px 4px 0}
.filter-bar.is-compact .filter-loc{width:100%;max-width:none;min-width:0;flex:1 1 100%;display:none}
.filter-bar.is-compact.is-open .filter-loc{display:block}

/* ════════════════ MAGAZIN ════════════════ */
.magazin-page{padding-top:8px}
.magazin-grid{display:grid;grid-template-columns:1fr;gap:16px}
.magazin-card .card-desc{color:var(--muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.magazin-read-more{display:inline-block;margin-top:6px;font-size:13px;font-weight:700;color:var(--teal)}
.magazin-article-page{max-width:760px}
.magazin-article-teaser{color:var(--muted);font-size:16px;line-height:1.5;margin:8px 0 16px}
.magazin-article-hero{width:100%;border-radius:12px;margin:0 0 20px;display:block}
.magazin-article-body{font-size:15px;line-height:1.65;color:var(--text);display:flow-root}
.magazin-article-body h2{font-family:'Nunito',sans-serif;font-size:20px;margin:20px 0 8px}
.magazin-article-body p{margin:0 0 12px}
.magazin-article-body ul{margin:0 0 14px;padding-left:20px}
.magazin-article-body li{margin-bottom:6px}
@media(min-width:768px){
  .magazin-grid{grid-template-columns:1fr 1fr}
}

/* ── Blog ── */
.blog-page{padding-top:8px}
/* Suchleiste sitzt in der filter-bar unter dem Hero und nutzt den Pill-Stil wie suche.php. */
.blog-search{display:flex;gap:8px;align-items:center;margin:0;width:100%}
.filter-search--blog{flex:0 1 360px;max-width:360px;min-width:180px}
.blog-main.is-loading{opacity:.55;transition:opacity .15s}
/* Layout: Inhalt + kontextuelle Seitenleiste (Hybrid-Navigation) */
.blog-layout{display:grid;grid-template-columns:1fr;gap:24px;grid-template-areas:"side" "main"}
.blog-main{grid-area:main;min-width:0}
.blog-sidebar{grid-area:side;min-width:0}

/* Kategorien-Seitenleiste (Desktop) */
.blog-side-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 2px 10px rgba(60,40,15,.05)}
.blog-side-card + .blog-side-card{margin-top:20px}
.blog-side-title{font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.blog-cat-select{display:none}
.blog-cat-list{display:flex;flex-direction:column;gap:2px}
.blog-cat-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:10px;color:var(--text);text-decoration:none;font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;transition:background .15s,color .15s}
.blog-cat-item:hover{background:var(--cream)}
.blog-cat-item.active{background:var(--primary-color);color:#fff}
.blog-cat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blog-cat-count{flex-shrink:0;font-size:11px;font-weight:800;line-height:1;padding:3px 8px;border-radius:20px;background:rgba(var(--primary-rgb),.12);color:var(--primary-color)}
.blog-cat-item:hover .blog-cat-count{background:rgba(var(--primary-rgb),.18)}
.blog-cat-item.active .blog-cat-count{background:rgba(255,255,255,.26);color:#fff}

/* Neueste Beiträge */
.blog-recent-list{display:flex;flex-direction:column}
.blog-recent-item{display:flex;gap:11px;padding:10px 0;text-decoration:none;color:var(--text)}
.blog-recent-item + .blog-recent-item{border-top:1px solid var(--border)}
.blog-recent-item:first-child{padding-top:0}
.blog-recent-thumb{width:58px;height:58px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:var(--cream)}
.blog-recent-thumb--empty{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:20px}
.blog-recent-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.blog-recent-title{font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-recent-date{font-size:11px;color:var(--muted)}
.blog-recent-item:hover .blog-recent-title{color:var(--primary-color)}

/* Karten-Raster im Inhaltsbereich: 1 → 2 Spalten, gleiche Höhe */
.blog-grid{display:grid;grid-template-columns:1fr;gap:22px}
.blog-grid .blog-card{height:100%;margin:0}
.blog-card{border:1px solid var(--border);border-radius:18px;box-shadow:0 2px 10px rgba(60,40,15,.06);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.blog-card:hover{transform:translateY(-4px);border-color:rgba(var(--primary-rgb),.35);box-shadow:0 14px 30px rgba(60,40,15,.14)}
.blog-card .card-media{aspect-ratio:16/10}
.blog-card .card-img{height:100%;min-height:100%;transition:transform .4s ease}
.blog-card:hover .card-img{transform:scale(1.05)}
/* Kategorie-Badge: helles, lesbares Pill in Markenfarbe (volle Breite, kein Abschneiden) */
.blog-card .mini-card-cat{
  top:12px;left:12px;
  max-width:calc(100% - 24px);
  background:rgba(255,255,255,.94);
  color:var(--primary-color);
  padding:5px 12px;
  font-size:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  backdrop-filter:saturate(1.4) blur(2px);
}
.blog-card .card-body{flex:1;display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px}
.blog-card .card-title{font-size:17px;line-height:1.3;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .18s}
.blog-card:hover .card-title{color:var(--primary-color)}
.blog-card .card-desc{-webkit-line-clamp:3;margin:0;line-height:1.55}
.blog-card-noimg{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cream),#ece3d6);color:var(--muted);font-size:34px;width:100%;height:100%}
.blog-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.blog-card-meta > span{display:inline-flex;align-items:center;gap:5px}
.blog-card-meta > span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--primary-color);opacity:.6}
.blog-card-meta .magazin-read-more{margin-top:0;display:inline-flex;align-items:center;gap:4px;transition:gap .18s}
.blog-card:hover .magazin-read-more{gap:8px}
.blog-empty{text-align:center;color:var(--muted);padding:56px 16px;display:flex;flex-direction:column;align-items:center;gap:14px}
.listing-grid--loading{opacity:.5;pointer-events:none;transition:opacity .15s ease}
.listing-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:32px 0 8px;background:none;box-shadow:none;position:static;top:auto;height:auto;padding:0;z-index:auto}
.listing-pager[hidden]{display:none}
.listing-pager-ctrl,.listing-pager-num{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--white);color:var(--text);font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;text-decoration:none;transition:all .2s;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.listing-pager-ctrl:hover,.listing-pager-num:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px)}
.listing-pager-num.is-current{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}
.listing-pager-ctrl.is-disabled{opacity:.4;pointer-events:none}
.listing-pager-gap{padding:0 4px;color:var(--muted)}
.blog-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:36px}
.blog-pager-link{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:var(--white);color:var(--text);font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;text-decoration:none;transition:all .2s;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.blog-pager-link:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px)}
.blog-pager-link.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb),.3)}

/* Artikel-Detailseite */
.blog-article-page{max-width:820px}
.blog-article-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.blog-article-head .badge-teal{text-decoration:none}
.blog-article-date{font-size:13px;color:var(--muted)}
.blog-article .detail-title{font-size:26px;line-height:1.2}
/* Beitragsbild: einheitliche Größe, Bild vollständig sichtbar (kein Zuschnitt) */
.blog-article .magazin-article-hero{width:100%;aspect-ratio:16/9;height:auto;object-fit:contain;background:var(--cream);border:1px solid var(--border);border-radius:12px}
.blog-article-body{font-size:16px;line-height:1.7;display:flow-root}
.blog-article-body h2{font-size:22px;margin:26px 0 10px}
.blog-article-body h3{font-family:'Nunito',sans-serif;font-size:19px;margin:22px 0 8px}
.blog-article-body h4{font-family:'Nunito',sans-serif;font-size:17px;margin:18px 0 6px}
.blog-article-body p{margin:0 0 14px}
.blog-article-body img{max-width:100%;height:auto;border-radius:10px;margin:14px 0;display:block}
.blog-article-body a{color:var(--teal);font-weight:700}
.blog-article-body a:hover{text-decoration:underline}
.blog-article-body blockquote{margin:16px 0;padding:12px 18px;border-left:3px solid var(--teal);background:var(--cream);border-radius:0 8px 8px 0;color:var(--text)}
.blog-article-body ul,.blog-article-body ol{margin:0 0 14px;padding-left:22px}
.blog-article-body li{margin-bottom:6px}
.blog-article-body table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px;display:block;overflow-x:auto}
.blog-article-body th,.blog-article-body td{border:1px solid var(--border);padding:8px 10px;text-align:left}
.blog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}
.blog-tag{font-size:12px;font-weight:700;color:var(--muted);background:var(--cream);border:1px solid var(--border);border-radius:20px;padding:4px 12px}
.blog-related{max-width:1100px;margin:40px auto 0}
.blog-related-title{font-family:'Nunito',sans-serif;font-size:22px;margin:0 0 18px}

@media(min-width:600px){
  .blog-grid{grid-template-columns:1fr 1fr;gap:20px}
}

/* Bis 999px: Seitenleiste wird zum platzsparenden Kategorie-Dropdown */
@media(max-width:999px){
  .blog-side-card{background:none;border:none;box-shadow:none;padding:0;margin-bottom:18px}
  .blog-side-card + .blog-side-card{margin-top:0}
  .blog-side-title{display:none}
  .blog-side-recent{display:none}
  .blog-cat-list{display:none}
  .blog-cat-select{display:block;width:100%;height:46px;line-height:46px;border-radius:14px;font-size:14px}
}

/* Ab 1000px: zweispaltig mit sticky Seitenleiste rechts */
@media(min-width:1000px){
  .blog-layout{grid-template-columns:minmax(0,1fr) 264px;gap:32px;grid-template-areas:"main side"}
  /* Sticky-Offset = Nav (58px) + klebende Suchleiste (~67px) + 16px Luft, damit die
     Karte beim Scrollen nicht direkt an der Suchleiste klebt. */
  .blog-sidebar{position:sticky;top:141px;align-self:start}
}

@media(max-width:520px){
  .blog-search{flex-direction:column}
  /* In der Spaltenausrichtung wirkt flex-basis auf die Höhe – basis zurücksetzen, sonst wird das Suchfeld 360px hoch. */
  .filter-search--blog{flex:0 0 auto;width:100%;max-width:none}
  .blog-article .detail-title{font-size:22px}
  .blog-article-body{font-size:15px}
}

/* ════════════════ LISTING ════════════════ */
.listing-page{width:100%;max-width:1360px;margin:0 auto;padding:24px 16px 56px}
.home-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.home-section-head .section-label-sm{margin-bottom:0;flex:1;min-width:0}
.home-section-head .section-label-sm::after{display:none}
.home-section-more{
  flex-shrink:0;
  font-family:'Nunito',sans-serif;
  font-weight:700;
  font-size:12px;
  color:var(--teal);
  text-decoration:none;
  white-space:nowrap;
}
.home-section-more:hover{text-decoration:underline}
.listing-grid{display:grid;grid-template-columns:1fr;gap:14px}
.card-wrap{position:relative;min-width:0}
.listing-grid .card-wrap{display:flex;flex-direction:column;height:100%}
.listing-grid .card-wrap > .card{flex:1 1 auto;height:100%}
.listing-grid:not(.listing-grid--list) .card-wrap{
  background:var(--white);
  border:1px solid rgba(95,58,22,.14);
  border-radius:14px;
  overflow:hidden;
  transition:transform .2s,border-color .18s,box-shadow .2s;
}
.listing-grid:not(.listing-grid--list) .card-wrap:has(> .card.card--premium){
  border:2px solid var(--gold);
  box-shadow:0 3px 12px rgba(212,164,74,.24);
}
.listing-grid:not(.listing-grid--list) .card-wrap:not(:has(.card--premium)):hover{
  transform:translateY(-3px);
  border-color:rgba(95,58,22,.28);
  box-shadow:var(--shadow-warm-sm);
}
.listing-grid:not(.listing-grid--list) .card-wrap:has(.card--premium):hover{
  transform:translateY(-3px);
  border-color:#d4b03c;
  box-shadow:0 10px 22px rgba(212,164,74,.32);
}
.listing-grid:not(.listing-grid--list) .card-wrap > .card{
  border:none;
  border-radius:0;
  box-shadow:none;
}
.listing-grid:not(.listing-grid--list) .card-wrap > .card:not(.card--premium):hover{
  transform:none;
  border-color:transparent;
  box-shadow:none;
}
.listing-grid:not(.listing-grid--list) .card-wrap > .card.card--premium:hover{
  transform:none;
  border-color:transparent;
  box-shadow:none;
}
.card-footer-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.card-fav-btn,
.card-detail-btn{
  position:static;
  width:32px;height:32px;border-radius:50%;
  border:1px solid var(--border);
  background:#fff;
  color:var(--muted);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;
  box-shadow:0 1px 3px rgba(0,0,0,.08);
  transition:color .15s,background .15s,border-color .15s;
  text-decoration:none;
  flex-shrink:0;
}
.card-fav-btn:hover{color:var(--coral);border-color:var(--coral)}
.card-fav-btn--active{color:var(--coral);border-color:var(--coral);background:#fff}
.card-fav-btn i{font-size:15px;line-height:1}
.card-detail-btn:hover{color:var(--teal);border-color:var(--teal)}
.card-detail-btn i{font-size:16px;line-height:1}
.listing-grid .card-wrap > .listing-card-bottom{
  padding:0 16px 12px;
  margin-top:auto;
}
.listing-grid .card-wrap > .card > .card-body{
  padding-bottom:10px;
}
.listing-grid .card-wrap > .listing-card-bottom .card-footer{
  margin-top:0;
  padding-top:8px;
}

/* ════════════════ CARD ════════════════ */
.card{background:var(--white);border:1px solid rgba(95,58,22,.14);border-radius:14px;overflow:hidden;box-shadow:none;display:flex;flex-direction:column;transition:transform .2s,border-color .18s,box-shadow .2s;color:inherit;position:relative}
.card:not(.card--premium):hover{transform:translateY(-3px);border-color:rgba(95,58,22,.28);box-shadow:var(--shadow-warm-sm)}
.card--premium{
  border:2px solid var(--gold);
  box-shadow:0 3px 12px rgba(212,164,74,.24);
}
.card.card--premium:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 22px rgba(212,164,74,.34);
}
.card-media{position:relative;width:100%;overflow:hidden;flex-shrink:0}
.card-img{width:100%;height:190px;object-fit:cover;flex-shrink:0;display:block}
.card-img[src*="listing-placeholder"]{object-fit:cover;object-position:center;background:var(--cream)}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.badge{display:inline-block;border-radius:20px;padding:3px 10px;font-family:'Nunito',sans-serif;font-weight:700;font-size:10px;letter-spacing:.4px;text-transform:uppercase;width:fit-content;white-space:nowrap}
a.badge{text-decoration:none;cursor:pointer}
a.badge:hover{filter:brightness(0.97)}
.badge-outline{background:transparent;border:1.5px solid var(--teal);color:var(--teal)}
a.badge-outline:hover{background:var(--teal-lt);filter:none}
.badge-teal{background:var(--teal-lt);color:var(--teal)}
.badge-coral{background:var(--coral-lt);color:var(--coral)}
.badge-green{background:var(--green-lt);color:var(--green)}
.badge-amber{background:var(--amber-lt);border:1px solid var(--amber-br);color:var(--amber-tx)}
.badge-gray{background:var(--surface-muted);border:1px solid var(--border);color:var(--muted)}
.badge-gold{background:#fff8d6;border:1px solid var(--gold);color:#7a5a00}
.badge-premium{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#f6c34b,#e0a020);border:1px solid #d9971a;color:#4d3400}
.badge-premium--cta{text-decoration:none;transition:filter .2s}
.badge-premium--cta:hover{filter:brightness(1.05)}
.card-title{font-family:'Nunito',sans-serif;font-weight:700;font-size:16px;line-height:1.3}
.card-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted)}
.card-meta span{display:flex;align-items:center;gap:4px}
.card-desc{font-size:13px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid var(--border);flex-wrap:wrap;gap:8px}
.card-price{font-family:'Nunito',sans-serif;font-weight:800;font-size:17px;color:var(--teal);white-space:nowrap}
.card-price-gratis{color:var(--coral)}
.card-title-tooltip{
  position:fixed;
  z-index:1000;
  max-width:min(520px,calc(100vw - 24px));
  padding:10px 12px;
  border-radius:10px;
  background:rgba(26,26,26,.96);
  color:#fff;
  font-family:'Nunito Sans',sans-serif;
  font-size:16px;
  font-weight:600;
  line-height:1.35;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  pointer-events:none;
  white-space:normal;
}

/* Inserat-Karten (Listen): Titel direkt unter Bild; Ort + Linie + Preis unten bündig (Zeilen-hoch) */
.listing-grid .card{
  height:100%;
  min-height:0;
}
.listing-grid .card-body{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
  min-height:0;
}
.listing-grid .card-title{
  flex-shrink:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
  line-height:1.3;
  min-height:calc(2 * 1.3em);
}
.listing-grid .listing-card-bottom{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex-shrink:0;
  width:100%;
}
.listing-grid .listing-card-bottom .card-meta{
  margin:0;
}
.listing-grid .listing-card-bottom .event-date{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0!important;
  color:var(--muted);
}
.listing-grid .listing-card-bottom .event-date-line{
  display:flex;
  align-items:center;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.listing-grid .listing-card-bottom .event-date-line .bi{
  margin-right:4px;
  flex-shrink:0;
}
.course-card-lines{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:11px;
  color:var(--muted);
  line-height:1.3;
}
.course-card-line{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.card-footer-main{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.card-price-location{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:11px;
  color:var(--muted);
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.listing-grid .listing-card-bottom .card-footer{
  margin-top:0;
  padding-top:10px;
  border-top:1px solid var(--border);
}

/* Listenansicht ≤969px (Startseite-Teaser ≤899px): Bild-Labels in rechter Spalte übers Titel (siehe .card-list-overline--body) */
.card-list-overline--body{
  display:none;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:100%;
  margin:0 0 6px 0;
  min-width:0;
}
.card-list-overline--body > .card-badges-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  margin:0;
  min-width:0;
}
.card-badges-row{
  display:none;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin-bottom:2px;
  min-width:0;
}
.card-badges-row > .mini-card-cat{
  display:none!important;
}
.card-badges-row .mini-card-premium{
  position:static;
}
.card-list-overline--body .mini-card-datetime,
.card-list-overline--body .mini-card-register-req{
  position:static;
  max-width:100%;
}

/* Startseite: identischer Inseratkarten-Aufbau wie Listing-Seiten */
.cards-scroll .card-wrap{
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  background:var(--white);
  border:1px solid rgba(95,58,22,.14);
  border-radius:14px;
  overflow:hidden;
  transition:transform .2s,border-color .18s,box-shadow .2s;
}
.cards-scroll .card-wrap:has(> .card.card--premium){
  border:2px solid var(--gold);
  box-shadow:0 3px 12px rgba(212,164,74,.24);
}
.cards-scroll .card-wrap:not(:has(.card--premium)):hover{
  transform:translateY(-3px);
  border-color:rgba(95,58,22,.28);
  box-shadow:var(--shadow-warm-sm);
}
.cards-scroll .card-wrap:has(> .card.card--premium):hover{
  transform:translateY(-3px);
  border-color:#d4b03c;
  box-shadow:0 10px 22px rgba(212,164,74,.32);
}
.cards-scroll .card-wrap > .card{
  border:none;
  border-radius:0;
  box-shadow:none;
  flex:1 1 auto;
  height:auto;
}
.cards-scroll .card-wrap > .card:not(.card--premium):hover,
.cards-scroll .card-wrap > .card.card--premium:hover{
  transform:none;
  border-color:transparent;
  box-shadow:none;
}
.cards-scroll .card-wrap > .listing-card-bottom{
  padding:0 12px 10px;
  margin-top:auto;
}
.cards-scroll .card-wrap > .listing-card-bottom .card-footer{
  margin-top:0;
  padding-top:8px;
  border-top:1px solid var(--border);
}
.cards-scroll .card{
  height:100%;
  min-height:0;
}
.cards-scroll .card-body{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
  min-height:0;
}
.cards-scroll .card-title{
  flex-shrink:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
  line-height:1.3;
  min-height:calc(2 * 1.3em);
}
.cards-scroll .listing-card-bottom{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex-shrink:0;
  width:100%;
}
.cards-scroll .listing-card-bottom .card-footer{
  margin-top:0;
  padding-top:10px;
  border-top:1px solid var(--border);
  flex-wrap:nowrap;
}
.cards-scroll .card-footer .card-footer-main{
  min-width:0;
}
.cards-scroll .card-footer .card-price{
  white-space:normal;
  overflow-wrap:anywhere;
}

/* ── Label-Zeile über dem Titel (Listenansicht: Desktop-Umschalter + Mobil) ──
   Einheitliche Chips in einer Reihe, mit Trennlinie darunter. Sichtbar wird die
   Zeile nur dort, wo .card-list-overline--body auf display:flex gesetzt wird
   (Desktop-Liste bzw. Mobil). Mobil überschreibt unten die Größen. */
.listing-grid .card-list-overline--body{
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  gap:6px;
  min-width:0;
  margin:0 0 10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
  overflow:hidden;
}
.listing-grid .card-list-overline--body .card-badges-row{
  display:contents;
}
/* Chips behalten ihre natürliche, voll lesbare Größe (kein Schrumpfen). Passt eine
   Chip nicht mehr in die Zeile, wird sie per JS komplett ausgeblendet (.chip-hidden). */
.listing-grid .card-list-overline--body .mini-card-cat,
.listing-grid .card-list-overline--body .mini-card-premium,
.listing-grid .card-list-overline--body .mini-card-new,
.listing-grid .card-list-overline--body .mini-card-datetime{
  position:static;
  margin:0;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:22px;
  padding:0 10px;
  border:1px solid var(--border);
  background:#f0ede8;
  color:var(--muted);
  border-radius:999px;
  font-family:'Nunito',sans-serif;
  font-weight:700;
  font-size:11px;
  line-height:1;
  letter-spacing:.3px;
  text-transform:uppercase;
  white-space:nowrap;
  max-width:100%;
}
.listing-grid .card-list-overline--body .mini-card-cat{
  display:inline-flex!important;
}
.listing-grid .card-list-overline--body .mini-card-premium{
  order:-1;
  background:#fff8d6;
  border-color:var(--gold);
  color:#7a5a00;
}
.listing-grid .card-list-overline--body .mini-card-new{
  background:var(--teal-lt);
  border-color:var(--teal);
  color:var(--teal);
}
.listing-grid .card-list-overline--body .mini-card-datetime{
  flex-direction:row;
  gap:10px;
  text-transform:none;
  letter-spacing:0;
}
/* Von JS ausgeblendete Chips (passen nicht in die Zeile). */
.listing-grid .card-list-overline--body .chip-hidden{
  display:none!important;
}

/* Listing-Seiten (Kurse / Dienstleistungen / Kleinanzeigen): Zeilenkarten bis einschließlich 969px */
@media(max-width:969px){
  .listing-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  /* card-wrap als Zeilen-Grid (wie Startseite): Bild links, Inhalt + Footer rechts */
  .listing-grid .card-wrap{
    display:grid;
    grid-template-columns:minmax(112px,132px) minmax(0,1fr);
    grid-template-areas:
      "media body"
      "media footer";
    align-items:stretch;
    min-height:0;
    border-radius:12px;
    background:var(--white);
    border:1px solid rgba(95,58,22,.14);
    overflow:hidden;
  }
  .listing-grid .card-wrap:has(> .card.card--premium){
    border:2px solid var(--gold);
    box-shadow:0 3px 12px rgba(212,164,74,.24);
  }
  .listing-grid .card-wrap > .card{
    display:contents;
  }
  .listing-grid .card-wrap .card-media{
    grid-area:media;
    width:100%;
    height:135px;
    min-height:135px;
    max-height:135px;
    align-self:start;
    position:relative;
    overflow:hidden;
    flex-shrink:0;
  }
  .listing-grid .card-wrap .card-img{
    width:100%;
    height:100%;
    min-height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
  }
  .listing-grid .card-wrap .card-body{
    grid-area:body;
    display:flex;
    flex-direction:column;
    flex:1;
    min-width:0;
    min-height:0;
    height:auto;
    padding:8px 10px 4px;
    gap:4px;
  }
  .listing-grid .card-wrap > .listing-card-bottom{
    grid-area:footer;
    align-self:end;
    padding:0 10px 10px;
    margin-top:0;
    min-width:0;
    width:100%;
    box-sizing:border-box;
  }
  /* Wie Startseite-Teaser: keine Chip-Zeile auf Mobil */
  .listing-grid .card-list-overline--body{
    display:none!important;
  }
  .listing-grid .card-title{
    font-size:14px;
    line-height:1.28;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-top:auto;
    margin-bottom:auto;
    min-height:0;
  }
  .listing-grid .card-media .card-badges--media,
  .listing-grid .card-media .card-list-overline--media{display:none!important}
  .listing-grid .card-meta{
    gap:6px 10px;
    font-size:11px;
  }
  .listing-grid .card-wrap > .listing-card-bottom .card-footer{
    padding-top:8px;
    gap:8px;
    margin-top:0;
    border-top:1px solid var(--border);
    width:100%;
    align-items:flex-end;
  }
  .listing-grid .card-wrap > .listing-card-bottom .card-footer-main{
    flex:1;
    min-width:0;
  }
  .listing-grid .card-footer .card-price{
    font-size:15px;
  }
  .listing-grid .card-footer .btn-sm{
    padding:5px 12px;
    min-height:34px;
    font-size:11px;
  }

  /* Suche: Mobil immer Kartenansicht wie Hub-Seiten */
  .search-results .search-result-list{
    display:none!important;
  }
  .search-results .search-result-cards,
  .search-results--list .search-result-cards{
    display:grid!important;
    grid-template-columns:1fr;
    gap:12px;
    padding:0 0 8px;
  }
  .search-results .result-group{
    background:transparent;
    border:none;
    box-shadow:none;
    overflow:visible;
    margin-bottom:12px;
  }
  .search-hit-card-excerpt{
    display:none!important;
  }
  /* Suche: Footer im Body (wie Startseite), Aktionen außerhalb des Links */
  .search-result-cards .search-hit-card-wrap{
    position:relative;
    grid-template-areas:"media body";
  }
  .search-result-cards .search-hit-card-wrap .card-body{
    min-height:135px;
    padding-bottom:8px;
  }
  .search-result-cards .search-hit-card-wrap .card-title{
    margin-top:0;
    margin-bottom:0;
  }
  .search-result-cards .search-hit-card-wrap .card-body > .search-hit-card-bottom{
    margin-top:auto;
    width:100%;
  }
  .search-result-cards .search-hit-card-wrap .search-hit-card-bottom .card-footer{
    margin-top:0;
    padding-top:8px;
    border-top:1px solid var(--border);
    padding-right:72px;
  }
  .search-result-cards .search-hit-card-actions{
    right:10px;
    bottom:10px;
  }
  .search-result-cards .search-hit-card-wrap .search-hit-card-meta{
    font-size:11px;
    line-height:1.25;
    color:var(--muted);
  }
  .search-body{
    padding:16px 12px 56px;
  }
  .search-results .result-count-bar{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:baseline;
    gap:0.35em 0.5em;
    margin-bottom:14px;
    padding:10px 12px;
    font-size:13px;
    line-height:1.4;
  }
  .search-results .result-count-bar strong{
    font-size:17px;
    line-height:1.2;
  }
  .search-results .section-header{
    margin:20px 0 8px;
  }
  .search-results .result-excerpt{
    display:none!important;
  }
}

/* Startseite Teaser-Streifen: Zeilenkarten unter 900px */
@media(max-width:899px){
  .cards-scroll .card-wrap{
    display:grid;
    grid-template-columns:minmax(112px,132px) minmax(0,1fr);
    grid-template-areas:
      "media body"
      "media footer";
    align-items:stretch;
    min-height:0;
    border-radius:12px;
  }
  .cards-scroll .card-wrap > .card{
    display:contents;
  }
  .cards-scroll .card-wrap .card-media{
    grid-area:media;
    width:100%;
    height:135px;
    min-height:135px;
    max-height:135px;
    align-self:start;
    position:relative;
    overflow:hidden;
    flex-shrink:0;
  }
  .cards-scroll .card-wrap .card-img{
    width:100%;
    height:100%;
    min-height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
  }
  .cards-scroll .card-wrap .card-body{
    grid-area:body;
    display:flex;
    flex-direction:column;
    flex:1;
    min-width:0;
    min-height:0;
    height:auto;
    padding:8px 10px 4px;
    gap:4px;
  }
  .cards-scroll .card-wrap > .listing-card-bottom{
    grid-area:footer;
    align-self:end;
    padding:0 10px 10px;
    margin-top:0;
    min-width:0;
    width:100%;
    box-sizing:border-box;
  }
  .cards-scroll .card-list-overline--body{
    display:none!important;
  }
  .cards-scroll .card-title{
    font-size:14px;
    line-height:1.28;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-top:auto;
    margin-bottom:auto;
    min-height:0;
  }
  .cards-scroll .card-media .card-badges--media,
  .cards-scroll .card-media .card-list-overline--media{display:none!important}
  .cards-scroll .card-wrap > .listing-card-bottom .card-footer{
    padding-top:8px;
    gap:6px;
    border-top:none;
  }
  .cards-scroll .card-footer .card-price{
    font-size:15px;
  }
}

/* ════════════════ BUTTONS ════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:25px;font-family:'Nunito',sans-serif;font-weight:700;font-size:13px;line-height:1;padding:9px 20px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;border:none}
.btn-external-action{gap:8px}
.btn-external-action__icon{font-size:15px;line-height:1;opacity:.92;flex-shrink:0}
.btn-teal{background:var(--teal);color:white}
.btn-teal:hover{background:var(--teal-dk)}
.btn-coral{background:var(--coral);color:white}
.btn-coral:hover{background:var(--primary-hover)}
.btn-outline{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
.btn-outline:hover{background:var(--teal);color:white}
.btn-sm{font-size:12px;padding:7px 16px}
.btn-lg{font-size:14px;padding:12px 28px}
.btn-full{width:100%;display:flex}
.btn-promo{display:inline-flex;align-items:center;justify-content:center;line-height:1;background:white;color:var(--teal);border-radius:25px;padding:11px 28px;font-family:'Nunito',sans-serif;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.4px;transition:opacity .2s}
.btn-promo:hover{opacity:.9}
/* ── Mobile touch target baseline ── */
.btn,
.btn-nav-login,
.btn-nav-premium,
.btn-nav-cta,
.form-input,
.form-select,
.form-textarea{
  min-height:44px;
}
/* Nav-Zeilen: etwas höher (WCAG-komfortabler), separat wegen Kaskade zu .mobile-menu */
.mobile-menu > a:not(.mob-cta),
.mobile-menu .mob-cta{
  min-height:48px;
}

/* ════════════════ DETAIL ════════════════ */
.detail-wrap{width:100%;max-width:1100px;min-width:0;margin:0 auto;padding:24px 16px 56px;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.detail-wrap>*{min-width:0;max-width:100%}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-weight:600;font-size:13px;margin-bottom:18px;transition:gap .2s}
.back-link:hover{gap:10px}
/* Zurück-Link sitzt als direktes Grid-Kind über beiden Spalten, damit Inhalt + Sidebar korrekt umbrechen. */
.detail-wrap>.back-link{grid-column:1/-1;justify-self:start;margin-bottom:0}
.detail-gallery{width:100%;max-width:100%;height:300px;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.08);background:#fff}
.detail-gallery img{width:100%;max-width:100%;height:100%;object-fit:contain;display:block}
.detail-gallery-grid{display:flex;flex-direction:column;gap:10px}
.gallery-main{width:100%;max-width:100%;height:300px;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.08);background:#fff}
.gallery-main img{width:100%;max-width:100%;height:100%;object-fit:contain;display:block}
.gallery-main img[src*="listing-placeholder"]{object-fit:cover;background:var(--cream)}
.img-lightbox{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.82);cursor:zoom-out}
.img-lightbox[hidden]{display:none}
.img-lightbox-img{max-width:95vw;max-height:92vh;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.5);cursor:zoom-out;background:#fff}
.img-lightbox-close{position:absolute;top:18px;right:18px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:rgba(255,255,255,.15);color:#fff;cursor:pointer;transition:background .15s}
.img-lightbox-close:hover{background:rgba(255,255,255,.3)}
/* Thumbnail-Slider: max. 3 sichtbar, weitere per horizontalem Scrollen */
.gallery-slider{display:flex;align-items:center;gap:8px}
.gallery-thumbs-viewport{flex:1;min-width:0;overflow:hidden}
.gallery-thumbs{display:flex;gap:8px;transition:transform .3s ease}
.gallery-thumbs .gallery-thumb{flex:0 0 calc((100% - 2 * 8px) / 3)}
.gallery-slider-nav{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:var(--white);color:var(--text);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.08);transition:background .15s,color .15s,opacity .15s}
.gallery-slider-nav:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.gallery-slider-nav[hidden]{display:none}
.gallery-slider-nav:disabled{opacity:.35;cursor:default;background:var(--white);color:var(--text);border-color:var(--border)}
.gallery-thumb{height:84px;border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .15s;padding:0;background:#fff}
.gallery-thumb.is-active{border-color:var(--teal)}
.gallery-thumb img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .2s}
.gallery-thumb:hover img{opacity:.92}
.detail-card{background:var(--white);border-radius:18px;padding:26px;box-shadow:var(--shadow-warm-sm);border:1px solid var(--border);min-width:0;overflow-wrap:anywhere}
.detail-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:23px;line-height:1.25;margin:12px 0 8px;overflow-wrap:anywhere;word-break:break-word}
.detail-price{font-family:'Nunito',sans-serif;font-weight:800;font-size:26px;color:var(--teal);margin-bottom:14px;overflow-wrap:anywhere}
.detail-price-sub{font-size:14px;font-weight:400;color:var(--muted)}
.detail-price-strike{font-size:14px;font-weight:400;color:var(--muted);text-decoration:line-through;margin-left:6px}
.detail-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);margin-bottom:18px}
.detail-meta span{display:inline-flex;align-items:center;gap:6px;background:var(--surface-muted);padding:6px 12px;border-radius:9px;font-weight:600}
.listing-owner-stats{
  display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:18px;padding-top:14px;
  border-top:1px solid var(--border);font-size:12px;color:var(--muted)
}
.listing-owner-stats__item{display:inline-flex;align-items:baseline;gap:5px}
.listing-owner-stats__label{font-weight:700;color:var(--ink,#2b2b2b)}
.listing-owner-stats__value{font-weight:600}
.listing-owner-stats__item--premium{font-weight:600}
.listing-owner-stats__premium-link{
  color:var(--teal);font-weight:700;text-decoration:underline;text-underline-offset:2px
}
.listing-owner-stats__premium-link:hover{color:var(--teal-dark,var(--teal))}
.detail-desc{font-size:14.5px;color:var(--text);line-height:1.8;margin-bottom:4px;overflow-wrap:anywhere;word-break:break-word}
.section-label{font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text);padding:18px 0 12px;border-top:1px solid var(--border);margin-top:20px}
.info-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}
.info-item{background:var(--surface-muted);border-radius:12px;padding:12px 16px;border:1px solid var(--border)}
.info-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:4px}
.info-value{font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;color:var(--text)}

/* Kompakte Detail-Fakten (gruppiert, Definitionsliste) */
.detail-facts{display:flex;flex-direction:column;gap:14px;margin-bottom:8px}
.detail-facts__group{
  background:var(--surface-muted);
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
}
.detail-facts__group--emphasis{
  background:#fff;
  border-color:rgba(var(--primary-rgb),0.22);
  box-shadow:inset 3px 0 0 0 var(--coral);
}
.detail-facts__heading{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:11px;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:8px;
}
.detail-facts__list{margin:0;padding:0}
.detail-facts__row{
  display:grid;
  grid-template-columns:minmax(7.5rem,34%) 1fr;
  gap:8px 14px;
  padding:7px 0;
  border-top:1px solid rgba(0,0,0,.06);
}
.detail-facts__row:first-child{border-top:none;padding-top:0}
.detail-facts__row:last-child{padding-bottom:0}
.detail-facts__row dt{
  margin:0;
  font-size:12px;
  font-weight:700;
  color:var(--muted);
  line-height:1.4;
}
.detail-facts__row dd{
  margin:0;
  font-family:'Nunito',sans-serif;
  font-size:14px;
  font-weight:700;
  color:var(--text);
  line-height:1.45;
  overflow-wrap:anywhere;
}
@media(max-width:480px){
  .detail-facts__row{grid-template-columns:1fr;gap:2px}
  .detail-facts__row dt{font-size:11px;text-transform:uppercase;letter-spacing:.4px}
}
.checklist{list-style:none;display:flex;flex-direction:column;gap:8px}
.checklist li{display:flex;gap:9px;font-size:13px;align-items:flex-start}
.checklist li::before{content:'✓';color:var(--teal);font-size:15px;line-height:1.2;flex-shrink:0}
.features-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}
.feature-item{background:var(--surface-muted);border-radius:10px;padding:11px 14px;font-size:13px;display:flex;gap:8px;align-items:center;border:1px solid var(--border)}

/* Sidebar */
.sidebar-card{background:var(--white);border-radius:18px;padding:22px;box-shadow:var(--shadow-warm-sm);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}
.sidebar-sticky{position:sticky;top:74px;display:flex;flex-direction:column;gap:16px}
.contact-price{font-family:'Nunito',sans-serif;font-weight:800;font-size:24px;color:var(--teal);margin-bottom:4px;overflow-wrap:anywhere}
.contact-sub{font-size:12px;color:var(--muted);margin-bottom:16px}
.info-box{border-radius:10px;padding:12px 14px;font-size:13px;display:flex;gap:10px;margin-bottom:12px;align-items:flex-start}
.info-box-teal{background:var(--teal-lt)}
.info-box-amber{background:var(--amber-lt);border:1px solid var(--amber-br);color:var(--amber-tx);font-size:12px}
.info-box-warn{background:#fff4e0;border:1px solid #f0c060;color:#7a4a00;font-size:12px}
.info-box-icon{font-size:18px;flex-shrink:0}
.provider-header{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:14px}
.provider-header:last-child{padding-bottom:0;border-bottom:none;margin-bottom:0}
.sidebar-card > .section-label:first-child{padding-top:0;border-top:none;margin-top:0}
.provider-avatar-link{display:inline-flex;flex-shrink:0;text-decoration:none}
.provider-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--teal-lt);display:flex;align-items:center;justify-content:center;font-size:22px}
.provider-avatar,
.profile-avatar-lg,
.profile-settings-avatar__img,
.provider-profile-avatar,
.detail-chat-avatar,
.nav-profile-initial,
.nav-avatar,
.e4p-inbox-row-avatar,
.e4p-msg-avatar,
.profile-msg-avatar{
  border:none;
  box-shadow:0 0 10px rgba(95,58,22,.14);
}
.provider-avatar .e4p-avatar-img,
.profile-avatar-lg .e4p-avatar-img,
.provider-profile-avatar .e4p-avatar-img,
.detail-chat-avatar .e4p-avatar-img,
.nav-profile-initial .e4p-avatar-img,
.profile-settings-avatar__img .e4p-avatar-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:none;
  outline:none;
  box-shadow:none;
}
.provider-avatar.e4p-avatar--photo,
.profile-avatar-lg.e4p-avatar--photo,
.provider-profile-avatar.e4p-avatar--photo,
.detail-chat-avatar.e4p-avatar--photo,
.nav-profile-initial.e4p-avatar--photo,
.profile-settings-avatar__img.e4p-avatar--photo,
.e4p-inbox-row-avatar.e4p-avatar--photo,
.e4p-msg-avatar.e4p-avatar--photo{
  position:relative;
  overflow:hidden;
  padding:0;
  background:#fff;
}
.provider-avatar.e4p-avatar--photo .e4p-avatar-img,
.profile-avatar-lg.e4p-avatar--photo .e4p-avatar-img,
.provider-profile-avatar.e4p-avatar--photo .e4p-avatar-img,
.detail-chat-avatar.e4p-avatar--photo .e4p-avatar-img,
.nav-profile-initial.e4p-avatar--photo .e4p-avatar-img,
.profile-settings-avatar__img.e4p-avatar--photo .e4p-avatar-img,
.e4p-inbox-row-avatar .e4p-inbox-avatar-img,
.e4p-msg-avatar .e4p-inbox-avatar-img{
  border-radius:0;
}
.provider-avatar .e4p-avatar-fallback,
.profile-avatar-lg .e4p-avatar-fallback,
.provider-profile-avatar .e4p-avatar-fallback,
.detail-chat-avatar .e4p-avatar-fallback,
.nav-profile-initial .e4p-avatar-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Nunito',sans-serif;font-weight:800
}
.provider-avatar .e4p-avatar-fallback{font-size:22px;color:var(--teal)}
.profile-avatar-lg .e4p-avatar-fallback{font-size:28px;color:#fff}
.provider-profile-avatar .e4p-avatar-fallback{font-size:32px;color:#fff;background:var(--teal)}
.detail-chat-avatar .e4p-avatar-fallback{font-size:16px;color:#fff}
.nav-profile-initial .e4p-avatar-fallback{font-size:13px;color:#fff}
.provider-name{font-family:'Nunito',sans-serif;font-weight:700;font-size:15px}
.provider-role{font-size:12px;color:var(--muted)}
.provider-identity{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:2px 0 4px}
.provider-identity__badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.provider-identity__partner-link{font-size:12px;font-weight:700;color:var(--teal);text-decoration:none}
.provider-identity__partner-link:hover{text-decoration:underline}
.provider-identity--compact{margin:2px 0 2px}
.provider-identity--compact .provider-identity__badges .badge{font-size:9px;padding:2px 8px}
.provider-since{font-size:12px;color:var(--muted);margin-top:2px}
.stats-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px}
.stat-box{background:var(--surface-muted);border-radius:8px;padding:8px 12px;text-align:center}
.stat-val{font-family:'Nunito',sans-serif;font-weight:800;font-size:16px;color:var(--teal)}
.stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.price-table{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:16px}
.price-table-head{display:grid;grid-template-columns:1fr auto;padding:10px 14px;background:var(--teal);color:white;font-family:'Nunito',sans-serif;font-weight:700;font-size:12px;text-transform:uppercase}
.price-table-row{display:grid;grid-template-columns:1fr auto;padding:10px 14px;font-size:13px;border-bottom:1px solid var(--border)}
.price-table-row:last-child{border-bottom:none}
.price-table-row:nth-child(even){background:var(--surface-muted)}
.price-table-row strong{font-weight:700}
.similar-card{display:flex;border-radius:10px;padding:10px;gap:10px;align-items:center;background:var(--white);box-shadow:0 1px 4px rgba(0,0,0,.07);transition:transform .2s,box-shadow .2s}
.similar-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.similar-card-img{width:60px;height:50px;object-fit:cover;border-radius:8px;flex-shrink:0}
.similar-card-title{font-family:'Nunito',sans-serif;font-weight:700;font-size:13px;line-height:1.3}
.similar-card-price{font-size:11px;color:var(--teal);font-weight:700}
.similar-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:12px}
.similar-list{display:flex;flex-direction:column;gap:8px}
.seller-meta{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-top:8px}
.seller-verified{color:var(--teal)}
.share-row{display:flex;gap:8px;margin-top:2px}
.share-row .btn{flex:1;font-size:12px;padding:9px 8px}
/* Inserat melden (dezenter Trigger + Modal) */
.listing-report-bar{grid-column:1/-1;display:flex;flex-direction:column;gap:10px;align-items:center;margin-top:4px;padding-top:18px;border-top:1px solid var(--border,#ececec)}
.listing-report-confirm{width:100%;max-width:520px}
.listing-report-trigger{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:4px 2px;font-size:12.5px;line-height:1.2;color:var(--text-muted,#8a8f98);cursor:pointer;border-radius:6px;transition:color .15s;text-decoration:none}
.listing-report-trigger svg{flex:0 0 auto;opacity:.8}
.listing-report-trigger:hover{color:var(--coral,#e2603f)}
.listing-report-trigger:focus-visible{outline:2px solid var(--coral,#e2603f);outline-offset:2px}

.listing-report-modal{position:fixed;inset:0;z-index:9600;display:flex;align-items:center;justify-content:center;padding:24px}
.listing-report-modal[hidden]{display:none}
.listing-report-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(1px)}
.listing-report-modal-panel{position:relative;width:100%;max-width:420px;max-height:92vh;overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.28);padding:22px 22px 20px}
.listing-report-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.listing-report-modal-title{margin:0;font-size:18px;font-weight:700;color:var(--text,#1f2328)}
.listing-report-modal-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border:none;border-radius:50%;background:#f1f2f4;color:#5a6068;cursor:pointer;transition:background .15s,color .15s}
.listing-report-modal-close:hover{background:#e4e6e9;color:#1f2328}
.listing-report-modal-intro{margin:0 0 14px;font-size:13px;line-height:1.45;color:var(--text-muted,#6b7280)}
.listing-report-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}

.listing-report-form{display:flex;flex-direction:column;gap:4px}
.listing-report-form .form-label{margin:12px 0 4px}
.listing-report-form .form-label:first-of-type{margin-top:0}
.listing-report-form .form-textarea{min-height:84px}

/* Detail: Chat-Modal — alle Breiten, Safe Area, dynamische Viewport-Höhe */
#chat-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:9000;
  box-sizing:border-box;
  overscroll-behavior:contain;
  padding:
    max(8px, env(safe-area-inset-top, 0px))
    max(10px, env(safe-area-inset-right, 0px))
    max(8px, env(safe-area-inset-bottom, 0px))
    max(10px, env(safe-area-inset-left, 0px));
  background:rgba(0,0,0,.45);
  -webkit-overflow-scrolling:touch;
}
#chat-overlay.open{
  display:flex !important;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
}
#chat-modal{
  width:min(520px, 100%);
  max-width:100%;
  flex:0 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  background:var(--white);
  border-radius:20px 20px 0 0;
  box-shadow:0 -4px 32px rgba(0,0,0,.18);
  overflow:hidden;
  max-height:min(82vh,560px,calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 20px));
}
@supports (height:100svh){
  #chat-modal{
    max-height:min(82svh,560px,calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 20px));
  }
}
@supports (height:100dvh){
  #chat-modal{
    max-height:min(82dvh,560px,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 20px));
  }
}
/* Mobile/Tablet-Portrait: randloses Bottom-Sheet, Nachrichten unten an der Eingabe */
@media (max-width:767px){
  #chat-overlay.open{
    padding:0;
    align-items:stretch;
    justify-content:flex-end;
  }
  #chat-modal{
    width:100%;
    max-width:none;
    border-radius:18px 18px 0 0;
    height:min(78dvh,640px);
    max-height:100%;
    min-height:min(62dvh,520px);
    box-shadow:0 -8px 28px rgba(0,0,0,.2);
  }
  @supports not (height:1dvh){
    #chat-modal{
      height:min(78vh,640px);
      min-height:min(62vh,520px);
    }
  }
  #chat-overlay.chat-overlay--keyboard{
    padding:0;
  }
  #chat-overlay.chat-overlay--keyboard #chat-modal{
    height:100%;
    max-height:100%;
    min-height:0;
    border-radius:14px 14px 0 0;
  }
  #chat-messages.detail-chat-messages{
    min-height:0;
    flex:1 1 auto;
  }
  .detail-chat-foot{
    padding:10px 12px max(10px, env(safe-area-inset-bottom, 0px));
  }
}
/* Sehr schmale Phones: etwas kompakter */
@media (max-width:479px){
  #chat-modal{
    height:min(76dvh,600px);
    min-height:min(58dvh,480px);
  }
}
.detail-chat-head{
  background:var(--teal);
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
.detail-chat-avatar{
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:16px;
  color:#fff;
  flex-shrink:0;
}
.detail-chat-head-text{flex:1;min-width:0}
.detail-chat-head-name{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:15px;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.detail-chat-head-sub{font-size:11px;color:rgba(255,255,255,.85);margin-top:1px}
.detail-chat-close{
  background:rgba(255,255,255,.2);
  border:none;
  border-radius:50%;
  width:36px;
  height:36px;
  min-width:36px;
  cursor:pointer;
  color:#fff;
  font-size:18px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.detail-chat-close:hover{background:rgba(255,255,255,.32)}
#chat-messages.detail-chat-messages{
  flex:1;
  min-height:120px;
  overflow-y:auto;
  overflow-x:hidden;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:var(--cream);
  -webkit-overflow-scrolling:touch;
}
/* Chronologisch oben→unten; wenige Bubbles an der Eingabe (unten) */
#chat-messages.detail-chat-messages::before{
  content:"";
  flex:1 0 0;
  min-height:0;
}
.detail-chat-day-label{text-align:center;font-size:11px;color:var(--muted);padding:4px 0;flex-shrink:0}
.detail-chat-foot{
  padding:12px 14px;
  border-top:1px solid var(--border);
  background:var(--white);
  flex-shrink:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-end;
}
#chat-status-line{flex-basis:100%;width:100%;margin:0}
.detail-chat-captcha-wrap{
  flex-basis:100%;
  width:100%;
}
.detail-chat-foot--captcha .detail-chat-captcha-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:78px;
  padding:4px 0 8px;
}
.detail-chat-foot--captcha #chat-status-line:not(.u-hidden){
  margin-bottom:4px;
}
.detail-chat-foot .e4p-hcaptcha-host{
  flex-basis:100%;
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
}
.detail-chat-compose-row{
  display:flex;
  flex:1 1 auto;
  gap:8px;
  align-items:flex-end;
  min-width:0;
  width:100%;
}
.kontakt-hcaptcha-group .e4p-hcaptcha-host{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  margin:0;
  max-width:100%;
  overflow:auto;
}
.kontakt-hcaptcha-group .e4p-hcaptcha-host > div{
  margin:0 !important;
}
.kontakt-hcaptcha-err{
  margin-top:8px;
  font-size:13px;
  color:var(--coral);
}
.form-page .form-card .kontakt-hcaptcha-group{
  margin-bottom:20px;
}
.detail-chat-input{
  flex:1;
  min-width:0;
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 14px;
  font-family:inherit;
  font-size:16px; /* verhindert iOS-Zoom, wirkt auf Android ruhiger */
  resize:none;
  outline:none;
  max-height:100px;
  min-height:44px;
  line-height:1.4;
  transition:border-color .2s;
  background:var(--cream);
  overflow:hidden !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
.detail-chat-input::-webkit-scrollbar{
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:transparent !important;
}
.detail-chat-input:focus{border-color:var(--border);box-shadow:0 0 0 2px rgba(0,0,0,.04)}
.detail-chat-input.detail-chat-input--invalid,
.detail-chat-input.detail-chat-input--invalid:focus{border-color:var(--coral);box-shadow:0 0 0 2px rgba(230,93,74,.14)}
.detail-chat-send{
  background:var(--teal);
  border:none;
  border-radius:50%;
  width:40px;
  height:40px;
  min-width:40px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:background .2s;
}
.detail-chat-send:hover{background:var(--teal-dk)}
.detail-chat-send:disabled{opacity:.5;cursor:not-allowed}
.chat-bubble{max-width:82%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.45;word-break:break-word}
.chat-bubble-provider{background:#fff;color:var(--text);border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.chat-bubble-user{background:var(--teal);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.chat-bubble-typing{background:#fff;color:var(--muted);border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.chat-typing-dots span{display:inline-block;width:6px;height:6px;background:var(--muted);border-radius:50%;margin:0 2px;animation:chatdot 1.2s infinite}
.chat-typing-dots span:nth-child(2){animation-delay:.2s}
.chat-typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes chatdot{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}

@media (min-width:768px){
  #chat-overlay.open{
    justify-content:center;
    align-items:center;
    padding:
      max(16px, env(safe-area-inset-top, 0px))
      max(20px, env(safe-area-inset-right, 0px))
      max(16px, env(safe-area-inset-bottom, 0px))
      max(20px, env(safe-area-inset-left, 0px));
  }
  #chat-modal{
    border-radius:20px;
    min-height:460px;
    max-height:min(70vh,600px,calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 40px));
  }
}
@supports (height:100svh){
  @media (min-width:768px){
    #chat-modal{
      max-height:min(70svh,600px,calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 40px));
    }
  }
}
@supports (height:100dvh){
  @media (min-width:768px){
    #chat-modal{
      max-height:min(70dvh,600px,calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 40px));
    }
  }
}

@media (min-width:768px){
  #chat-modal{width:min(520px,calc(100vw - 40px))}
}

/* ════════════════ TIERSCHUTZ ════════════════ */
.adopt-badge{display:inline-flex;align-items:center;gap:5px;background:var(--coral-lt);color:var(--coral);border-radius:20px;padding:4px 12px;font-family:'Nunito',sans-serif;font-weight:700;font-size:11px}
.trait-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.trait{background:var(--surface-muted);border:1px solid var(--border);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}
.progress-wrap{background:var(--cream);border-radius:8px;height:8px;overflow:hidden;margin-top:4px}
.progress-bar{height:100%;background:var(--teal);border-radius:8px;transition:width .6s}
.progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:4px}
.paten-banner{background:linear-gradient(135deg,#fdf5e8 0%,#f5ece0 100%);border-radius:16px;padding:24px 20px;margin-bottom:28px}
.paten-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.paten-desc{font-size:13px;color:var(--muted);margin-bottom:16px;max-width:500px;line-height:1.6}
.adopt-grid{display:flex;flex-wrap:wrap;gap:16px}

.adopt-card{width:100%;flex-shrink:0;background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;color:inherit;min-width:0;text-decoration:none}
.adopt-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.adopt-card-img{width:100%;height:200px;object-fit:cover;flex-shrink:0;display:block}
.adopt-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.adopt-card-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px}
.adopt-name{font-family:'Nunito',sans-serif;font-weight:800;font-size:18px}
.adopt-footer{display:flex;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border);flex-wrap:wrap}
.shelter-grid{display:grid;grid-template-columns:1fr;gap:10px}
.shelter-card{background:var(--white);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 4px rgba(0,0,0,.07);transition:transform .2s,box-shadow .2s;color:inherit}
.shelter-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.shelter-icon{width:48px;height:48px;border-radius:10px;background:var(--teal-lt);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.shelter-info{flex:1}
.shelter-name{font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;margin-bottom:2px}
.shelter-meta{font-size:12px;color:var(--muted)}
.shelter-arrow{color:var(--teal);flex-shrink:0}
.shelter-section-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:14px;margin-top:48px}

/* ════════════════ EMPTY STATE ════════════════ */
.empty-state{text-align:center;padding:60px 20px;display:none}
.empty-state.show{display:block}
.empty-icon{font-size:48px;margin-bottom:12px}
.empty-state h3{font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;margin-bottom:8px}
.empty-state p{color:var(--muted);font-size:14px}

/* ════════════════ PROMO BANNER ════════════════ */
.promo-banner{background:linear-gradient(135deg,var(--teal) 0%,var(--teal-dk) 100%);border-radius:16px;padding:28px 24px;margin-top:40px;text-align:center;color:white}
.promo-banner h3{font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;margin-bottom:8px}
.promo-banner p{font-size:13px;opacity:.85;margin-bottom:18px;max-width:400px;margin-left:auto;margin-right:auto}

/* Gast-Registrierungs-Banner */
.site-cta-banner{background:transparent;padding:28px 16px 36px}
.site-cta-banner__inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:24px 28px;box-shadow:var(--shadow-warm-sm)}
.site-cta-banner__text{flex:1 1 320px}
.site-cta-banner__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:22px;color:var(--ink,#2b2b2b);margin:0 0 6px}
.site-cta-banner__desc{font-size:14px;color:var(--muted);margin:0;max-width:560px}
.site-cta-banner__btn{flex-shrink:0;white-space:nowrap}
.site-cta-banner--home{
  background:transparent;
  max-width:1360px;
  width:100%;
  margin:0 auto;
  padding:0;
  border-bottom:none;
  box-sizing:border-box;
}
.listing-page > .site-cta-banner--home,
.detail-wrap > .site-cta-banner--home{
  max-width:none;
  width:100%;
  margin:0 0 16px;
  padding:0;
}
.detail-wrap > .site-cta-banner--home{grid-column:1/-1}
.site-cta-banner--home .site-cta-banner__inner{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(197,90,0,.14);
  border-radius:14px;
  padding:16px 22px;
  box-shadow:none;
  gap:14px 24px;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  position:relative;
  overflow:visible;
  max-width:none;
  width:100%;
  margin:0;
  box-sizing:border-box;
}
.home-hub-block{
  width:100%;
  margin:0 0 8px;
}
.home-hub-block .home-hub-stats{margin-bottom:0}
.home-hub-block .site-cta-banner--home{
  margin-top:10px;
}
.site-cta-banner--home .site-cta-banner__inner::before{display:none}
.site-cta-banner--home .site-cta-banner__text{flex:1 1 auto;width:auto;max-width:none}
.site-cta-banner--home .site-cta-banner__title{
  font-size:17px;
  margin-bottom:4px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  color:var(--text);
}
.site-cta-banner--home .site-cta-banner__icon{color:var(--coral);font-size:15px;line-height:1}
.site-cta-banner--home .site-cta-banner__desc{font-size:13px;line-height:1.45;max-width:none;color:var(--muted);margin:0}
.site-cta-banner--home .site-cta-banner__desc-sub{display:block;margin-top:2px;color:var(--text);font-weight:700}
.site-cta-banner--home .site-cta-banner__btn{
  box-shadow:none;
  width:auto;
  min-width:200px;
  flex-shrink:0;
}
.site-cta-banner--premium .site-cta-banner__inner{border-color:var(--gold);background:linear-gradient(135deg,#fffaf0,#fff5dd)}
.site-cta-banner--upsell-inline{background:transparent;padding:0;margin-bottom:16px}
.site-cta-banner--upsell-inline .site-cta-banner__inner{padding:16px 18px;border-radius:12px;gap:16px}
.site-cta-banner--upsell-footer{margin-bottom:0;padding-bottom:28px}
.site-cta-banner__star{color:#e0a020}
/* Kompakter Auth-Hinweis (Formularbreite, unter dem Formular) */
.site-cta-banner--auth{background:transparent;padding:0 16px 48px;max-width:680px;width:100%;margin:-32px auto 0}
.site-cta-banner--auth .site-cta-banner__inner{padding:14px 16px;border-radius:12px;gap:12px;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.site-cta-banner--auth .site-cta-banner__title{font-size:14px;margin:0 0 4px;display:flex;align-items:center;gap:6px}
.site-cta-banner--auth .site-cta-banner__desc{font-size:12px;line-height:1.45;margin:0;max-width:none}
.site-cta-banner--auth .site-cta-banner__text{flex:1 1 200px}
.btn-gold{background:linear-gradient(135deg,#f6c34b,#e0a020);border:1px solid #d9971a;color:#4d3400}
.btn-gold:hover{background:linear-gradient(135deg,#f3bb38,#d4920f);color:#3d2900}
@media(max-width:600px){
  .site-cta-banner__inner{flex-direction:column;align-items:stretch;text-align:center}
  .site-cta-banner__text{flex:none}
  .site-cta-banner__desc{margin-left:auto;margin-right:auto}
  .site-cta-banner__btn{width:100%}
  .site-cta-banner--home{padding:0;margin:0}
  .listing-page > .site-cta-banner--home,
  .detail-wrap > .site-cta-banner--home{padding:0;margin:0 0 14px}
  .home-hub-block .site-cta-banner--home{margin-top:10px}
  .site-cta-banner--home .site-cta-banner__title{font-size:16px;justify-content:center}
  .site-cta-banner--home .site-cta-banner__inner{
    padding:14px 16px;
    flex-direction:column;
    align-items:stretch;
    text-align:center;
  }
  .site-cta-banner--home .site-cta-banner__text{text-align:center}
  .site-cta-banner--home .site-cta-banner__btn{width:100%;min-width:0}
  .site-cta-banner--auth{margin-top:-24px;padding-bottom:40px}
  .site-cta-banner--auth .site-cta-banner__title{justify-content:center}
}

/* ════════════════ FORM ════════════════ */
.form-page{max-width:680px;width:100%;margin:0 auto;padding:24px 16px 56px}
.form-page--inserat{padding-top:12px}
.form-page--inserat .step-indicator{
  margin-bottom:24px;
  padding:4px 0 2px;
}
.form-page--inserat .step-content.active > .form-title{font-size:22px;line-height:1.25;margin-bottom:6px}
.form-page--inserat .step-content.active > .form-subtitle{margin-bottom:18px;line-height:1.45}

/* ── Inserat bearbeiten ── */
.form-page--edit-listing{padding-top:12px}
.form-page--edit-listing .back-link{margin-bottom:16px}
.form-page--edit-listing .form-card{padding:28px 24px 24px}
.form-page--edit-listing .edit-listing-head{margin-bottom:4px}
.form-page--edit-listing .edit-listing-head .form-title{font-size:22px;line-height:1.25;margin-bottom:6px}
.form-page--edit-listing .edit-listing-head .form-subtitle{margin-bottom:0;line-height:1.45}
.form-page--edit-listing .edit-listing-view{margin:10px 0 0;font-size:13px}
.form-page--edit-listing .edit-listing-form{display:flex;flex-direction:column;gap:0}
.form-page--edit-listing .edit-listing-section{padding-top:22px;margin-top:22px;border-top:1px solid var(--border-soft)}
.form-page--edit-listing .edit-listing-section:first-of-type{margin-top:0;padding-top:0;border-top:none}
.form-page--edit-listing .edit-listing-section-title{font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.form-page--edit-listing .edit-listing-textarea{min-height:180px}
.form-page--edit-listing .edit-listing-nav{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-soft)}
.form-page--edit-listing .form-err--nav{margin-top:20px;margin-bottom:0}
.form-page--edit-listing .form-err--nav.show{margin-bottom:14px}
.form-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:28px 22px;box-shadow:var(--shadow-warm-md)}
/* In Karten: neutrale weiße Felder — sonst verschmelzen sie mit dem Seiten-Verlauf */
.form-card .form-input,
.form-card .form-select,
.form-card .form-textarea,
.form-card .rte-toolbar{background:var(--white);border-color:#ddd5cc}
.form-card .rte-editor{border:1.5px solid #ddd5cc;border-top:none}
.form-card .cat-card{background:var(--white)}
.form-card .cat-card.selected{background:var(--teal-lt)}
.form-card .upload-area{background:var(--white)}
.form-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:20px;margin-bottom:4px}
.form-subtitle{color:var(--muted);font-size:13px;margin-bottom:22px}
.form-group{margin-bottom:18px}
.form-label{display:block;font-family:'Nunito',sans-serif;font-weight:700;font-size:13px;margin-bottom:7px}
.form-label em{color:var(--coral);font-style:normal;margin-left:2px}
.form-hint{font-size:11px;color:var(--muted);margin-top:8px}
.form-hint--with-action{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.form-hint-action{
  display:inline;
  margin:0;
  padding:0;
  border:none;
  background:none;
  font:inherit;
  font-size:inherit;
  font-weight:700;
  color:var(--teal);
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px
}
.form-hint-action:hover{color:var(--teal-dk,var(--teal))}
.form-hint-action:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:3px}
.listing-buy-native-hint{text-align:center;margin:6px 0 0;font-style:italic}
.price-native-hint{font-size:0.72em;font-weight:500;color:var(--muted);margin-left:2px;white-space:nowrap}
.card-price .price-native-hint{font-size:0.7em}
.detail-price .price-native-hint,.contact-price .price-native-hint{font-size:0.6em;vertical-align:middle}
.form-page .form-card form{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:22px;
}
.form-page .form-card form > .btn{margin-top:4px}
.form-page .form-card#login-card .form-group{margin-bottom:0}
.form-input,.form-select,.form-textarea{width:100%;background:var(--surface-muted);border:1.5px solid var(--border);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:14px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(var(--primary-rgb),0.12)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--muted)}
.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.55;cursor:not-allowed;background:var(--border)}
.form-input.form-input--readonly,.form-input[readonly]{opacity:.85;cursor:default;background:var(--border)}
.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-input--invalid,.form-select--invalid{border-color:var(--coral)!important;box-shadow:0 0 0 2px rgba(230,93,74,.14)!important}
.form-field-error{margin-top:6px;font-size:12px;color:var(--coral);font-weight:700}
.form-error-banner{margin-top:14px;padding:12px 14px;font-size:14px;border:1px solid var(--coral);border-radius:10px;background:rgba(230,93,74,.08);animation:form-agb-shake .4s ease}
/* Inserat: gefilterte Unterkategorien-Optionen (anderer Bereich) wirklich ausblenden */
#f-subcat option[data-bereich][hidden]{display:none!important}
.form-textarea{resize:vertical;min-height:110px}
/* ── Inserat: Mini-Editor (RTE) für die Beschreibung ── */
.rte-toolbar{display:flex;align-items:center;gap:6px;padding:7px 9px;background:var(--surface-muted);border:1.5px solid var(--border);border-bottom:1px solid var(--border);border-radius:10px 10px 0 0}
.rte-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;background:var(--white);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:'Nunito',sans-serif;font-size:14px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.rte-btn strong,.rte-btn em,.rte-btn u{font-style:inherit;font-weight:inherit;text-decoration:inherit;pointer-events:none}
.rte-btn em{font-style:italic}
.rte-btn u{text-decoration:underline}
.rte-btn:hover{border-color:var(--teal);color:var(--teal)}
.rte-btn.is-active{background:var(--teal);border-color:var(--teal);color:#fff}
.rte-btn:disabled,.rte-btn[aria-disabled="true"]{opacity:.45}
.rte-btn:disabled:hover,.rte-btn[aria-disabled="true"]:hover{border-color:var(--border);color:var(--text)}
.rte-btn-host{position:relative;display:inline-flex}
.rte-toolbar:not(.rte-toolbar--locked) .rte-btn-host{display:contents}
.rte-toolbar:not(.rte-toolbar--locked) .rte-btn-tip{display:none}
.rte-btn-tip{
  position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);
  display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:8px;
  background:rgba(26,26,26,.96);color:#fff;font-family:'Nunito Sans',sans-serif;font-size:12px;font-weight:600;line-height:1.2;
  white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;z-index:20;
  box-shadow:0 8px 20px rgba(0,0,0,.22)
}
.rte-btn-tip .bi{color:#f6c34b;font-size:11px;line-height:1}
.rte-toolbar--locked .rte-btn-host:hover .rte-btn-tip,.rte-toolbar--locked .rte-btn-host:focus-within .rte-btn-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.rte-toolbar--locked .rte-btn{cursor:default}
.rte-editor{background:var(--white);border-radius:0 0 10px 10px;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}
.rte-editor:empty::before,.rte-editor--empty::before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}
.form-row{display:grid;grid-template-columns:1fr;gap:18px}
.form-row.inserat-sub-row--single{grid-template-columns:1fr}
/* Inserat: Ort mit Autocomplete */
.form-loc{position:relative}
.form-loc-dd.search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:200;display:none;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:min(280px,40vh);overflow-y:auto;border:1px solid var(--border);background:var(--white)}
.form-loc-dd.search-dropdown.is-open{display:block}
.form-loc-dd[hidden]{display:none!important}
.form-loc-dd .search-result-item{width:100%;border:none;background:transparent;font:inherit;text-align:left;cursor:pointer}
.form-loc-dd .search-result-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.form-divider{font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);padding:16px 0 16px;border-top:1px solid var(--border);margin-top:22px}
.inserat-listing-extra-block{margin-top:4px}
.inserat-listing-extra-fields .form-group{margin-bottom:14px}
.form-check{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.45;cursor:pointer}
.form-check input[type=checkbox]{margin-top:3px;flex-shrink:0}
/* Anmelden: </form> → „Oder …“ | Registrieren: CTA-Button → „Oder …“ */
.form-page .form-card > form + .form-divider,
.form-page .form-card > button.btn + .form-divider{
  margin-top:32px;
}
.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:10px}
.form-nav-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.form-nav--step4{margin-top:18px}
.form-nav--step4 .btn{margin:0}
.step-indicator{display:flex;margin-bottom:28px;align-items:flex-start}
.step{flex:1;text-align:center;position:relative;min-width:0;padding:0 4px}
.step.step-clickable{cursor:pointer}
.step.step-clickable:not(.active) .step-num{box-shadow:0 0 0 2px rgba(var(--primary-rgb),0.12)}
.step.step-clickable:hover .step-label{color:var(--text)}
.step.step-clickable:focus-visible .step-num{outline:2px solid var(--teal);outline-offset:3px}
.step::after{
  content:'';
  position:absolute;
  top:17px;
  left:50%;
  width:100%;
  height:2px;
  background:rgba(95,58,22,.14);
  z-index:0;
  transition:background .3s;
}
.step:last-child::after{display:none}
.step.done::after{background:rgba(var(--primary-rgb),.34)}
.step-num{
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--surface-soft);
  border:2px solid rgba(197,90,0,.22);
  color:#6f5342;
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 9px;
  position:relative;
  z-index:1;
  transition:background .25s,border-color .25s,color .25s,box-shadow .25s,transform .25s;
}
.step:not(.active):not(.done) .step-num{
  background:rgba(255,250,246,.9);
  border-color:rgba(197,90,0,.26);
  color:#5f4a3a;
}
.step.active .step-num{
  background:var(--teal);
  border-color:var(--teal-dk);
  color:#fff;
  box-shadow:0 0 0 3px var(--surface-soft),0 0 0 6px rgba(var(--primary-rgb),.32);
  transform:scale(1.05);
}
.step.done .step-num{
  background:var(--surface-soft);
  border-color:var(--teal);
  color:transparent;
  font-size:0;
  transform:none;
  box-shadow:none;
}
.step.done .step-num::before{
  content:'';
  position:absolute;
  width:7px;
  height:12px;
  border:2.5px solid var(--teal-dk);
  border-top:0;
  border-left:0;
  transform:rotate(45deg) translate(-1px,-2px);
}
.step-label{
  font-size:12px;
  color:#5a4638;
  font-weight:700;
  line-height:1.3;
  transition:color .25s;
}
.step:not(.active):not(.done) .step-label{color:#5a4638}
.step.active .step-label{color:var(--text);font-weight:800}
.step.done .step-label{color:var(--text);font-weight:700}
.step-content{display:none}
.step-content.active{display:block}
.cat-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:4px}
/* Registrierung: „Ich bin…“ + Kacheln = ein Block (Label→Kacheln innen, ein Gap nach außen) */
.form-page .form-card .form-konto-block{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0;
}
.form-page .form-card .form-konto-block .form-divider--konto{
  margin-top:0;
  padding:12px 0 0;
}
/* Registrierung: Kontoart → AGB (Desktop: unter den Kacheln) */
@media(min-width:600px){
  .form-page .form-card .form-konto-block .cat-grid--kontoart{margin-bottom:0}
  .form-page .form-card .form-konto-block{margin-bottom:24px}
}
/* ── Registrieren: E-Mail-Bestätigung ── */
.reg-form-flash--card{margin:0 0 18px}
#reg-verify-wrap{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:22px;
}
#reg-verify-wrap > .form-title,
#reg-verify-wrap > .form-subtitle{margin-bottom:0}
.form-page .form-card #reg-verify-wrap .form-group{margin-bottom:0}
.reg-verify-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
}
/* Inserat: drei Kategorien gleich breit nebeneinander (ab Tablet) */
.cat-grid.cat-grid--3cols{gap:12px}
.cat-grid.cat-grid--kontoart{grid-template-columns:1fr}
@media(min-width:600px){
  .cat-grid.cat-grid--kontoart{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.cat-card{border:2px solid var(--border);border-radius:12px;padding:16px 12px;cursor:pointer;text-align:center;transition:all .2s;background:var(--surface-soft);box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
button.cat-card{display:block;width:100%;font:inherit;color:inherit}
.cat-card:hover{border-color:rgba(var(--primary-rgb),.45);background:var(--teal-lt)}
.cat-card.selected{border-color:var(--teal);background:var(--teal-lt);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.18),var(--shadow-warm-sm)}
.cat-icon{font-size:26px;margin-bottom:8px}
.cat-label{font-family:'Nunito',sans-serif;font-weight:700;font-size:13px}
.upload-area{border:2px dashed var(--border-soft);border-radius:12px;padding:28px;text-align:center;cursor:pointer;transition:all .2s;background:var(--surface-soft)}
.upload-area:hover{border-color:var(--teal);background:var(--teal-lt)}
.upload-icon{font-size:32px;margin-bottom:8px}
.upload-text{font-size:13px;color:var(--muted)}
.upload-text strong{color:var(--teal)}
.upload-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;margin-bottom:14px}
.upload-preview img{width:100%;height:80px;object-fit:cover;border-radius:8px}
.upload-item{position:relative}
.upload-area.is-uploading{opacity:.65;pointer-events:none}
.upload-item{cursor:grab}
.upload-item.is-dragging{opacity:.55;cursor:grabbing}
.upload-item.is-drop-target{outline:2px dashed var(--teal);outline-offset:2px}
.upload-item-main{position:absolute;top:6px;left:6px;background:rgba(0,0,0,.72);color:#fff;font-size:10px;font-weight:700;padding:3px 6px;border-radius:999px}
.upload-item-actions{position:absolute;right:6px;bottom:6px;display:flex;gap:4px}
.upload-action-btn{background:#fff;border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-size:11px;cursor:pointer;line-height:1}
.upload-action-btn--icon{display:inline-flex;align-items:center;justify-content:center;padding:4px;min-width:24px;min-height:24px}
.upload-action-btn--icon svg{display:block}
.upload-action-btn:disabled{opacity:.45;cursor:not-allowed}
.upload-action-btn--danger{color:var(--coral);border-color:#f2c7a3}
/* ── Inserat: eingebettete Anmeldung (Schritt 4) ── */
.inserat-auth-card{margin-bottom:2px}
.inserat-auth-tabs{display:flex;gap:0;margin:0 0 20px;border-bottom:1px solid var(--border)}
.inserat-auth-tab{flex:1;padding:10px 12px 11px;border:none;border-bottom:2px solid transparent;background:transparent;font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;margin-bottom:-1px;transition:color .2s,border-color .2s}
.inserat-auth-tab:hover{color:var(--text)}
.inserat-auth-tab.is-active{color:var(--teal);border-bottom-color:var(--teal)}
.inserat-auth-tab:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.inserat-auth-panel{padding-top:0}
#ins-auth-2fa-wrap{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:16px;
}
#ins-auth-2fa-wrap .form-group{margin-bottom:0}
.inserat-auth-2fa-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.inserat-auth-2fa-resend{margin-top:0}
.inserat-auth-logged-wrap{margin-bottom:6px}
.inserat-auth-logged-box{margin-bottom:0}
.inserat-s4-publish-block{margin-top:22px;padding-top:0;border-top:none}
.inserat-s4-publish-block .form-group:last-child{margin-bottom:0}
.inserat-s4-legal-notice{margin-top:0;line-height:1.45}
.inserat-s4-legal-notice a{color:var(--teal)}
#s4 .inserat-auth-card .form-input,
#s4 .inserat-auth-card .form-select,
#s4 .inserat-s4-publish-block .form-input{background:var(--cream);border-color:var(--border)}
#s4 .inserat-auth-card .form-input:focus,
#s4 .inserat-auth-card .form-select:focus,
#s4 .inserat-s4-publish-block .form-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(var(--primary-rgb),0.12)}
.form-nav-actions--step4{flex:1;justify-content:flex-end}
.inserat-preview-hint{margin-top:10px;margin-bottom:0;text-align:center;font-size:12px;color:var(--muted)}
.link-newtab{text-decoration:underline;text-underline-offset:2px}
.form-preview{background:var(--surface-muted);border-radius:12px;padding:16px;margin:6px 0 14px}
.form-preview-img{width:100%;max-height:180px;object-fit:cover;border-radius:10px;margin-bottom:10px}
.form-preview-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;margin-bottom:4px}
.form-preview-meta{color:var(--muted);font-size:12px;margin-bottom:8px}
.form-preview-desc{color:var(--muted);font-size:13px}
/* Nur zwei Flex-Items: Checkbox + Textblock (sonst werden Text/Links getrennt und umbrechen mobil falsch) */
.form-agb{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:13px;color:var(--muted)}
.form-agb input{margin-top:3px;flex-shrink:0;accent-color:var(--teal)}
.form-agb .form-agb-text{flex:1;min-width:0;line-height:1.45}
.form-agb-text--with-tip{display:inline;line-height:1.45}
.form-info-tip-host{display:inline-flex;align-items:center;vertical-align:middle;position:relative;margin-left:4px;top:-1px}
.form-info-tip-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:50%;cursor:pointer;font-size:14px;line-height:1}
.form-info-tip-btn:hover,.form-info-tip-btn:focus-visible{color:var(--teal);outline:none}
.form-info-tip-btn:focus-visible{box-shadow:0 0 0 2px rgba(0,128,128,.35)}
.form-info-tip-host.is-open .form-info-tip-btn{color:var(--teal)}
.form-info-tip{
  position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%) translateY(-4px);
  width:max-content;max-width:min(280px,calc(100vw - 32px));padding:8px 11px;border-radius:8px;
  background:rgba(26,26,26,.96);color:#fff;font-family:'Nunito Sans',sans-serif;font-size:12px;font-weight:600;line-height:1.4;
  white-space:normal;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;z-index:30;
  box-shadow:0 8px 20px rgba(0,0,0,.22);text-align:left
}
.form-info-tip a{color:#9ee6e6;text-decoration:underline;font-weight:700}
.form-info-tip a:hover{color:#c8f5f5}
.form-info-tip-host.is-open .form-info-tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.form-agb a{color:var(--teal)}
.form-agb--inline{display:inline-flex;align-items:center;gap:8px;width:auto}
.form-agb--inline input{margin-top:0}
.form-agb--inline .form-agb-text{flex:0 0 auto}
.form-agb--invalid{padding:10px 12px;margin:-10px -12px 8px;border-radius:10px;background:rgba(230,93,74,.08);color:var(--coral);animation:form-agb-shake .4s ease}
.form-agb--invalid .form-agb-text{color:var(--coral)}
.form-agb--invalid input{accent-color:var(--coral);outline:2px solid var(--coral);outline-offset:2px}
.inserat-checkout-modes{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.inserat-checkout-mode{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px;color:var(--text);padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--white);transition:border-color .15s,background .15s}
.inserat-checkout-mode:hover{border-color:rgba(var(--primary-rgb),.35);background:var(--teal-lt)}
.inserat-checkout-mode:has(input:checked){border-color:var(--teal);background:var(--teal-lt);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.12)}
.inserat-checkout-mode input{margin-top:2px;flex-shrink:0;accent-color:var(--teal)}
.inserat-checkout-mode__text{flex:1;min-width:0;line-height:1.45;font-weight:600}
.inserat-checkout-panel{margin-top:12px}
.inserat-checkout-panel .form-group{margin-bottom:0}
@keyframes form-agb-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
.form-err{
  display:none;
  margin-top:8px;
  padding:14px 16px;
  border:1px solid rgba(230,93,74,.28);
  border-left:4px solid var(--coral);
  border-radius:12px;
  background:#fff6f2;
  color:#9b2c1d;
  font-size:13px;
  font-weight:700;
  line-height:1.6;
  white-space:pre-line;
}
.form-err.show{display:block;margin-bottom:12px}
.form-err--nav{margin-top:20px;margin-bottom:0;scroll-margin-bottom:16px}
.form-err--nav.show{margin-bottom:14px}
.form-err--field{margin-top:8px;margin-bottom:0}

/* Passwortstärke (zxcvbn) – siehe assets/js/e4p_password_strength.js */
.e4p-pw-strength{
  display:none;
  margin-top:8px;
  margin-bottom:0;
}
.e4p-pw-strength.e4p-pw-strength--visible{
  display:block;
}
.e4p-pw-strength__track{
  height:6px;
  border-radius:4px;
  background:var(--border);
  overflow:hidden;
  margin-bottom:6px;
}
.e4p-pw-strength__fill{
  height:100%;
  width:0;
  border-radius:4px;
  transition:width .2s ease,background .2s ease;
  background:var(--muted);
}
.e4p-pw-strength--s0 .e4p-pw-strength__fill{background:#c53030}
.e4p-pw-strength--s1 .e4p-pw-strength__fill{background:#dd6b20}
.e4p-pw-strength--s2 .e4p-pw-strength__fill{background:#d69e2e}
.e4p-pw-strength--s3 .e4p-pw-strength__fill{background:#38a169}
.e4p-pw-strength--s4 .e4p-pw-strength__fill{background:#276749}
.e4p-pw-strength__row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:6px 10px;
  font-size:11px;
  line-height:1.35;
}
.e4p-pw-strength__label{
  font-weight:700;
  color:var(--text);
}
.e4p-pw-strength__hint{
  color:var(--muted);
  flex:1;
  min-width:0;
  text-align:right;
}
.e4p-pw-strength--s0 .e4p-pw-strength__label{color:#9b2c2c}
.e4p-pw-strength--s1 .e4p-pw-strength__label{color:#b8320d}
.e4p-pw-strength--s2 .e4p-pw-strength__label{color:#975a16}
.e4p-pw-strength--s3 .e4p-pw-strength__label,.e4p-pw-strength--s4 .e4p-pw-strength__label{color:var(--teal)}

/* Passwortfeld: Sichtbarkeit + Abgleich (Registrierung) */
.e4p-pw-field{
  position:relative;
  width:100%;
}
.e4p-pw-field .e4p-pw-input{
  width:100%;
  box-sizing:border-box;
}
.e4p-pw-field--filled .e4p-pw-input{
  padding-right:46px;
}
.e4p-pw-toggle{
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  border:none;
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  transition:color .2s,background .2s;
}
.e4p-pw-toggle:hover,.e4p-pw-toggle:focus-visible{
  color:var(--teal);
  background:rgba(var(--primary-rgb),0.08);
  outline:none;
}
.e4p-pw-toggle .bi{font-size:1.15rem;line-height:1}
.e4p-pw-field--ok .e4p-pw-input{border-color:#38a169!important;box-shadow:0 0 0 3px rgba(56,161,105,0.15)}
.e4p-pw-field--bad .e4p-pw-input{border-color:var(--coral)!important;box-shadow:0 0 0 3px rgba(217,105,16,0.12)}
.e4p-pw-match-status{
  font-size:12px;
  font-weight:700;
  margin-top:6px;
  min-height:1.35em;
  line-height:1.35;
}
.e4p-pw-match-status--ok{color:#276749}
.e4p-pw-match-status--bad{color:#c53030}

.success-box{text-align:center;padding:40px 20px;display:none}
.success-box.show{display:block}
.inserat-quota-block{text-align:center;padding:40px 20px}
.inserat-quota-block .form-subtitle{max-width:34em;margin-left:auto;margin-right:auto;margin-bottom:12px}
.inserat-quota-draft-hint{max-width:34em;margin:0 auto 20px;color:var(--muted)}
.inserat-quota-upgrade{margin:8px auto 20px;max-width:520px;text-align:left}
.inserat-quota-upgrade__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;margin:0 0 6px;text-align:center}
.inserat-quota-upgrade__lead{margin:0 0 16px;color:var(--muted);font-size:14px;text-align:center;line-height:1.45}
.inserat-quota-plans{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.inserat-quota-plan{position:relative;border:1px solid var(--border);border-radius:14px;padding:16px 14px;background:var(--white)}
.inserat-quota-plan--yearly{border-color:var(--coral,#e07a5f)}
.inserat-quota-plan__badge{position:absolute;top:-10px;right:12px;background:var(--coral,#e07a5f);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}
.inserat-quota-plan__label{font-weight:800;font-family:'Nunito',sans-serif;margin-bottom:4px}
.inserat-quota-plan__price{font-size:15px;margin-bottom:12px}
.inserat-quota-plan__price span{color:var(--muted);font-size:13px;font-weight:600}
.inserat-quota-secondary{margin-top:8px}
@media (max-width:560px){
  .inserat-quota-plans{grid-template-columns:1fr}
}
.success-icon{font-size:64px;margin-bottom:16px}
.success-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:22px;color:var(--teal);margin-bottom:8px}
.success-desc{color:var(--muted);font-size:14px;max-width:340px;margin:0 auto 24px;line-height:1.6}
.success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ════════════════ HOMEPAGE ════════════════ */
/* z-index: Hero-Bereich über .home-sections, damit die Livesuche nicht von Karten-Badges überdeckt wird */
.home-hero{background:transparent;width:100%;max-width:1360px;margin:0 auto;padding:20px 16px 0;position:relative;z-index:25;overflow:visible}
.home-account-deleted{
  max-width:1360px;margin:12px auto 0;padding:12px 16px;
  border-radius:12px;background:#eef8f1;border:1px solid #b7dfc4;
  color:var(--text);font-size:14px;line-height:1.45;text-align:center;
}
.home-hero-scope{
  margin:0 auto 14px;
  max-width:600px;
  text-align:center;
  font-family:'Nunito',sans-serif;
  font-weight:700;
  font-size:15px;
  letter-spacing:.02em;
  color:var(--ink);
  opacity:.9;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:6px 4px;
}
.home-hero-scope__sep{opacity:.55;user-select:none}
.home-hero-scope__land{
  appearance:none;
  border:0;
  background:transparent;
  padding:2px 4px;
  margin:0;
  font:inherit;
  font-weight:700;
  color:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
  text-decoration-color:rgba(var(--primary-rgb),.45);
  border-radius:6px;
}
.home-hero-scope__land:hover,
.home-hero-scope__land:focus-visible{
  color:var(--teal);
  text-decoration-color:var(--teal);
}
.home-hero-scope__land.is-active{
  color:var(--teal);
  text-decoration-thickness:2px;
  text-decoration-color:var(--teal);
}
/* Pfoten über der Suche (klassisches Ellipsen-Motiv, Farbe im SVG #8b6914) */
.home-hero svg.paw-deco{
  position:absolute;
  z-index:0;
  opacity:.12;
  pointer-events:none;
  height:auto;
  display:block;
}
.search-bar{background:white;border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.14);margin:0 auto 16px;max-width:600px;overflow:hidden}
.search-row{display:flex;align-items:center;gap:8px;padding:11px 14px}
.search-row+.search-row{border-top:1px solid var(--border)}
/* Bei Fokus liegt das (geschlossene) Dropdown zwischen den Zeilen: Trennlinie erhalten */
.search-dropdown:not(.open)+.search-row{border-top:1px solid var(--border)}
.search-row input{border:none;outline:none;font-family:inherit;font-size:14px;color:var(--text);background:transparent;width:100%;min-width:0;flex:1 1 auto}
.search-row input::placeholder{color:var(--muted)}
.search-row-clear,
.input-clear-x{flex:0 0 auto;border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;color:var(--muted);font-size:20px;line-height:1;padding:0;transition:background .15s,color .15s}
.search-row-clear:hover,
.input-clear-x:hover{background:var(--cream);color:var(--text)}
.search-row-clear[hidden]{visibility:hidden;pointer-events:none}
.input-clear-x[hidden]{display:none}
.filter-search:has(> .input-clear-x) > input{width:auto;flex:1 1 auto;min-width:0}
.search-btn{display:block;width:calc(100% - 24px);margin:0 12px 10px;background:var(--teal);color:white;border:none;padding:11px;border-radius:25px;font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:background .2s;text-align:center}
.search-btn:hover{background:var(--teal-dk)}
.search-btn:disabled,.search-btn.is-disabled{background:var(--border);color:var(--muted);cursor:not-allowed}
.search-btn:disabled:hover,.search-btn.is-disabled:hover{background:var(--border)}
.home-hub-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:0 0 20px;
}
.home-hub-stat{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  min-height:108px;
  padding:14px 10px;
  border-radius:14px;
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  transition:box-shadow .2s;
}
.home-hub-stat::before{
  content:"";
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:transform .4s;
  pointer-events:none;
}
.home-hub-stat::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.42) 50%,rgba(0,0,0,.28));
  transition:background .2s;
  pointer-events:none;
}
.home-hub-stat > *{position:relative;z-index:1}
.home-hub-stat:hover{box-shadow:0 4px 18px rgba(0,0,0,.2)}
.home-hub-stat:hover::before{transform:scale(1.05)}
.home-hub-stat:hover::after{background:linear-gradient(to top,rgba(0,0,0,.84) 0%,rgba(0,0,0,.48) 50%,rgba(0,0,0,.32))}
.home-hub-stat--kurse::before{background-image:url(../img/hero-kurse.webp)}
.home-hub-stat--dienst::before{background-image:url(../img/hero-dienstleistung.webp)}
.home-hub-stat--klein::before{background-image:url(../img/hero-kleinanzeigen.webp)}
.home-hub-stat--tier::before{background-image:url(../img/hero-tiervermittlung.webp)}
.home-hub-stat-icon{font-size:24px;color:#fff;line-height:1;opacity:.95}
.home-hub-stat-num{font-family:'Nunito',sans-serif;font-weight:800;font-size:30px;color:#fff;line-height:1.05;text-shadow:0 1px 4px rgba(0,0,0,.45)}
.home-hub-stat-num--split{font-size:26px}
.home-hub-stat-label{font-size:14px;font-weight:700;color:#fff;text-align:center;line-height:1.25;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.home-hub-stat-scope{display:block;margin-top:2px;font-size:11px;font-weight:600;line-height:1.2;opacity:.92}
.home-sections{position:relative;z-index:0;width:100%;max-width:1360px;margin:0 auto;padding:20px 16px;display:flex;flex-direction:column;gap:36px}
.home-db-notice{width:100%;max-width:1360px;margin:0 auto;padding:0 16px 28px}
.home-db-notice__inner{
  display:flex;align-items:flex-start;gap:16px;
  background:var(--white);border:1px solid var(--border);border-left:4px solid var(--coral);
  border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-warm-sm)
}
.home-db-notice__icon{
  flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border-radius:12px;background:rgba(230,93,74,.1);color:var(--coral);font-size:22px;line-height:1
}
.home-db-notice__text{flex:1;min-width:0}
.home-db-notice__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:17px;color:var(--ink,#2b2b2b);margin:0 0 6px}
.home-db-notice__desc{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.home-db-notice__desc code{font-size:12px;padding:1px 5px;border-radius:4px;background:var(--bg);color:var(--ink,#2b2b2b)}
.home-section-empty{
  display:flex;align-items:center;justify-content:center;min-height:120px;
  text-align:center;padding:28px 20px;color:var(--muted);font-size:14px;line-height:1.5;
  background:var(--white);border:1px dashed var(--border);border-radius:12px
}
.home-section-empty p{margin:0}
.section-label-sm{font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}
.home-sections .section-label-sm{display:flex;align-items:center;gap:10px}
.home-sections .section-label-sm::after{content:"";flex:1;height:1px;background:var(--border);opacity:.9}
.cards-scroll{display:grid;grid-template-columns:1fr;gap:20px;overflow:visible;padding-bottom:4px}
.cards-scroll::-webkit-scrollbar{display:none}
.mini-card{display:flex;flex-direction:column;height:100%;background:var(--white);border-radius:10px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s;min-width:0;color:inherit;text-decoration:none}
.mini-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}
.mini-card-media{position:relative}
.mini-card-img{width:100%;height:130px;object-fit:cover}
.mini-card-cat{
  position:absolute;
  top:8px;
  left:8px;
  z-index:2;
  background:rgba(0,0,0,.82);
  color:#fff;
  border-radius:999px;
  padding:3px 8px;
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:10px;
  letter-spacing:.3px;
  text-transform:uppercase;
  line-height:1;
}
.card-media .mini-card-cat{
  max-width:min(78%,calc(100% - 96px));
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mini-card-premium{
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:3px;
  background:#fff8d6;
  border:1px solid var(--gold);
  color:#7a5a00;
  border-radius:999px;
  padding:3px 9px;
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:10px;
  letter-spacing:.3px;
  text-transform:uppercase;
  line-height:1;
}
.mini-card-new{
  position:absolute;
  bottom:8px;
  right:8px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  background:var(--teal);
  color:#fff;
  border-radius:999px;
  padding:3px 9px;
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:10px;
  letter-spacing:.3px;
  text-transform:uppercase;
  line-height:1;
}
.card-distance-inline{
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  color:var(--teal);
  font-weight:700;
}
.card-distance-inline::before{
  content:"·";
  margin:0 4px 0 2px;
  color:var(--muted);
  font-weight:400;
}
.card-distance-inline .bi{
  margin-right:2px;
  flex-shrink:0;
}
.mini-card-datetime{
  position:absolute;
  left:8px;
  bottom:8px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:2px;
  max-width:calc(100% - 16px);
  padding:5px 8px;
  border-radius:8px;
  background:rgba(0,0,0,.82);
  color:#fff;
  font-size:11px;
  line-height:1.2;
}
.mini-card-datetime .event-date-line{
  display:flex;
  align-items:center;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mini-card-datetime .event-date-line .bi{
  margin-right:4px;
  flex-shrink:0;
}
.mini-card-register-req{
  position:absolute;
  right:8px;
  bottom:8px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:calc(100% - 16px);
  padding:4px 8px;
  border-radius:8px;
  background:rgba(0,0,0,.82);
  border:0;
  color:#fff;
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:10px;
  letter-spacing:.2px;
  line-height:1.1;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mini-card-register-req .bi{
  flex-shrink:0;
}
.mini-card-body{display:flex;flex-direction:column;flex:1;gap:4px;min-height:0;padding:10px 12px 12px}
.mini-card-title{
  font-family:'Nunito',sans-serif;
  font-weight:700;
  font-size:15px;
  line-height:1.35;
  min-height:calc(2 * 1.35em);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
}
.mini-card-bottom{margin-top:auto;display:flex;flex-direction:column;gap:2px}
.mini-card-meta{font-size:13px;color:var(--muted);margin-bottom:0;display:flex;align-items:center;gap:3px}
.mini-card-price{font-size:13px;color:var(--muted);margin-top:0;margin-bottom:0}
.ts-strip,
.premium-strip{
  width:100%;
  max-width:1360px;
  margin:20px auto 36px;
  border-radius:14px;
  padding:22px 16px 26px;
  overflow-x:hidden;
  overflow-y:visible;
  min-width:0;
  box-sizing:border-box;
}
.ts-strip{background:linear-gradient(135deg,#fff0e2,#fff8f0);border:1px solid #f0dcc8}
.ts-strip-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
  padding:0 8px;
}
.ts-strip-more{
  flex-shrink:0;
  font-family:'Nunito',sans-serif;
  font-weight:700;
  font-size:12px;
  color:var(--teal);
  text-decoration:none;
  white-space:nowrap;
}
.ts-strip-more:hover{text-decoration:underline}
.ts-strip-title{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:11px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  margin:0;
  text-align:left;
  flex:1;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
/* Pfeile in festen Spalten; Swiper im mittleren Track */
.ts-strip-swiper-shell{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:14px;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
@media(min-width:1024px){
  .ts-strip-swiper-shell{
    column-gap:20px;
  }
}
.ts-swiper-host{
  grid-column:2;
  grid-row:1;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  padding:0 2px;
  box-sizing:border-box;
}
.ts-swiper.swiper{
  width:100%;
  min-width:0;
  overflow:hidden;
}
.ts-swiper .swiper-slide{
  height:auto;
  box-sizing:border-box;
  flex-shrink:0;
  width:100%;
}
.ts-strip-nav{
  grid-row:1;
  width:44px;
  height:44px;
  justify-self:center;
  border-radius:50%;
  border:none;
  background:var(--white);
  color:var(--teal);
  box-shadow:0 1px 6px rgba(0,0,0,.1);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .2s,color .2s,opacity .2s;
  z-index:2;
}
.ts-swiper-prev{grid-column:1}
.ts-swiper-next{grid-column:3}
.ts-strip-nav:hover{background:var(--teal);color:#fff}
.ts-strip-nav.swiper-button-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.ts-strip-nav .bi{font-size:1.15rem;line-height:1}
.ts-swiper .ts-mini-card{
  background:var(--white);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
  width:100%;
  min-width:0;
  max-width:100%;
  height:100%;
  box-sizing:border-box;
}
.ts-swiper .ts-mini-card img{
  width:100%;
  aspect-ratio:4/3;
  height:auto;
  object-fit:cover;
  object-position:center;
  background:#dfeaf0;
  flex-shrink:0;
}
.ts-mini-body{
  padding:10px 12px 12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
  min-height:124px;
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.ts-mini-body::before{
  content:"";
  display:block;
  min-height:20px;
}
.ts-mini-title{
  font-family:'Nunito',sans-serif;
  font-weight:700;
  font-size:13px;
  margin-bottom:2px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:calc(2 * 1.25em);
}
.ts-mini-meta{
  font-size:11px;
  color:var(--muted);
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:calc(2 * 1.35em);
}

.premium-strip{
  background:#fff8e6;
  border:1px solid #f2deb3;
}
.premium-strip-title{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:12px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin:0 0 18px;
  text-align:center;
  color:#7a5a00;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.premium-strip-swiper-shell{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  column-gap:14px;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  padding-bottom:2px;
}
@media(min-width:768px){
  .ts-strip,
  .premium-strip{
    margin:24px auto 40px;
    padding:26px 20px 30px;
  }
  .ts-strip-head{margin-bottom:20px}
  .premium-strip-title{margin-bottom:20px}
}
@media(min-width:1024px){
  .ts-strip,
  .premium-strip{
    padding:28px 22px 32px;
  }
  .ts-strip-swiper-shell,
  .premium-strip-swiper-shell{
    column-gap:22px;
  }
}
.premium-swiper-host{
  grid-column:2;
  grid-row:1;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  padding:0 2px;
  box-sizing:border-box;
}
.premium-swiper.swiper{
  width:100%;
  min-width:0;
  overflow:hidden;
}
.premium-swiper .swiper-slide{
  height:auto;
  box-sizing:border-box;
  flex-shrink:0;
  width:100%;
}
/* Slide-Breiten fuer slidesPerView:'auto' – Karten haben dadurch immer eine
   feste Breite, auch wenn Swiper bei wenigen Slides sperrt. Gap = 12px. */
@media (min-width:520px){
  .ts-swiper .swiper-slide,
  .premium-swiper .swiper-slide{width:calc((100% - 12px) / 2);}
}
@media (min-width:768px){
  .ts-swiper .swiper-slide,
  .premium-swiper .swiper-slide{width:calc((100% - 24px) / 3);}
}
@media (min-width:1024px){
  .ts-swiper .swiper-slide,
  .premium-swiper .swiper-slide{width:calc((100% - 36px) / 4);}
}
@media (min-width:1280px){
  .ts-swiper .swiper-slide,
  .premium-swiper .swiper-slide{width:calc((100% - 48px) / 5);}
}
.premium-strip-nav{
  grid-row:1;
  width:44px;
  height:44px;
  justify-self:center;
  border-radius:50%;
  border:none;
  background:#fff;
  color:#8a6700;
  box-shadow:0 1px 6px rgba(0,0,0,.1);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .2s,color .2s,opacity .2s;
  z-index:2;
}
.premium-swiper-prev{grid-column:1}
.premium-swiper-next{grid-column:3}
.premium-strip-nav:hover{background:#f4d27f;color:#5a4300}
.premium-strip-nav.swiper-button-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.premium-strip-nav .bi{font-size:1.15rem;line-height:1}
.premium-mini-card{
  background:var(--white);
  border:1px solid rgba(0,0,0,.18);
  border-radius:10px;
  overflow:hidden;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  color:inherit;
  text-decoration:none;
  width:100%;
  min-width:0;
  max-width:100%;
  height:100%;
  box-sizing:border-box;
  transition:border-color .18s;
}
.premium-mini-card:hover{
  border-color:rgba(0,0,0,.46);
}
.premium-mini-media{
  position:relative;
}
.premium-mini-media .mini-card-cat{
  max-width:calc(100% - 16px);
}
.premium-mini-card img{
  width:100%;
  aspect-ratio:4/3;
  height:auto;
  object-fit:cover;
  object-position:center;
  flex-shrink:0;
}
.premium-mini-body{
  padding:10px 12px 12px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.premium-mini-title{
  font-family:'Nunito',sans-serif;
  font-weight:700;
  font-size:13px;
  margin-bottom:2px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:calc(2 * 1.25em);
}
.premium-mini-bottom{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.premium-mini-price{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:13px;
  line-height:1.3;
  color:var(--teal);
}
.premium-mini-meta{
  font-size:11px;
  color:var(--muted);
  line-height:1.35;
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.premium-mini-meta svg{
  flex-shrink:0;
}

@media(max-width:599px){
  .cards-scroll{grid-template-columns:1fr;gap:16px}
  .mini-card{
    display:grid;
    grid-template-columns:120px 1fr;
    align-items:stretch;
    min-height:140px;
  }
  .mini-card-media{height:100%}
  .mini-card-img{
    width:100%;
    height:100%;
    min-height:140px;
    max-height:none;
    object-fit:cover;
    flex-shrink:0;
  }
  .mini-card-body{
    display:flex;
    flex-direction:column;
    flex:1;
    gap:6px;
    padding:10px 12px;
    min-height:140px;
  }
  .mini-card-title{font-size:13px;line-height:1.3;min-height:calc(2 * 1.3em)}
  .mini-card-meta,.mini-card-price{font-size:12px}
}

/* ════════════════ FOOTER ════════════════ */
footer{background:var(--teal-dk);color:rgba(255,255,255,.8);padding:32px 16px;margin-top:auto}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:24px}
.footer-logo{display:inline-flex;align-items:center;gap:6px;font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;color:white;margin-bottom:6px;line-height:1}
.footer-logo .bi{font-size:1.05em;line-height:1;color:white;position:relative;top:.02em}
.footer-desc{font-size:12px;opacity:.7;max-width:260px;line-height:1.6}
.footer-col-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:white;margin-bottom:12px}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px}
.footer-links a{color:rgba(255,255,255,.7);font-size:13px;transition:color .2s}
.footer-links a:hover{color:white}
.footer-bottom{max-width:1100px;margin:24px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;opacity:.6;text-align:center;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px}
.footer-bottom__sep{opacity:.7}
.footer-credit-link{color:rgba(255,255,255,.9);text-decoration:underline;text-underline-offset:2px;transition:color .2s}
.footer-credit-link:hover{color:#fff}
.footer-sponsors{
  max-width:1100px;
  margin:28px auto 0;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  text-align:center;
}
.footer-sponsors__label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.55;
  margin-bottom:12px;
}
.footer-sponsors__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:16px 28px;
  justify-content:center;
  align-items:center;
}
.footer-sponsors__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.85;
  transition:opacity .2s;
}
.footer-sponsors__link:hover{opacity:1}
.footer-sponsors__link img{
  display:block;
  max-width:120px;
  max-height:40px;
  width:auto;
  height:auto;
  object-fit:contain;
  background:rgba(255,255,255,.92);
  border-radius:8px;
  padding:6px 10px;
}

/* ── Partner / Sponsoren (Hub-CD: Hero full-bleed + listing cards + promo-banner) ── */
.partner-page .back-link{margin:0 0 16px}
.partner-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
@media (min-width:640px){
  .partner-grid{grid-template-columns:1fr 1fr}
}
@media (min-width:960px){
  .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1100px){
  .partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.partner-grid .card-wrap{min-width:0}
.partner-card{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none;
  color:inherit;
}
.partner-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  height:132px;
  padding:18px;
  background:var(--cream);
  border-bottom:1px solid rgba(95,58,22,.08);
}
.partner-card__media--empty{background:var(--teal-lt)}
.partner-card__media img{
  max-width:140px;
  max-height:72px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.partner-card__initial{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:2rem;
  color:var(--teal);
}
.partner-card .card-body{gap:6px}
.partner-card .card-title{min-height:0}
.partner-card__badges{margin-bottom:2px}
.partner-detail-header__row{align-items:flex-start}
.partner-detail-logo{
  flex-shrink:0;
  width:112px;
  height:112px;
  border-radius:14px;
  background:var(--cream);
  border:1px solid rgba(95,58,22,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
}
.partner-detail-logo--empty{
  background:var(--teal-lt);
  color:var(--teal);
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:2.4rem;
}
.partner-detail-logo img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.partner-detail__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.partner-perks{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
@media (min-width:720px){
  .partner-perks{grid-template-columns:1fr 1fr}
}
@media (min-width:1100px){
  .partner-perks{grid-template-columns:1fr 1fr 1fr 1fr}
}
.partner-perks li{
  padding:14px;
  border-radius:14px;
  background:var(--cream);
  border:1px solid var(--border-soft);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.partner-perks strong{font-family:'Nunito',sans-serif;font-size:15px;color:var(--ink)}
.partner-perks span{font-size:13px;line-height:1.45;color:var(--muted)}
.partner-page .detail-card{margin-bottom:16px}
.partner-page .detail-card .section-label:first-child{padding-top:0;border-top:none;margin-top:0}
.partner-perks-card{margin-top:24px}
.partner-blog{margin:8px 0 24px}
.partner-blog__title{margin-bottom:14px}
.partner-blog__grid{margin:0}
.partner-cta-inline{margin:16px 0 0}
.adm-sponsor-logo-preview{margin:0 0 10px}
.adm-sponsor-logo-preview img{
  max-width:160px;
  max-height:64px;
  object-fit:contain;
  background:var(--cream);
  padding:8px;
  border-radius:8px;
  border:1px solid var(--border);
}
.adm-user-edit-form{display:flex;flex-direction:column;gap:16px}
.adm-user-edit-form .form-card{margin:0}

/* ════════════════ RESPONSIVE ≥600px ════════════════ */
@media(min-width:600px){
  .info-grid{grid-template-columns:1fr 1fr}
  .features-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .cat-grid{grid-template-columns:1fr 1fr}
  .cat-grid.cat-grid--3cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cat-grid.cat-grid--4cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .upload-preview{grid-template-columns:repeat(3,1fr)}
  .search-form .form-input{flex:1 1 240px}
  .search-form .btn{width:auto}
  .search-bar{position:relative;overflow:visible;border-radius:40px;display:flex;align-items:center;padding:7px 7px 7px 20px;box-shadow:0 8px 28px rgba(0,0,0,.16)}
  .search-row{border-top:none!important;flex:1;padding:8px 10px}
  .search-row+.search-row{border-left:1px solid var(--border)}
  .search-dropdown:not(.open)+.search-row{border-top:none;border-left:1px solid var(--border)}
  .search-btn{width:auto;margin:0;padding:10px 20px;flex-shrink:0;border-radius:25px}
  .search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;border:1px solid var(--border);border-top:1px solid var(--border);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
  .search-wrap{margin-bottom:36px}
  .home-hub-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .home-hub-stat{min-height:150px}
  .home-hub-stat-icon{font-size:28px}
  .home-hub-stat-num{font-size:36px}
  .home-hub-stat-num--split{font-size:30px}
  .home-hub-stat-label{font-size:15px}
  .home-sections{display:flex;flex-direction:column;gap:32px;padding:24px 16px}
  .cards-scroll{display:grid;grid-template-columns:1fr;overflow:visible}
  .mini-card{flex:unset;min-width:unset}
  .ts-strip,
  .premium-strip{margin:24px auto 40px}
  .card-img{height:170px}
  .adopt-card{width:calc(50% - 8px)}
  .adopt-card-img{height:180px}
  .detail-gallery{height:380px}
  .gallery-main{height:380px}
  .gallery-thumb{height:104px}
  .form-row{grid-template-columns:1fr 1fr}
  .form-row.inserat-sub-row--single{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr 1fr}
  .shelter-grid{grid-template-columns:1fr 1fr}
}

@media(min-width:600px) and (max-width:899px){
  .mini-card{
    display:grid;
    grid-template-columns:132px 1fr;
    align-items:stretch;
    min-height:132px;
  }
  .mini-card-media{height:100%}
  .mini-card-img{
    width:100%;
    height:100%;
    min-height:132px;
    object-fit:cover;
  }
  .mini-card-body{
    display:flex;
    flex-direction:column;
    flex:1;
    gap:5px;
    padding:9px 11px;
    min-height:132px;
  }
  .mini-card-title{font-size:15px;line-height:1.28;min-height:calc(2 * 1.28em)}
  .mini-card-meta,.mini-card-price{font-size:13px}
}

/* ════════════════ RESPONSIVE ≥900px ════════════════ */
@media(min-width:900px){
  nav{padding:0 40px}
  .btn-nav-cta{display:inline-flex}
  .nav-user{display:flex}
  .btn-nav-login{display:inline-flex}
  .btn-nav-premium{display:inline-flex}
  .btn-nav-logout{display:inline-flex}
  .btn-nav-icon{display:inline-flex}
  .home-hero{padding:28px 16px 0}
  .home-hub-stat{min-height:170px}
  .home-hub-stat-num{font-size:40px}
  .home-hub-stat-num--split{font-size:32px}
  .home-hub-stat-label{font-size:16px}
  .home-sections{padding:32px 16px;display:flex;flex-direction:column;gap:40px}
  .cards-scroll{grid-template-columns:repeat(3,1fr);gap:22px}
  .ts-strip,
  .premium-strip{margin:24px auto 40px;padding:28px 22px 32px}
  .page-hero{padding:36px 40px 24px}
  .page-hero--standard,
  .page-hero--listing{--page-hero-listing-min-h:168px}
  .page-hero--listing[class*="page-hero--sparte-"]{--page-hero-listing-min-h:188px}
  .page-hero--listing[class*="page-hero--theme-"]{--page-hero-listing-min-h:188px}
  .filter-bar{padding:14px 40px}
  .listing-page{padding:32px 40px 64px}
  .card-img{height:185px}
  .adopt-card{width:calc(50% - 8px)}
  .adopt-card-img{height:220px}
  .detail-wrap{padding:32px 40px 64px;grid-template-columns:minmax(0,1fr) minmax(0,360px)}
  .detail-gallery{height:440px}
  .gallery-main{height:440px}
  .gallery-thumb{height:118px}
  .form-page{padding:32px 40px 64px}
  .cat-grid.cat-grid--4cols{grid-template-columns:repeat(4,minmax(0,1fr))}
  .footer-inner{grid-template-columns:2fr 1fr 1fr 1fr}
  footer{padding:40px}
  .shelter-grid{grid-template-columns:1fr 1fr 1fr}
}

@media(min-width:970px) and (max-width:1099px){
  .listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@media(min-width:1100px){
  .listing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .listing-grid .card-img{height:132px}
  .listing-grid .card-body{padding:10px 12px 12px;gap:5px}
  .listing-grid .card-title{font-size:13px;line-height:1.28;min-height:calc(2 * 1.28em)}
  .listing-grid .card-footer .card-price{font-size:14px}
  .listing-grid .card-price-location{font-size:10px}
  .listing-grid .card-wrap > .listing-card-bottom{padding:0 12px 10px}
  .listing-grid .listing-card-bottom .card-footer{padding-top:8px}
  .listing-grid .card-media .mini-card-cat,
  .listing-grid .card-media .mini-card-premium,
  .listing-grid .card-media .mini-card-new{font-size:10px;padding:3px 8px}
  .listing-grid .card-media .mini-card-datetime{font-size:11px;padding:5px 8px}
  .cards-scroll{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .home-sections .cards-scroll .card-img{height:132px}
  .home-sections .cards-scroll .card-body{padding:10px 12px 12px;gap:5px}
  .home-sections .cards-scroll .card-title{font-size:13px;line-height:1.28;min-height:calc(2 * 1.28em)}
  .home-sections .cards-scroll .card-footer .card-price{font-size:14px}
  .home-sections .cards-scroll .card-price-location{font-size:10px}
  .home-sections .cards-scroll .card-wrap > .listing-card-bottom{padding:0 12px 10px}
  .home-sections .cards-scroll .listing-card-bottom .card-footer{padding-top:8px}
  .home-sections .cards-scroll .card-media .mini-card-cat,
  .home-sections .cards-scroll .card-media .mini-card-premium,
  .home-sections .cards-scroll .card-media .mini-card-new{font-size:10px;padding:3px 8px}
  .home-sections .cards-scroll .card-media .mini-card-datetime{font-size:11px;padding:5px 8px}
}

/* ── Ansicht-Umschalter (nur Desktop): Raster ⇄ Liste ──
   Auf Mobil/Tablet (≤969px) ausgeblendet, dort sind Listen immer Zeilen.
   Der Button wechselt nur das Icon (kein aktiver/gedrückter Zustand). */
.view-toggle{display:none}
.view-toggle-ic{font-size:18px;line-height:1}
.view-toggle-ic--grid{display:none}
.view-toggle[aria-pressed="true"] .view-toggle-ic--list{display:none}
.view-toggle[aria-pressed="true"] .view-toggle-ic--grid{display:inline-block}
@media(min-width:970px){
  .view-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    margin-left:auto;
    width:var(--filter-ctl-h,38px);
    height:var(--filter-ctl-h,38px);
    min-height:var(--filter-ctl-h,38px);
    padding:0;
    border-radius:999px;
    border:1px solid var(--border);
    background:var(--white);
    color:var(--text);
    cursor:pointer;
    transition:background .15s,border-color .15s,color .15s;
  }
  .view-toggle:hover{background:var(--teal-lt);border-color:var(--teal);color:var(--teal)}

  /* Listenansicht auf Desktop: einspaltige Zeilenkarten (Bild links, Inhalt rechts).
     Das Bild bleibt frei von Labels; alle Labels sitzen als Chip-Zeile über dem Titel. */
  .listing-grid.listing-grid--list{
    grid-template-columns:1fr;
    gap:10px;
  }
  .listing-grid.listing-grid--list .card-wrap{
    display:grid;
    grid-template-columns:minmax(190px,210px) minmax(0,1fr);
    grid-template-areas:
      "media body"
      "media footer";
    align-items:stretch;
    min-height:132px;
    border-radius:14px;
    background:var(--white);
    border:1px solid rgba(95,58,22,.14);
    overflow:hidden;
  }
  .listing-grid.listing-grid--list .card-wrap > .card{
    display:contents;
  }
  .listing-grid.listing-grid--list .card-wrap .card-media{
    grid-area:media;
  }
  .listing-grid.listing-grid--list .card-wrap .card-body{
    grid-area:body;
  }
  .listing-grid.listing-grid--list .card-wrap > .listing-card-bottom{
    grid-area:footer;
    align-self:end;
    padding:0 18px 12px 0;
  }
  .listing-grid.listing-grid--list .card-wrap:has(> .card.card--premium){
    border:2px solid var(--gold);
    box-shadow:0 3px 12px rgba(212,164,74,.24);
  }
  .listing-grid.listing-grid--list .card{
    display:grid;
    grid-template-columns:minmax(190px,210px) minmax(0,1fr);
    align-items:stretch;
    min-height:132px;
    border-radius:14px;
  }
  /* Bild absolut → die Zeilenhöhe bestimmt der Inhalt, das Bild füllt sie immer. */
  .listing-grid.listing-grid--list .card > .card-media{
    width:100%;
    height:auto;
    align-self:stretch;
    position:relative;
    overflow:hidden;
    flex-shrink:0;
  }
  .listing-grid.listing-grid--list .card .card-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
  }
  .listing-grid.listing-grid--list .card > .card-body{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    flex:1;
    min-width:0;
    height:auto;
    padding:12px 18px;
    gap:6px;
  }
  /* Keine Labels auf dem Bild – alle Labels in einer Zeile über dem Titel (Stil zentral). */
  .listing-grid.listing-grid--list .card-media .card-badges--media,
  .listing-grid.listing-grid--list .card-media .card-list-overline--media{
    display:none!important;
  }
  .listing-grid.listing-grid--list .card-list-overline--body{
    display:flex!important;
  }
  .listing-grid.listing-grid--list .card-title{
    font-size:16px;
    line-height:1.3;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:0;
  }
  .listing-grid.listing-grid--list .listing-card-bottom{
    margin-top:auto;
    gap:6px;
  }
  /* Kein Trenner und kein nach-unten-Schieben: Preis + Details sitzen direkt am Inhalt. */
  .listing-grid.listing-grid--list .card-footer{
    margin-top:0;
    padding-top:0;
    border-top:none;
    align-items:center;
  }
  .listing-grid.listing-grid--list .card-footer .card-price{
    font-size:17px;
  }
}

/* Startseite „Neueste …“: 4 Karten ab 1100px, darunter nur 3 */
@media(max-width:1099px){
  .home-sections .cards-scroll > .card-wrap:nth-child(n+4){
    display:none;
  }
}

.sidebar-card .contact-sub{margin-bottom:4px}
.detail-card-mt{margin-top:16px}
.form-hint-center{text-align:center;margin-top:10px}

/* ── Nav login / user area ── */
.btn-nav-login:hover{background:var(--teal-lt)}
.nav-avatar{width:34px;height:34px;border-radius:50%;background:var(--teal);color:white;font-family:'Nunito',sans-serif;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.nav-dropdown{position:absolute;top:58px;right:16px;background:var(--white);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:8px;min-width:200px;z-index:300;display:none}
.nav-dropdown.open{display:block}
.nav-dropdown a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text);transition:background .2s}
.nav-dropdown a:hover{background:var(--cream)}
.nav-dropdown a.danger{color:var(--coral)}
.nav-dropdown-divider{height:1px;background:var(--border);margin:6px 0}
.mob-divider{
  height:0;
  margin:10px 2px 8px;
  border:0;
  border-top:1px solid var(--border);
  flex-shrink:0;
  opacity:.95;
}

/* ── Search results dropdown ── */
/* Mobile-Standard: Dropdown inline in der Such-Karte direkt unter den Feldern,
   oberhalb des "Suchen"-Buttons. Auf Desktop (ab 600px) wird es als
   schwebendes Overlay unter der Suchleiste positioniert. */
.search-dropdown{background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);z-index:300;overflow:hidden;display:none}
.search-dropdown.open{display:block}
/* Mobile: bei offenem Dropdown den Such-Button und nachfolgende Felder
   ausblenden, damit die Karte mit „Alle Ergebnisse anzeigen" endet. */
@media(max-width:599px){
  .search-bar:has(.search-dropdown.open) .search-btn{display:none}
  .search-bar .search-dropdown.open ~ .search-row{display:none}
  .search-bar .search-dropdown.open{border-bottom:none}
}
.search-suggest-hint{padding:12px 14px;font-size:13px;color:var(--muted)}
.search-suggest-hint a{color:var(--teal);font-weight:700}
.search-suggest-err{color:var(--coral)}
.search-result-distance{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--cream);color:var(--muted);font-weight:800;font-size:10px;letter-spacing:.2px;text-transform:none}
.search-result-distance[hidden]{display:none}
.search-result-distance::before{font-family:"bootstrap-icons";content:"\f3e7";margin-right:3px}
.search-result-item{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;transition:background .2s;text-decoration:none;color:var(--text)}
.search-result-item:hover{background:var(--cream)}
.search-result-img{width:42px;height:42px;border-radius:8px;object-fit:cover;flex-shrink:0}
.search-result-title{font-weight:700;font-size:13px}
.search-result-meta{font-size:11px;color:var(--muted)}
.search-result-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--teal)}
.search-result-item--location{align-items:flex-start}
.search-result-loc-ic{flex-shrink:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;background:var(--cream);border-radius:8px;border:1px solid var(--border)}
.search-wrap{position:relative;z-index:2;max-width:600px;margin:0 auto 28px}
.search-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;align-items:center}
.search-form .form-input{flex:1 1 100%;min-width:0}
.search-form .btn{width:100%}

/* ── Patenschaft page responsiveness ── */
.pat-steps{grid-template-columns:1fr}
.pat-main{grid-template-columns:1fr}
.pat-amount-grid{grid-template-columns:1fr 1fr}
.pat-tier-grid{grid-template-columns:1fr}
.pat-context-wrap{flex-wrap:wrap}

/* ── Profil page responsiveness ── */
.profile-stats-grid{grid-template-columns:1fr}
.profile-main-grid{grid-template-columns:1fr}
.profile-saved-grid{grid-template-columns:1fr}

/* Inserat-Zeile bricht auf schmalen Screens sauber um (Aktionen volle Breite) */
@media(max-width:560px){
  .stat-box.profile-stat{padding:13px 14px;gap:11px}
  .profile-stat__icon{width:40px;height:40px;font-size:18px;border-radius:12px}
  .profile-stat .stat-val{font-size:22px}
  .sidebar-card.sidebar-card--listing-row{grid-template-columns:1fr}
  .profile-listing-thumb{grid-column:1;grid-row:auto}
  .profile-listing-body{grid-column:1;grid-row:auto}
  .profile-listing-actions{grid-column:1;grid-row:auto;width:100%;margin-top:4px}
  .profile-listing-actions .btn{flex:1 1 auto;text-align:center}
}

/* ── Kontakt page responsiveness ── */
.contact-page{grid-template-columns:1fr}
.contact-info-grid{grid-template-columns:1fr}
.contact-main-grid{grid-template-columns:1fr}

@media(min-width:600px){
  .pat-tier-grid{grid-template-columns:1fr 1fr}
  .profile-stats-grid{grid-template-columns:repeat(3,1fr)}
  .profile-saved-grid{grid-template-columns:1fr 1fr}
  .contact-info-grid{grid-template-columns:1fr 1fr}
}

@media(min-width:900px){
  .pat-main{grid-template-columns:1fr 360px}
  .pat-amount-grid{grid-template-columns:repeat(4,1fr)}
  .profile-main-grid{grid-template-columns:1fr 300px}
  .contact-info-grid{grid-template-columns:1fr 1fr}
  .contact-main-grid{grid-template-columns:2fr 1fr}
}


/* ── Filterleiste: kompakter Modus statt Zeilenumbruch ──
   Aktiv über .is-compact (per JS gesetzt, sobald die volle Leiste umbrechen würde). */
.filter-bar.is-compact .filter-select{width:100%;max-width:none;flex:1 1 100%}
.filter-bar.is-compact .filter-search{width:auto;max-width:none;min-width:0;flex:1 1 0;margin-left:0}
.filter-bar.is-compact .filter-search input{min-width:0;width:100%}
.filter-bar.is-compact .filter-bar-inner--search-left .filter-search:not(.filter-search--loc){margin-left:0;flex:1 1 0;max-width:none;min-width:0;width:auto}
.filter-bar.is-compact .filter-count{display:none}
@media(max-width:599px){
  .chip{padding:7px 12px}
}

/* ── Filter-Toggle (Selects nur bei Bedarf anzeigen) ──
   Im Kompaktmodus (.is-compact): nur Suche + Filter-Icon.
   Filter-Selects erscheinen erst nach Klick auf den Toggle. */
.filter-toggle{display:none}
.filter-bar.is-compact .filter-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:var(--filter-ctl-h,38px);
  height:var(--filter-ctl-h,38px);
  min-height:var(--filter-ctl-h,38px);
  padding:0;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--white);
  color:var(--text);
  cursor:pointer;
  position:relative;
  transition:background .15s,border-color .15s,color .15s;
}
.filter-bar.is-compact .filter-toggle .bi{font-size:18px;line-height:1}
.filter-bar.is-compact .filter-toggle:hover{background:var(--teal-lt);border-color:var(--teal);color:var(--teal)}
.filter-bar.is-compact .filter-toggle[aria-expanded="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
/* Aktiv-Indikator (gesetzte Filter) — kleiner Punkt oben rechts */
.filter-bar.is-compact .filter-toggle.has-active::after{
  content:"";
  position:absolute;
  top:6px;
  right:8px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--coral);
  box-shadow:0 0 0 2px var(--white);
}
/* Standard: Selects ausgeblendet, Suche + Toggle in einer Reihe */
.filter-bar.is-compact .filter-select{display:none}
.filter-bar.is-compact.is-open .filter-select:not([hidden]){display:block}
/* Beim Öffnen sanfter Trenner über den Selects */
.filter-bar.is-compact.is-open .filter-select:not([hidden]):first-of-type{
  margin-top:2px;
}
@media(max-width:430px){
  .logo{font-size:18px}
  .brand-logo__img{height:38px;max-width:min(260px,48vw)}
  nav{padding:0 12px}
  .page-hero h1{font-size:23px}
  .form-nav{flex-wrap:wrap}
  .form-nav .btn{width:100%}
  .form-nav-actions{width:100%}
  .form-nav-actions .btn{width:100%}
  .step-label{font-size:10px}
}

@media(max-width:360px){
  .logo{font-size:17px}
  .page-hero{padding:22px 12px 16px}
  .page-hero--standard,
  .page-hero--listing{--page-hero-listing-min-h:140px}
  .listing-page{padding:20px 12px 48px}
  .form-card{padding:22px 16px}
  .step-label{font-size:9px}
}

/* Registrierung, Anmeldung, Inserat: gleichmäßige vertikale Abstände auf Mobil (statt form-group + form-row) */
@media(max-width:599px){
  .form-page .form-card{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:24px;
  }
  .form-page .form-card > .form-title{margin-bottom:0}
  .form-page .form-card > .form-subtitle{margin-bottom:0}
  .form-page .form-card#login-card > .form-subtitle{margin-top:-20px}
  .form-page .form-card .form-group{margin-bottom:0}
  .form-page .form-card .form-row{
    display:flex;
    flex-direction:column;
    gap:24px;
    margin:0;
  }
  .form-page .form-card .form-row .form-group{margin-bottom:0}
  .form-page .form-card .form-divider{
    margin-top:0;
    padding:14px 0 14px;
  }
  /* Mehr Luft bis „Oder …“ (Form-Ende/CTA; zusätzlich zu column-gap) */
  .form-page .form-card > form + .form-divider,
  .form-page .form-card > button.btn + .form-divider{
    margin-top:10px;
  }
  .form-page .form-card .form-nav{margin-top:0}
  .form-page .form-card .cat-grid:not(.cat-grid--kontoart){margin-bottom:0}
  .form-page .form-card .form-konto-block .cat-grid--kontoart{margin-bottom:0}
  .form-page .form-card .step-indicator{margin-bottom:0}
  .form-page .form-card .step-content.active{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:24px;
  }
  .form-page--register .form-card{
    gap:16px;
  }
  .form-page--register .form-card .form-row,
  .form-page--register .form-card .step-content.active{
    gap:16px;
  }
  .form-page--register .form-card .form-label{
    margin-bottom:5px;
  }
  .form-page--register .form-card .form-hint{
    margin-top:6px;
  }
  .form-page--register #reg-form-body > .form-group,
  .form-page--register #reg-form-body > .form-row,
  .form-page--register #reg-form-body > #reg-tv-extras,
  .form-page--register #reg-verify-wrap > .form-group{
    margin-top:14px;
  }
  .form-page--register #reg-form-body > :first-child,
  .form-page--register #reg-verify-wrap > :first-child{
    margin-top:0;
  }
  .form-page--register #reg-tv-extras > .form-group,
  .form-page--register #reg-tv-extras > .form-row,
  .form-page--register #reg-tv-extras > .form-hint{
    margin-top:14px;
  }
  .form-page--register #reg-tv-extras > :first-child{
    margin-top:0;
  }
  .form-page--register #reg-form-body > .form-group:has(.form-agb){
    margin-top:16px;
  }
  .form-page--register #reg-form-body > .form-group:has(.form-agb) + .form-group:has(.form-agb){
    margin-top:10px;
  }
  .form-page--register #reg-submit,
  .form-page--register .reg-verify-actions{
    margin-top:18px;
  }
  .form-page--register + .site-cta-banner--auth{
    margin-top:18px;
    padding:0 12px 28px;
  }
  .form-page--register + .site-cta-banner--auth .site-cta-banner__inner{
    padding:14px 14px;
    min-height:auto;
  }
  .form-page--register + .site-cta-banner--auth .site-cta-banner__text{
    flex:0 1 auto;
  }
  .form-page--register + .site-cta-banner--auth .site-cta-banner__desc{
    max-width:30ch;
  }
}

/* ── Tablet / schmales Desktop: Hamburger statt enger Link-Zeile ──
   Bis 1399 px: Logo + Kern-Buttons im Header, Navigation im Menü. */
@media(min-width:900px) and (max-width:1399px){
  nav{padding:0 16px}
  .hamburger{display:flex}
  .nav-links{display:none}
  .nav-user,.btn-nav-login,.btn-nav-cta{display:none}
  .mobile-menu.open{display:flex!important}
}

/* ── Volle Desktop-Navigation (genug Platz für Links + Profil + CTAs) ── */
@media(min-width:1400px){
  nav{padding:0 40px}
  .hamburger{display:none}
  .nav-links{display:flex;gap:20px}
  .mobile-menu{display:none!important}
  .nav-links a{font-size:14px}
}

/* ── Tablet/Mobil-Header (≤1399 px): Kern-Buttons bleiben sichtbar ──
   Neben dem Hamburger bleiben die wichtigsten Aktionen im Header:
   • ausgeloggt: Premium, Anmelden, Inserieren
   • eingeloggt: Profil (≥600) + Nachrichten + ggf. Admin (Icons) + Premium
     + Inserieren (Abmelden bleibt im Menü).
   Unter 600 px werden zusätzlich Profil und Premium ausgeblendet. */
@media(max-width:1399px){
  .nav-user{display:flex}
  .nav-user--guest .btn-nav-premium,
  .nav-user--guest .btn-nav-login,
  .nav-user--guest .btn-nav-cta{display:inline-flex}
  .nav-user--auth .btn-nav-premium,
  .nav-user--auth .btn-nav-cta,
  .nav-user--auth .btn-nav-icon{display:inline-flex}
  .nav-user--auth .e4p-nav-profile,
  .nav-user--auth .btn-nav-logout{display:none}
}
@media(min-width:600px) and (max-width:1399px){
  .nav-user--auth .e4p-nav-profile{display:flex}
}
@media(max-width:599px){
  .nav-user--guest .btn-nav-premium,
  .nav-user--auth .btn-nav-premium{display:none}
  /* Handy-Header: Anmelden steckt im Menü – nur primaerer CTA + Hamburger bleiben,
     damit nichts ueberlaeuft (kein horizontales Scrollen). */
  .nav-user--guest .btn-nav-login{display:none}
  .btn-nav-cta{padding:8px 12px;font-size:10px;letter-spacing:.2px}
  .logo{min-width:0}
  .brand-logo{flex-shrink:0}
  /* Handy: Listing-Seiten – Detail-Button aus (ganze Karte klickbar). */
  .listing-grid .card-detail-btn,
  .cards-scroll .card-detail-btn{display:none}
}

/* ═══════════════════════════════════════════════════════════════════
   Aus PHP ausgelagert (Code/Design-Trennung)
   ═══════════════════════════════════════════════════════════════════ */

/* --- Hilfsklassen --- */
.u-hidden{display:none!important}
.u-visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.u-nowrap{white-space:nowrap}

/* Admin */
.admin-table-wrap{overflow:auto}
.admin-tabs{
  display:flex;
  gap:8px;
  flex-wrap:nowrap;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  margin:0 0 12px;
  padding-bottom:4px;
}
.admin-topbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  flex-wrap:wrap;
}
.admin-quick-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.admin-tab{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);font-weight:700;font-size:13px}
.admin-tab.is-active{background:var(--teal);border-color:var(--teal);color:#fff}
.admin-intro-card{margin:0 0 12px;background:linear-gradient(180deg,#fff,#f8fffd)}
.admin-intro-head{display:grid;gap:4px}
.admin-intro-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;color:var(--text)}
.admin-intro-sub{font-size:13px;color:var(--muted)}
.admin-intro-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.admin-flash{border-left:4px solid var(--teal)}
.admin-flash--err{border-left-color:var(--coral)}
.admin-page .admin-content-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.admin-page .admin-content-grid>aside{width:100%}
.admin-page--categories .admin-content-grid{display:block}
.admin-page--categories .admin-content-grid>div{display:none}
.admin-page--categories .admin-content-grid>aside{width:100%}
.admin-page .profile-section-title{margin-top:2px}
.admin-panel{
  border:1px solid var(--border);
  box-shadow:0 8px 18px rgba(16,24,40,.04);
}
.admin-panel-subtitle{
  font-size:12px;
  color:var(--muted);
  margin-bottom:10px;
}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{text-align:left;padding:10px 8px;vertical-align:top}
.admin-table tr{border-top:1px solid var(--border)}
.admin-strong{font-weight:700}
.admin-action-form{display:flex;gap:8px;align-items:center}
.admin-status-select{min-width:130px;max-width:190px}
.admin-user-list{display:grid;gap:10px}
.admin-user-card{padding:10px 12px}
.admin-user-badges{display:flex;gap:8px;margin-top:6px}
.admin-user-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.admin-inline-form{display:flex;gap:8px;align-items:center}
.admin-range-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.admin-range-row .btn.is-active{background:var(--teal);border-color:var(--teal);color:#fff}
.admin-filter-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 10px}
.admin-filter-form .form-input{flex:1 1 220px;min-width:180px}
.admin-filter-form .form-select{flex:0 1 180px}
.admin-filter-form .btn{white-space:nowrap}
.admin-report-list{display:grid;gap:12px}
.admin-report-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
.admin-card-head{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:6px}
.admin-card-meta{font-size:12px;color:var(--muted)}
.admin-report-message{margin:8px 0 0;font-size:14px;color:var(--text)}
.admin-audit-list{display:grid;gap:8px;max-height:360px;overflow:auto}
.admin-audit-row{padding:8px 10px;border:1px solid var(--border);border-radius:10px}
.admin-audit-details{margin-top:8px}
.admin-audit-details summary{cursor:pointer;color:var(--teal);font-weight:700;font-size:12px}
.admin-audit-details pre{
  margin:8px 0 0;
  background:#f8fbfc;
  border:1px solid var(--border);
  border-radius:8px;
  padding:8px;
  font-size:12px;
  line-height:1.35;
  overflow:auto;
}
.admin-cat-grid{display:grid;gap:16px}
.admin-create-grid{display:grid;gap:12px;margin-bottom:14px}
.admin-subtitle{font-family:'Nunito',sans-serif;font-size:15px;font-weight:800;margin:0 0 10px}
.admin-cat-form{display:grid;gap:8px;border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff;margin-bottom:8px}
.admin-form-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-sort-input{max-width:120px}
.admin-role-select{max-width:180px}
.admin-cat-switch{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin:2px 0 12px}
.admin-cat-switch__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  border:1px solid var(--border);
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:700;
  color:var(--text);
  text-decoration:none;
  background:#fff;
}
.admin-cat-switch__btn.is-active{
  border-color:var(--teal);
  background:rgba(10,162,166,.12);
  color:var(--teal-dark);
}
.admin-cat-layout{display:grid;gap:12px}
.admin-cat-columns{display:grid;gap:12px;grid-template-columns:1fr}
.admin-cat-col{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:12px;
  display:grid;
  gap:8px;
}
.admin-cat-create{
  display:grid;
  gap:8px;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0 0 10px;
  border-bottom:1px solid var(--border);
}
.admin-cat-gridhead{
  display:grid;
  grid-template-columns:1fr 88px 120px 148px;
  gap:8px;
  align-items:center;
  font-size:11px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
  padding:2px 0 4px;
}
.admin-cat-list{display:grid;gap:0}
.admin-cat-row{
  display:grid;
  gap:8px;
  border:0;
  border-radius:0;
  background:transparent;
  padding:10px 0;
  border-top:1px solid var(--border);
}
.admin-cat-row__head{font-size:12px;color:var(--muted);font-weight:700}
.admin-inline-fields{
  display:grid;
  gap:8px;
  align-items:center;
  grid-template-columns:88px 120px 1fr 1fr;
}
.admin-inline-fields--compact{grid-template-columns:88px 1fr 1fr}
.admin-inline-fields .admin-sort-input{
  width:88px;
  max-width:88px;
}
.admin-inline-fields .form-select{
  min-width:120px;
  width:100%;
}
.admin-page--categories .admin-panel{overflow:visible}
.admin-page--categories .admin-cat-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-page--categories .admin-cat-col{align-content:start}
.admin-page--categories .admin-inline-fields{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  align-items:stretch;
}
.admin-page--categories .admin-inline-fields .admin-sort-input,
.admin-page--categories .admin-inline-fields .form-select,
.admin-page--categories .admin-inline-fields .btn{
  width:100%;
  max-width:none;
  min-width:0;
  flex:1 1 auto;
}
.admin-page--categories .admin-inline-fields .btn{min-height:40px}
.admin-empty{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
@media(max-width:820px){
  .admin-tab{white-space:nowrap}
  .admin-table thead{display:none}
  .admin-table tr{
    display:block;
    border:1px solid var(--border);
    border-radius:12px;
    padding:8px 10px;
    margin-bottom:10px;
    background:#fff;
  }
  .admin-table td{
    display:block;
    text-align:left;
    padding:8px 0;
    border-top:1px dashed rgba(0,0,0,.07);
  }
  .admin-table td:first-child{border-top:0}
  .admin-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:3px;
    font-weight:700;
    color:var(--muted);
  }
  .admin-action-form{
    width:100%;
    display:grid;
    gap:8px;
  }
  .admin-action-form .btn{width:100%}
  .admin-sort-input,.admin-role-select,.admin-status-select{max-width:none;min-width:0;width:100%}
  .admin-inline-fields .form-select{min-width:0;width:100%;flex:1 1 100%}
  .admin-page--categories .admin-cat-columns{grid-template-columns:1fr}
  .admin-cat-gridhead{display:none}
  .admin-inline-form .btn,
  .admin-action-form .btn{min-height:42px}
  .admin-topbar{align-items:stretch}
  .admin-quick-actions .btn{width:100%}
}
@media(min-width:900px){
  .admin-page--dashboard .admin-content-grid{grid-template-columns:1.4fr 1fr;align-items:start}
  .admin-page .admin-create-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .admin-page .admin-cat-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
  .admin-cat-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
  .admin-page--categories .admin-inline-fields{grid-template-columns:88px 120px minmax(0,1fr) minmax(0,1fr)}
  .admin-page--categories .admin-inline-fields--compact{grid-template-columns:88px minmax(0,1fr) minmax(0,1fr)}
  .admin-page--categories .admin-inline-fields .btn{min-height:38px}
}
/* ── Kategorieverwaltung (admin-categories.php) ── */
.acat-tabs{
  display:flex;
  gap:0;
  border-bottom:2px solid rgba(43,36,31,.22);
  margin:12px 0 0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.acat-tabs::-webkit-scrollbar{display:none}
.acat-tab{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 16px;
  font-size:14px;
  font-weight:700;
  color:rgba(31,26,23,.68);
  text-decoration:none;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  white-space:nowrap;
}
.acat-tab.is-active{
  color:var(--teal-dark);
  border-bottom-color:var(--teal);
}
.acat-tab:hover:not(.is-active){color:var(--text)}
.acat-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(43,36,31,.12);
  color:var(--text);
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  padding:1px 6px;
  min-width:18px;
}
.acat-tab.is-active .acat-count{background:rgba(10,162,166,.15);color:var(--teal-dark)}
.acat-panel{margin-top:12px;padding:0}
/* Listenzeilen haben eigene Hintergründe — ohne Clip wirken unten/oben eckig zur Karten-Rundung. */
.sidebar-card.acat-panel{
  overflow:hidden;
  border-radius:16px;
}
.acat-empty-hint{padding:16px 0}
.acat-add-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 16px;
  padding:14px 24px 14px 20px;
  border-bottom:1px solid var(--border);
}
.acat-add-form{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  flex:1 1 240px;
  min-width:0;
}
.acat-add-form .form-input{flex:1 1 200px;min-width:160px}
.acat-role-sel{flex:0 1 160px;min-width:120px}
/* Kein padding-bottom / kein horizontales Scroll-„Fenster“: sonst wirkt unten oft wie leerer Streifen (Scrollleisten-Reserve). */
.acat-list{
  padding:0;
  overflow-x:visible;
}
/* Spalte „Inserate“: feste Breite, damit Kopf- und Datenzeilen (jeweils eigenes Grid) exakt untereinander liegen */
.acat-list-head{
  display:grid;
  grid-template-columns:32px 1fr minmax(96px,160px) 90px 112px minmax(136px,auto);
  gap:8px;
  padding:8px 28px 8px 20px;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
  border-bottom:1px solid var(--border);
  align-items:center;
}
.acat-list-head__grip{
  position:relative;
  width:32px;
  min-width:32px;
  min-height:1px;
  box-sizing:border-box;
}
.acat-row{
  display:grid;
  grid-template-columns:32px 1fr minmax(96px,160px) 90px 112px minmax(136px,auto);
  gap:8px;
  padding:10px 28px 10px 20px;
  border-bottom:1px solid var(--border);
  align-items:stretch;
}
.acat-row:last-child{border-bottom:0}
.acat-row--main{background:#fff}
.acat-row--sub{background:#fafcfc}
.acat-group .acat-row--main{border-top:1px solid var(--border)}
.acat-group:first-child .acat-row--main{border-top:0}
/* Unter der Hauptzeile folgt immer .acat-group-subs — nur eine Trennlinie (border-top der Sub-Fläche) */
.acat-group > .acat-row--main{border-bottom:0}
.acat-group-subs{border-top:1px solid var(--border)}
.acat-group-subs[hidden]{
  display:none !important;
}
.acat-group-subs.acat-group-subs--empty-live{
  display:none !important;
}
/* Fallback-Sicherung nur außerhalb von aktivem Drag. */
html:not(.acat-sub-drag-active) .acat-group-subs:not([hidden]):not(:has(.acat-row--sub)){
  display:none !important;
}
.acat-name-cell{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.acat-name-cell .acat-name{flex:1;min-width:0}
.acat-fold-btn{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  margin:0;
  padding:0;
  border:1px solid var(--border);
  background:var(--cream);
  border-radius:6px;
  color:var(--muted);
  cursor:pointer;
}
.acat-fold-btn:hover{background:#eee;color:var(--text)}
.acat-fold-btn .bi{font-size:14px;line-height:1;transition:transform .2s ease;transform:rotate(0deg)}
.acat-group:not(.acat-group--collapsed) .acat-fold-btn .bi{transform:rotate(90deg)}
/* Leere Kategorie: Chevron nur während Sub-Drag bei Hover über die Hauptzeile */
.acat-fold-empty-slot{
  flex-shrink:0;
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border:1px solid transparent;
  border-radius:6px;
  color:var(--muted);
  opacity:0;
  transition:opacity .12s ease, border-color .12s ease, background .12s ease;
  pointer-events:none;
}
.acat-fold-empty-slot .bi{font-size:14px;line-height:1}
html.acat-sub-drag-active .acat-row--main:hover .acat-fold-empty-slot:not(.u-hidden){
  opacity:1;
  border-color:var(--border);
  background:var(--cream);
}
.acat-sub-sort{min-height:4px}
.acat-main-grip-drop{
  width:32px;
  min-width:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}
.acat-drag-handle{
  display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;
  border:0;background:transparent;border-radius:6px;color:var(--muted);cursor:grab;
  touch-action:none;-webkit-user-select:none;user-select:none
}
.acat-drag-handle .bi{font-size:1.15rem;line-height:1}
.acat-drag-handle:hover{background:var(--cream);color:var(--text)}
.acat-drag-handle:active{cursor:grabbing}
.sortable-ghost{opacity:.55}
.sortable-chosen .acat-row,
.sortable-chosen.acat-group{box-shadow:0 2px 8px rgba(0,0,0,.08)}
.acat-name{font-weight:600;font-size:14px;word-break:break-word}
.acat-name--sub{font-weight:400;font-size:13px;color:var(--muted);padding-left:8px}
.acat-role{font-size:12px;color:var(--muted)}
.acat-role--sub{color:#b8c0c4;font-weight:400}
.acat-role-cell{
  min-width:0;
  font-size:12px;
  line-height:1.35;
  word-break:break-word;
  color:var(--muted);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:3px;
}
.acat-excl{
  font-size:11px;
  line-height:1.3;
  color:var(--muted);
  font-weight:600;
}
.acat-exclude-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  margin-top:8px;
}
.acat-exclude-wrap .form-label{margin-bottom:0;font-size:12px}
.acat-exclude-lbl{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.acat-exclude-wrap--modal{margin-top:12px}
.acat-add-form .acat-exclude-wrap{width:100%;margin-top:0}
.acat-list-head-col--role{
  min-width:0;
  line-height:1.25;
  text-align:left;
  justify-self:stretch;
}
.acat-count-cell{
  font-size:13px;
  color:var(--muted);
  text-align:center;
  justify-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.acat-list-head-col--inserate{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  justify-self:stretch;
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.acat-list-head-col--aktion{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  text-align:right;
  justify-self:stretch;
  min-width:0;
  width:100%;
  box-sizing:border-box;
  padding-inline-end:4px;
}
.acat-list-head-col--subanz{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  justify-self:stretch;
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.acat-list--klein .acat-list-head,
.acat-list--klein .acat-row{
  grid-template-columns:32px 1fr minmax(96px,140px) 72px 52px minmax(136px,auto);
}
.acat-subanz-cell{
  font-size:13px;
  color:var(--muted);
  text-align:center;
  justify-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.acat-subanz-cell--empty{
  color:#cfd4d8;
  font-weight:400;
}
.adm-cat-row-actions{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  justify-self:end;
  align-self:center;
  width:max-content;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  padding-inline-end:6px;
}
.acat-row .adm-cat-row-actions{flex-shrink:0}
.acat-row--sub > .acat-drag-handle{align-self:center}
.acat-row--sub > .acat-name{align-self:center;min-width:0}
.adm-cat-row-actions--triple{flex-wrap:nowrap}
.adm-cat-row-actions .adm-inline-form{margin:0}
/* Modal */
.acat-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:8000;
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.acat-modal-backdrop[hidden]{display:none}
.acat-modal{
  background:#fff;
  border-radius:16px;
  width:100%;
  max-width:440px;
  box-shadow:0 16px 48px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.acat-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 18px;
  border-bottom:1px solid var(--border);
}
.acat-modal-close{
  background:0;
  border:0;
  font-size:18px;
  cursor:pointer;
  color:var(--muted);
  line-height:1;
  padding:4px 6px;
}
.acat-modal-body{padding:18px}
.acat-modal-body .form-group{margin-bottom:16px}
.acat-modal-body .form-group:last-child{margin-bottom:0}
.acat-modal-body .form-label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.acat-modal-body .form-hint{margin-top:6px;margin-bottom:0}
.acat-modal-foot{
  padding:14px 18px;
  border-top:1px solid var(--border);
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
@media(max-width:720px){
  /* Admin-Subnav schmaler, Scroll-Snap horizontal */
  .admin-subnav{
    scroll-snap-type:x mandatory;
    gap:0;
    padding:0 10px;
  }
  .admin-subnav__link{
    scroll-snap-align:start;
    padding:9px 10px;
    font-size:12px;
  }

  /* Kategorie-Haupttabs */
  .acat-tabs{margin:8px 0 0;scroll-snap-type:x mandatory}
  .acat-tab{
    scroll-snap-align:start;
    padding:8px 12px;
    font-size:13px;
  }

  .acat-list-head{display:none}

  /* Zeilen: Flex statt Grid – Inserate/Sub eine Zeile, weniger Höhe */
  .acat-list--klein .acat-row{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:6px 10px;
    padding:10px 18px 10px 12px;
  }
  .acat-list--klein .acat-drag-handle{
    order:0;
    flex:0 0 32px;
    width:32px;
    height:32px;
    align-self:flex-start;
  }
  .acat-list--klein .acat-row--main .acat-name-cell{
    order:1;
    flex:1 1 calc(100% - 42px);
    min-width:0;
  }
  .acat-list--klein .acat-row--sub > .acat-name.acat-name--sub{
    order:1;
    flex:1 1 calc(100% - 42px);
    min-width:0;
  }
  .acat-list--klein .acat-role-cell{
    order:2;
    flex:1 1 100%;
    width:100%;
  }
  .acat-list--klein .acat-count-cell{
    order:3;
    flex:0 0 auto;
    text-align:left;
    justify-self:auto;
    align-self:center;
  }
  .acat-list--klein .acat-subanz-cell{
    order:4;
    flex:0 0 auto;
    align-self:center;
  }
  .acat-list--klein .adm-cat-row-actions{
    order:5;
    flex:1 1 100%;
    justify-self:stretch;
    width:100%;
    max-width:none;
    min-width:0;
    margin-top:2px;
    margin-left:0;
    margin-right:0;
    padding-inline-end:0;
    box-sizing:border-box;
  }
  .acat-role::before{content:'Rolle: ';font-weight:700}
  .acat-role.acat-role--sub::before{content:none}
  .acat-count-cell::before{content:'Inserate: ';font-weight:700}
  .acat-subanz-cell::before{content:'Sub: ';font-weight:700}
  .acat-list--klein .acat-row .adm-cat-row-actions:not(.adm-cat-row-actions--triple){
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .acat-list--klein .acat-row .adm-cat-row-actions:not(.adm-cat-row-actions--triple) .adm-inline-form{display:flex}
  .acat-list--klein .acat-row .adm-cat-row-actions:not(.adm-cat-row-actions--triple) .adm-icon-btn{
    width:100%;
    min-height:40px;
    border-radius:8px;
  }
  .acat-list--klein .acat-row .adm-cat-row-actions--triple{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
  }
  .acat-list--klein .acat-row .adm-cat-row-actions--triple .adm-icon-btn{
    width:100%;
    min-height:40px;
    max-height:40px;
    border-radius:8px;
  }
  .acat-list--klein .acat-row .adm-cat-row-actions--triple .adm-inline-form{display:flex;width:100%}
  .acat-list--klein .acat-row .adm-cat-row-actions--triple .adm-inline-form .adm-icon-btn{width:100%}

  /* Anlegen: keine vertikale Flex-Basis am Feld (sonst sehr hohe Zeile) */
  .acat-add-form{flex-direction:column;align-items:stretch;gap:8px;flex:1 1 auto;width:100%}
  .acat-add-form .form-input,
  .acat-add-form .form-select{
    flex:0 0 auto;
    width:100%;
    min-width:0;
  }
  .acat-add-form .btn{width:100%}
  .acat-add-row{align-items:stretch;padding:12px 18px 12px 12px}
  .acat-role-sel{flex:1 1 auto}
  .acat-modal-foot{flex-direction:column-reverse;align-items:stretch;gap:10px}
  .acat-modal-foot .btn{width:100%}

  .adm-page{padding-left:12px;padding-right:12px;padding-top:20px}
  .acat-list--klein .acat-name{font-size:13px}
}

.u-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.link-teal{color:var(--teal)}
.link-accent{color:var(--teal);font-weight:700}
.form-page--narrow{max-width:480px}
.form-mt-10{margin-top:10px}
.flex-row-gap10{display:flex;gap:10px}
html.e4p-modal-open,
body.e4p-modal-open{
  overflow:hidden;
  overscroll-behavior:none;
}
.e4p-booking-modal{
  position:fixed;
  inset:0;
  z-index:9000;
  box-sizing:border-box;
  overscroll-behavior:contain;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  padding:
    max(8px, env(safe-area-inset-top, 0px))
    max(10px, env(safe-area-inset-right, 0px))
    max(8px, env(safe-area-inset-bottom, 0px))
    max(10px, env(safe-area-inset-left, 0px));
}
.e4p-booking-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
}
.e4p-booking-modal__panel{
  position:relative;
  width:min(680px,100%);
  max-width:100%;
  min-height:0;
  max-height:min(90vh,calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 12px));
  overflow:hidden;
  background:var(--cream);
  border-radius:20px 20px 0 0;
  box-shadow:0 -4px 32px rgba(0,0,0,.18);
  padding:0;
  display:flex;
  flex-direction:column;
}
.e4p-booking-modal__head{
  background:var(--coral);
  color:#fff;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-radius:20px 20px 0 0;
  flex-shrink:0;
}
.e4p-booking-modal__head-title{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:16px;
}
.e4p-booking-modal__close{
  position:static;
  width:36px;
  height:36px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.e4p-booking-modal__close:hover{background:rgba(255,255,255,.32)}
.e4p-booking-modal__card{
  margin:0;
  border:none;
  box-shadow:none;
  padding:0;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
.e4p-booking-modal #course-booking-step-ind{
  margin:12px 0 14px;
  padding:6px 16px 0;
  flex-shrink:0;
}
.e4p-booking-modal .step-content{padding-top:0}
.e4p-booking-modal .e4p-booking-step-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding:20px 16px 12px;
}
.e4p-booking-modal .form-title{margin-bottom:8px}
.e4p-booking-modal .form-subtitle{margin-bottom:14px}
.e4p-booking-modal .form-group{margin-bottom:10px}
.e4p-booking-modal .e4p-booking-fields{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:2px;
}
.e4p-booking-modal .e4p-booking-row{
  display:grid;
  grid-template-columns:repeat(var(--e4p-booking-cols, 1), minmax(0, 1fr));
  gap:12px 14px;
  align-items:start;
}
.e4p-booking-modal .e4p-booking-fields .form-group{margin-bottom:0}
.e4p-booking-modal .e4p-booking-fields .form-label:has(input[type=checkbox]){
  display:flex;
  gap:10px;
  align-items:flex-start;
  cursor:pointer;
  line-height:1.35;
}
.e4p-booking-modal .e4p-booking-fields .form-label input[type=checkbox]{margin-top:3px;flex-shrink:0}
.e4p-booking-modal .e4p-booking-fields textarea.form-input{min-height:88px;resize:vertical}
@media (max-width:519px){
  .e4p-booking-modal .e4p-booking-row{grid-template-columns:1fr!important}
}
.e4p-booking-modal .form-preview{margin-bottom:14px}
.e4p-booking-modal .info-box{margin-bottom:12px}
.e4p-booking-modal .form-hint{margin-top:2px}
.e4p-booking-modal .step-content .form-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-shrink:0;
  margin-top:0;
  padding:12px 16px max(14px, env(safe-area-inset-bottom, 0px));
  border-top:1px solid var(--border);
  background:var(--cream);
}
.e4p-booking-modal .step-content.active{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
@media (min-width:480px){
  .e4p-booking-modal{
    justify-content:center;
    align-items:center;
    padding:
      max(16px, env(safe-area-inset-top, 0px))
      max(20px, env(safe-area-inset-right, 0px))
      max(16px, env(safe-area-inset-bottom, 0px))
      max(20px, env(safe-area-inset-left, 0px));
  }
  .e4p-booking-modal__panel{
    width:min(680px,calc(100vw - 40px));
    min-height:0;
    max-height:min(88vh,calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px));
    border-radius:20px;
    box-shadow:0 14px 42px rgba(0,0,0,.22);
    padding:0;
  }
}
@media (max-width:768px){
  .e4p-booking-modal{
    padding:0;
    align-items:flex-end;
  }
  .e4p-booking-modal__panel{
    width:100vw;
    max-height:min(94vh,calc(100vh - 6px));
    border-radius:20px 20px 0 0;
    padding:0;
  }
  .e4p-booking-modal__card{padding:0}
  .e4p-booking-modal #course-booking-step-ind{
    margin:10px 0 12px;
    padding:4px 14px 0;
  }
  .e4p-booking-modal .form-subtitle{margin-bottom:12px}
  .e4p-booking-modal .form-group{margin-bottom:9px}
  .e4p-booking-modal .e4p-booking-fields{gap:10px}
  .e4p-booking-modal .e4p-booking-row{gap:10px 12px}
  .e4p-booking-modal .e4p-booking-fields .form-group{margin-bottom:0}
  .e4p-booking-modal .e4p-booking-step-body{padding:14px 14px 10px}
  .e4p-booking-modal .step-content .form-nav{
    padding:10px 14px max(12px, env(safe-area-inset-bottom, 0px));
  }
  .e4p-booking-modal__card{min-height:0}
  .e4p-booking-modal .step-content.active{min-height:0}
}
.btn-row-oauth .btn{display:flex;gap:8px;align-items:center;justify-content:center}
.form-callout--ok,.form-callout--err,.form-callout--info{margin-bottom:16px}
.form-callout--ok{
  padding:12px 14px;
  background:#effaf5;
  border-radius:12px;
  border:1px solid #b8ead1;
  color:#0f6a44;
  font-size:14px;
}
.form-callout__meta{margin-top:6px;font-weight:700}
.form-callout--err{
  padding:12px 14px;
  background:#fff3f0;
  border-radius:12px;
  border:1px solid var(--coral-lt);
  color:#c0392b;
  font-size:14px;
}
.form-callout--info{
  padding:12px 14px;
  background:#eef8fb;
  border-radius:12px;
  border:1px solid #b8dde8;
  color:#0f5a6a;
  font-size:14px;
}
.hp-field{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
}

/* --- Startseite: Pfoten-Dekor (Positionen) --- */
.home-hero svg.paw-deco--1{top:6px;left:14px;width:42px;transform:rotate(-10deg)}
.home-hero svg.paw-deco--2{top:8px;left:54px;width:24px;transform:rotate(20deg)}
.home-hero svg.paw-deco--3{top:10px;right:18px;width:36px;transform:rotate(-18deg)}

.search-result-item.search-dropdown-more{
  border-top:1px solid var(--border);
  justify-content:center;
  color:var(--teal);
  font-weight:700;
  font-size:13px;
}

/* --- Suche-Seite --- */
.search-toolbar-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%;--filter-ctl-h:38px;overflow:visible}
.search-toolbar-form .filter-search:not(.filter-search--loc){flex:0 1 300px;max-width:300px}
.search-toolbar-form .search-ort-wrap.filter-loc{flex:0 1 280px;max-width:280px;min-width:180px}
.faq-body .search-toolbar-form .filter-search{flex:1 1 420px;max-width:520px}
.search-body{width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 72px;box-sizing:border-box}
/* Einheitliche Spaltenbreite mit den übrigen Seiten (Hero, Toolbar und Ergebnisse wie 1100px-Listenseiten). */
.page-hero-inner--search,
.filter-bar-inner--search{max-width:1100px}
.search-toolbar-submit{
  min-height:var(--filter-ctl-h,38px);
  height:var(--filter-ctl-h,38px);
  margin-top:0;
  margin-bottom:0;
  padding:0 18px;
  font-size:13px;
  align-self:center;
}
.search-toolbar-submit:disabled,
.search-toolbar-submit.is-disabled{background:var(--border);color:var(--muted);cursor:not-allowed}
.search-toolbar-submit:disabled:hover,
.search-toolbar-submit.is-disabled:hover{background:var(--border)}
.search-hint{text-align:center;padding:32px 16px;color:var(--muted);font-size:14px;line-height:1.7}
.search-hint-emoji{font-size:40px;display:block;margin-bottom:12px;line-height:1;color:var(--teal)}
.search-empty-state{text-align:center;padding:40px 16px}
.search-empty-icon{width:64px;height:64px;border-radius:20px;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}
.search-empty-state h3{font-family:'Nunito',sans-serif;font-weight:800;font-size:17px;margin-bottom:6px}
.search-empty-state p{font-size:14px;color:var(--muted);max-width:280px;margin:0 auto;line-height:1.6}
.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
@media(min-width:480px){.category-grid{grid-template-columns:repeat(4,1fr)}}
.category-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;background:var(--white);border:1px solid var(--border);border-radius:14px;text-decoration:none;color:var(--text);font-family:'Nunito',sans-serif;font-weight:800;font-size:13px;transition:border-color .2s,box-shadow .2s,transform .15s;text-align:center}
.category-tile:hover{border-color:var(--teal);box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}
.category-tile-emoji{font-size:26px;display:block;line-height:1;color:var(--teal)}
.result-count-bar{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;background:var(--cream);border-radius:10px;font-size:13px;color:var(--muted)}
.result-count-bar strong{color:var(--text);font-family:'Nunito',sans-serif;font-weight:800;font-size:15px}
.search-hit-query{font-style:normal}
.search-hit-ort{display:inline-flex;align-items:center;gap:3px}
.section-label-dot--accent{background:var(--accent-color,var(--teal))}
.result-item-main{min-width:0;padding-right:22px}
.search-hit-row-wrap .result-item-main{padding-right:76px}
.section-header{display:flex;align-items:center;justify-content:space-between;margin:28px 0 10px}
.section-label{display:flex;align-items:center;gap:8px;font-family:'Nunito',sans-serif;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}
.section-label-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.section-more-link{font-family:'Nunito',sans-serif;font-weight:700;font-size:12px;color:var(--teal);text-decoration:none;display:flex;align-items:center;gap:3px;opacity:.8;transition:opacity .15s}
.section-more-link:hover{opacity:1}
.result-group{background:var(--white);border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.07);margin-bottom:4px;border:1px solid var(--border)}
.result-item{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:12px 14px;text-decoration:none;color:var(--text);transition:background .18s;border-bottom:1px solid var(--border);position:relative}
.result-item:last-of-type{border-bottom:none}
.result-item:hover{background:var(--cream)}
.result-item:active{background:#EDE8E0}
.result-img{width:52px;height:52px;border-radius:12px;object-fit:cover;flex-shrink:0;background:var(--cream)}
.result-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--teal);margin-bottom:2px}
.result-distance{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;border-radius:999px;background:var(--cream);color:var(--muted);font-weight:800;letter-spacing:.2px;text-transform:none}
.result-distance[hidden]{display:none}
.result-distance::before{font-family:"bootstrap-icons";content:"\f3e7";margin-right:3px}
.result-title{font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;line-height:1.3;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.result-meta{font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.result-excerpt{margin-top:4px;font-size:12px;color:#555;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.search-mark{background:#FFE98A;color:inherit;padding:0 2px;border-radius:3px}
.result-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--border);font-size:14px;transition:color .15s,transform .15s}
.result-item:hover .result-chevron{color:var(--teal);transform:translateY(-50%) translateX(2px)}
.result-more-row{display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 14px;background:#fff;border-top:1px solid var(--border);color:var(--teal);font-family:'Nunito',sans-serif;font-weight:700;font-size:13px;text-decoration:none;transition:background .18s}
.result-more-row:hover{background:var(--teal-lt)}
.search-load-more-wrap{display:flex;justify-content:center;margin:28px 0 8px}
.search-load-more{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;border:1px solid var(--teal);border-radius:999px;background:#fff;color:var(--teal);font-family:'Nunito',sans-serif;font-weight:800;font-size:13px;text-decoration:none;cursor:pointer;transition:background .18s,color .18s}
.search-load-more:hover{background:var(--teal);color:#fff}
.search-results--list .search-result-cards{display:none}
.search-results--cards .search-result-list{display:none}
.search-results--cards .result-group{background:transparent;border:none;box-shadow:none;overflow:visible;margin-bottom:18px}
.search-results--cards .search-result-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  padding:0 0 8px;
}
@media(min-width:600px){
  .search-results--cards .search-result-cards{grid-template-columns:1fr 1fr}
}
@media(min-width:970px){
  .search-results--cards .search-result-cards{grid-template-columns:1fr 1fr 1fr}
}
@media(min-width:1100px){
  .search-results--cards .search-result-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.search-hit-row-wrap{position:relative}
.search-hit-row-wrap .card-fav-btn{
  position:absolute;
  top:50%;
  right:52px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.92);
  background:rgba(255,255,255,.94);
  box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.search-hit-card-wrap{
  background:var(--white);
  border:1px solid rgba(95,58,22,.14);
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  position:relative;
}
.search-hit-card-wrap .search-hit-card-bottom .card-footer{
  margin-top:0;
  padding-top:10px;
  border-top:1px solid var(--border);
}
.search-hit-card-actions{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:2;
  display:flex;
  gap:6px;
}
@media(min-width:970px){
  .search-results--cards .search-hit-card-wrap .search-hit-card-bottom .card-footer{
    padding-right:76px;
  }
}
.search-hit-card-wrap > .search-hit-card,
.search-hit-card-wrap > .card.search-hit-card{
  border:none;
  border-radius:0;
  box-shadow:none;
  flex:1 1 auto;
}
.search-hit-card-excerpt{
  font-size:12px;color:#555;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  line-height:1.4;margin-top:4px;
}
.search-hit-card-meta{font-size:12px}
.view-toggle--search{flex-shrink:0}
@media(max-width:969px){
  .view-toggle--search{display:none}
}
@media(min-width:970px){
  .view-toggle--search{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;height:40px;
    border:1px solid var(--border);
    border-radius:10px;
    background:#fff;
    color:var(--muted);
    cursor:pointer;
    padding:0;
  }
  .view-toggle--search:hover{background:var(--teal-lt);border-color:var(--teal);color:var(--teal)}
}

/* --- FAQ-Seite --- */
.faq-body{width:100%;max-width:1100px;margin:0 auto;padding:18px 16px 56px}
.faq-search-clear{
  border:none;
  background:none;
  cursor:pointer;
  display:none;
  color:var(--muted);
  font-size:16px;
  line-height:1;
  padding:0 2px;
}
.faq-search-clear.visible{display:inline-flex}
.faq-result-count:empty{display:none}
.faq-noresult{display:none;text-align:center;padding:40px 16px}
.faq-noresult.faq-noresult--visible{display:block}
.faq-noresult-emoji{font-size:40px;display:block;margin-bottom:12px}
.faq-noresult strong{font-family:'Nunito',sans-serif;font-weight:800;font-size:17px;display:block;margin-bottom:6px;color:var(--text)}
.faq-section-wrap{margin-bottom:16px}
.faq-section-wrap:last-of-type{margin-bottom:0}
.faq-section-card{
  background:var(--white);
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow-warm-sm);
}
.faq-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px 4px 18px;
  border-bottom:none;
  background:var(--white);
}
.faq-section-head-main{display:flex;align-items:center;gap:12px;min-width:0}
.faq-section-label-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}
.faq-section-title{
  font-family:'Nunito',sans-serif;font-weight:800;font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;color:#4B4943;
  line-height:1.2;
}
.faq-section-count{
  font-family:'Nunito Sans',sans-serif;font-size:11px;font-weight:600;
  color:var(--muted);white-space:nowrap;flex-shrink:0;opacity:.9;
}
.faq-item{border-bottom:none}
/* Anker-Sprünge nicht hinter sticky Nav (58px) + Filterleiste verstecken */
.faq-item,.faq-section-card{scroll-margin-top:130px}
.faq-item + .faq-item .faq-q{padding-top:12px}
.faq-item:first-of-type .faq-q{padding-top:8px}
.faq-item.hidden{display:none}
.faq-item.open{background:var(--white)}
.faq-q{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 18px 10px 18px;
  min-height:48px;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  color:var(--text);
  transition:background .18s;
  -webkit-tap-highlight-color:transparent;
}
.faq-q:hover{background:rgba(0,0,0,.02)}
.faq-q.open{background:transparent}
.faq-q-text{
  font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;letter-spacing:-.01em;
  line-height:1.4;flex:1;min-width:0;padding-right:4px
}
.faq-icon-wrap{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:10px;background:var(--white);
  border:1px solid var(--border);
  box-shadow:0 1px 0 rgba(0,0,0,.03);
  transition:background .15s,border-color .15s,box-shadow .15s
}
.faq-q:hover .faq-icon-wrap{background:#FAFAF8;border-color:#E0DED8;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.faq-icon{transition:transform .22s,color .15s;stroke:currentColor;stroke-width:2.2;color:#5F5A52}
.faq-q.open .faq-icon{transform:rotate(180deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.faq-a.open{grid-template-rows:1fr}
.faq-a-inner{overflow:hidden;padding:0 18px 0 18px}
.faq-a-content{max-width:70ch;padding:0 0 16px 0;background:transparent}
.faq-item.open .faq-q{padding-bottom:4px}
.faq-a-content p:first-child{margin-top:0;padding-top:0}
.faq-a-content p{font-size:14px;color:var(--text);line-height:1.65;opacity:.92;margin:0 0 10px}
.faq-a-content p:last-child{margin-bottom:0}
.faq-a-content a{color:var(--teal);font-weight:700;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.faq-a-content a:hover{opacity:.9}
.faq-a-content h2,.faq-a-content h3,.faq-a-content h4{
  font-family:'Nunito',sans-serif;font-weight:800;
  color:var(--text);line-height:1.35;margin:14px 0 6px;
  font-size:15px;letter-spacing:-.01em
}
.faq-a-content h2:first-child,.faq-a-content h3:first-child,.faq-a-content h4:first-child{margin-top:0}
.faq-a-content h2{font-size:16px}
.faq-a-content h3{font-size:15px}
.faq-a-content h4{font-size:14px}
.faq-a-content ul,.faq-a-content ol{margin:0 0 10px 0;padding-left:1.15rem}
.faq-a-content ol{list-style-position:outside}
.faq-a-content li{font-size:14px;color:var(--text);line-height:1.6;opacity:.92;margin:0 0 5px}
.faq-a-content li:last-child{margin-bottom:0}
.faq-a-content strong{color:var(--text);font-weight:700;opacity:1}
.faq-a-content em{font-style:italic;opacity:.95}
.faq-a-content p + ol,.faq-a-content p + ul,.faq-a-content p + p{margin-top:0}
.faq-a-content h4 + p,.faq-a-content h3 + p,.faq-a-content h2 + p{margin-top:0}
.faq-cta{background:var(--white);border-radius:12px;padding:20px 16px;margin-top:24px;text-align:center;border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.faq-cta-icon{width:44px;height:44px;border-radius:10px;background:var(--teal-lt);display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 10px}
.faq-cta h3{font-family:'Nunito',sans-serif;font-weight:800;font-size:17px;margin-bottom:4px;color:var(--text)}
.faq-cta p{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.55;max-width:300px;margin-left:auto;margin-right:auto}
.faq-cta-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}

/* --- Rechtstexte / Impressum --- */
.legal-page{width:100%;max-width:780px;margin:0 auto;padding:32px 16px 64px}
.legal-card.form-card{padding:36px 32px;line-height:1.9;font-size:14px}
.legal-h2{font-family:"Nunito",sans-serif;font-weight:800;font-size:17px;margin:28px 0 10px;padding-top:20px;border-top:1px solid var(--border)}
.legal-h2:first-of-type{border-top:none;padding-top:0;margin-top:0}
.legal-p{color:var(--muted);margin-bottom:12px;line-height:1.9}
.legal-list{color:var(--muted);margin:0 0 12px 20px;display:flex;flex-direction:column;gap:6px}
.legal-box{background:var(--teal-lt);border-radius:10px;padding:14px 16px;margin-bottom:16px;font-size:13px}

/* --- Profilseite --- */
.profile-page{width:100%;max-width:1100px;margin:0 auto;padding:20px 16px 64px}
.profile-header-card{margin-bottom:24px}
.profile-newsletter__actions{display:flex;gap:8px;flex-shrink:0}
.profile-newsletter__debug{font-size:12px;margin:8px 0 0;word-break:break-all}
.profile-newsletter-banner__error{margin:-8px 0 16px}
.profile-settings-newsletter{padding-top:0;margin-top:0;border-top:0}
.profile-settings-newsletter__box{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:12px}
.profile-settings-newsletter__box--on{background:var(--light-orange);border-color:rgba(var(--primary-rgb),.22)}
.profile-settings-newsletter__box--pending{background:var(--surface-soft);border-color:rgba(var(--primary-rgb),.18)}
.profile-settings-newsletter__main{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}
.profile-settings-newsletter__icon{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--white);color:var(--teal);font-size:16px;border:1px solid var(--border)}
.profile-settings-newsletter__box--on .profile-settings-newsletter__icon{border-color:rgba(var(--primary-rgb),.25)}
.profile-settings-newsletter__status{font-size:13px;font-weight:700;color:var(--text);margin:0;line-height:1.35}
.profile-settings-newsletter__hint{margin-top:8px}
.profile-settings-newsletter .profile-newsletter__actions .btn{white-space:nowrap}
@media(max-width:560px){
  .profile-settings-newsletter__box{flex-direction:column;align-items:stretch}
  .profile-settings-newsletter .profile-newsletter__actions{width:100%}
  .profile-settings-newsletter .profile-newsletter__actions .btn{width:100%}
}
.profile-tv-banner{flex-direction:row;align-items:center;gap:16px;border-left:4px solid var(--coral);margin-bottom:16px}
.profile-tv-banner--pending{border-left-color:var(--teal)}
.profile-tv-banner__icon{font-size:28px;flex-shrink:0}
.profile-tv-banner__body{flex:1;display:flex;flex-direction:column;gap:4px}
.profile-tv-banner__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:15px}
.profile-tv-banner__desc{color:var(--muted);font-size:13px}
@media(max-width:640px){.profile-tv-banner{flex-direction:column;align-items:flex-start}.profile-tv-banner .btn{width:100%}}
/* ── Profil: Einnahmen & Auszahlungen (Stripe Connect + Übersicht) ── */
.profile-payouts{flex-direction:column;align-items:stretch;gap:0;border-left:4px solid var(--teal);margin-bottom:16px;padding:16px 18px}
.profile-payouts-flash{border-left:4px solid var(--green);margin-bottom:16px;padding:12px 16px}
.profile-payouts-flash__text{font-size:14px;font-weight:600;color:var(--green)}
.profile-payouts__head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.profile-payouts__icon{
  width:46px;height:46px;border-radius:14px;flex-shrink:0;line-height:1;
  display:flex;align-items:center;justify-content:center;font-size:21px;
  background:var(--teal-lt);color:var(--teal)
}
.profile-payouts__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;margin:0 0 6px}
.profile-payouts__intro{margin:0}
.profile-payouts__connect{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;
  padding:14px 16px;margin-bottom:16px;
  background:var(--bg);border:1px solid var(--border);border-radius:12px
}
.profile-payouts__connect-main{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px}
.profile-payouts__connect-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.profile-payouts__connect-status{font-size:14px;font-weight:700;color:var(--ink)}
.profile-payouts__alert{margin:0;font-size:13px;font-weight:700;color:var(--coral)}
.profile-payouts__connect-actions{align-self:center}
.profile-payouts__overview{padding-top:4px;border-top:1px solid var(--border)}
.profile-earnings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0 14px}
.profile-earnings-stat{
  background:var(--bg);border:1px solid var(--border);border-radius:12px;
  padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0
}
.profile-earnings-stat--held{border-color:rgba(181,138,0,.35);background:#fffdf5}
.profile-earnings-stat--released{border-color:rgba(45,138,110,.35);background:#f4fbf8}
.profile-earnings-stat--available{border-color:rgba(45,138,110,.5);background:#eefaf4}
.profile-earnings-stat__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.profile-earnings-stat__value{font-family:'Nunito',sans-serif;font-weight:800;font-size:20px;line-height:1.15;color:var(--ink)}
.profile-earnings-stat__hint{font-size:12px;color:var(--muted);line-height:1.35}
.profile-earnings__alert{margin:0 0 14px;font-size:13px;font-weight:700;color:var(--coral)}
.profile-earnings__subtitle{font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;margin:0 0 10px}
.profile-earnings__empty{margin:0}
.profile-earnings-table-wrap{overflow-x:auto;margin-top:4px}
.profile-earnings-table{width:100%;border-collapse:collapse;font-size:13px}
.profile-earnings-table th,.profile-earnings-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.profile-earnings-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.profile-earnings-table__type{display:block;font-weight:700;color:var(--ink)}
.profile-earnings-table__title{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.profile-earnings-badge{display:inline-block;font-size:12px;font-weight:700;line-height:1.35}
.profile-earnings-badge--held{color:#b58a00}
.profile-earnings-badge--released{color:var(--green)}
.profile-earnings-badge--await{color:var(--coral)}
.profile-earnings-badge--refunded{color:var(--muted)}
.profile-earnings-badge--default{color:var(--ink)}
@media(min-width:720px){.profile-earnings-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){
  .profile-earnings-table th:nth-child(3),.profile-earnings-table td:nth-child(3){display:none}
  .profile-payouts__connect-actions{width:100%}
  .profile-payouts__connect-actions .btn{width:100%}
}
.adm-tv-detail{margin-top:24px}
.adm-tv-detail__meta{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;color:var(--muted);font-size:13px}
.adm-tv-detail__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:16px}
.adm-tv-detail__grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:2px}
.adm-tv-detail__grid dd{font-size:14px;margin:0;word-break:break-word}
.adm-tv-detail__notes{white-space:pre-wrap;background:var(--cream);padding:10px 12px;border-radius:8px;font-size:14px}
.adm-tv-detail__actions{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}
.tva-doc-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}
.tva-doc-list__item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}
.tva-doc-list__item a{font-weight:600}
.profile-header-card{margin-bottom:24px;padding:20px 22px}
.profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.profile-header__identity{display:flex;align-items:flex-start;gap:18px;flex:1;min-width:0}
.profile-header__meta{display:flex;flex-direction:column;gap:6px;min-width:0;padding-top:2px}
.profile-header__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.profile-header-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.profile-avatar-lg{
  width:72px;height:72px;border-radius:50%;background:var(--teal);color:white;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:26px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.profile-header-main{flex:1;min-width:0}
.profile-display-name{font-family:'Nunito',sans-serif;font-weight:800;font-size:1.35rem;line-height:1.2;margin:0}
.profile-header__email{font-size:13px;color:var(--muted);text-decoration:none;word-break:break-word}
.profile-header__email:hover{color:var(--teal);text-decoration:underline}
.profile-header__public{font-size:13px;font-weight:600;color:var(--teal);text-decoration:none;width:fit-content}
.profile-header__public:hover{text-decoration:underline}
.profile-email-line{font-size:13px;color:var(--muted);margin-bottom:8px}
.profile-email-line a{color:var(--teal)}
.profile-badge-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.profile-header-card .profile-badge-row .badge{
  display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:10px;line-height:1.2
}
.profile-header-card .badge-gold{background:#fff6d8;border:1px solid #e4c55a;color:#6b4e00}
.profile-header-card .badge-teal{background:var(--teal-lt);border:1px solid #9fd9c8;color:var(--teal)}
.profile-header-card .badge-gray{background:#f4f2ee;border:1px solid var(--border);color:var(--muted)}
.profile-badge-admin-link{font-weight:700}
.profile-header__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.profile-header-edit-btn{margin-left:auto;flex-shrink:0}
.profile-header-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0;padding-top:4px}
.profile-header-logout-btn{color:var(--muted);border-color:var(--border)}
.profile-header-logout-btn:hover{color:var(--coral);border-color:var(--coral);background:var(--coral-lt)}
@media(max-width:720px){
  .profile-header{flex-direction:column;gap:16px}
  .profile-header-actions{width:100%;padding-top:0}
  .profile-header-actions .btn{flex:1 1 0}
}
@media(max-width:600px){
  .profile-header-row{gap:14px}
  .profile-avatar-lg{width:64px;height:64px;font-size:22px}
  .profile-display-name{font-size:1.2rem}
  .profile-header__title-row{flex-direction:column;align-items:flex-start;gap:8px}
}
.profile-stats-grid{display:grid;gap:12px;margin-bottom:28px}
.stat-val{font-family:'Nunito',sans-serif;font-weight:800;font-size:22px;color:var(--teal)}
.stat-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-top:2px}
.stat-box.profile-stat{background:var(--white);display:flex;flex-direction:row;align-items:center;gap:14px;padding:16px 18px;text-align:left;transition:transform .15s,box-shadow .15s}
a.profile-stat:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.09)}
.profile-stat__icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0}
.profile-stat__icon--listings{background:var(--teal-lt);color:var(--teal)}
.profile-stat__icon--saved{background:var(--coral-lt);color:var(--coral)}
.profile-stat__icon--messages{background:#fff5d6;color:#b58a00}
.profile-stat__icon--animals{background:var(--green-lt);color:var(--green)}
.profile-stat__text{display:flex;flex-direction:column;min-width:0}
.profile-stat .stat-val{font-size:26px;line-height:1.05}
.profile-stat .stat-label{margin-top:3px}
.profile-main-grid{display:grid;gap:24px;align-items:start}
.profile-section-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:16px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.profile-section-title::before{content:"";width:4px;height:18px;border-radius:3px;background:var(--coral);flex-shrink:0}
.profile-section-title__link{margin-left:auto;font-family:inherit;font-weight:600;font-size:13px}
.profile-list-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.sidebar-card.sidebar-card--listing-row{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:12px 14px;transition:box-shadow .15s,transform .15s}
.sidebar-card.sidebar-card--listing-row:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.profile-listing-thumb{width:72px;height:56px;object-fit:cover;border-radius:12px;grid-column:1;grid-row:1 / span 2}
.profile-listing-thumb[src*="listing-placeholder"],
.listing-grid .card-img[src*="listing-placeholder"],
.mini-card-img[src*="listing-placeholder"]{object-fit:cover;object-position:center;background:var(--cream)}
.profile-listing-body{grid-column:2;grid-row:1;min-width:0}
.profile-listing-title{font-weight:700;font-size:14px}
.profile-listing-meta{font-size:12px;color:var(--muted)}
.profile-listing-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.profile-listing-views{display:inline-flex;align-items:center;font-size:11px;color:var(--muted)}
.profile-listing-actions{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:6px}
.btn-danger-soft{background:#fee;color:var(--coral);border:1px solid var(--coral-lt)}
.profile-settings-danger-title{color:var(--coral);margin-top:8px}
.profile-settings-danger{
  padding:14px 16px;border-radius:12px;
  border:1px solid #f0c4c4;background:#fff8f8;
}
.profile-settings-danger__lead{margin:0 0 8px;font-size:14px;line-height:1.45;color:var(--text)}
.profile-settings-danger__note{margin:0 0 10px;font-size:13px;line-height:1.45;color:var(--muted)}
.profile-settings-danger__warn{margin:0 0 8px;font-size:13px;line-height:1.45;color:var(--coral)}
.profile-settings-danger .form-hint{margin-top:10px}
.btn-renew[disabled]{opacity:.5;cursor:not-allowed}
.btn-renew[disabled]:hover{filter:none}
.profile-empty{align-items:center;text-align:center;gap:10px;padding:28px 20px}
.profile-empty--wide{grid-column:1/-1}
.profile-empty__icon{width:48px;height:48px;border-radius:50%;background:var(--cream);color:var(--coral);display:flex;align-items:center;justify-content:center;font-size:22px}
.profile-empty__text{color:var(--muted);font-size:13px;max-width:340px}
.profile-saved-grid{display:grid;gap:10px;margin-bottom:32px}
.card.card--saved-col{display:flex;flex-direction:column}
.card.card--saved-col .card-img{height:120px}
.card.card--saved-col .card-body{padding:10px 12px;gap:4px}
.card.card--saved-col .card-title{font-size:14px}
.profile-form-error{background:#fdecec;border:1px solid var(--coral-lt);color:var(--coral);font-size:13px;padding:9px 12px;border-radius:10px;margin-bottom:4px}
.profile-form-actions{display:flex;gap:10px;margin-top:4px}
.btn-outline-coral{color:var(--coral);border-color:var(--coral)}
.btn-outline-coral-light{color:var(--coral);border-color:var(--coral-lt)}
.sidebar-card .sidebar-heading{font-family:'Nunito',sans-serif;font-weight:700;font-size:14px;margin-bottom:12px}
.sidebar-heading-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.sidebar-heading-row .sidebar-heading{margin-bottom:0}
.sidebar-heading-link{font-size:12px;font-weight:700;color:var(--teal);text-decoration:none}
.sidebar-heading-link:hover{text-decoration:underline}
.sidebar-card .btn-full-last{margin-bottom:0}
.profile-msg-stack{display:flex;flex-direction:column;gap:8px}
.profile-msg-item{
  display:flex;gap:10px;padding:8px;border-radius:10px;cursor:pointer;color:inherit;
  text-decoration:none;align-items:center
}
.profile-msg-item{background:var(--cream)}
.profile-msg-item:hover{background:var(--teal-lt)}
.profile-msg-item--unread{background:var(--teal-lt);position:relative}
.profile-msg-item--unread .profile-msg-name{font-weight:800}
.profile-msg-item--unread::before{content:"";position:absolute;left:3px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--coral)}
.profile-msg-empty{color:var(--muted);font-size:13px;padding:4px 2px}
.profile-msg-item--teal{background:var(--teal-lt)}
.profile-msg-item--cream{background:var(--cream)}
.profile-msg-avatar{
  width:36px;height:36px;border-radius:50%;color:white;font-family:'Nunito',sans-serif;font-weight:800;
  display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0
}
.profile-msg-avatar--brand{background:var(--teal)}
.profile-msg-avatar--muted{background:var(--muted)}
.profile-msg-body .profile-msg-name{font-weight:700;font-size:13px}
.profile-msg-preview{font-size:11px;color:var(--muted)}
.profile-msg-time{font-size:10px;color:var(--muted);flex-shrink:0;margin-left:auto}
.toast-profil{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
  background:var(--teal);color:white;padding:12px 24px;border-radius:25px;
  font-weight:700;font-size:14px;transition:transform .3s;z-index:999;pointer-events:none
}
.toast-profil.toast-profil--visible{transform:translateX(-50%) translateY(0)}

/* ── Profil: Einstellungen-Modal ── */
.e4p-edit-modal{position:fixed;inset:0;z-index:8500;display:flex;align-items:center;justify-content:center;padding:16px}
.e4p-edit-modal.u-hidden,[hidden].e4p-edit-modal{display:none!important}
.e4p-edit-modal--stack{z-index:8600}
.e4p-edit-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.e4p-edit-modal__panel{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 32px);background:var(--white);border-radius:18px;box-shadow:0 16px 48px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden}
.e4p-edit-modal__panel--profil{max-width:780px}
.e4p-edit-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.e4p-edit-modal__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:17px}
.e4p-edit-modal__close{background:0;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--muted);padding:2px 6px}
.e4p-edit-modal__close:hover{color:var(--ink,#1c1c1c)}
.e4p-edit-modal__body{padding:20px;overflow-y:auto;flex:1 1 auto;min-height:0;-webkit-overflow-scrolling:touch}
.e4p-edit-modal__body--profil{display:flex;flex-direction:column;gap:20px}
.profile-settings-aside{
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  padding:16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:14px
}
.profile-settings-aside .form-label{align-self:stretch;text-align:left}
.profile-settings-main{display:grid;gap:14px 18px}
.profile-settings-section-title{
  font-family:'Nunito',sans-serif;font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);padding-top:4px;margin:0
}
.profile-settings-section-title:not(:first-child){padding-top:10px;border-top:1px solid var(--border);margin-top:2px}
.profile-settings-password .form-group{margin-bottom:0}
.profile-settings-password__grid{display:grid;gap:14px 18px}
@media(min-width:700px){
  .e4p-edit-modal__body--profil{flex-direction:row;align-items:flex-start;gap:24px}
  .profile-settings-aside{width:168px;flex-shrink:0;padding:18px 14px;position:sticky;top:0}
  .profile-settings-main{flex:1;min-width:0;grid-template-columns:1fr 1fr}
  .profile-settings-main .profile-settings-span-2{grid-column:1 / -1}
  .profile-settings-password__grid{grid-template-columns:1fr 1fr}
}
.profile-settings-avatar__preview{flex-shrink:0}
.profile-settings-avatar__img{
  width:96px;height:96px;border-radius:50%;background:var(--teal);color:#fff;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:32px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.profile-settings-avatar__img .e4p-avatar-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:var(--teal);color:#fff;font-size:32px
}
.profile-settings-avatar__actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}
.profile-settings-avatar__hint{margin:0;text-align:center}
.profile-settings-avatar__actions .btn{width:100%}
.e4p-edit-modal__foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0}
@media(max-width:560px){
  .e4p-edit-modal{align-items:flex-end;padding:0}
  .e4p-edit-modal__panel{max-width:100%;max-height:90vh;border-radius:18px 18px 0 0}
  .e4p-edit-modal__panel--profil{max-width:100%}
  .e4p-edit-modal__foot{flex-direction:column-reverse}
  .e4p-edit-modal__foot .btn{width:100%}
}

/* ── Globale Dialoge (alert/confirm/prompt) ── */
.e4p-dialog-root{
  position:fixed;inset:0;z-index:9200;display:flex;align-items:center;justify-content:center;padding:16px
}
.e4p-dialog-root__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.e4p-dialog-root__panel{
  position:relative;width:100%;max-width:440px;max-height:calc(100vh - 32px);background:var(--white);
  border-radius:18px;box-shadow:0 16px 48px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden
}
.e4p-dialog-root__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)
}
.e4p-dialog-root__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:17px}
.e4p-dialog-root__close{background:0;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--muted);padding:2px 6px}
.e4p-dialog-root__close:hover{color:var(--ink,#1c1c1c)}
.e4p-dialog-root__body{padding:20px;overflow-y:auto}
.e4p-dialog-root__message{margin:0;font-size:15px;line-height:1.5;color:var(--ink,#1c1c1c)}
.e4p-dialog-root__input-wrap{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.e4p-dialog-root__textarea{min-height:96px;resize:vertical}
.e4p-dialog-root__foot{
  display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)
}
@media(max-width:560px){
  .e4p-dialog-root{align-items:flex-end;padding:0}
  .e4p-dialog-root__panel{max-width:100%;max-height:90vh;border-radius:18px 18px 0 0}
  .e4p-dialog-root__foot{flex-direction:column-reverse}
  .e4p-dialog-root__foot .btn{width:100%}
}

/* --- E4P Chat / Nachrichten --- */
.stat-box--link{
  text-decoration:none;color:inherit;display:block;transition:transform .15s,box-shadow .15s
}
.stat-box--link:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.08)}
.chat-overlay--disabled{opacity:.85}

/* ── Wartungsmodus ── */
/* Nav + Hinweis als eine sticky Einheit — keine Überlappung beim Scrollen */
.e4p-top-chrome{
  position:sticky;
  top:0;
  z-index:200;
  background:var(--white);
  box-shadow:0 1px 3px rgba(0,0,0,.1);
}
.e4p-top-chrome nav{
  position:relative;
  top:auto;
  z-index:auto;
  box-shadow:none;
}
.e4p-maintenance-admin-banner{
  position:relative;
  top:auto;
  z-index:auto;
  box-sizing:border-box;
  min-height:42px;
  background:#fff3cd;color:#856404;border-bottom:1px solid #f0e0a0;
  padding:10px 16px;font-size:13px;line-height:1.4;text-align:center
}
.e4p-maintenance-admin-banner a{color:#6b5420;font-weight:700;text-decoration:underline;text-underline-offset:2px}
/* Admin-Subnav unter sticky Chrome (Nav 58 + Banner 42) */
body:has(.e4p-top-chrome--maintenance) .admin-subnav{
  top:calc(58px + 42px);
  z-index:199
}
body:has(.e4p-top-chrome--maintenance) .adm-settings-section[id],
body:has(.e4p-top-chrome--maintenance) #adm-maintenance-lock{
  scroll-margin-top:170px
}
.e4p-wartung-page{
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;
  background:var(--page-bg-gradient);background-color:var(--cream);color:var(--text)
}
.e4p-wartung-header{
  display:flex;align-items:center;padding:14px 20px;
  background:var(--white);border-bottom:1px solid var(--border);flex-shrink:0
}
.e4p-wartung-main{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:48px 20px;max-width:520px;margin:0 auto;width:100%;box-sizing:border-box
}
.e4p-wartung-title{
  font-family:'Nunito',sans-serif;font-weight:800;font-size:clamp(1.5rem,4vw,2rem);
  line-height:1.25;margin:0 0 14px;letter-spacing:-.02em
}
.e4p-wartung-text{margin:0 0 28px;font-size:15px;line-height:1.55;color:var(--muted)}
.e4p-wartung-login{text-decoration:none}

.e4p-chat-page{
  min-height:100vh;min-height:100dvh;background:var(--page-bg,#f6f7f9);
  display:flex;flex-direction:column
}
.e4p-chat-nav{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;
  background:white;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0
}
.e4p-chat-nav-title{
  font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;color:var(--text);
  min-width:0;margin-left:auto;text-align:right;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.e4p-chat-nav-back{font-size:13px;font-weight:700;color:var(--teal);text-decoration:none}
.e4p-chat-shell{
  width:900px;max-width:900px;margin:0 auto;padding:24px 0 64px
}
.e4p-chat-thread-wrap{
  width:100%;max-width:560px;margin:0 auto;padding:16px 14px 28px;
  flex:1 0 auto;display:flex;flex-direction:column;box-sizing:border-box
}
.e4p-chat-listing-ref{
  font-size:13px;color:var(--muted);margin:0 0 12px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0
}
.e4p-chat-messages{
  display:flex;flex-direction:column;gap:12px;
  flex:0 1 auto;
  min-height:180px;
  max-height:min(58dvh,480px);
  overflow-y:auto;
  margin:0 0 14px;
  padding:16px;
  background:white;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  -webkit-overflow-scrolling:touch
}
.e4p-chat-messages::before{content:"";flex:1 0 0;min-height:0}
.e4p-chat-row{display:flex;flex-direction:column;gap:4px;max-width:100%}
.e4p-chat-row--me{align-items:flex-end}
.e4p-chat-row--them{align-items:flex-start}
.e4p-chat-bubble{
  padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.45;max-width:85%;word-break:break-word
}
.e4p-chat-row--me .e4p-chat-bubble{background:var(--teal);color:white;border-bottom-right-radius:4px}
.e4p-chat-row--them .e4p-chat-bubble{background:var(--cream);border-bottom-left-radius:4px}
.e4p-chat-meta{font-size:10px;color:var(--muted)}
.e4p-chat-compose{
  display:flex;flex-direction:row;align-items:flex-end;gap:8px;flex-shrink:0;margin:0
}
.e4p-chat-compose .detail-chat-input{
  flex:1;min-width:0;min-height:42px;max-height:100px;padding:10px 14px;resize:none
}
.e4p-chat-compose .detail-chat-send{flex-shrink:0}
.e4p-chat-page .e4p-inbox-thread-actions{
  display:flex;justify-content:center;padding:12px 0 0;flex-shrink:0
}
.e4p-chat-hide-link{
  appearance:none;border:0;background:none;padding:0;margin:0;
  font:inherit;font-size:12px;font-weight:700;color:var(--muted);
  text-decoration:underline;text-underline-offset:2px;cursor:pointer
}
.e4p-chat-hide-link:hover{color:var(--coral)}
.e4p-chat-status{min-height:1.2em;font-size:12px;color:var(--coral);margin:6px 0 0;flex-shrink:0}
.e4p-inbox-layout{
  display:grid;grid-template-columns:320px 560px;gap:20px;align-items:stretch
}
@media (max-width:768px){
  .e4p-inbox-layout{grid-template-columns:1fr}
}
.e4p-inbox-list{
  padding:14px;height:560px;max-height:560px;overflow-y:auto;
  border:1px solid rgba(0,0,0,.06);border-radius:14px
}
.e4p-inbox-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.e4p-inbox-h1{font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;margin:0 0 12px}
.e4p-inbox-ul{list-style:none;margin:0;padding:0}
.e4p-inbox-li{
  border:1px solid rgba(0,0,0,.05);border-radius:10px;margin-bottom:8px;transition:background .15s,border-color .15s
}
.e4p-inbox-li:hover{background:#f8fbfb;border-color:rgba(0,0,0,.08)}
.e4p-inbox-li.is-active{background:var(--cream);border-color:#f2dba3}
.e4p-inbox-link{display:block;padding:10px 11px;text-decoration:none;color:inherit}
.e4p-inbox-peer{font-weight:700;font-size:13px;display:block}
.e4p-inbox-sub{font-size:11px;color:var(--muted);display:block;margin-top:2px}
.e4p-inbox-preview{font-size:11px;color:var(--muted);display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e4p-inbox-thread{
  padding:16px;background:white;height:560px;min-height:560px;border:1px solid rgba(0,0,0,.06);border-radius:14px;
  display:flex;flex-direction:column
}
.e4p-inbox-placeholder{color:var(--muted);padding:24px 8px}
.e4p-inbox-thread-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:16px;margin:0 0 12px}
@media (max-width:900px){
  .e4p-chat-shell{width:auto;max-width:none;padding:20px 14px 56px}
  .e4p-inbox-list{height:auto;max-height:none}
  .e4p-inbox-thread{height:auto;min-height:420px}
  .e4p-chat-thread-wrap{padding:14px 12px 24px}
  .e4p-chat-messages{min-height:200px;max-height:min(55dvh,440px);padding:14px}
}

/* --- E4P Inbox (events4pets-UX, e4p-new Look) --- */
.e4p-inbox-page .page-hero-inner{max-width:1100px}
.e4p-inbox-page .e4p-chat-shell.e4p-inbox-shell{width:100%;max-width:1100px;margin:0 auto;padding:8px 16px 56px}
.e4p-inbox-layout--split{
  display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:14px;align-items:stretch;
  min-height:0;
  height:min(520px,calc(100dvh - 260px));
  max-height:calc(100dvh - 240px)
}
.e4p-inbox-list-pane,.e4p-inbox-view-pane{
  padding:0;overflow:hidden;display:flex;flex-direction:column;
  border:1px solid var(--border);border-radius:18px;
  background:var(--white);box-shadow:var(--shadow-warm-sm);
  min-height:0;height:100%
}
.e4p-inbox-list-pane .e4p-inbox-list-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:14px 16px;flex-shrink:0;border-bottom:1px solid var(--border)
}
.e4p-inbox-list-pane .e4p-inbox-h1{margin:0;font-size:16px}
.e4p-inbox-list-root{flex:1;min-height:0;overflow-y:auto;padding:10px 10px 12px}
.e4p-inbox-list-empty{
  display:none;flex:1;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:28px 20px;margin:0;gap:6px
}
.e4p-inbox-list-empty:not(.u-hidden){display:flex}
.e4p-inbox-empty-icon,
.e4p-inbox-placeholder-icon{
  width:56px;height:56px;border-radius:16px;background:var(--cream);
  display:flex;align-items:center;justify-content:center;margin:0 auto 6px;
  color:var(--teal);font-size:24px;line-height:1
}
.e4p-inbox-empty-title{margin:0;font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;color:var(--ink)}
.e4p-inbox-empty-text{margin:0;max-width:260px;font-size:13px;line-height:1.5;color:var(--muted)}
.e4p-inbox-layout--empty{grid-template-columns:1fr;min-height:0}
.e4p-inbox-layout--empty .e4p-inbox-list-pane{display:none!important}
.e4p-inbox-layout--empty .e4p-inbox-view-pane{min-height:360px}
.e4p-inbox-row{
  display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:12px;border:1px solid rgba(0,0,0,.06);
  margin-bottom:8px;cursor:pointer;transition:background .15s,border-color .15s;text-align:left;width:100%;
  background:var(--white)
}
.e4p-inbox-row:hover{background:#f8fbfb;border-color:rgba(0,0,0,.1)}
.e4p-inbox-row--active{border-color:var(--teal);box-shadow:inset 3px 0 0 var(--teal)}
.e4p-inbox-row--unread{background:var(--cream);border-color:#f2dba3}
.e4p-inbox-row-avatar{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;color:white;background:var(--teal);
  position:relative;overflow:hidden
}
.e4p-inbox-row-avatar--muted{background:var(--muted)}
.e4p-inbox-row-avatar:has(> .e4p-inbox-avatar-img),
.e4p-msg-avatar:has(> .e4p-inbox-avatar-img){background:#fff}
.e4p-inbox-row-avatar .e4p-inbox-avatar-img,
.e4p-msg-avatar .e4p-inbox-avatar-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border:none;
  outline:none;
  box-shadow:none;
}
.e4p-inbox-row-avatar .e4p-inbox-avatar-fallback,
.e4p-msg-avatar .e4p-inbox-avatar-fallback{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Nunito',sans-serif;font-weight:800;color:inherit
}
.e4p-inbox-row-avatar .e4p-inbox-avatar-fallback{font-size:15px}
.e4p-msg-avatar .e4p-inbox-avatar-fallback{font-size:13px}
.e4p-inbox-row-main{flex:1;min-width:0}
.e4p-inbox-row-peer{font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.e4p-inbox-badge-guest{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;background:var(--cream);color:var(--muted)}
.e4p-inbox-badge-new{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;background:var(--coral-lt);color:var(--coral)}
.e4p-inbox-row-listing{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e4p-inbox-row-preview{font-size:11px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e4p-inbox-row-aside{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.e4p-inbox-row-time{font-size:10px;color:var(--muted)}
.e4p-inbox-row-hide{
  border:none;background:transparent;color:var(--coral);cursor:pointer;padding:4px;border-radius:8px;font-size:14px;line-height:1
}
.e4p-inbox-row-hide:hover{background:#fff5f5}
.e4p-inbox-placeholder-card{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;color:var(--muted);gap:8px
}
.e4p-inbox-placeholder-title{margin:0;font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;color:var(--ink)}
.e4p-inbox-placeholder-text{max-width:360px;margin:0;font-size:14px;line-height:1.55}
.e4p-inbox-placeholder-cta{margin-top:10px}
.e4p-inbox-thread-root{flex:1;min-height:0;display:flex;flex-direction:column}
.e4p-inbox-thread-inner{flex:1;min-height:0;display:flex;flex-direction:column}
.e4p-inbox-thread-header{
  display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.08);
  background:var(--white);flex-shrink:0
}
.e4p-inbox-thread-peer-av{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;color:white;background:var(--teal);
  position:relative;overflow:hidden;border:2px solid var(--teal-lt)
}
.e4p-inbox-back-btn{
  display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;
  border:1px solid rgba(0,0,0,.1);background:white;color:var(--text);cursor:pointer;flex-shrink:0
}
.e4p-inbox-thread-head-text{flex:1;min-width:0}
.e4p-inbox-thread-head-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;margin:0;line-height:1.25}
.e4p-inbox-thread-head-sub{font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.e4p-inbox-msg-scroll{
  flex:1;min-height:0;overflow-y:auto;padding:14px;background:var(--page-bg,#f6f7f9);
  display:flex;flex-direction:column;gap:8px
}
.e4p-inbox-msg-scroll::before{content:"";flex:1 0 0;min-height:0}
.e4p-msg-bubble{
  display:flex;align-items:flex-end;gap:10px;margin-bottom:2px;max-width:min(560px,92%)
}
.e4p-msg-bubble--sender{margin-left:auto;flex-direction:row-reverse;max-width:min(560px,92%)}
.e4p-msg-bubble--receiver{margin-right:auto}
.e4p-msg-avatar{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:13px;background:var(--cream);color:var(--text);
  position:relative;overflow:hidden
}
.e4p-msg-bubble--sender .e4p-msg-avatar{background:var(--teal);color:white}
.e4p-msg-body{flex:1;min-width:0}
.e4p-msg-content{
  padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.45;word-break:break-word;
  box-shadow:0 1px 3px rgba(0,0,0,.06)
}
.e4p-msg-bubble--receiver .e4p-msg-content{background:var(--cream);border:1px solid rgba(0,0,0,.06)}
.e4p-msg-bubble--sender .e4p-msg-content{background:var(--teal);color:white;border:1px solid rgba(0,0,0,.06)}
.e4p-msg-meta{font-size:11px;color:var(--muted);margin-top:6px}
.e4p-msg-bubble--sender .e4p-msg-meta{color:rgba(255,255,255,.85);text-align:right}
.e4p-inbox-compose{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px 14px;border-top:1px solid rgba(0,0,0,.07);background:white;flex-shrink:0
}
.e4p-inbox-compose .detail-chat-input{
  min-height:44px;max-height:120px;border-radius:20px;padding:10px 16px;font-size:14px;
  overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none
}
.e4p-inbox-compose .detail-chat-input::-webkit-scrollbar{display:none;width:0;height:0}
.e4p-inbox-thread-status{margin:0;padding:4px 14px 10px;flex-shrink:0}
/* z. B. gast-nachricht.php: Aktionszeile unter dem Formular */
.e4p-inbox-thread-actions{padding:6px 14px 10px;flex-shrink:0}
.e4p-inbox-no-msgs{text-align:center;color:var(--muted);font-size:13px;padding:24px 0;margin:auto 0}
.e4p-inbox-compose .detail-chat-send{flex-shrink:0}
@media (max-width:900px){
  .e4p-inbox-page .e4p-inbox-layout--split{height:auto;max-height:none;min-height:0}
  .e4p-inbox-list-pane,.e4p-inbox-view-pane{height:auto;min-height:0}
}
@media (max-width:767px){
  .e4p-inbox-page .e4p-inbox-layout--split{grid-template-columns:1fr;height:auto;max-height:none}
  .e4p-inbox-page .e4p-inbox-view-pane{display:none;height:min(70dvh,560px);min-height:0}
  .e4p-inbox-page .e4p-inbox-view-pane.e4p-inbox-view-pane--mobile-active{display:flex!important}
  .e4p-inbox-page .e4p-inbox-list-pane.e4p-inbox-list-pane--mobile-hidden{display:none!important}
  .e4p-inbox-page .e4p-inbox-back-btn{display:inline-flex}
  .e4p-inbox-page .e4p-inbox-msg-scroll{max-height:none}
  .e4p-inbox-layout--empty .e4p-inbox-list-pane{display:flex!important;min-height:280px;height:auto}
  .e4p-inbox-layout--empty .e4p-inbox-list-root{display:none}
  .e4p-inbox-layout--empty .e4p-inbox-view-pane{display:none!important}
}

/* --- Kontakt --- */
.contact-page{width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 64px;display:grid;gap:24px}
.contact-info-grid{display:grid;gap:14px;margin-bottom:8px}
.contact-main-grid{display:grid;gap:24px;align-items:start}
.contact-tile{text-align:center;padding:28px 20px}
.contact-tile-emoji{font-size:32px;margin-bottom:10px}
.contact-tile-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;margin-bottom:6px}
.contact-tile-link{font-size:13px}
.contact-tile-note{font-size:11px;color:var(--muted);margin-top:4px}
.contact-tile-note--after-btn{margin-top:8px}
.kontakt-error-card{margin-bottom:16px;border:1px solid var(--coral);background:#fff5f5}
.kontakt-error-title{font-weight:700;margin-bottom:8px;color:var(--coral)}
.kontakt-error-list{margin:0;padding-left:18px;font-size:14px;line-height:1.5}
.kontakt-premium-hint{
  display:flex;align-items:flex-start;gap:8px;
  margin:0 0 16px;padding:12px 14px;border-radius:10px;
  background:linear-gradient(135deg,#fffaf0,#fff5dd);
  border:1px solid var(--gold,#e0a020);
  font-size:13px;line-height:1.45;color:var(--text);
}
.kontakt-premium-hint .bi{color:#e0a020;margin-top:2px;flex-shrink:0}
.contact-sidebar-heading{font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;margin-bottom:12px}
.footer-links.footer-links--tight{gap:10px}
.footer-links.footer-links--tight a{color:var(--teal)}
/* --- 404 --- */
.error404-wrap{
  min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:40px 16px;text-align:center
}
.error404-emoji{font-size:80px;margin-bottom:16px}
.error404-code{font-family:'Nunito',sans-serif;font-weight:800;font-size:48px;color:var(--teal);margin-bottom:8px}
.error404-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:22px;margin-bottom:12px}
.error404-text{font-size:14px;color:var(--muted);max-width:380px;line-height:1.7;margin-bottom:28px}
.error404-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:32px}
.error404-foot{font-size:13px;color:var(--muted)}

/* --- Tierschutz Listing --- */
.paten-banner--mint{border:1px solid rgba(197,90,0,.12);background:linear-gradient(135deg,#fff4e8,#fffaf5)}

/* --- Nav eingeloggt --- */
.e4p-nav-profile{
  display:flex;align-items:center;gap:8px;color:var(--text);font-weight:700;font-size:13px;
  padding:6px 10px;border-radius:25px;transition:background .2s;text-decoration:none
}
.e4p-nav-profile:hover{background:var(--cream)}
.nav-profile-initial{
  width:32px;height:32px;border-radius:50%;background:var(--teal);color:white;
  font-family:'Nunito',sans-serif;font-weight:800;font-size:13px;
  display:flex;align-items:center;justify-content:center;
  position:relative;flex-shrink:0
}
.btn-detail-fav--active{background:var(--coral-lt)!important;border-color:var(--coral)!important;color:var(--coral)!important}

/* ── Admin-Nav-Button ── */
.btn-nav-admin{
  display:inline-flex;align-items:center;padding:6px 12px;
  border-radius:6px;border:1.5px solid var(--teal);
  color:var(--teal);font-size:13px;font-weight:700;
  text-decoration:none;transition:background .15s,color .15s
}
.btn-nav-admin:hover{background:var(--teal);color:white}

/* ── Admin-Bereich (adm-*) ── */
.adm-page{max-width:1100px;margin:0 auto;padding:24px 16px 64px}
.adm-page--narrow{max-width:640px}
.adm-page--wide{max-width:1280px}
.adm-user-edit-card{margin-top:8px}
.adm-user-edit-premium{padding-top:4px;border-top:1px solid rgba(0,0,0,.06);margin-top:8px;padding-bottom:0}
.adm-user-edit-premium__current{margin-top:8px}

/* Admin Sub-Nav (unter Haupt-nav mit Höhe 58px klebend) */
.admin-subnav{
  position:sticky;top:58px;z-index:199;
  display:flex;gap:2px;padding:0 16px;background:white;border-bottom:1px solid rgba(0,0,0,.08);
  box-shadow:0 2px 6px rgba(0,0,0,.06);
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none
}
.admin-subnav::-webkit-scrollbar{display:none}
.admin-subnav__link{
  display:inline-block;padding:10px 14px;font-size:13px;font-weight:600;
  color:var(--muted);text-decoration:none;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s
}
.admin-subnav__link:hover{color:var(--teal)}
.admin-subnav__link.is-active{color:var(--teal);border-bottom-color:var(--teal)}

/* Gebündelte Admin-Bereiche: untergeordnete Tab-Leiste */
/* Reset gegen globales nav{} (sticky/height/shadow), da .adm-subtabs ein <nav> ist. */
.adm-subtabs{
  display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;
  border-bottom:1px solid rgba(0,0,0,.08);
  position:static;top:auto;height:auto;box-shadow:none;z-index:auto;
  background:transparent;padding:0;align-items:stretch;justify-content:flex-start
}
.adm-subtabs__link{
  display:inline-block;padding:8px 14px;font-size:13px;font-weight:600;
  color:var(--muted);text-decoration:none;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s
}
.adm-subtabs__link:hover{color:var(--teal)}
.adm-subtabs__link.is-active{color:var(--teal);border-bottom-color:var(--teal)}

/* Admin: Formular-Editor (Kurs-Anmeldung u. a., Modal + Liste) */
.acrf-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 16px}
.acrf-page-head .adm-page-title{margin:0;flex:1 1 200px}
.acrf-page-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-left:auto;
}
.sidebar-card.acrf-card{margin-top:16px;padding:20px 24px}
.sidebar-card.acrf-card.acrf-card--list{padding:0;gap:0}
.acrf-card--list{padding:0}
.acrf-list-title{font-size:17px;font-weight:700;margin:0;padding:18px 22px 12px;border-bottom:1px solid var(--border)}
.acrf-list-empty{padding:20px 22px}
.acrf-tw{background:#fff;border-radius:0 0 16px 16px;overflow:hidden}
.acrf-th,.acrf-tr{
  display:grid;
  grid-template-columns:minmax(140px,2fr) minmax(120px,2fr) minmax(56px,0.6fr) minmax(200px,auto);
  gap:10px 14px;padding:12px 20px;align-items:center;
}
.acrf-th{
  background:var(--teal-dark);color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.acrf-tr{border-bottom:1px solid var(--border);transition:background .12s}
.acrf-tr:last-child{border-bottom:0}
.acrf-tr:hover{background:#fafcfc}
.acrf-t-name{font-weight:700;font-size:14px;color:var(--text)}
.acrf-t-sub{font-size:11px;color:var(--muted);margin-top:2px}
.acrf-t-scopes{font-size:12px;color:var(--text);line-height:1.35}
.acrf-scope-list{display:flex;flex-wrap:wrap;gap:6px}
.acrf-scope-pill{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:rgba(10,162,166,.12);color:var(--teal-dark);line-height:1.25}
.acrf-scope-cb-row{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:4px}
.acrf-scope-cbl{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;margin:0;cursor:pointer}
.acrf-t-use{font-size:13px;font-weight:600;color:var(--text)}
.acrf-t-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.acrf-del-btn{color:var(--coral);border-color:rgba(217,105,16,.45)}
html.acrf-modal-open{overflow:hidden}

.acrf-ov{display:none;position:fixed;inset:0;z-index:400;align-items:flex-end;justify-content:center;padding:0}
.acrf-ov.is-open{display:flex}
.acrf-ov--field{z-index:420}
.acrf-ov-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px)}
.acrf-mbox{
  position:relative;z-index:1;width:100%;max-width:720px;max-height:94svh;overflow:auto;
  background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px rgba(0,0,0,.12);
  margin-top:auto;animation:acrfSheetUp .22s ease;
}
.acrf-mbox--field{max-width:440px;border-radius:18px 18px 0 0}
@keyframes acrfSheetUp{from{transform:translateY(100%)}to{transform:none}}
@media (min-width:640px){
  .acrf-ov{align-items:center;padding:20px}
  .acrf-mbox{border-radius:16px;max-height:90vh;margin-top:0;animation:acrfDialogPop .2s ease}
  .acrf-mbox--field{border-radius:16px}
}
@keyframes acrfDialogPop{from{transform:scale(.96);opacity:.85}to{transform:none;opacity:1}}
.acrf-mhd{
  padding:16px 18px 12px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;
  position:sticky;top:0;background:#fff;z-index:2;
}
.acrf-mhd-title{font-size:17px;font-weight:700;margin:0;color:var(--text)}
.acrf-mx{
  background:none;border:none;font-size:22px;cursor:pointer;color:var(--muted);padding:4px 8px;line-height:1;border-radius:8px;
}
.acrf-mx:hover{background:rgba(10,162,166,.08);color:var(--teal-dark)}
.acrf-mbody{padding:18px 20px 8px}
.acrf-mfoot{
  padding:14px 20px 20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  position:sticky;bottom:0;background:#fff;
}
.acrf-mfoot-start,.acrf-mfoot-end{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.acrf-mfoot-end{margin-left:auto}
.acrf-fb-head{display:flex;align-items:baseline;margin:16px 0 8px}
.acrf-fb-drag-cancel-hint{
  margin:0 0 10px;padding:10px 12px;border-radius:10px;
  background:rgba(197,90,0,.08);border:1px solid rgba(197,90,0,.25);
  font-size:12px;font-weight:700;color:var(--coral);text-align:center
}
.acrf-fb-area{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  background:rgba(10,162,166,.06);
  border-radius:12px;
  padding:12px;
  min-height:88px;
  border:2px dashed var(--border);
}
.acrf-fb-area--dragging{cursor:grabbing}
body.acrf-fb-pointer-dragging{user-select:none;cursor:grabbing}
.acrf-fb-drop-slots{
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  pointer-events:none;
  z-index:4;
}
.acrf-fb-drop-slot{
  position:absolute;
  left:12px;
  right:12px;
  top:0;
  height:0;
  margin:0;
  padding:0;
  overflow:visible;
  pointer-events:none;
}
.acrf-fb-drop-slot__track{
  position:absolute;
  left:0;
  right:0;
  top:0;
  display:flex;
  align-items:center;
  gap:0;
  transform:translateY(-50%);
}
.acrf-fb-drop-slot__line{
  flex:1;
  height:2px;
  border-radius:999px;
  background:rgba(120,120,120,.28);
}
.acrf-fb-drop-slot__dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(120,120,120,.35);
  box-shadow:0 0 0 2px rgba(120,120,120,.12);
  flex-shrink:0;
}
.acrf-fb-drop-slot__pill{
  position:absolute;
  left:50%;
  top:0;
  z-index:1;
  transform:translate(-50%, -50%);
  padding:4px 12px;
  border-radius:999px;
  background:var(--teal);
  color:#fff;
  font-family:'Nunito',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  transition:opacity .12s ease, visibility .12s ease;
}
.acrf-fb-drop-slot--active .acrf-fb-drop-slot__pill{
  opacity:1;
  visibility:visible;
  box-shadow:0 0 10px rgba(10,162,166,.24);
}
.acrf-fb-field--slot-left{box-shadow:inset 3px 0 0 rgba(120,120,120,.28)}
.acrf-fb-field--slot-right{box-shadow:inset -3px 0 0 rgba(120,120,120,.28)}
.acrf-fb-field--slot-left.acrf-fb-field--slot-active{box-shadow:inset 4px 0 0 var(--teal)}
.acrf-fb-field--slot-right.acrf-fb-field--slot-active{box-shadow:inset -4px 0 0 var(--teal)}
.acrf-fb-drop-slot--active .acrf-fb-drop-slot__line{
  background:linear-gradient(90deg, transparent, var(--teal) 12%, var(--teal) 88%, transparent);
}
.acrf-fb-drop-slot--active .acrf-fb-drop-slot__dot{
  background:var(--teal);
  box-shadow:0 0 0 2px rgba(10,162,166,.2);
}
.acrf-fb-row{
  display:grid;
  grid-template-columns:repeat(var(--acrf-cols, 1), minmax(0, 1fr));
  gap:12px 14px;
  align-items:start;
}
@media (max-width:519px){
  .acrf-fb-row{grid-template-columns:1fr!important}
}
.acrf-fb-empty{
  width:100%;
  text-align:center;
  font-size:13px;
  color:var(--muted);
  padding:18px 8px;
  margin:0;
}
.acrf-fb-field{
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px 12px;
  margin:0;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
}
.acrf-fb-field--drop-dragging{
  opacity:.4;
  outline:2px dashed var(--coral);
  outline-offset:2px;
  position:relative;
  pointer-events:none;
}
.acrf-fb-field--zone-row-target{
  opacity:.72;
  border-color:rgba(10,162,166,.45);
  background:rgba(255,255,255,.92);
}
.acrf-fb-field--zone-left{box-shadow:inset 4px 0 0 var(--teal)}
.acrf-fb-field--zone-right{box-shadow:inset -4px 0 0 var(--teal)}
.acrf-fb-field--drop-dragging::after{
  content:"Esc = abbrechen";
  position:absolute;left:0;right:0;bottom:6px;
  text-align:center;font-family:'Nunito',sans-serif;font-weight:700;
  font-size:11px;color:var(--coral);text-transform:uppercase;letter-spacing:.4px;
  pointer-events:none;
}
.acrf-fb-ghost{
  pointer-events:none;
  border:2px dashed var(--teal);
  border-radius:10px;
  background:rgba(10,162,166,.10);
  color:var(--teal);
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  pointer-events:none;
  min-height:64px;
}
.acrf-fb-ghost--row{margin:6px 0;padding:14px 12px}
.acrf-fb-ghost--cell{min-height:100%;padding:12px}
.acrf-fb-ghost__arrow{font-size:18px;line-height:1}
.acrf-fb-ghost__label{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acrf-fb-field-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:8px;
  user-select:none;
}
.acrf-fb-drag{
  display:flex;align-items:center;align-self:stretch;
  min-width:44px;min-height:36px;
  margin:-6px 0 -6px -8px;padding:6px 10px 6px 8px;
  cursor:grab;touch-action:none;flex-shrink:0;
}
.acrf-fb-drag:active{cursor:grabbing}
.acrf-fb-mock{pointer-events:none;user-select:none}
.acrf-fb-mock .form-input,
.acrf-fb-mock .form-select,
.acrf-fb-mock textarea.form-input{pointer-events:none}
.acrf-fb-mock .form-label{margin:0}
.acrf-fb-mock .form-input,
.acrf-fb-mock .form-select{width:100%}
.acrf-fb-mock textarea.form-input{min-height:88px;resize:vertical}
.acrf-fb-mock .form-label:has(input[type=checkbox]){
  display:flex;
  gap:10px;
  align-items:flex-start;
  line-height:1.35;
  cursor:grab;
}
.acrf-fb-mock .form-label input[type=checkbox]{margin-top:3px;flex-shrink:0}
.acrf-fb-dh{font-size:18px;color:var(--muted);flex-shrink:0;user-select:none;line-height:1}
.acrf-fb-met{font-size:11px;color:var(--muted);margin:0}
.acrf-fb-opts{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.acrf-fb-pf{
  font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;cursor:pointer;border:1.5px solid var(--border);
  background:#fff;color:var(--muted);transition:border-color .15s,color .15s,background .15s;white-space:nowrap;
}
.acrf-fb-pf.is-on{background:rgba(10,162,166,.12);border-color:var(--teal);color:var(--teal-dark)}
.acrf-fb-rm{min-width:36px;padding-left:10px;padding-right:10px}
.acrf-fb-add{
  background:none;border:1.5px dashed var(--border);border-radius:10px;padding:10px;width:100%;
  font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;margin-top:6px;text-align:center;
  transition:border-color .2s,color .2s;
}
.acrf-fb-add:hover{border-color:var(--teal);color:var(--teal-dark)}
.acrf-builtin-hint{
  font-size:13px;line-height:1.45;color:var(--text);
  background:rgba(10,162,166,.08);border:1px solid rgba(10,162,166,.22);
  border-radius:10px;padding:10px 12px;margin-bottom:14px;
}
.acrf-fd-row{display:flex;gap:12px;flex-wrap:wrap}
.acrf-fd-grow{flex:1;min-width:160px}
@media (prefers-reduced-motion:reduce){
  .acrf-mbox{animation:none!important}
}

/* Hero */
.adm-hero{
  display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;
  gap:12px;margin-bottom:20px
}
.adm-hero__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:22px;margin:0 0 4px}
.adm-hero__sub{font-size:13px;color:var(--muted);margin:0}
.adm-hero__action{gap:7px;flex-shrink:0}
.adm-hero__action svg{flex-shrink:0}
.adm-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.adm-range .form-hint{margin:0}
.adm-range .form-select{width:auto;min-width:160px;padding-top:8px;padding-bottom:8px}

/* Alert-Banner */
.adm-alert{
  display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;
  padding:12px;background:#fff8f5;border:1px solid var(--coral-lt);border-radius:10px
}
.adm-alert__item{
  display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;
  font-size:12px;font-weight:700;text-decoration:none;transition:opacity .15s
}
.adm-alert__item:hover{opacity:.8}
.adm-alert__item--err{background:#fee;color:var(--coral)}
.adm-alert__item--warn{background:#fff3e0;color:#d97706}

/* Dashboard Cards */
.adm-cards{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:28px
}
.adm-card{
  display:grid;grid-template-columns:44px minmax(0,1fr);
  column-gap:14px;row-gap:12px;align-items:start;padding:18px;
  background:white;border-radius:12px;border:1px solid rgba(0,0,0,.07);
  text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s;cursor:pointer
}
.adm-card:not(:has(.adm-card__counts)){row-gap:0;align-items:center}
.adm-card__icon{
  grid-column:1;grid-row:1;width:44px;height:44px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.adm-card__body{grid-column:2;grid-row:1;min-width:0}
.adm-card__counts{
  grid-column:1 / -1;grid-row:2;width:100%;min-width:0;
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 28px;
  padding-top:12px;margin-top:2px;border-top:1px solid rgba(0,0,0,.06)
}
.adm-card:hover{box-shadow:0 4px 18px rgba(0,0,0,.1);transform:translateY(-2px)}
.adm-card--subtle{opacity:.8}
.adm-card__icon--teal{background:var(--teal-lt);color:var(--teal)}
.adm-card__icon--coral{background:#fee2e2;color:var(--coral)}
.adm-card__icon--orange{background:#fff3e0;color:#d97706}
.adm-card__icon--green{background:#dcfce7;color:#16a34a}
.adm-card__icon--muted{background:var(--cream);color:var(--muted)}
.adm-card__title{font-family:'Nunito',sans-serif;font-weight:800;font-size:15px;margin-bottom:3px}
.adm-card__sub{
  font-size:12px;color:var(--muted);line-height:1.45;hyphens:auto;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;
  overflow:hidden;min-height:calc(2 * 1.45em)
}
.adm-card__count{
  font-family:'Nunito',sans-serif;font-weight:800;font-size:24px;text-align:left;line-height:1;color:var(--text);
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0
}
.adm-card__count small{
  display:block;font-size:11px;font-weight:600;color:var(--muted);line-height:1.25;text-align:left;letter-spacing:0;white-space:nowrap
}
.adm-card__count--warn{color:#d97706}
.adm-card__count--err{color:var(--coral)}

.adm-analytics{margin-top:10px}
.adm-analytics-kpis{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:10px;margin-bottom:14px
}
.adm-analytics-kpi{
  background:white;border:1px solid rgba(0,0,0,.07);border-radius:10px;
  padding:12px 14px;display:flex;flex-direction:column;gap:4px
}
.adm-analytics-kpi__label{font-size:12px;color:var(--muted)}
.adm-analytics-kpi__val{font-family:'Nunito',sans-serif;font-size:24px;font-weight:800;color:var(--teal)}
.adm-analytics-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:start
}
.adm-analytics-main{
  display:flex;flex-direction:column;gap:12px;min-width:0
}
.adm-analytics-panel--chart,
.adm-analytics-panel--topviews{min-width:0}
.adm-analytics-panel--details{min-width:0;max-width:220px}
.adm-analytics-panel{
  background:white;border:1px solid rgba(0,0,0,.07);border-radius:12px;padding:12px
}
.adm-analytics-panel__title{
  margin:0 0 10px;font-family:'Nunito',sans-serif;font-size:14px;font-weight:800
}
.adm-analytics-panel__sub{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.45}
.adm-analytics-details{
  border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden;background:white;margin-bottom:12px
}
.adm-analytics-detail{
  padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.07)
}
.adm-analytics-detail:last-child{border-bottom:none}
.adm-analytics-detail__label{font-size:12px;font-weight:700;color:var(--text);margin-bottom:3px}
.adm-analytics-detail__value{font-size:12px;color:#c55a00;font-weight:700}
.adm-analytics-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.adm-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}
.adm-dot::before{content:'';width:10px;height:10px;border-radius:999px;display:inline-block}
.adm-dot--teal::before{background:var(--teal)}
.adm-dot--blue::before{background:#3b82f6}
.adm-dot--coral::before{background:var(--coral)}
.adm-dot--amber::before{background:#f59e0b}
.adm-analytics-chartwrap{width:100%;min-width:0;overflow-x:hidden}
.adm-analytics-chartwrap svg{display:block;width:100%;max-width:100%;height:auto;vertical-align:top}
.adm-chart-grid{stroke:rgba(0,0,0,.09);stroke-width:1}
.adm-chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.adm-chart-line--teal{stroke:var(--teal)}
.adm-chart-line--blue{stroke:#3b82f6}
.adm-chart-line--coral{stroke:var(--coral)}
.adm-chart-line--amber{stroke:#f59e0b}
.adm-chart-ylabel{font-size:11px;fill:var(--muted);text-anchor:end}
.adm-chart-xlabel{font-size:10px;fill:var(--muted);text-anchor:middle}
.adm-top-views{
  border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden;background:white
}
.adm-top-views__head,
.adm-top-views__row{
  display:grid;grid-template-columns:minmax(0,1fr) 120px 78px;gap:12px;align-items:center
}
.adm-top-views__head{
  padding:10px 12px;background:#fafafa;border-bottom:1px solid rgba(0,0,0,.08);
  font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)
}
.adm-top-views__row{
  padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.06);font-size:14px
}
.adm-top-views__row:last-child{border-bottom:none}
.adm-top-views__title{
  color:#c55a00;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.adm-top-views__title:hover{text-decoration:underline}
.adm-top-views__count{text-align:right}
.adm-top-type{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:24px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:700;color:white
}
.adm-top-type--event{background:#128a44}
.adm-top-type--listing{background:#09c2f6}
.adm-top-type--default{background:#64748b}

/* Page head */
.adm-page-head{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;margin-bottom:16px
}
.adm-page-head__actions{display:flex;gap:8px;flex-wrap:wrap}
.adm-page-title{font-family:'Nunito',sans-serif;font-weight:800;font-size:20px;margin:0}
.adm-page-intro{margin-top:0;margin-bottom:16px;max-width:760px;line-height:1.5}
.adm-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.adm-filter-row--wrap{align-items:center}
.adm-filter-row .btn.is-active{
  background:var(--teal);border-color:var(--teal);color:#fff
}
.adm-mail-preview-frame{
  background:#fff;border:1px solid var(--border);border-radius:12px;
  padding:12px;margin-top:8px;overflow:hidden
}
.adm-mail-preview-iframe{
  display:block;width:100%;min-height:720px;border:0;background:#fff;border-radius:8px
}

/* Flash messages */
.adm-flash{
  padding:12px 16px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:16px
}
.adm-flash--ok{background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0}
.adm-flash--err{background:#fee2e2;color:var(--coral);border:1px solid #fecaca}

/* Filter row */
.adm-filter{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px
}
.adm-filter__search{flex:1;min-width:180px}
/* Selects in Filterzeilen dürfen nicht width:100% erben */
.adm-filter .form-select{width:auto;flex-shrink:0}
.adm-filter--orders .adm-filter__search{flex:1 1 260px;min-width:200px;max-width:420px}
.adm-filter--orders .form-select{min-width:180px}
.adm-section--orders{margin-top:8px}
.adm-section--orders .adm-section-title{margin-bottom:14px}
.adm-table-wrap--orders{margin-top:4px}
.adm-table--orders{min-width:980px;table-layout:auto}
.adm-table--orders th,
.adm-table--orders td{
  padding:12px 14px;white-space:nowrap;vertical-align:middle
}
.adm-table--orders th{letter-spacing:.04em}
.adm-table--orders td.adm-empty,
.adm-table--orders .adm-empty{
  white-space:normal;text-align:center;padding:28px 16px;color:var(--muted)
}
.adm-table--orders code{font-size:12px}

/* Tabs (Meldungen/Einsprüche) */
.adm-tabs{
  display:flex;gap:2px;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:16px
}
.adm-tab{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 16px;font-size:13px;font-weight:700;
  color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s
}
.adm-tab:hover{color:var(--teal)}
.adm-tab.is-active{color:var(--teal);border-bottom-color:var(--teal)}
.adm-tab__count{
  background:var(--teal);color:white;
  border-radius:20px;padding:1px 7px;font-size:11px;font-weight:700
}

/* Table meta */
.adm-table-meta{margin-bottom:8px}

/* Table */
.adm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:10px;border:1px solid rgba(0,0,0,.07)}
.adm-table{width:100%;border-collapse:collapse;background:white;font-size:13px}
.adm-table thead tr{background:var(--cream)}
.adm-table th{
  padding:10px 14px;text-align:left;font-size:11px;font-weight:700;
  color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;
  vertical-align:middle
}
.adm-table td{padding:10px 14px;border-top:1px solid rgba(0,0,0,.05);vertical-align:middle}
.adm-table tr:hover td{background:#fafafa}
.adm-table__id{font-weight:700;color:var(--muted);white-space:nowrap;width:52px}
.adm-table__main{font-weight:600}
.adm-table__meta{font-size:11px;color:var(--muted);margin-top:2px}
.adm-table__link{font-size:11px;color:var(--teal);text-decoration:none;margin-top:4px;display:inline-flex;align-items:center;gap:5px}
.adm-table__link .bi{font-size:12px;line-height:1}
.adm-table__link:hover{text-decoration:underline}
.adm-table__links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px}
.adm-table__links .adm-table__link{margin-top:0}
.adm-action-form{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
/* Kompaktes Admin-Select: gleiche Zeilenhöhe wie .adm-icon-btn (36px); min-height:44px der Form-Basis würde sonst dominieren */
.adm-action-select{
  min-width:90px;font-size:12px;line-height:1.15;
  box-sizing:border-box;
  height:36px;min-height:36px;
  padding:0 28px 0 8px;
  border:1px solid var(--border);border-radius:8px;
  background-position:right 8px center
}

/* Mobile table cards */
@media (max-width:640px){
  .adm-table-wrap{border:none;border-radius:0;background:transparent}
  /* Tabellen-Fläche transparent: einzelne Zeilen wirken als eigene Karten auf --cream */
  .adm-table{background:transparent}
  .adm-table thead{display:none}
  .adm-table tr{
    display:block;margin-bottom:12px;border-radius:12px;
    border:1px solid rgba(0,0,0,.08);background:var(--white);overflow:hidden;
    box-shadow:0 1px 4px rgba(0,0,0,.06)
  }
  .adm-table td{
    display:flex;justify-content:space-between;align-items:flex-start;
    gap:8px;padding:9px 14px;border-top:1px solid rgba(0,0,0,.05);font-size:13px
  }
  .adm-table td:first-child{border-top:none}
  .adm-table td::before{
    content:attr(data-label);font-size:10px;font-weight:700;
    color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;min-width:72px
  }
  .adm-action-form{flex-wrap:wrap}
}

/* Pager */
/* Reset gegen globales nav{} (sticky/height/shadow), da .adm-pager ein <nav> ist. */
.adm-pager{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin-top:16px;padding:12px 14px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;
  position:static;top:auto;height:auto;box-shadow:none;z-index:auto
}
.adm-pager__summary{
  flex:1 1 220px;margin:0;min-width:0
}
.adm-pager__actions{
  display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px
}
.adm-pager__nums{
  display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 2px
}
.adm-pager__ctrl{
  height:2rem;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;font-size:12px;font-weight:700;text-decoration:none;color:#8b6a45;
  border:1px solid rgba(199,123,50,.35);background:#fff7ef;line-height:1;transition:.15s ease
}
.adm-pager__ctrl:hover{background:#fff1df;color:#7a562f;border-color:rgba(199,123,50,.55)}
.adm-pager__ctrl.is-disabled{
  opacity:.45;cursor:not-allowed;pointer-events:none
}
.adm-pager__num{
  min-width:2rem;height:2rem;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;font-size:12px;font-weight:700;text-decoration:none;color:#7a562f;
  border:1px solid rgba(199,123,50,.28);background:#fff;line-height:1;transition:.15s ease
}
.adm-pager__num:hover{background:#fff1df;border-color:rgba(199,123,50,.5)}
.adm-pager__num--current{
  background:#f4a340;border-color:#f4a340;color:#fff;cursor:default;box-shadow:0 3px 8px rgba(244,163,64,.35)
}
.adm-pager__num--current:hover{color:#fff;border-color:#f4a340;background:#f4a340}
.adm-pager__ellipsis{padding:0 4px;color:#b38b63;font-size:12px;line-height:2rem}

@media (max-width: 680px){
  .adm-pager{padding:10px 10px}
  .adm-pager__summary{flex-basis:100%;font-size:12px}
  .adm-pager__actions{width:100%;justify-content:center}
}

/* Empty state */
.adm-empty{
  text-align:center;padding:40px 16px;color:var(--muted);
  font-size:13px;background:white;border-radius:10px;border:1px solid rgba(0,0,0,.07)
}

/* User grid */
.adm-user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.adm-user-card{
  background:white;border-radius:10px;border:1px solid rgba(0,0,0,.07);
  padding:14px 16px;display:flex;flex-direction:column;gap:10px
}
.adm-user-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.adm-user-card__name{font-weight:700;font-size:14px}
.adm-user-card__email{font-size:12px;color:var(--muted);margin-top:2px}
.adm-user-card__badges{display:flex;gap:6px;flex-wrap:wrap}
.adm-user-card__actions{display:flex;gap:6px;flex-wrap:wrap}
.adm-user-form{display:inline-flex;gap:4px;align-items:center}

/* Report cards */
.adm-report-list{display:flex;flex-direction:column;gap:12px}
.adm-report-card{
  background:white;border-radius:10px;border:1px solid rgba(0,0,0,.07);
  padding:14px 16px;display:flex;flex-direction:column;gap:8px
}
.adm-report-card__head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.adm-report-card__title{font-weight:700;font-size:14px}
.adm-report-card__title a{color:inherit;text-decoration:none}
.adm-report-card__title a:hover{color:var(--teal)}
.adm-report-card__msg{font-size:13px;color:var(--muted);line-height:1.5;margin:0;padding:8px 12px;background:var(--cream);border-radius:6px}
.adm-report-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.adm-report-form .form-input{flex:1;min-width:140px}

/* Audit */
.adm-table--audit .adm-audit-action{display:block;font-weight:700;font-size:13px;line-height:1.4;word-break:break-word}
.adm-audit-details summary{cursor:pointer;font-size:12px;color:var(--teal)}
.adm-audit-pre{
  font-size:11px;background:var(--cream);border-radius:6px;
  padding:8px 10px;margin:6px 0 0;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto
}

/* Mail-Log Status-Badges */
.adm-badge{display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:4px 8px;border-radius:999px;white-space:nowrap}
.adm-badge--mail.is-sent{background:#e6f6ec;color:#1a7f43}
.adm-badge--mail.is-failed{background:#fde8e8;color:#c0392b}
.adm-badge--mail.is-skipped{background:#eef0f3;color:var(--muted)}

/* Monitoring */
.adm-mon-section{margin:24px 0 0}
.adm-mon-section__title{font-size:16px;font-weight:800;margin:0 0 12px}

/* Cron-Admin */
.adm-cron-setup{
  margin:0 0 16px;background:white;border:1px solid rgba(0,0,0,.07);
  border-radius:10px;padding:0 14px
}
.adm-cron-setup__summary{
  cursor:pointer;font-size:14px;font-weight:700;padding:12px 0;
  list-style:none;display:flex;align-items:center;gap:8px
}
.adm-cron-setup__summary::-webkit-details-marker{display:none}
.adm-cron-setup__summary::before{
  content:'▸';font-size:12px;color:var(--teal);transition:transform .15s
}
.adm-cron-setup[open] .adm-cron-setup__summary::before{transform:rotate(90deg)}
.adm-cron-setup__body{padding:0 0 14px;border-top:1px solid rgba(0,0,0,.06)}
.adm-cron-setup__body > .form-hint:first-child{margin-top:12px}
.adm-cron-setup__nested{margin-top:12px;font-size:13px}
.adm-cron-setup__nested summary{cursor:pointer;color:var(--teal);font-size:12px;font-weight:600}
.adm-cron-guest-hint{margin:0 0 16px}
.adm-cron-cmd{
  background:var(--cream);border-radius:8px;padding:12px 14px;margin:10px 0 0;
  font-size:12px;overflow-x:auto;border:1px solid rgba(0,0,0,.06)
}
.adm-cron-cmd code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.adm-cron-plesk-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:10px 0;font-size:13px}
.adm-cron-plesk-dl dt{font-weight:700;color:var(--muted)}
.adm-cron-plesk-dl dd{margin:0}

.adm-cron-list{display:flex;flex-direction:column;gap:10px}
.adm-cron-job{
  background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;
  padding:14px 16px;display:flex;flex-direction:column;gap:12px;
  scroll-margin-top:88px
}
.adm-cron-job.is-flash{border-color:rgba(26,127,67,.28);box-shadow:0 0 0 1px rgba(26,127,67,.1)}
.adm-cron-job__flash{margin:0;padding:10px 12px}
.adm-cron-job__flash-text{margin:0}
.adm-cron-job__flash-output{
  margin:8px 0 0;padding:8px 10px;border-radius:6px;background:rgba(255,255,255,.65);
  font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word
}
.adm-cron-job__flash.form-callout--err .adm-cron-job__flash-output{background:rgba(255,255,255,.5)}
.adm-cron-job.is-inactive{opacity:.88}
.adm-cron-job.is-running{border-color:rgba(217,119,6,.35);box-shadow:0 0 0 1px rgba(217,119,6,.08)}
.adm-cron-job__head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px
}
.adm-cron-job__ident{min-width:0;flex:1 1 auto}
.adm-cron-job__name{
  margin:0;font-size:15px;font-weight:800;line-height:1.25;color:var(--text,#2c2418)
}
.adm-cron-job__desc{
  margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--muted)
}
.adm-cron-job__script{
  display:inline-block;margin-top:6px;padding:2px 7px;border-radius:6px;
  font-size:11px;background:var(--cream);color:var(--muted);word-break:break-all
}
.adm-cron-job__body{display:flex;flex-direction:column;gap:12px}
.adm-cron-job__schedule{
  display:flex;flex-direction:column;gap:8px;padding:10px 12px;
  background:var(--cream);border-radius:10px;border:1px solid rgba(0,0,0,.05)
}
.adm-cron-job__label{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)
}
.adm-cron-schedule-form{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px
}
.adm-cron-schedule-readonly{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.adm-cron-schedule-input{
  flex:1 1 180px;min-width:0;max-width:100%;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:13px;padding:7px 10px;background:#fff
}
.adm-cron-schedule-input--readonly{
  display:inline-block;padding:5px 8px;border-radius:6px;background:#fff;border:1px solid rgba(0,0,0,.08)
}
.adm-cron-job__hint{font-size:12px;color:var(--muted)}
.adm-cron-job__next{font-size:12px;color:var(--muted)}
.adm-cron-job__stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0
}
.adm-cron-job__stat{
  margin:0;padding:8px 10px;border-radius:8px;background:var(--cream);border:1px solid rgba(0,0,0,.04)
}
.adm-cron-job__stat dt{
  margin:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)
}
.adm-cron-job__stat dd{margin:4px 0 0;font-size:13px;font-weight:600;line-height:1.3}
.adm-cron-job__output{margin-top:-4px}
.adm-cron-job__foot{
  display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06);
  background:transparent;margin:0
}
.adm-cron-job__foot .btn{min-height:36px;padding:6px 14px}
.adm-cron-job__foot .btn-outline{background:#fff}
.adm-cron-action-form{display:inline-flex;margin:0}
.adm-cron-error-details summary{cursor:pointer;font-size:12px;color:var(--teal)}
.adm-cron-output{
  font-size:11px;background:var(--cream);border-radius:6px;
  padding:8px 10px;margin:6px 0 0;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto
}
@media (max-width:720px){
  .adm-cron-job{padding:12px 14px}
  .adm-cron-job__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adm-cron-job__foot .btn{flex:1 1 calc(50% - 4px);justify-content:center}
  .adm-cron-schedule-form .btn{flex:0 0 auto}
}
@media (max-width:420px){
  .adm-cron-job__head{align-items:flex-start;flex-wrap:wrap}
  .adm-cron-job__stats{grid-template-columns:1fr 1fr}
}
.adm-status-pill{
  display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:4px 8px;border-radius:999px;
  background:#eee;color:var(--muted);white-space:nowrap
}
.adm-status-pill--ok{background:#e6f6ec;color:#1a7f43}
.adm-status-pill--warn{background:#fff4e5;color:#9a5b00}
.adm-status-pill--err{background:#fdecea;color:#b42318}
.adm-mon-subtitle{font-size:13px;font-weight:700;color:var(--muted);margin:18px 0 8px;text-transform:uppercase;letter-spacing:.04em}
.adm-mon-health{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.adm-mon-check{background:white;border:1px solid rgba(0,0,0,.08);border-left-width:4px;border-radius:10px;padding:12px 14px}
.adm-mon-check.is-ok{border-left-color:#1a7f43}
.adm-mon-check.is-warn{border-left-color:#d97706}
.adm-mon-check.is-err{border-left-color:#c0392b}
.adm-mon-check.is-info{border-left-color:var(--muted)}
.adm-mon-check__head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.adm-mon-check__label{font-weight:700;font-size:13px;flex:1 1 auto}
.adm-mon-check__detail{font-size:12px;color:var(--muted);line-height:1.45}
.adm-mon-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--muted)}
.adm-mon-check.is-ok .adm-mon-dot{background:#1a7f43}
.adm-mon-check.is-warn .adm-mon-dot{background:#d97706}
.adm-mon-check.is-err .adm-mon-dot{background:#c0392b}
.adm-badge--mon.is-ok{background:#e6f6ec;color:#1a7f43}
.adm-badge--mon.is-warn{background:#fff3e0;color:#d97706}
.adm-badge--mon.is-err{background:#fde8e8;color:#c0392b}
.adm-badge--mon.is-info{background:#eef0f3;color:var(--muted)}

/* Badge orange */
.badge-orange{background:#fff3e0;color:#d97706}

/* Sortierbare Spaltenköpfe */
.adm-th-link{color:var(--muted);text-decoration:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.adm-th-link:hover{color:var(--teal)}

/* Nutzer-Tabelle */
.adm-table--users th:last-child{text-align:right}
.adm-table--users td:last-child{
  min-width:0;white-space:nowrap;
  overflow-x:auto;-webkit-overflow-scrolling:touch;text-align:right
}
.adm-user-row-actions{
  display:inline-flex;flex-direction:row;flex-wrap:nowrap;gap:6px;align-items:center;
  justify-content:flex-end;flex-shrink:0;width:max-content
}
.adm-inline-form{display:inline-flex;margin:0;padding:0;border:0;background:transparent}
.adm-inline-form .adm-icon-btn{margin:0}

/* Kompakte Icon-Aktionen (Benutzerverwaltung) */
.adm-icon-btn{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:8px;border:1px solid var(--border);
  background:var(--white);color:var(--muted);padding:0;cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;text-decoration:none;
  flex-shrink:0;
}
.adm-icon-btn:hover{background:var(--cream);color:var(--text);border-color:rgba(0,0,0,.18)}
.adm-icon-btn .bi{font-size:1.05rem;line-height:1}
.adm-icon-btn--danger{border-color:rgba(230,93,74,.55);color:var(--coral)}
.adm-icon-btn--danger:hover{background:var(--coral-lt);border-color:var(--coral)}
.adm-icon-btn--success{border-color:rgba(22,163,74,.45);color:#15803d}
.adm-icon-btn--success:hover{background:#dcfce7;border-color:#16a34a}
.adm-icon-btn--premium{border-color:rgba(217,119,6,.45);color:#d97706}
.adm-icon-btn--premium:hover{background:#fff3e0;border-color:#d97706}
.adm-icon-btn--premium-off{border-color:rgba(217,119,6,.45);color:#d97706}
.adm-icon-btn--premium-off:hover{background:#fff3e0;border-color:#d97706}
.adm-icon-btn .adm-icon-strike{position:relative;display:inline-flex}
.adm-icon-btn .adm-icon-strike::after{content:"";position:absolute;left:50%;top:50%;width:150%;height:2px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%) rotate(-45deg)}

.btn-outline--danger{color:var(--coral);border-color:var(--coral)}
.btn-outline--danger:hover{background:var(--coral-lt)}

/* Filter-Nutzer */
.adm-filter--users .form-select{min-width:130px}

/* Admin Inserate (alle Quellen) */
.adm-listing-edit-card{padding:18px 20px}
.adm-listing-edit-form .form-nav{justify-content:flex-start;flex-wrap:wrap;margin-top:18px}

.adm-filter--listings{flex-wrap:wrap}
.adm-filter--listings .form-select{min-width:140px}
.adm-table--listings-admin .adm-table__meta{display:block;margin-top:2px}
.adm-table--listings-admin .adm-listing-dates{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.adm-table--listings-admin .adm-listing-dates .adm-table__meta{margin-top:0;white-space:nowrap}
.adm-table--listings-admin td:last-child{
  min-width:0;white-space:nowrap;vertical-align:middle;
  overflow-x:auto;-webkit-overflow-scrolling:touch
}
.adm-listing-row-actions{
  display:inline-flex;flex-direction:row;flex-wrap:nowrap;gap:6px;align-items:center;
  justify-content:flex-end;flex-shrink:0;width:max-content;max-width:100%
}
.adm-action-form--status{flex-wrap:nowrap!important}

/* acat-tabs Abstand zum nachfolgenden Filter im adm-page-Kontext */
.adm-page .acat-tabs{margin-bottom:16px}

@media (max-width:640px){
  /* Admin-Dashboard (admin.php): volle Breite, Zeitraum gleichmäßig 3+2 */
  .adm-hero{
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    margin-bottom:16px;
  }
  .adm-hero__title{font-size:20px}
  .adm-range{
    width:100%;
  }
  .adm-range > .form-hint{
    font-size:12px;
    line-height:1.35;
    margin:0;
  }
  .adm-range .form-select{
    flex:1 1 auto;
    width:100%;
    min-width:0;
  }

  /* Dashboard: Cards 1-spaltig */
  .adm-cards{grid-template-columns:1fr}
  .adm-card{padding:16px;column-gap:12px}
  .adm-card__counts{gap:8px 24px;padding-top:10px}
  .adm-card__count{font-size:22px}
  .adm-card__count small{font-size:11px}
  .adm-analytics-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .adm-analytics-kpi{padding:10px 12px}
  .adm-analytics-kpi__label{font-size:11px;line-height:1.35}
  .adm-analytics-kpi__val{font-size:20px}
  .adm-analytics-grid{grid-template-columns:1fr}
  .adm-analytics-panel--details{max-width:none}
  .adm-user-grid{grid-template-columns:1fr}
  .adm-top-views__head,
  .adm-top-views__row{grid-template-columns:minmax(0,1fr) 98px 64px;gap:8px}

  /* Filter-Zeile Inserate: Suche volle erste Zeile */
  .adm-filter--listings .adm-filter__search{min-width:0;width:100%;flex:1 1 100%}
  .adm-filter--listings .form-select{min-width:0}

  /* Inserate-Tabelle: ID-Spalte auf Mobile ausblenden (spart eine Zeile pro Karte) */
  .adm-table--listings-admin td[data-label="ID"]{display:none}

  /* Inserate-Karten: Label · Inhalt untereinander, volle Breite; etwas straffer */
  .adm-table--listings-admin td{
    flex-direction:column;align-items:stretch;gap:8px;padding:11px 14px
  }
  .adm-table--listings-admin td::before{
    min-width:0;margin-bottom:0;font-size:10px;letter-spacing:.06em
  }
  .adm-table--listings-admin td[data-label="Bereich"] .badge{align-self:flex-start}
  /* Erstellt + Ablauf eine Zeile wenn Platz, sonst umbrechen */
  .adm-table--listings-admin .adm-listing-dates{
    flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:2px
  }
  .adm-table--listings-admin .adm-listing-dates .adm-table__meta{white-space:nowrap}
  .adm-table--listings-admin td[data-label="Inserat"] .adm-table__main{
    font-size:14px;line-height:1.35;word-break:break-word
  }
  /* Öffentliche Seite + Historie in einer Zeile (bei Platz), sonst Umbruch */
  .adm-table--listings-admin td[data-label="Inserat"] .adm-table__links{
    margin-top:4px;gap:8px 16px
  }
  .adm-table--listings-admin td[data-label="Anbieter"] div:first-of-type{font-weight:600}

  /* Aktion-Zelle (allgemein, andere Admin-Tabellen): Label über Form */
  .adm-table:not(.adm-table--listings-admin) td[data-label="Aktion"]{flex-direction:column;align-items:stretch;gap:6px}
  .adm-table:not(.adm-table--listings-admin) td[data-label="Aktion"]::before{min-width:auto}
  .adm-table:not(.adm-table--listings-admin) td[data-label="Aktion"] .adm-action-form{width:100%}
  .adm-action-form .adm-action-select{flex:1;min-width:0}
  .adm-action-form .btn{flex-shrink:0}

  /* Inserate Aktion: 2× gleich breite Icon-Flächen, darunter Status volle Breite (einschl. :has nur Verlängern-Zeile) */
  .adm-table--listings-admin td[data-label="Aktion"]{gap:10px}
  .adm-table--listings-admin td[data-label="Aktion"] .adm-listing-row-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:10px;width:100%;max-width:100%;align-items:stretch;overflow:visible;padding:0
  }
  .adm-table--listings-admin td[data-label="Aktion"] .adm-listing-row-actions > a.adm-icon-btn{
    grid-row:1;grid-column:1;box-sizing:border-box;width:100%;min-width:0;height:44px;border-radius:10px
  }
  .adm-table--listings-admin td[data-label="Aktion"] .adm-listing-row-actions > form.adm-inline-form:not(.adm-action-form--status){
    grid-row:1;grid-column:2;display:flex;margin:0;width:100%;min-width:0;justify-content:stretch
  }
  .adm-table--listings-admin td[data-label="Aktion"] .adm-listing-row-actions > form.adm-inline-form:not(.adm-action-form--status) .adm-icon-btn{
    width:100%;min-width:0;height:44px;border-radius:10px;max-width:none
  }
  /* Nur Bearbeiten (kein Verlängern): eine zentrierte Tap-Fläche */
  .adm-table--listings-admin td[data-label="Aktion"] .adm-listing-row-actions:not(:has(> form.adm-inline-form:not(.adm-action-form--status))) > a.adm-icon-btn{
    grid-column:1/-1;max-width:220px;width:100%;justify-self:center
  }
  .adm-table--listings-admin td[data-label="Aktion"] .adm-listing-row-actions > .adm-action-form--status{
    grid-column:1/-1;grid-row:2;width:100%;min-width:0;display:flex;gap:10px;align-items:stretch;flex-wrap:nowrap
  }
  .adm-table--listings-admin td[data-label="Aktion"] .adm-action-form--status .adm-action-select{
    flex:1;min-width:0;height:44px;min-height:44px;font-size:13px
  }
  .adm-table--listings-admin td[data-label="Aktion"] .adm-action-form--status .adm-icon-btn{
    width:44px;min-width:44px;height:44px;flex-shrink:0;border-radius:10px
  }

  .adm-table--listings-admin tr{margin-bottom:12px;border-radius:14px}
  /* Letzte Spalte: Desktop nowrap für Scroll — mobil umbrechen */
  .adm-table--listings-admin td:last-child{white-space:normal;overflow-x:visible}

  /* Seiten-Padding auf sehr kleinen Screens */
  .adm-page{padding:16px 12px 48px}
  .adm-page-title{font-size:17px}

  /* Benutzer: Icon-Leiste rechts, immer eine Zeile (bei Bedarf horizontal scrollen) */
  .adm-table--users td[data-label="Aktionen"]{
    overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-end;align-items:center
  }
  .adm-table--users td[data-label="Aktionen"] .adm-user-row-actions{flex-wrap:nowrap;justify-content:flex-end;margin-left:auto}
}

/* ── Custom-Dropdown (data-custom-select am nativen <select>) ── */
.cstm-select{position:relative;width:100%}
.cstm-select__native{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}
.cstm-select__button{display:flex;align-items:center;justify-content:flex-start;text-align:left;width:100%;cursor:pointer}
.cstm-select__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cstm-select__label.is-placeholder{color:var(--muted)}
.cstm-select__list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:250;list-style:none;margin:0;padding:6px 0;background:var(--cream);border:1.5px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
.cstm-select__list--sheet{box-shadow:0 12px 40px rgba(0,0,0,.18)}
.cstm-select__list--measuring{width:auto!important;max-width:none!important;white-space:nowrap}
.cstm-select__list--measuring .cstm-select__item,.cstm-select__list--measuring .cstm-select__group{white-space:nowrap}
.cstm-select__backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:240;pointer-events:none}
.cstm-select__item{padding:10px 14px;font-size:14px;color:var(--text);cursor:pointer}
.cstm-select__item--in-group{padding-left:24px}
.cstm-select__item:hover,.cstm-select__item:focus{background:rgba(var(--primary-rgb),0.12)}
.cstm-select__item.is-selected{
  background:rgba(var(--primary-rgb),0.16);
  color:var(--teal);
  font-weight:700;
  box-shadow:inset 3px 0 0 0 var(--coral);
}
.cstm-select__item.is-selected:hover,.cstm-select__item.is-selected:focus{
  background:rgba(var(--primary-rgb),0.22);
}
.cstm-select__item--clear{color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:2px}
.cstm-select__group{padding:10px 14px 4px;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);cursor:default;pointer-events:none}

/* Buchbare Termine – Zeileneditor (Inserat / Bearbeiten / Admin) */
.e4p-booking-slots-editor__list{margin-bottom:10px}
.e4p-booking-slots-editor__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 14px;
  align-items:end;
  margin-bottom:12px
}
.e4p-booking-slots-editor__cell{margin-bottom:0}
.e4p-booking-slots-editor__cell--action{display:flex;align-items:flex-end;justify-content:flex-end;padding-bottom:2px}
.e4p-booking-slots-editor__add{margin-top:2px}
@media (max-width:560px){
  .e4p-booking-slots-editor__row{
    grid-template-columns:1fr;
    gap:10px
  }
  .e4p-booking-slots-editor__cell--action{justify-content:flex-start}
}

/* ═══════════════════════════════════════════════════════════════════
   Mobile-Feinschliff (Startseite + global)
   ═══════════════════════════════════════════════════════════════════ */

/* iOS verhindern, dass beim Fokus auf Inputs reingezoomt wird:
   alle Eingabeschriften mind. 16px auf kleinen Screens. */
@media(max-width:599px){
  .search-row input,
  .filter-search input,
  .form-input,
  .form-select,
  .form-textarea{
    font-size:16px;
  }
}

/* Startseite – Hero/Suchbereich auf Mobile aufräumen */
@media(max-width:599px){
  /* Pfoten-Dekor liegt im Mobile-Layout hinter der Suchleiste und wirkt unruhig.
     Auf kleinen Screens komplett ausblenden (Code/Design-Trennung: keine PHP-Änderung). */
  .home-hero svg.paw-deco{display:none}

  /* Etwas mehr Luft oben und konsistente Innenränder */
  .home-hero{padding:12px 12px 0}

  /* Suchleiste: angenehmere Touch-Höhen, klarere Trennlinien */
  .search-bar{
    margin:0 auto 14px;
    border-radius:16px;
    box-shadow:0 4px 18px rgba(0,0,0,.08);
  }
  .search-row{padding:12px 14px;gap:10px}
  /* HTML setzt 14–15 px Icons; auf Mobile sichtbarer machen */
  .search-row svg{flex-shrink:0;width:18px;height:18px}
  .search-btn{
    width:calc(100% - 20px);
    margin:4px 10px 10px;
    padding:13px;
    font-size:15px;
    border-radius:999px;
  }

  /* Sektionen kompakter, mehr Inhalt sichtbar */
  .home-sections{padding:18px 12px;gap:26px}
  .section-label-sm{font-size:12px;letter-spacing:1.2px;margin-bottom:10px}

  /* Premium- und Tiervermittlungs-Streifen: kompakter auf Mobile */
  .ts-strip,
  .premium-strip{
    width:100%;
    max-width:100%;
    margin:14px auto 24px;
    padding:18px 10px 22px;
    border-radius:14px;
    box-sizing:border-box;
  }
  .ts-strip-head{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    margin-bottom:14px;
    padding:0 4px;
    min-height:0;
    min-width:0;
    max-width:100%;
  }
  .ts-strip-title{
    flex:0 1 auto;
    width:100%;
    max-width:100%;
    justify-content:center;
    text-align:center;
    font-size:11.5px;
    letter-spacing:1.2px;
    padding:0;
    box-sizing:border-box;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .ts-strip-more{
    position:static;
    align-self:center;
  }
  .premium-strip-title{
    margin-bottom:14px;
    font-size:11.5px;
    letter-spacing:1.2px;
    padding:0 8px;
  }
  .ts-strip-swiper-shell,
  .premium-strip-swiper-shell{
    width:100%;
    max-width:100%;
    min-width:0;
    column-gap:6px;
  }
  .ts-swiper-host,
  .premium-swiper-host{
    min-width:0;
    max-width:100%;
  }
  .ts-strip-nav,
  .premium-strip-nav{width:34px;height:34px}
  .ts-strip-nav .bi,
  .premium-strip-nav .bi{font-size:1rem}

  /* Footer auf Mobile etwas gemütlicher */
  footer{padding:24px 16px}
  .footer-inner{gap:18px}
  .footer-col-title{margin-bottom:8px}
  .footer-links{gap:6px}
}

/* Sehr schmale Phones: Hero-Labels noch dichter setzen, damit nichts überläuft */
@media(max-width:360px){
  .home-hero{padding:10px 10px 0}
  .home-sections{padding:16px 10px;gap:22px}
  .ts-strip,
  .premium-strip{margin:12px auto 20px;padding:16px 8px 20px}
}

/* Header-Padding und Touchziele auf kleinen Screens vereinheitlichen */
@media(max-width:599px){
  nav{padding:0 12px}
  .nav-right{gap:6px}
  .hamburger{padding:8px;margin:-4px}
  .mobile-menu{padding:8px 10px 22px}

  /* Listing-/Filter-Bereiche etwas straffer */
  .page-hero{padding:22px 14px 18px}
  .page-hero--standard,
  .page-hero--listing{--page-hero-listing-min-h:148px}
  .page-hero--listing[class*="page-hero--sparte-"],
  .page-hero--listing[class*="page-hero--theme-"]{
    --page-hero-listing-min-h:160px;
    padding-top:22px;
    padding-bottom:18px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 76px;
    column-gap:6px;
    align-items:center;
  }
  .page-hero--listing[class*="page-hero--sparte-"]::before,
  .page-hero--listing[class*="page-hero--theme-"]::before,
  .page-hero--listing[class*="page-hero--sparte-"]::after,
  .page-hero--listing[class*="page-hero--theme-"]::after{
    width:76px;
    left:auto;
  }
  .page-hero-watermark{
    position:static;
    grid-column:2;
    grid-row:1;
    justify-self:center;
    align-self:center;
    transform:none;
    right:auto;
    top:auto;
    font-size:2.6rem;
    opacity:.2;
    margin:0;
  }
  .page-hero--listing[class*="page-hero--sparte-"] .page-hero-inner,
  .page-hero--listing[class*="page-hero--theme-"] .page-hero-inner{
    grid-column:1;
    grid-row:1;
    max-width:none;
    padding-left:12px;
    border-left-width:3px;
  }
  .page-hero--listing[class*="page-hero--sparte-"] p,
  .page-hero--listing[class*="page-hero--theme-"] p{
    max-width:100%;
  }
  .page-hero h1{font-size:22px;line-height:1.25;margin-bottom:4px}
  .page-hero p{font-size:13px}
  .filter-bar{padding:10px 12px}
  .listing-page{padding:18px 12px 48px}
}

/* Globale Anti-Overflow-Sicherung: lange Inhalte (Titel, URLs) niemals horizontalen
   Scroll erzwingen. Greift nur, falls noch nicht durch Spezial-CSS gesetzt. */
img,svg,video,iframe{max-width:100%}
@media(max-width:599px){
  .card-title,
  .mini-card-title,
  .premium-mini-title,
  .ts-mini-title,
  .detail-title,
  .form-title,
  .legal-card,
  .faq-q-text{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .detail-price .price-native-hint,
  .contact-price .price-native-hint{
    white-space:normal;
  }
}

/* Safe-Area Insets für iPhone-Notch / Home-Indicator
   (additiv – respektiert bestehende horizontale Paddings für nav / footer) */
@supports(padding:max(0px)){
  footer{
    padding-bottom:max(28px,env(safe-area-inset-bottom));
  }
}

/* ── Admin: Einstellungen ── */
.adm-page-head .adm-settings-advanced-toggle{margin-top:12px}
.adm-settings-advanced{
  display:flex;flex-direction:column;gap:24px;
  margin-top:8px;padding-top:8px;border-top:1px dashed #cbd5e1
}
.adm-settings-advanced[hidden]{display:none!important}
.adm-settings-advanced__banner{
  background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px
}
.adm-settings-advanced__banner .adm-section-title{margin:0 0 4px}
.adm-settings-advanced__banner .form-hint{margin:0}
.adm-settings-form{display:flex;flex-direction:column;gap:24px}
.adm-settings-section{
  background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;
  display:flex;flex-direction:column;gap:14px
}
/* Haupt-nav (58) + Admin-Subnav (~48) + etwas Luft — Anker nicht unter Sticky-Headern */
.adm-settings-section[id]{scroll-margin-top:130px}
#adm-maintenance-lock{scroll-margin-top:130px}
.adm-settings-section--standalone{margin-bottom:24px}
.adm-section-title{
  font-family:'Nunito',sans-serif;font-weight:800;font-size:18px;margin:0;color:#0f172a
}
.adm-settings-toggle{
  display:flex;align-items:center;gap:10px;font-weight:600;color:#0f172a;cursor:pointer
}
.adm-settings-toggle input{width:18px;height:18px;cursor:pointer}
.adm-settings-checks{display:flex;flex-wrap:wrap;gap:10px 22px}
.adm-settings-subtitle{
  font-family:'Nunito',sans-serif;font-weight:700;font-size:15px;margin:6px 0 0;color:#0f172a
}
.adm-switch{display:flex;align-items:center;gap:10px;font-weight:600;color:#0f172a;cursor:pointer}
.adm-switch input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.adm-switch__slider{
  position:relative;flex:0 0 auto;width:42px;height:24px;
  background:#cbd5e1;border-radius:999px;transition:background .15s ease
}
.adm-switch__slider::before{
  content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;
  background:#fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.25);
  transition:transform .15s ease
}
.adm-switch input:checked + .adm-switch__slider{background:var(--primary-color)}
.adm-switch input:checked + .adm-switch__slider::before{transform:translateX(18px)}
.adm-switch input:focus-visible + .adm-switch__slider{outline:2px solid var(--primary-color);outline-offset:2px}
.adm-settings-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;
  align-items:stretch
}
.adm-settings-card{
  background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px;
  display:grid;grid-template-rows:auto auto 1fr;gap:10px;align-content:start
}
.adm-settings-card__title{
  font-family:'Nunito',sans-serif;font-weight:700;font-size:15px;margin:0;color:#0f172a
}
.adm-settings-card__hint{margin:0;min-height:2.6em}
.adm-settings-card__value{margin:0;font-size:1.35rem;color:#0f172a;align-self:end}
.adm-settings-card__fields{display:flex;flex-direction:column;gap:10px;align-self:end;width:100%}
.adm-settings-currency{max-width:340px}
.adm-settings-currency select{
  width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font:inherit;background:#fff
}
.adm-settings-input{
  display:flex;align-items:stretch;gap:0;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#fff
}
.adm-settings-input input{
  flex:1;border:0;padding:8px 10px;font:inherit;outline:none;background:transparent
}
.adm-settings-suffix{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 10px;background:#f1f5f9;color:#475569;font-weight:600;font-size:13px;border-left:1px solid #e2e8f0
}
.adm-settings-example{
  background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:10px;padding:12px 14px;
  font-size:13px;color:#0f172a
}
.adm-settings-example ul{margin:6px 0 0;padding-left:18px}
.adm-settings-fee-preview{
  margin-top:14px;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:14px 16px;
  box-shadow:0 1px 2px rgba(15,23,42,.04)
}
.adm-settings-fee-preview__head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;
  margin-bottom:12px
}
.adm-settings-fee-preview__title{font-size:15px;font-weight:800;color:#0f172a}
.adm-settings-fee-preview__price{margin:0;min-width:min(100%,220px)}
.adm-settings-fee-preview__price .form-label{margin-bottom:4px}
.adm-settings-fee-preview__rows{display:flex;flex-direction:column;gap:8px}
.adm-settings-fee-preview__row{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;
  padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0
}
.adm-settings-fee-preview__row--premium{
  background:#eef8f0;border-color:#c5e3cf
}
.adm-settings-fee-preview__label{
  font-weight:800;font-size:13px;color:#334155;min-width:4.5rem
}
.adm-settings-fee-preview__row--premium .adm-settings-fee-preview__label{color:#2d5f3f}
.adm-settings-fee-preview__values{font-size:13px;color:#0f172a;line-height:1.45}
.adm-settings-fee-preview__values strong{font-weight:800}
.adm-settings-fee-preview__sep{margin:0 .35em;color:#94a3b8}
.adm-settings-fee-preview__hint{margin:10px 0 0}
.adm-settings-actions{display:flex;justify-content:flex-end;gap:10px}
.adm-settings-currency input[type=text],
.adm-settings-currency input[type=email],
.adm-settings-section .form-group > input[type=text],
.adm-settings-section .form-group > input[type=email]{
  width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font:inherit;background:#fff
}
.adm-ccmap{display:flex;flex-direction:column;gap:8px}
.adm-ccmap__row{
  display:flex;align-items:center;gap:12px;
  padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc
}
.adm-ccmap__country{flex:1;color:#0f172a;font-weight:600}
.adm-ccmap__country small{color:#64748b;font-weight:600}
.adm-ccmap__arrow{color:#94a3b8;font-weight:700}
.adm-ccmap__select{
  min-width:200px;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font:inherit;background:#fff
}
@media (max-width:560px){
  .adm-ccmap__row{flex-wrap:wrap}
  .adm-ccmap__arrow{display:none}
  .adm-ccmap__select{min-width:0;width:100%}
}
.adm-settings-secrets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.adm-settings-secret{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc
}
.adm-settings-secret__state{color:#16a34a;font-weight:800;width:1.2em;text-align:center}
.adm-settings-secret--missing .adm-settings-secret__state{color:#dc2626}
.adm-settings-secret__label{flex:1;color:#0f172a;font-weight:600}
.adm-settings-secret__badge{font-size:12px;font-weight:700;color:#15803d;background:#dcfce7;border-radius:999px;padding:2px 10px}
.adm-settings-secret--missing .adm-settings-secret__badge{color:#b91c1c;background:#fee2e2}

/* ── Premium-Seite ── */
.premium-page{width:100%;max-width:820px;margin:0 auto;padding:28px 20px 48px}
.premium-page__flash{margin-bottom:20px}
.premium-section-title{font-family:'Nunito',sans-serif;font-size:1.5rem;font-weight:800;text-align:center;margin:0 0 24px;color:var(--ink)}
.premium-compare-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:16px}
.premium-compare-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:700px){.premium-compare-grid{grid-template-columns:1fr 1fr}}
.premium-plan-card{background:#fff;border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 12px rgba(15,23,42,.06)}
.premium-plan-card--highlight{border-color:#d9971a;box-shadow:0 4px 20px rgba(224,160,32,.18)}
.premium-plan-card__head{padding:20px 22px;background:#f8fafc;border-bottom:1px solid var(--border);text-align:center}
.premium-plan-card--highlight .premium-plan-card__head{background:linear-gradient(180deg,#fff9e8,#fff)}
.premium-plan-card__head h3{margin:0;font-family:'Nunito',sans-serif;font-size:1.35rem;font-weight:800}
.premium-plan-card__sub{margin:6px 0 0;font-size:.92rem;color:var(--muted)}
.premium-plan-card__or{color:var(--muted);font-size:.85rem}
.premium-plan-card__hint{margin:8px 0 0;font-size:.82rem;color:#9a6700;font-weight:600}
.premium-plan-card__hint--free{color:var(--teal)}
.reg-premium-note{margin-bottom:18px}
.reg-premium-note__actions{margin-top:8px;display:flex;align-items:center;gap:6px;font-size:.9rem}
.reg-premium-note__muted{color:var(--muted);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.reg-premium-note__muted:hover{text-decoration:none}
a.reg-premium-note__muted:hover{text-decoration:underline}
.reg-premium-note__sep{color:var(--muted)}
.premium-plan-card__foot .btn{padding:12px 20px;font-size:14px}
.premium-plan-card__foot .btn-outline{background:#fff;color:var(--teal);border:1.5px solid var(--teal);font-weight:800}
.premium-plan-card__foot .btn-outline:hover{background:var(--teal);color:#fff}
.premium-feature-list{list-style:none;margin:0;padding:16px 22px;flex:1}
.premium-feature-list li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f1f5f9;font-size:.92rem}
.premium-feature-list li:last-child{border-bottom:0}
.premium-feature-list__label{color:var(--ink)}
.premium-feature-list__value{color:var(--muted);font-weight:600;text-align:right}
.premium-feature-list__value--premium{color:var(--teal)}
.premium-feature-list__value--strong{color:#9a6700}
.premium-plan-card__foot{padding:18px 22px 22px}
.premium-checkout{display:none;margin-top:36px;padding-top:28px;border-top:1px solid var(--border);scroll-margin-top:80px}
.premium-checkout--visible{display:block}
.premium-price-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:700px){.premium-price-grid{grid-template-columns:1fr 1fr}}
.premium-price-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;text-align:center;display:flex;flex-direction:column;gap:10px}
.premium-price-card--yearly{border-color:var(--teal);background:linear-gradient(180deg,#f0fdfa,#fff)}
.premium-price-card--selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(197,90,0,.25)}
.premium-price-card__badge{position:absolute;top:12px;right:12px;background:#fef3c7;color:#92400e;font-size:.72rem;font-weight:800;padding:4px 8px;border-radius:999px}
.premium-price-card__title{margin:0;font-family:'Nunito',sans-serif;font-size:1.2rem;font-weight:800}
.premium-price-card__amount{margin:0;font-family:'Nunito',sans-serif;font-size:2rem;font-weight:900;color:var(--ink)}
.premium-price-card__amount span{font-size:.95rem;font-weight:600;color:var(--muted)}
.premium-price-card__desc{margin:0;color:var(--muted);font-size:.9rem;min-height:2.6em;flex:1}
.premium-price-card__form{margin-top:12px;padding-top:4px}
.premium-status-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px;text-align:center}
.premium-status-card__title{margin:0 0 10px;font-family:'Nunito',sans-serif;font-size:1.35rem;font-weight:800}
.premium-status-card__meta{color:var(--muted)}
.premium-status-card--lifetime{border-color:#d9971a;background:linear-gradient(180deg,#fff9e8,#fff)}
.premium-status-card--canceled{border-color:#fbbf24;background:#fffbeb}
.premium-status-card--active{border-color:var(--teal);background:linear-gradient(180deg,#f0fdfa,#fff)}

/* ── Zahlungs-Ergebnis ── */
.payment-result-page{
  max-width:620px;
  width:100%;
  margin:0 auto;
  padding:40px 16px 64px;
  min-height:calc(100vh - 58px - 120px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.payment-result-card{
  background:var(--white);
  border-radius:20px;
  padding:44px 28px 36px;
  box-shadow:0 6px 28px rgba(15,23,42,.08);
  text-align:center;
  width:100%;
  border:1px solid var(--border);
}
.payment-result-card--premium{
  border-color:#d9971a;
  background:linear-gradient(180deg,#fffbf0 0%,#fff 55%);
  box-shadow:0 8px 32px rgba(224,160,32,.14);
}
.payment-result-card--paid{border-color:var(--teal);background:linear-gradient(180deg,#f0fdfa 0%,#fff 55%)}
.payment-result-card--error{
  border-color:var(--coral);
  background:linear-gradient(180deg,#fff6f4 0%,#fff 58%);
  box-shadow:0 8px 32px rgba(230,93,74,.1);
}
.payment-result-card__icon{
  font-size:3.5rem;
  line-height:1;
  margin-bottom:16px;
}
.payment-result-card__title{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:1.65rem;
  color:var(--ink);
  margin:0 0 12px;
}
.payment-result-card__lead{
  font-size:1.05rem;
  color:var(--ink);
  margin:0 0 10px;
  line-height:1.5;
}
.payment-result-card__hint{
  font-size:.95rem;
  color:var(--muted);
  margin:8px 0 0;
  line-height:1.6;
  max-width:440px;
  margin-left:auto;
  margin-right:auto;
}
.payment-result-card__meta{
  margin:18px 0 0;
  font-size:.9rem;
  color:var(--muted);
}
.payment-result-card__meta strong{color:var(--ink)}
.payment-result-card__refs{
  background:#f8fafc;
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px 18px;
  margin:22px 0 0;
  text-align:left;
  font-size:.88rem;
}
.payment-result-card__refs dt{
  font-weight:700;
  color:var(--muted);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin:0 0 4px;
}
.payment-result-card__refs dd{
  margin:0 0 12px;
  font-family:'Nunito Sans',sans-serif;
  font-size:.95rem;
  color:var(--ink);
  line-height:1.55;
  overflow-wrap:break-word;
}
.payment-result-card__refs dd:last-child{margin-bottom:0}
.payment-result-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:32px;
}
@media(max-width:480px){
  .payment-result-card{padding:32px 20px 28px}
  .payment-result-card__actions .btn{flex:1 1 100%}
}
.premium-abo-page{width:100%;max-width:640px;margin:0 auto;padding:8px 20px 56px}
.premium-abo-page__flash,.premium-abo-page__note{margin-bottom:16px}
.premium-abo-cancel-pending{margin-bottom:16px}
.premium-abo-stat__planned{display:inline-block;margin-left:6px;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.premium-abo-status{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:20px;
  padding:32px 28px 28px;
  box-shadow:0 6px 28px rgba(15,23,42,.07);
}
.premium-abo-status--active{
  border-color:#d9971a;
  background:linear-gradient(180deg,#fffbf0 0%,#fff 45%);
  box-shadow:0 8px 32px rgba(224,160,32,.12);
}
.premium-abo-status--lifetime{border-color:#d9971a;background:linear-gradient(180deg,#fff9e8,#fff)}
.premium-abo-status--canceled{border-color:#fbbf24;background:linear-gradient(180deg,#fffbeb,#fff)}
.premium-abo-status--inactive{border-color:var(--border)}
.premium-abo-status__hero{text-align:center;margin-bottom:24px}
.premium-abo-status--page{max-width:640px;margin:0 auto}
.premium-abo-status__icon{
  font-size:2.4rem;
  line-height:1;
  margin-bottom:14px;
  color:var(--teal);
}
.premium-abo-status__icon--gold{color:#d9971a}
.premium-abo-status__icon--active{color:#d9971a}
.premium-abo-status--inactive .premium-abo-status__icon{color:#c4cad4}
.badge-premium--muted{
  background:linear-gradient(135deg,#fde68a,#fbbf24);
  opacity:.95;
}
.premium-abo-status__meta{
  margin:10px 0 0;
  font-size:.9rem;
  color:var(--muted);
}
.premium-abo-status__note{
  margin:0 0 20px;
  text-align:center;
  font-size:.92rem;
  color:var(--muted);
  line-height:1.5;
}
.premium-abo-enddate{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  margin:0 0 16px;
  padding:16px 20px;
  border-radius:14px;
  background:#fff;
  border:1px solid #fcd34d;
  box-shadow:0 2px 12px rgba(251,191,36,.12);
}
.premium-abo-status--active .premium-abo-enddate{border-color:#b8ead1;box-shadow:0 2px 12px rgba(15,106,68,.08)}
.premium-abo-enddate__label{
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--muted);
}
.premium-abo-enddate__value{
  font-family:'Nunito',sans-serif;
  font-size:1.15rem;
  font-weight:800;
  color:var(--ink);
}
.premium-renew-lead{
  text-align:center;
  color:var(--muted);
  font-size:.95rem;
  margin:0 0 20px;
  line-height:1.5;
}
.premium-renew-only{margin-bottom:8px}
.premium-renew-only .premium-renew-lead{margin-bottom:24px}
.premium-abo-status__title{
  font-family:'Nunito',sans-serif;
  font-size:1.45rem;
  font-weight:800;
  margin:10px 0 8px;
  color:var(--ink);
}
.premium-abo-status__lead{
  margin:0 auto;
  max-width:460px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.55;
}
.premium-abo-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:20px;
}
@media(max-width:480px){.premium-abo-stats{grid-template-columns:1fr}}
.premium-abo-stat{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.premium-abo-status--active .premium-abo-stat{background:rgba(255,255,255,.85)}
.premium-abo-stat__label{
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.premium-abo-stat__value{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:1rem;
  color:var(--ink);
  line-height:1.3;
}
.premium-abo-stat__value--ok{color:#0f6a44}
.premium-abo-stat__value--warn{color:#b45309}
.premium-abo-benefits{
  list-style:none;
  margin:0 0 22px;
  padding:0;
  display:grid;
  gap:8px;
}
.premium-abo-benefits--compact{margin-top:4px}
.premium-abo-benefits li{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:.92rem;
  color:var(--ink);
  line-height:1.45;
}
.premium-abo-benefits li i{color:var(--teal);flex-shrink:0;margin-top:2px}
.premium-abo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top:4px;
}
.premium-abo-actions form{margin:0}
.premium-abo-hint{
  margin:18px 0 0;
  text-align:center;
  font-size:.85rem;
  color:var(--muted);
}
.premium-abo-back{
  margin:20px 0 0;
  text-align:center;
  font-size:.9rem;
}
.premium-abo-back a{display:inline-flex;align-items:center;gap:6px}
.premium-cancel-modal__text{margin:0;font-size:.95rem;line-height:1.55;color:var(--ink)}
.premium-switch-modal__lead{margin:0 0 14px;font-size:.95rem;line-height:1.55;color:var(--ink)}
.premium-switch-modal__facts{margin:0 0 14px;padding:0;list-style:none;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.premium-switch-modal__facts li{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;font-size:.9rem;border-top:1px solid var(--border)}
.premium-switch-modal__facts li:first-child{border-top:none}
.premium-switch-modal__facts span{color:var(--muted)}
.premium-switch-modal__facts strong{font-weight:700;color:var(--ink);text-align:right}
.premium-switch-modal__legal{margin:0;font-size:.82rem;line-height:1.5;color:var(--muted)}

/* ── Blog-Admin & Editor ── */
.e4p-be{border:1.5px solid var(--border);border-radius:10px;background:var(--white);overflow:hidden}
.e4p-be__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 9px;background:var(--cream);border-bottom:1.5px solid var(--border)}
.e4p-be__btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 8px;background:var(--white);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:'Nunito',sans-serif;font-size:14px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.e4p-be__btn strong,.e4p-be__btn em,.e4p-be__btn u{font-style:inherit;font-weight:inherit;text-decoration:inherit;pointer-events:none}
.e4p-be__btn em{font-style:italic}
.e4p-be__btn u{text-decoration:underline}
.e4p-be__btn:hover{border-color:var(--teal);color:var(--teal)}
.e4p-be__btn.is-active{background:var(--teal);border-color:var(--teal);color:#fff}
.e4p-be__btn.is-active:hover{color:#fff}
.e4p-be__sep{width:1px;height:20px;background:var(--border);margin:0 2px}
.e4p-be__area{position:relative;display:flow-root;min-height:280px;padding:14px 16px;background:var(--white);color:var(--ink);font-size:.96rem;line-height:1.6;overflow-wrap:anywhere;cursor:text;outline:none}
.e4p-be__area.is-empty::before{content:attr(data-placeholder);position:absolute;top:14px;left:16px;color:var(--muted);pointer-events:none}
.e4p-be__area h2{font-size:1.3rem;margin:.6em 0 .3em}
.e4p-be__area h3{font-size:1.1rem;margin:.6em 0 .3em}
.e4p-be__area p{margin:0 0 .7em}
.e4p-be__area ul,.e4p-be__area ol{margin:0 0 .7em 1.3em}
.e4p-be__area blockquote{margin:0 0 .7em;padding:6px 14px;border-left:3px solid var(--teal);color:var(--muted)}
.e4p-be__area img{max-width:100%;height:auto;border-radius:8px}
.e4p-be__area a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
.e4p-be__area .e4p-align-center,.blog-article-body .e4p-align-center,.magazin-article-body .e4p-align-center{text-align:center}
.e4p-be__area .e4p-align-right,.blog-article-body .e4p-align-right,.magazin-article-body .e4p-align-right{text-align:right}
.e4p-be__area .e4p-align-left,.blog-article-body .e4p-align-left,.magazin-article-body .e4p-align-left{text-align:left}
.e4p-be__area figure.e4p-align-center,.blog-article-body figure.e4p-align-center{margin-left:auto;margin-right:auto}
/* Bild-Ausrichtung – links/rechts mit Float (Text läuft daneben), center als zentrierter Block.
   Container nutzen display:flow-root (siehe .e4p-be__area / .blog-article-body), damit Floats die Höhe nicht kollabieren lassen. */
.e4p-be__area .e4p-img-left,.e4p-be__area .e4p-img-center,.e4p-be__area .e4p-img-right,
.blog-article-body .e4p-img-left,.blog-article-body .e4p-img-center,.blog-article-body .e4p-img-right,
.magazin-article-body .e4p-img-left,.magazin-article-body .e4p-img-center,.magazin-article-body .e4p-img-right{max-width:100%;height:auto;margin-top:12px;margin-bottom:12px}
.e4p-be__area .e4p-img-left,.blog-article-body .e4p-img-left,.magazin-article-body .e4p-img-left{float:left;margin-right:18px}
.e4p-be__area .e4p-img-right,.blog-article-body .e4p-img-right,.magazin-article-body .e4p-img-right{float:right;margin-left:18px}
.e4p-be__area .e4p-img-center,.blog-article-body .e4p-img-center,.magazin-article-body .e4p-img-center{display:block;float:none;margin-left:auto;margin-right:auto}
/* Bild ganz am Anfang: kein oberer Abstand, damit links/rechts/zentriert gleich kompakt oben sitzen. */
.e4p-be__area > .e4p-img-left:first-child,.e4p-be__area > .e4p-img-center:first-child,.e4p-be__area > .e4p-img-right:first-child,
.blog-article-body > .e4p-img-left:first-child,.blog-article-body > .e4p-img-center:first-child,.blog-article-body > .e4p-img-right:first-child,
.magazin-article-body > .e4p-img-left:first-child,.magazin-article-body > .e4p-img-center:first-child,.magazin-article-body > .e4p-img-right:first-child{margin-top:0}
.e4p-be__img--sel{outline:2px solid var(--teal);outline-offset:2px}
.e4p-be__resize{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--teal);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:nwse-resize;display:none;z-index:5;touch-action:none}
.e4p-be__resize.is-visible{display:block}
@media(max-width:600px){
  .e4p-be__area .e4p-img-left,.e4p-be__area .e4p-img-right,.blog-article-body .e4p-img-left,.blog-article-body .e4p-img-right,.magazin-article-body .e4p-img-left,.magazin-article-body .e4p-img-right{margin-left:auto;margin-right:auto}
}
.e4p-be__status{padding:0 16px 8px;font-size:.82rem;color:var(--muted)}
.e4p-be__status:empty{display:none}
.ablog-form{display:grid;gap:18px;max-width:760px}
.ablog-form--wide{max-width:1100px}
.ablog-form__grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:880px){.ablog-form__grid{grid-template-columns:minmax(0,1fr) 320px}}
.ablog-side{display:grid;gap:16px;align-content:start}
@media(min-width:880px){.ablog-side{position:sticky;top:16px}}
/* Beitragsbild-Feld */
.acrf-preview-btn{gap:7px}
.ablog-media-card .form-label{display:block;margin-bottom:8px}
.ablog-media{position:relative;width:100%;aspect-ratio:16/10;border:1.5px dashed var(--border);border-radius:12px;background:var(--cream);overflow:hidden;display:flex;align-items:center;justify-content:center}
.ablog-media__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:none}
.ablog-media.has-image .ablog-media__img{display:block}
.ablog-media.has-image{border-style:solid}
.ablog-media:not(.has-image){cursor:pointer;transition:border-color .15s,background .15s}
.ablog-media:not(.has-image):hover{border-color:var(--teal);background:#fff}
.ablog-media__empty{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);text-align:center;padding:16px}
.ablog-media__empty .bi{font-size:30px;opacity:.7}
.ablog-media__empty span{font-weight:700;font-size:13px}
.ablog-media__empty small{font-size:11px}
.ablog-media.has-image .ablog-media__empty{display:none}
.ablog-media__actions{display:flex;align-items:center;gap:12px;margin-top:10px}
.ablog-media__clear{background:none;border:none;padding:0;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline;font-family:inherit}
.ablog-media__clear:hover{color:var(--coral)}
/* SEO-Klappsektion */
.ablog-collapse{padding:0;overflow:hidden}
.ablog-collapse__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;cursor:pointer;list-style:none;font-family:'Nunito',sans-serif;font-weight:800;font-size:14px;color:var(--text)}
.ablog-collapse__head::-webkit-details-marker{display:none}
.ablog-collapse__opt{font-weight:600;font-size:12px;color:var(--muted)}
.ablog-collapse__chev{transition:transform .2s;color:var(--muted);font-size:14px}
.ablog-collapse[open] .ablog-collapse__chev{transform:rotate(180deg)}
.ablog-collapse__body{padding:0 18px 18px;display:grid;gap:14px;border-top:1px solid var(--border)}
.ablog-collapse__body .form-group:first-child{margin-top:14px}
/* Vorschau-Banner im Artikel */
.blog-preview-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:13px;font-weight:600}
.blog-preview-banner .bi{font-size:16px}
.blog-preview-banner .link-teal{margin-left:auto}
.ablog-status-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.76rem;font-weight:800;letter-spacing:.2px}
.ablog-status-pill--published{background:#ecfdf5;color:#047857}
.ablog-status-pill--draft{background:#fff7ed;color:#9a3412}
.ablog-cat-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
@media(min-width:860px){.ablog-cat-grid{grid-template-columns:minmax(280px,1fr) 1.4fr}}
/* Blog-Tabellen: kompakte Icon-Aktionen, ausgerichtete Zahlen */
.adm-table--blog .adm-table__num{text-align:right;white-space:nowrap}
.adm-table--blog .adm-table__main{display:block;font-weight:700;line-height:1.35}
.adm-table--blog td[data-label="Titel"]{max-width:420px}
.adm-table--blog .adm-table__actions-head{text-align:right}
.ablog-row-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.ablog-row-actions .adm-inline-form{margin:0}
.adm-icon-btn[aria-disabled="true"]{opacity:.4;pointer-events:none}
.ablog-cat-drag-head{width:36px}
.adm-table--blog td.ablog-cat-drag-cell{width:36px;padding-right:0;text-align:center;white-space:nowrap}
#ablogCatSort tr{cursor:default}
.ablog-search{flex:1 1 240px;gap:8px;align-items:center}
.ablog-search__input{flex:1 1 auto;min-width:0;margin:0}
@media(max-width:640px){
  .adm-table--blog td[data-label="Titel"]{max-width:none;flex-direction:column;align-items:flex-start;gap:2px}
  .adm-table--blog td[data-label="Titel"]::before{margin-bottom:2px}
  .adm-table--blog .adm-table__num{text-align:left}
  .adm-table--blog td[data-label="Aktion"]{justify-content:flex-start}
  .ablog-row-actions{justify-content:flex-start;flex-wrap:wrap}
  .adm-table--blog td.ablog-cat-drag-cell{width:auto;justify-content:center;background:var(--cream)}
  .adm-table--blog td.ablog-cat-drag-cell::before{display:none}
}

/* ── Öffentliches Anbieterprofil ── */
.provider-profile-page{max-width:1100px;margin:0 auto;padding:20px 20px 48px}
.provider-profile-back{margin:0 0 16px}
.provider-profile-header-card{margin-bottom:20px}
.provider-profile-header{display:flex;align-items:center;gap:18px}
.provider-profile-avatar{
  width:88px;height:88px;border-radius:50%;flex-shrink:0;font-size:32px;
  background:var(--teal);color:#fff;font-family:'Nunito',sans-serif;font-weight:800;
  display:flex;align-items:center;justify-content:center
}
.provider-profile-name{font-family:'Nunito',sans-serif;font-size:26px;font-weight:800;margin:0 0 4px;line-height:1.2}
.provider-profile-role{font-size:14px;color:var(--muted)}
.provider-profile-since,.provider-profile-location{font-size:13px;color:var(--muted);margin-top:4px}
.provider-profile-about{margin-bottom:24px}
.provider-profile-about .section-label{padding-top:0;border-top:none;margin-top:0}
.provider-profile-about-body{font-size:15px;line-height:1.65;color:var(--text);white-space:normal}
.provider-profile-listings-title{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-top:0;border-top:none;margin-top:0}
/* Eigenes Grid: Hub-Listenlayout (.listing-grid ≤969px = 1 Spalte) gilt hier nicht. */
.listing-grid.provider-profile-grid{
  margin-bottom:24px;
  grid-template-columns:1fr;
  gap:14px;
}
.listing-grid.provider-profile-grid > .card{
  height:100%;
}
.listing-grid.provider-profile-grid .card-img{height:150px}
@media(min-width:560px){
  .listing-grid.provider-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(min-width:900px){
  .listing-grid.provider-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .listing-grid.provider-profile-grid .card-img{height:140px}
}
.provider-profile-pagination{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:8px;background:none;box-shadow:none;position:static;top:auto;height:auto;padding:0;z-index:auto}
.provider-profile-pagination-info{font-size:14px;color:var(--muted)}
.provider-name-link{color:inherit;text-decoration:none}
.provider-name-link:hover{color:var(--teal);text-decoration:underline}
.profile-public-link{margin:6px 0 0;font-size:14px}
@media(max-width:640px){
  .provider-profile-header{align-items:flex-start}
  .provider-profile-name{font-size:22px}
}

/* ── Premium-Promos (Admin + Hinweis) ── */
.premium-promo-hint{margin-bottom:20px}
.adm-promo-intro{margin:0 0 18px}
.adm-promo-url-box{margin-bottom:18px}
.adm-promo-url-box__label{font-weight:700;margin:0 0 4px}
.adm-promo-redemptions{margin-top:24px}
.adm-promo-redemptions__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.adm-promo-redemptions__list li{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted)}
.badge-muted{background:#ececec;color:#666}
.adm-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.adm-empty-card{margin-top:12px}
