/* =========================================================
   Leuchtraum für Frauen – Brand Theme
   Wird zusätzlich zu Bootstrap 5.3 geladen.
   ========================================================= */

:root{
    --coral:#E2785A; --coral-strong:#D85C3C; --coral-mid:#EE9D80; --coral-soft:#F4BBA6;
    --coral-text:#B5462C; /* a11y (#5340): dunkleres Coral fuer Text/Links, ~4.9:1 auf Weiss/Cream */
    --navy:#1F3A47; --navy-soft:#2C4C5A;
    --navy-muted:#566A72; /* a11y (#5340): gedaempftes Navy fuer Nebentext, ~5.5:1 statt opacity */
    --white:#FFF9F3; --cream:#FDEEDD; --beige:#F9E7D1; --sand:#FAE0C7; --gold:#F0C49F;
    --ink:#1F3A47;
    --display:"Cormorant Garamond",Georgia,serif;
    /* Akzentschrift: elegante Serifen-Kursive statt verspielter Handschrift (#3886). */
    --script:"Cormorant Garamond",Georgia,serif;
    --sans:"Jost",sans-serif;
    --shadow:0 24px 60px -34px rgba(31,58,71,.45);
    --shadow-sm:0 14px 34px -26px rgba(31,58,71,.4);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  /* a11y (#5340): visuell versteckt, aber fuer Screenreader lesbar. */
  .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
  /* Skip-Link: unsichtbar bis fokussiert, dann sichtbar oben links. */
  .skip-link{position:absolute;left:12px;top:-56px;z-index:2000;background:var(--white);color:var(--navy);border:1px solid var(--coral-text);border-radius:8px;padding:8px 14px;font-family:var(--sans);font-weight:600;text-decoration:none;transition:top .15s;}
  .skip-link:focus{top:12px;outline:2px solid var(--coral-text);outline-offset:2px;}
  /* Bewegung reduzieren, wenn das System es wuenscht. */
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
    .reveal{opacity:1!important;transform:none!important;}
  }
  body{
    font-family:var(--sans); color:var(--ink); background:var(--cream);
    line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  /* Bilder nie breiter als ihr Container (#5565): verhindert horizontalen Ueberlauf
     eingebetteter Inhaltsbilder (z. B. Markdown in city/show, branches/local,
     marketplace/show). Feste Groessen via Klassen-/Inline-Styles gewinnen per
     Spezifitaet und bleiben unberuehrt. */
  img{max-width:100%;height:auto;}
  .container{max-width:1180px;margin:0 auto;padding:0 28px;}
  /* Auf schmalen Screens weniger Seitenrand, sonst 56px (~17%) auf 320px (#5567). */
  @media(max-width:600px){.container{padding:0 16px;}}
  .script{font-family:var(--script);font-style:italic;}

  /* ---------------- NAV ---------------- */
  header.nav{
    position:sticky;top:0;z-index:50;
    background:var(--beige); /* Cremebeige */
    border-bottom:1px solid rgba(31,58,71,.08);
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:78px;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand .mark{width:38px;height:38px;flex:none;}
  .brand .txt{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:.04em;color:var(--navy);line-height:1;}
  .brand .txt b{color:var(--coral);font-weight:700;}
  .brand .sub{display:block;font-family:var(--sans);font-size:.56rem;letter-spacing:.36em;text-transform:uppercase;color:var(--navy);opacity:.6;margin-top:3px;}
  .nav-links{display:flex;align-items:center;gap:34px;}
  .nav-links a{font-size:.92rem;font-weight:400;color:var(--navy);position:relative;padding:4px 0;transition:color .2s;}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--coral);transition:width .28s;}
  .nav-links a:not(.btn):hover{color:var(--coral-text);}
  .nav-links a:not(.btn):hover::after{width:100%;}
  .nav-actions{display:flex;align-items:center;gap:14px;}
  .btn{
    font-family:var(--sans);font-size:.9rem;font-weight:500;letter-spacing:.02em;
    padding:11px 24px;border-radius:999px;cursor:pointer;border:none;transition:transform .25s,box-shadow .25s,background .25s;display:inline-flex;align-items:center;gap:8px;
  }
  /* Deaktivierte Buttons: gedämpft, ohne Leucht-Schatten und ohne Hover-Effekt (#4549).
     Sonst behält z. B. .btn-coral seinen kräftigen Schatten, während der Browser den
     Text ausgraut – das sah aus wie ein blasser Text in einem leuchtenden Rahmen. */
  .btn:disabled,
  .btn[disabled]{opacity:.45;box-shadow:none;cursor:default;}
  .btn:disabled:hover,
  .btn[disabled]:hover{transform:none;box-shadow:none;}
  .btn-ghost{background:transparent;color:var(--navy);border:1.5px solid rgba(31,58,71,.25);}
  .btn-ghost:hover{border-color:var(--navy);background:rgba(31,58,71,.04);}
  .btn-coral{background:var(--coral-strong);color:#fff;box-shadow:0 12px 26px -12px rgba(216,92,60,.7);}
  .btn-coral:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(216,92,60,.8);color:#fff;}
  /* Keine blauen Bootstrap-Buttons: primary = coral, secondary = dunkelblau (#3921) */
  .btn-primary{background:var(--coral-strong);color:#fff;box-shadow:0 12px 26px -12px rgba(216,92,60,.7);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(216,92,60,.8);color:#fff;}
  .btn-primary:focus-visible{box-shadow:0 0 0 .2rem rgba(216,92,60,.45);color:#fff;}
  .btn-secondary{background:var(--navy);color:#fff;}
  .btn-secondary:hover{transform:translateY(-2px);background:var(--navy-soft);color:#fff;}
  .btn-secondary:focus-visible{box-shadow:0 0 0 .2rem rgba(31,58,71,.4);color:#fff;}
  .btn-lg{padding:15px 34px;font-size:1rem;}
  /* Status-Anzeige „behoben" – grün, optisch wie ein Button, aber nicht klickbar */
  .err-status-done{background:#2f8f5b;color:#fff;border-color:transparent;cursor:default;pointer-events:none;}
  .err-status-done:hover{background:#2f8f5b;transform:none;box-shadow:none;color:#fff;}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;}

  /* ---------------- HERO ---------------- */
  .hero{
    position:relative;padding:96px 0 170px;overflow:hidden;min-height:600px;
    background:url("../images/hero-erde.jpg") center/cover no-repeat;
    background-color:#16273a;
  }
  .hero::before{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(100deg,
      rgba(16,28,42,.90) 0%, rgba(16,28,42,.70) 28%,
      rgba(16,28,42,.34) 48%, rgba(16,28,42,0) 68%);
  }
  .hero .container{position:relative;z-index:2;}
  .hero-grid{display:grid;grid-template-columns:1fr;}
  .hero-copy{max-width:620px;}
  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--coral-text);font-weight:500;margin-bottom:22px;}
  .eyebrow::before{content:"";width:30px;height:1.5px;background:var(--coral);}
  h1.hero-title{font-family:var(--display);font-weight:600;color:var(--navy);font-size:clamp(2.7rem,5.4vw,4.4rem);line-height:1.04;letter-spacing:.01em;}
  h1.hero-title .accent{font-family:var(--script);font-style:italic;font-weight:500;color:var(--coral);font-size:1.15em;display:inline-block;}
  .hero-lead{font-family:var(--display);font-size:1.4rem;font-weight:400;color:var(--navy-soft);margin-top:22px;max-width:34ch;font-style:italic;}

  /* search */
  .search-card{
    margin-top:38px;background:var(--white);border-radius:24px;padding:14px;
    box-shadow:var(--shadow);border:1px solid rgba(31,58,71,.06);
    display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px;align-items:stretch;max-width:720px;
  }
  /* Stichwortsuche über die volle Breite, damit der Platzhalter nicht abgeschnitten wird (#3918) */
  .search-card .search-field:first-child{grid-column:1 / -1;}
  .search-field{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:16px;background:var(--cream);}
  .search-field svg{flex:none;color:var(--coral-text);}
  .search-field input,.search-field select{
    border:none;background:transparent;font-family:var(--sans);font-size:.95rem;color:var(--navy);width:100%;outline:none;
  }
  .search-field input::placeholder{color:rgba(31,58,71,.45);}
  .search-card .btn-coral{justify-content:center;border-radius:16px;padding:0 26px;}
  .hero-tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
  .hero-tags span.lbl{font-size:.82rem;color:var(--navy);opacity:.6;}
  .hero-tags a{font-size:.84rem;padding:6px 15px;border-radius:999px;background:rgba(255,249,243,.7);border:1px solid rgba(31,58,71,.1);color:var(--navy);transition:all .2s;}
  .hero-tags a:hover{background:var(--coral-soft);border-color:transparent;}

  /* Hero-Handlungsaufforderung (#5568): schlanke, ausgewogene CTAs statt der
     bewusst deaktivierten Grossen Suche (#5317). Kein .reveal, damit sofort sichtbar. */
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
  /* Ghost-Button auf dem dunklen Hero: helle Schrift/Rand statt Navy. */
  .hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55);}
  .hero .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.12);}
  @media(max-width:600px){.hero-actions .btn{flex:1 1 100%;justify-content:center;}}

  /* Helle Texte über dem Erd-Hintergrund (nur im Hero) */
  .hero .eyebrow{color:var(--gold);}
  .hero .eyebrow::before{background:var(--coral-soft);}
  .hero h1.hero-title{color:var(--white);}
  .hero h1.hero-title .accent{color:var(--coral-soft);}
  .hero .hero-lead{color:rgba(255,249,243,.94);}
  .hero .hero-tags span.lbl{color:rgba(255,249,243,.82);opacity:1;}
  .hero .hero-tags a{background:rgba(255,249,243,.16);border-color:rgba(255,249,243,.3);color:#FFF9F3;}
  .hero .hero-tags a:hover{background:var(--coral);border-color:transparent;color:#fff;}


  /* ---------------- DIVIDER WAVE ---------------- */
  .hero-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:2;line-height:0;pointer-events:none;}
  .hero-wave svg{display:block;width:100%;height:92px;}
  .values-strip{background:var(--white);padding:32px 0 72px;text-align:center;}
  .values-illu{width:148px;height:148px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 18px;box-shadow:0 22px 46px -22px rgba(31,58,71,.45);border:3px solid var(--white);}
  .values-slogan{font-family:var(--script);font-style:italic;font-weight:500;font-size:2.1rem;color:var(--coral-text);margin:0 0 18px;line-height:1.25;}
  .values-points{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 42px;}
  .values-point{display:inline-flex;align-items:center;gap:11px;font-family:var(--sans);font-size:1rem;color:var(--navy);font-weight:500;}
  .values-point svg{color:var(--coral-text);flex:none;}
  .values-wave{background:var(--white);line-height:0;}
  .values-wave svg{display:block;width:100%;height:70px;}

  /* ---------------- PROFILES ---------------- */
  .section{padding:78px 0;}
  .sec-head{text-align:center;margin-bottom:50px;}
  .sec-head .kicker{font-family:var(--script);font-style:italic;font-size:1.8rem;color:var(--coral-text);line-height:1;}
  .sec-head h2{font-family:var(--display);font-weight:600;font-size:clamp(2rem,3.6vw,2.8rem);color:var(--navy);margin-top:4px;letter-spacing:.01em;}
  .sec-head p{color:var(--navy-soft);margin-top:10px;max-width:52ch;margin-inline:auto;font-size:1rem;}
  .sec-flourish{display:flex;justify-content:center;margin-top:16px;color:var(--coral-soft);}

  .profiles{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
  .pcard{
    background:var(--white);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm);
    border:1px solid rgba(31,58,71,.05);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;display:flex;flex-direction:column;
  }
  .pcard:hover{transform:translateY(-8px);box-shadow:var(--shadow);}
  /* Quadratische Fotobox (1:1) statt Querformat: zeigt Gesicht + Oberkörper der
     5:6-Hochformat-Bilder, deutlich weniger oben abgeschnitten; der Fokuspunkt
     (#4999) hält das Gesicht im Bild (#5081). */
  .pcard .photo{aspect-ratio:1/1;position:relative;display:flex;align-items:flex-end;justify-content:flex-start;padding:14px;}
  .pcard .photo .new{position:absolute;top:14px;right:14px;z-index:1;background:rgba(255,249,243,.92);color:var(--coral-text);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;padding:5px 11px;border-radius:999px;font-weight:500;}
  /* Branchen unten links: Hauptbranche als volle Pille, weitere kleiner (#4637). */
  .pcard .photo .cats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
  .pcard .photo .cat{background:var(--navy);color:var(--cream);font-size:.7rem;letter-spacing:.08em;padding:5px 12px;border-radius:999px;}
  .pcard .photo .cat.cat-sub{background:rgba(31,58,71,.62);color:var(--cream);font-size:.62rem;letter-spacing:.05em;padding:4px 10px;}
  /* Platzhalter-Silhouette (fehlendes Foto) mittig hinter der Kategorie-Pill (#4635). */
  .pcard .photo.is-empty{align-items:flex-end;}
  .pcard .photo .pcard-silh{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:92px;height:auto;z-index:0;opacity:.9;}
  /* #5558: Inhaltsbilder als echte <img> statt CSS-Background (indexierbar in der
     Google-Bildersuche, alt-Text, loading=lazy). Das <img> fuellt seinen bereits
     dimensionierten Container -> kein Layout-Shift (CLS). object-position (inline)
     steuert den Fokuspunkt. Badges/Silhouetten liegen per z-index darueber. */
  .pcard .photo>img,.profile-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0;}
  .product-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;}
  .gallery img.ph{width:100%;object-fit:cover;display:block;}
  .pcard .body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1;}
  .pcard .name{font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--navy);line-height:1.1;}
  .pcard .loc{font-size:.84rem;color:var(--navy-muted);display:flex;align-items:center;gap:5px;}
  .pcard .rating{display:flex;align-items:center;gap:3px;margin-top:4px;color:#E8A93C;font-size:.9rem;}
  .pcard .rating .n{color:var(--navy-muted);font-size:.78rem;margin-left:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  /* Empfehlungszahl unter dem Leitsatz – beides zusammen zeigen (#5725). */
  .pcard-recos{font-size:.76rem;font-weight:600;color:var(--coral-text);}
  .pcard .view{margin-top:auto;padding-top:14px;font-size:.86rem;color:var(--coral-text);font-weight:500;display:flex;align-items:center;gap:6px;transition:gap .2s;}
  .pcard:hover .view{gap:11px;}
  .profiles-cta{text-align:center;margin-top:46px;}

  /* ---------------- BUSINESS CTA ---------------- */
  .cta-band{position:relative;padding:96px 0;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-soft) 100%);overflow:hidden;color:var(--cream);}
  .cta-band::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(226,120,90,.5),transparent 65%);top:-140px;right:-80px;}
  .cta-band::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(240,196,159,.3),transparent 65%);bottom:-120px;left:-60px;}
  .cta-bg{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center;}
  .cta-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(31,58,71,.80),rgba(44,76,90,.90));}
  .cta-inner{position:relative;z-index:2;text-align:center;max-width:740px;margin:0 auto;}
  .cta-inner .kicker{font-family:var(--script);font-style:italic;font-size:1.9rem;color:var(--coral-mid);}
  .cta-inner h2{font-family:var(--display);font-weight:600;font-size:clamp(2.1rem,4vw,3.2rem);margin-top:6px;color:#fff;line-height:1.1;}
  .cta-inner p{font-size:1.1rem;opacity:.85;margin-top:18px;max-width:54ch;margin-inline:auto;}
  .cta-actions{margin-top:34px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .btn-cream{background:var(--cream);color:var(--navy);}
  .btn-cream:hover{transform:translateY(-2px);background:#fff;color:var(--navy);}
  .cta-points{margin-top:40px;display:flex;gap:36px;justify-content:center;flex-wrap:wrap;}
  .cta-points div{display:flex;align-items:center;gap:9px;font-size:.92rem;opacity:.9;}
  .cta-points .dot{width:7px;height:7px;border-radius:50%;background:var(--coral-mid);}

  /* ---------------- FOOTER ---------------- */
  footer.site{background:var(--white);padding:64px 0 30px;border-top:1px solid rgba(31,58,71,.07);}
  /* Fünf Spalten nach Zielgruppen (#3961) */
  .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.05fr 1.15fr .9fr;gap:32px;}
  .foot-brand-links{display:flex;gap:16px;}
  .foot-brand .txt{font-family:var(--display);font-weight:700;font-size:1.4rem;color:var(--navy);}
  .foot-brand .txt b{color:var(--coral);}
  .foot-brand .foot-logo{display:block;width:240px;max-width:100%;height:auto;margin-bottom:16px;}
  .foot-brand p{font-size:.9rem;color:var(--navy);opacity:.7;margin-top:14px;max-width:32ch;}
  .foot-brand .foot-about{display:inline-block;margin-top:14px;font-size:.92rem;color:var(--navy);opacity:.78;border-bottom:1px solid rgba(31,58,71,.25);transition:color .2s,opacity .2s,border-color .2s;}
  .foot-brand .foot-about:hover{color:var(--coral-text);opacity:1;border-color:var(--coral);}
  .foot-brand .powered{margin-top:16px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);opacity:.6;}
  .foot-brand .powered b{font-family:var(--script);font-style:italic;font-weight:500;font-size:1.3rem;letter-spacing:0;text-transform:none;color:var(--coral);}
  .foot-col h4{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:16px;opacity:.8;}
  .foot-col a{display:block;font-size:.92rem;color:var(--navy);opacity:.72;margin-bottom:10px;transition:color .2s,opacity .2s;}
  .foot-col a:not(.btn):hover{color:var(--coral-text);opacity:1;}
  .foot-bottom{margin-top:46px;padding-top:22px;border-top:1px solid rgba(31,58,71,.08);display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--navy);opacity:.6;flex-wrap:wrap;gap:10px;}
  .foot-network{opacity:.85;}
  .foot-network a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(31,58,71,.22);transition:color .2s,border-color .2s;}
  .foot-network a:hover{color:var(--coral-text);border-color:var(--coral);}
  .foot-legal a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(31,58,71,.22);transition:color .2s,border-color .2s;}
  .foot-legal a:hover{color:var(--coral-text);border-color:var(--coral);}

  /* reveal animation */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
  .reveal.in{opacity:1;transform:none;}

  /* ---------------- RESPONSIVE ---------------- */
  @media(max-width:991.98px){
    .hero{padding:74px 0 120px;min-height:auto;background-position:70% center;}
    .hero::before{background:linear-gradient(165deg, rgba(16,28,42,.90) 0%, rgba(16,28,42,.68) 55%, rgba(16,28,42,.56) 100%);}
    .hero-copy{max-width:none;}
    .hero-grid{grid-template-columns:1fr;}
    .profiles{grid-template-columns:repeat(2,1fr);}
    .foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
    .nav-links{display:none;}
  }
  @media(max-width:600px){
    .search-card{grid-template-columns:1fr;}
    .profiles{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;gap:24px;}
    .nav-actions .btn-ghost{display:none;}
    h1.hero-title{font-size:2.4rem;}
  }

/* =========================================================
   PROFILSEITE
   ========================================================= */
.preview-banner{background:var(--navy);color:var(--cream);padding:14px 0;}
.preview-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.preview-banner strong{display:block;font-size:1rem;}
.preview-banner span{display:block;font-size:.9rem;color:rgba(253,238,221,.8);margin-top:2px;}
.profile-top{
  position:relative;padding:54px 0 0;
  background:
    radial-gradient(120% 80% at 92% -20%, rgba(240,196,159,.7) 0%, rgba(253,238,221,0) 55%),
    linear-gradient(180deg,var(--cream),var(--cream));
}
.breadcrumbs{font-size:.84rem;color:var(--navy);opacity:.6;margin-bottom:26px;display:flex;gap:8px;align-items:center;}
.breadcrumbs a:hover{color:var(--coral-text);opacity:1;}
.profile-hero{display:grid;grid-template-columns:380px 1fr;gap:48px;align-items:center;}
.profile-portrait{
  position:relative;width:100%;aspect-ratio:5/6;border-radius:220px 220px 28px 28px;overflow:hidden;
  background:linear-gradient(160deg,var(--coral-mid),var(--coral));box-shadow:0 40px 80px -40px rgba(216,92,60,.6);
}
/* Heller „Spotlight"-Glow oben – nur für den Platzhalter (Silhouette) gedacht.
   Ueber einem echten Foto wusch er den oberen Bildrand aus (#4640), daher bei
   .has-photo aus. */
.profile-portrait::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 50% at 50% 16%, rgba(255,249,243,.4),transparent 60%);}
.profile-portrait.has-photo::after{content:none;}
.profile-portrait .silh{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:90%;opacity:.94;}
.profile-portrait .verified{position:absolute;bottom:18px;left:18px;background:rgba(255,249,243,.92);color:var(--navy);font-size:.72rem;font-weight:500;letter-spacing:.04em;padding:7px 13px;border-radius:999px;display:flex;align-items:center;gap:6px;}
.profile-portrait .verified svg{color:var(--coral-text);}

.profile-meta .branches{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.branch-tag{font-size:.76rem;letter-spacing:.06em;background:var(--navy);color:var(--cream);padding:6px 14px;border-radius:999px;}
.branch-tag.alt{background:transparent;color:var(--navy);border:1.5px solid rgba(31,58,71,.2);}
/* Klickbare Wirkungsfeld-Tags (#3103) */
a.branch-tag{text-decoration:none;transition:background .15s,color .15s,border-color .15s;}
a.branch-tag:hover{background:var(--coral-strong);color:var(--cream);border-color:transparent;}
.profile-meta h1{font-family:var(--display);font-weight:600;font-size:clamp(2.3rem,4.4vw,3.4rem);color:var(--navy);line-height:1.05;}
.profile-meta .tagline{font-family:var(--display);font-style:italic;font-size:1.4rem;color:var(--navy-soft);margin-top:8px;}
.profile-meta .company-name{font-family:var(--sans);font-size:1.02rem;font-weight:500;letter-spacing:.01em;color:var(--coral-text);margin-top:6px;display:flex;align-items:center;gap:8px;}
.profile-meta .company-name::before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor;opacity:.6;}
/* Zusatz-Angebote als klickbare Bubbles in eigener Zeile (#4683) */
.profile-offers{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;}
.offer-tag{font-size:.82rem;letter-spacing:.02em;background:var(--beige);color:var(--navy);padding:7px 15px;border-radius:999px;border:1.5px solid rgba(31,58,71,.14);text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
.offer-tag:hover{background:var(--coral);color:#fff;border-color:var(--coral);}
.profile-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:22px;align-items:center;}
.profile-stats .stat{display:flex;align-items:center;gap:9px;font-size:.95rem;color:var(--navy);}
.profile-stats .stars{color:#E8A93C;letter-spacing:1px;}
.profile-stats .muted{opacity:.6;}
.profile-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
/* Kleiner „Kostenfreies Erstgespräch"-Link unter den Primär-Buttons (#5723). */
.profile-consult{margin:14px 0 0;font-size:.92rem;}
.profile-consult a{display:inline-flex;align-items:center;gap:7px;color:var(--coral-text);font-weight:600;}
.profile-consult a:hover{text-decoration:underline;}
.profile-consult svg{flex:none;}
/* Schrift bleibt beim Hover/Focus weiss – sonst faerbt ein spezifischeres a:hover
   (Bootstrap-Link-Hover) sie dunkel (#5737). */
.btn-whatsapp,
.btn-whatsapp:hover,
.btn-whatsapp:focus,
.btn-whatsapp:focus-visible,
a.btn-whatsapp:hover{background:#25885a;color:#fff;}
.btn-whatsapp:hover,
a.btn-whatsapp:hover{transform:translateY(-2px);background:#1f7049;}

/* tabs */
.profile-tabs-wrap{margin-top:48px;}
/* Editor-Reiter „Mein Profil | Meine Produkte": ohne .tab-section darunter fehlt
   sonst der Abstand zur ersten Card, sie klebt am Tab-Unterstrich (#4680). */
.manage-subnav{margin-bottom:28px;}
.tab-nav{display:flex;gap:6px;border-bottom:1px solid rgba(31,58,71,.12);flex-wrap:wrap;list-style:none;margin:0;padding-left:0;}
.tab-nav li{list-style:none;}
.tab-nav .nav-link{
  font-family:var(--sans);font-size:1rem;font-weight:500;color:var(--navy);opacity:.6;
  background:none;border:none;padding:14px 26px;border-radius:14px 14px 0 0;position:relative;cursor:pointer;transition:opacity .2s,color .2s;
}
.tab-nav .nav-link:hover{opacity:1;color:var(--coral-text);}
.tab-nav .nav-link.active{opacity:1;color:var(--navy);background:transparent;}
.tab-nav .nav-link.active::after{content:"";position:absolute;left:26px;right:26px;bottom:-1px;height:3px;border-radius:3px;background:var(--coral);}
/* Client-seitige Tab-Panels im Einstellungen-Bereich (#5111). */
.settings-panel{margin-top:22px;}
.settings-panel[hidden]{display:none;}

.tab-section{padding:52px 0 64px;}
.tab-pane h3{font-family:var(--display);font-weight:600;font-size:1.8rem;color:var(--navy);margin-bottom:10px;}
.tab-pane .lead-text{font-size:1.08rem;color:var(--navy-soft);max-width:68ch;line-height:1.8;}
.subhead,
.content-page .subhead{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:.72rem;line-height:1;font-weight:600;
  color:var(--coral-text);margin:0 0 8px;text-transform:uppercase;letter-spacing:.22em;
}
.subhead::before,
.content-page .subhead::before{
  content:"";flex:none;width:22px;height:1px;background:currentColor;opacity:.45;
}

/* overview layout */
.ov-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:42px;margin-top:14px;}
.pitch-video{margin:6px 0 38px;}
.pitch-video-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:var(--navy);margin-top:14px;}
.pitch-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.pitch-consent-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;}
.pitch-consent-load{display:inline-flex;align-items:center;gap:9px;border:0;cursor:pointer;background:var(--coral,#E2785A);color:#FFF9F3;font-weight:600;font-size:1rem;padding:12px 24px;border-radius:999px;transition:background .18s;}
.pitch-consent-load:hover{background:var(--coral-strong,#D85C3C);}
.pitch-consent-play{font-size:1.05rem;}
.pitch-consent-note{margin:0;max-width:430px;color:rgba(253,238,221,.82);font-size:.82rem;line-height:1.5;}
.pitch-consent-note a{color:#FFF9F3;text-decoration:underline;}
/* Inline-Bearbeitung der Content-Texte (nur fuer Admins sichtbar, #5277) */
.inline-editable{position:relative;}
.ce-edit{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:6px;padding:2px 5px;border:none;border-radius:6px;background:rgba(181,70,44,.12);color:var(--coral-strong,#B5462C);cursor:pointer;line-height:0;opacity:.5;transition:opacity .15s,background .15s;}
.inline-editable:hover .ce-edit{opacity:1;}
.ce-edit:hover{background:rgba(181,70,44,.22);}
.ce-editor{display:inline-flex;flex-direction:column;gap:8px;width:100%;max-width:640px;margin:6px 0;vertical-align:top;text-align:left;}
.ce-field{width:100%;border:1px solid var(--coral,#D97A5A);border-radius:10px;padding:9px 12px;font:inherit;color:var(--navy,#1F3A47);background:#fff;box-shadow:0 8px 26px rgba(180,120,80,.14);}
.ce-actions{display:flex;gap:8px;}
.ce-save,.ce-cancel{border:none;border-radius:8px;padding:6px 15px;font-size:.85rem;font-family:var(--sans);cursor:pointer;}
.ce-save{background:var(--coral-strong,#B5462C);color:#fff;}
.ce-save:disabled{opacity:.6;cursor:default;}
.ce-cancel{background:rgba(31,58,71,.1);color:var(--navy,#1F3A47);}

.value-accent{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;}
.value-accent-eyebrow{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--coral-strong,#B5462C);}
.value-accent-text{font-family:var(--display,Georgia,serif);font-style:italic;color:var(--navy,#1F3A47);}
.value-accent--page{margin:40px auto;max-width:560px;padding:24px;border-top:1px solid rgba(31,58,71,.1);border-bottom:1px solid rgba(31,58,71,.1);}
.value-accent--page .value-accent-text{font-size:1.4rem;line-height:1.4;}
/* Abgesetzter, warmer Hintergrund macht aus dem „Wert des Tages" einen dezenten
   Trenner zwischen Seiteninhalt und Footer, statt verloren wirkendem Text (#5188). */
.value-accent--footer{margin:0 auto 44px;max-width:720px;padding:28px 30px;border-radius:22px;background:linear-gradient(135deg,#FDEEDD,#F6DECB);}
.value-accent--footer .value-accent-text{font-size:1.15rem;line-height:1.5;opacity:1;}
.highlights{list-style:none;margin-top:26px;display:grid;gap:14px;}
.highlights li{display:flex;gap:12px;align-items:flex-start;font-size:1rem;color:var(--navy);}
.highlights li svg{flex:none;color:var(--coral-text);margin-top:3px;}
.side-card{background:var(--white);border-radius:20px;padding:26px;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);}
.side-card h4{font-family:var(--sans);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);opacity:.8;margin-bottom:16px;}
.info-row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(31,58,71,.07);font-size:.94rem;color:var(--navy);}
.info-row:last-child{border-bottom:none;}
.info-row svg{flex:none;color:var(--coral-text);margin-top:2px;}
.info-row .k{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.55;}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;}
.gallery .ph{aspect-ratio:1;border-radius:14px;box-shadow:var(--shadow-sm);}
/* Auf dem Handy nur 2 statt 3 Kacheln, sonst werden sie ~90px klein (#5567). */
@media(max-width:600px){.gallery{grid-template-columns:repeat(2,1fr);}}

/* services */
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:18px;}
.service-card{background:var(--white);border-radius:20px;padding:26px;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);transition:transform .3s,box-shadow .3s;}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.service-card .ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--coral-soft);color:var(--coral-text);margin-bottom:14px;}
.service-card h5{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--navy);}
.service-card p{font-size:.95rem;color:var(--navy-soft);margin-top:6px;line-height:1.7;}
.service-card .price{margin-top:16px;padding-top:14px;border-top:1px solid rgba(31,58,71,.08);display:flex;align-items:baseline;gap:8px;}
.service-card .price .price-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-soft);opacity:.65;font-weight:600;}
.service-card .price .price-value{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--coral-text);line-height:1;}

/* FAQ accordion (brand restyle of Bootstrap) */
.faq-wrap{max-width:820px;margin-top:18px;}
.accordion-item{background:var(--white)!important;border:1px solid rgba(31,58,71,.08)!important;border-radius:16px!important;margin-bottom:12px;overflow:hidden;}
.accordion-button{font-family:var(--sans)!important;font-weight:500!important;color:var(--navy)!important;background:var(--white)!important;font-size:1.05rem!important;padding:18px 22px!important;box-shadow:none!important;}
.accordion-button:not(.collapsed){color:var(--coral-text)!important;background:var(--white)!important;}
.accordion-button:focus{box-shadow:none!important;border-color:transparent!important;}
/* a11y (#5340): sichtbarer Fokusring fuer Tastatur statt ersatzlosem :none. */
.accordion-button:focus-visible{outline:2px solid var(--coral-text)!important;outline-offset:-2px;border-radius:16px;}
.accordion-button::after{filter:sepia(40%) saturate(400%) hue-rotate(-20deg);}
.accordion-body{color:var(--navy-soft);font-size:.98rem;line-height:1.8;padding:6px 22px 22px!important;}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:18px;}
.review-card{background:var(--white);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);}
.review-card .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.review-card .who{font-family:var(--display);font-weight:600;font-size:1.2rem;color:var(--navy);}
.review-card .stars{color:#E8A93C;letter-spacing:1px;font-size:.95rem;}
.review-card p{font-size:.96rem;color:var(--navy-soft);line-height:1.7;}
.review-card .date{font-size:.78rem;opacity:.5;margin-top:10px;}
.rating-summary{display:flex;align-items:center;gap:22px;background:var(--beige);border-radius:18px;padding:22px 26px;margin-bottom:24px;}
.rating-summary .big{font-family:var(--display);font-weight:700;font-size:3rem;color:var(--navy);line-height:1;}
.rating-summary .stars{color:#E8A93C;font-size:1.2rem;letter-spacing:2px;}
.report-link{font-size:.84rem;color:var(--navy);opacity:.55;margin-top:18px;display:inline-flex;gap:6px;align-items:center;}
.report-link:hover{color:var(--coral-text);opacity:1;}

/* Fokus global im Markenlook statt Bootstraps blauem Ring (#4541).
   Gilt fuer alle .form-control/.form-select – Einzelregeln je Formular sind
   dadurch ueberfluessig und wurden entfernt. */
.form-control:focus,
.form-select:focus{border-color:var(--coral);box-shadow:0 0 0 .2rem rgba(226,120,90,.18);outline:none;}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:42px;margin-top:18px;}
.contact-form .form-label{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);opacity:.75;font-weight:500;margin-bottom:6px;}
.contact-form .form-control{
  border:1px solid rgba(31,58,71,.16);border-radius:14px;padding:13px 16px;font-family:var(--sans);font-size:.97rem;color:var(--navy);background:var(--white);
}
.contact-form .btn-coral{width:100%;justify-content:center;margin-top:6px;}
.ally-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.socials{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.socials a{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--white);border:1px solid rgba(31,58,71,.12);color:var(--navy);transition:all .2s;}
.socials a:hover{background:var(--coral);color:#fff;border-color:transparent;transform:translateY(-3px);}
.map-ph{margin-top:18px;height:200px;border-radius:18px;background:linear-gradient(135deg,var(--sand),var(--gold));position:relative;overflow:hidden;box-shadow:var(--shadow-sm);}
.map-ph .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);color:var(--coral-text);}
.alert-success-brand{background:#E6F0E8;color:#2F6B3E;border:1px solid #bcd9c4;border-radius:14px;padding:14px 18px;margin-bottom:22px;font-size:.96rem;}

@media(max-width:900px){
  .profile-hero{grid-template-columns:1fr;gap:30px;}
  .profile-portrait{max-width:340px;margin:0 auto;}
  .ov-grid,.service-grid,.reviews,.contact-grid{grid-template-columns:1fr;}
}

/* =========================================================
   FLASH / NAV-GREETING
   ========================================================= */
.nav-greeting{font-size:.92rem;color:var(--navy);opacity:.8;}
.logout-form{margin:0;}
.flash-banner-wrap{background:transparent;padding:18px 0;}
.flash-banner{
  background:#E6F0E8;color:#2F6B3E;border:1px solid #bcd9c4;border-radius:14px;
  padding:13px 18px;font-size:.96rem;box-shadow:var(--shadow-sm);
}

/* =========================================================
   AUTH (Registrierung / Login)
   ========================================================= */
.auth-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 78px);}
.auth-aside{
  position:relative;overflow:hidden;color:#fff;padding:64px;
  display:flex;align-items:center;
  background:linear-gradient(160deg,var(--coral-mid),var(--coral) 60%,var(--coral-strong));
}
.auth-aside::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,249,243,.25),transparent 65%);top:-120px;right:-90px;}
.auth-aside::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;
  border:1.5px solid rgba(255,249,243,.35);bottom:40px;left:-70px;}
.auth-aside-bg{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center;}
.auth-aside-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(238,157,128,.82),rgba(216,92,60,.92) 70%);}
.auth-aside-inner{position:relative;z-index:2;max-width:420px;}
.auth-script{font-family:var(--script);font-style:italic;font-size:1.7rem;opacity:.95;margin-bottom:6px;}
/* a11y (#5340): als <p> ausgezeichnet, damit die Aside-Zeile nicht als h2 vor dem
   Formular-h1 in der Ueberschriften-Reihenfolge steht. */
.auth-aside .auth-aside-title{font-family:var(--display);font-weight:600;font-size:2.4rem;line-height:1.12;}
.auth-points{list-style:none;margin-top:28px;display:grid;gap:14px;}
.auth-points li{position:relative;padding-left:30px;font-size:1.02rem;opacity:.95;}
.auth-points li::before{content:"✦";position:absolute;left:0;top:0;color:rgba(255,249,243,.9);}

.auth-main{display:flex;align-items:center;justify-content:center;padding:54px 28px;background:var(--cream);}
.auth-card{width:100%;max-width:460px;}
.auth-card h1{font-family:var(--display);font-weight:600;font-size:2.4rem;color:var(--navy);line-height:1.05;margin-top:2px;}
.auth-sub{font-size:.95rem;color:var(--navy-soft);margin-top:8px;margin-bottom:26px;}
.auth-sub a{color:var(--coral-text);font-weight:500;}
.auth-sub a:hover{text-decoration:underline;}
/* „Noch kein Konto?"-Hinweise auf Login-/Code-Seite (#5729): Frauen ohne Konto
   sollen klar sehen, dass sie sich zuerst registrieren muessen. */
.auth-alt{margin-top:24px;padding-top:20px;border-top:1px solid rgba(31,58,71,.12);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;}
.auth-alt span{font-size:.95rem;color:var(--navy-soft);}
.auth-hint{margin-top:18px;background:var(--cream);border:1px solid var(--sand);border-radius:12px;padding:14px 16px;font-size:.9rem;color:var(--navy-soft);line-height:1.6;text-align:left;}
.auth-hint a{color:var(--coral-text);font-weight:500;}
.auth-hint a:hover{text-decoration:underline;}

.auth-form .form-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);opacity:.75;font-weight:500;margin-bottom:6px;}
.auth-form .form-control{
  border:1px solid rgba(31,58,71,.16);border-radius:14px;padding:13px 16px;
  font-family:var(--sans);font-size:.97rem;color:var(--navy);background:var(--white);width:100%;
}
/* Passwort-Stärke-Anzeige */
.pw-meter{margin-top:9px;}
.pw-meter-track{display:flex;gap:5px;}
.pw-meter-seg{flex:1;height:6px;border-radius:999px;background:rgba(31,58,71,.12);transition:background .2s;}
.pw-meter-text{font-size:.8rem;margin-top:7px;font-weight:600;line-height:1.4;}
.auth-form .form-control.is-invalid{border-color:#B5462C;}
.auth-form .field-error{color:#B5462C;font-size:.82rem;margin-top:5px;}
.btn-block{width:100%;justify-content:center;margin-top:8px;}
.auth-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.remember{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--navy);cursor:pointer;}
.remember input{accent-color:var(--coral-text);width:16px;height:16px;}

@media(max-width:900px){
  .auth-wrap{grid-template-columns:1fr;min-height:auto;}
  .auth-aside{display:none;}
  .auth-main{padding:40px 22px 60px;}
}

/* =========================================================
   PROFIL-VERWALTUNG (Mein Profil)
   ========================================================= */
.nav-mylink{font-size:.92rem;color:var(--navy);font-weight:500;}
.nav-mylink:hover{color:var(--coral-text);}
.manage-wrap{padding:46px 0 80px;background:var(--cream);min-height:calc(100vh - 78px);}
.manage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap;}
.manage-head h1{font-family:var(--display);font-weight:600;font-size:2.4rem;color:var(--navy);line-height:1.05;margin-top:2px;}
.manage-sub{color:var(--navy-soft);font-size:1rem;margin-top:4px;}
.manage-hint{display:flex;align-items:flex-start;gap:12px;background:var(--beige);border:1px solid var(--sand);border-radius:14px;padding:14px 18px;margin-bottom:24px;}
.manage-hint p{margin:0;color:var(--navy-soft);font-size:.92rem;line-height:1.6;}
.manage-hint strong{color:var(--navy);font-weight:600;}
.manage-hint-ico{flex:none;width:24px;height:24px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:.95rem;line-height:1;margin-top:1px;}

/* Erst-Login-Hinweis: Benachrichtigungen */
.notif-prompt-wrap{padding:14px 0 0;}
.notif-prompt{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--beige);border:1px solid var(--sand);border-radius:16px;padding:16px 22px;flex-wrap:wrap;}
.notif-prompt-text{display:flex;flex-direction:column;gap:3px;max-width:680px;}
.notif-prompt-text strong{color:var(--navy);font-size:1rem;}
.notif-prompt-text span{color:var(--navy-soft);font-size:.92rem;line-height:1.6;}
.notif-prompt-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.notif-prompt-actions form{margin:0;}

/* Einstellungen: Toggle-Switch */
.setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;margin:0;}
.setting-toggle-text{display:flex;flex-direction:column;gap:4px;}
.setting-toggle-text strong{color:var(--navy);font-size:1.02rem;}
.setting-toggle-text span{color:var(--navy-soft);font-size:.9rem;line-height:1.6;}
.setting-toggle input{position:absolute;opacity:0;width:0;height:0;}
.setting-switch{flex:none;position:relative;width:52px;height:30px;border-radius:999px;background:var(--sand);transition:background .2s;}
.setting-switch::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(31,58,71,.25);transition:transform .2s;}
.setting-toggle input:checked + .setting-switch{background:var(--coral);}
.setting-toggle input:checked + .setting-switch::after{transform:translateX(22px);}
.settings-actions{margin-top:18px;}
.settings-links{display:flex;gap:12px;flex-wrap:wrap;}
.form-errors{background:#F7E2DA;color:#B5462C;border:1px solid #e6b6a6;border-radius:14px;padding:13px 18px;margin-bottom:20px;font-size:.95rem;}
/* Klartext-Liste statt "bitte pruefe die markierten Felder" (#6514). */
.form-errors-list{margin:6px 0 0;padding-left:20px;}
.form-errors-list li{margin:2px 0;}
.form-card{background:var(--white);border-radius:20px;padding:28px 30px;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);margin-bottom:22px;}
.form-card h3{font-family:var(--display);font-weight:600;font-size:1.5rem;color:var(--navy);margin-bottom:16px;}
/* Abschnitts-Zwischenueberschrift in Formularen (#3939) */
.form-subhead{font-size:1rem;font-weight:700;color:var(--navy);letter-spacing:.01em;padding-bottom:7px;border-bottom:1px solid var(--sand);}
/* Allies-Übersicht & -Detail (#3254) */
/* Zentriert + Karten-Maxbreite, damit auch wenige Allies stimmig wirken (#5498). */
.ally-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;}
.ally-card{flex:1 1 300px;max-width:360px;display:flex;flex-direction:column;padding:22px;background:var(--white);border:1px solid rgba(31,58,71,.1);border-radius:18px;box-shadow:var(--shadow-sm);color:var(--navy);transition:transform .2s,box-shadow .2s;}
.ally-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
/* Einladungs-Karte „Ally werden" – fuellt den Raum und wirbt (#5498). */
.ally-card-cta{align-items:center;justify-content:center;text-align:center;gap:16px;border:1.5px dashed var(--coral);background:var(--cream);box-shadow:none;}
.ally-card-cta .ally-cta-plus{flex:none;width:48px;height:48px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;}
.ally-card-cta h3{margin:0 0 4px;font-family:var(--display);font-size:1.15rem;color:var(--navy);}
.ally-card-cta p{margin:0 0 8px;font-size:.9rem;color:var(--navy-soft);line-height:1.5;}
.ally-card-cta .ally-cta-link{font-weight:600;color:var(--coral-text);}
.ally-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.ally-logo{flex:none;width:84px;height:84px;border-radius:16px;background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ally-logo img{width:100%;height:100%;object-fit:contain;}
.ally-logo-fallback{font-family:var(--display);font-size:1.8rem;font-weight:600;color:var(--coral-text);}
.ally-logo-lg{width:110px;height:110px;border-radius:16px;}
.ally-card h3{margin:0 0 6px;font-family:var(--display);font-size:1.35rem;color:var(--navy);}
.ally-badge{display:inline-block;background:var(--navy);color:var(--cream);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 11px;border-radius:999px;white-space:nowrap;}
.ally-audience{display:flex;align-items:center;gap:7px;font-size:.9rem;color:var(--navy-soft);margin:2px 0 0;}
.ally-audience svg{flex:none;color:var(--coral-text);}
.ally-desc{flex:1;font-size:.92rem;color:var(--navy-muted);margin:10px 0 0;line-height:1.55;}
.ally-more{margin-top:16px;font-weight:600;color:var(--coral-text);}
.ally-card:hover .ally-more{text-decoration:underline;}
.ally-head{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.team-list{list-style:none;padding:0;margin:0 0 8px;}
.team-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--sand);font-size:.92rem;}
/* open2work-Profil: Tabs im Bearbeiten-Formular (#3915) */
.o2w-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 18px;border-bottom:1px solid var(--sand);}
.o2w-tab{background:none;border:0;border-bottom:2px solid transparent;padding:10px 16px;font-size:.95rem;font-weight:600;color:var(--navy-soft);cursor:pointer;margin-bottom:-1px;border-radius:0;}
.o2w-tab:hover{color:var(--navy);}
.o2w-tab.is-active{color:var(--coral-text);border-bottom-color:var(--coral-text);}
.card-hint{font-size:.9rem;color:var(--navy-soft);margin-top:-8px;margin-bottom:16px;}
/* Aufklappbare Zusatzangaben im Talent-Kontaktformular (#5571). */
.talent-more{margin:2px 0 18px;border-top:1px solid rgba(31,58,71,.1);padding-top:14px;}
.talent-more>summary{cursor:pointer;list-style:none;color:var(--coral-text);font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:8px;}
.talent-more>summary::-webkit-details-marker{display:none;}
.talent-more>summary::before{content:"+";font-weight:700;font-size:1.05rem;line-height:1;}
.talent-more[open]>summary::before{content:"\2013";}
.talent-more>summary:hover{text-decoration:underline;}
.card-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:6px;}
.card-head-row h3{margin:0;}
.status-badge{flex:none;font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;white-space:nowrap;}
.status-badge.is-set{background:var(--coral-soft);color:var(--coral-text);}
.status-badge.is-empty{background:rgba(31,58,71,.09);color:var(--navy-soft);}
.manage-form .form-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);opacity:.75;font-weight:500;margin-bottom:6px;}
.manage-form .form-control{border:1px solid rgba(31,58,71,.16);border-radius:12px;padding:11px 14px;font-family:var(--sans);font-size:.95rem;color:var(--navy);background:var(--white);width:100%;}
.manage-form .form-control.is-invalid{border-color:#B5462C;}
.manage-form textarea.form-control{line-height:1.6;}
/* Platzhalter klar vom echten (navy) Text unterscheidbar – deutlich grauer (#5496). */
.form-control::placeholder,.form-select::placeholder{color:#9aa0a6;opacity:1;}
.form-control::-webkit-input-placeholder{color:#9aa0a6;}
.form-control:-ms-input-placeholder{color:#9aa0a6;}
.field-error{color:#B5462C;font-size:.82rem;margin-top:5px;}

.branch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;}
.branch-check{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid rgba(31,58,71,.14);border-radius:12px;cursor:pointer;font-size:.92rem;color:var(--navy);transition:all .18s;background:var(--white);}
.branch-check:hover{border-color:var(--coral);}
.branch-check input{accent-color:var(--coral-text);width:16px;height:16px;flex:none;}
.branch-check:has(input:checked){background:var(--coral-soft);border-color:transparent;}
/* Lange Branchennamen (z. B. „Persönlichkeitsentwicklung“) umbrechen statt über die Box laufen lassen. */
.branch-check span{min-width:0;overflow-wrap:break-word;word-break:break-word;hyphens:auto;}

.img-preview{display:block;width:120px;height:150px;object-fit:cover;border-radius:14px;margin-bottom:10px;box-shadow:var(--shadow-sm);}
/* Interaktiver Bild-Cropper (#3946) */
.cropper{margin:10px 0 2px;}
.cropper-editor{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;}
.cropper-stage{position:relative;width:260px;max-width:100%;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--cream);touch-action:none;cursor:grab;}
.cropper-stage:active{cursor:grabbing;}
.cropper-canvas{display:block;}
/* Verschiebbarer Fokuspunkt (#4999): markiert die Stelle, die überall sichtbar bleibt. */
.cropper-focus{position:absolute;left:50%;top:28%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;
  border:2px solid #fff;background:rgba(216,92,60,.55);box-shadow:0 0 0 2px rgba(216,92,60,.9),0 2px 8px rgba(0,0,0,.35);
  cursor:move;touch-action:none;z-index:2;}
.cropper-focus::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff;}
.cropper-focus:focus{outline:none;box-shadow:0 0 0 3px var(--coral-strong),0 2px 8px rgba(0,0,0,.35);}
.cropper-controls{display:flex;align-items:center;gap:10px;width:260px;max-width:100%;margin-top:10px;}
.cropper-controls .cropper-zoom{flex:1;accent-color:var(--coral-text);}
.cropper-zoom-ico{color:var(--navy);opacity:.6;font-weight:700;width:12px;text-align:center;}
.cropper-preview{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;align-items:flex-start;}
.cropper-preview-item{display:flex;flex-direction:column;gap:6px;}
.cropper-preview-label{margin:0;}
.cropper-preview-box{border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);background:var(--cream);align-self:flex-start;}
.cropper-preview-canvas{display:block;}
.cropper-hint{margin:6px 0 0;}
/* Toggle-Switch in Primärfarbe (Coral) statt blauer Checkbox (#5110). */
.lr-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;margin:2px 0;}
.lr-switch input{position:absolute;width:1px;height:1px;opacity:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);}
.lr-switch-track{position:relative;flex:none;width:44px;height:24px;border-radius:999px;background:#cdcdcd;transition:background .18s;}
.lr-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .18s;}
.lr-switch input:checked + .lr-switch-track{background:var(--coral-strong);}
.lr-switch input:checked + .lr-switch-track::after{transform:translateX(20px);}
.lr-switch input:focus-visible + .lr-switch-track{box-shadow:0 0 0 3px rgba(216,92,60,.3);}
.lr-switch-text{font-size:.95rem;color:var(--navy);}
.thumb-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px;}
.thumb{width:104px;height:104px;object-fit:cover;border-radius:12px;box-shadow:var(--shadow-sm);}

.rep-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:6px;}
.rep-row .row{flex:1;}
.rep-remove{flex:none;width:38px;height:38px;border-radius:10px;border:1px solid rgba(31,58,71,.16);background:var(--white);color:var(--coral-text);cursor:pointer;font-size:.9rem;margin-top:1px;transition:all .18s;}
.rep-remove:hover{background:#F7E2DA;border-color:transparent;}
.btn-add{margin-top:8px;background:none;border:1.5px dashed rgba(216,92,60,.5);color:var(--coral-text);border-radius:12px;padding:10px 18px;font-family:var(--sans);font-size:.92rem;font-weight:500;cursor:pointer;transition:all .18s;}
.btn-add:hover{background:var(--coral-soft);border-style:solid;border-color:transparent;}
.manage-actions{margin-top:8px;display:flex;justify-content:flex-end;}

@media(max-width:600px){
  .manage-head{flex-direction:column;align-items:flex-start;}
  .nav-mylink{display:none;}
}

/* =========================================================
   BEWERTUNGS-FORMULAR
   ========================================================= */
.review-hint{font-size:.96rem;color:var(--navy-soft);margin-top:22px;}
.review-hint a{color:var(--coral-text);font-weight:500;}
.review-hint a:hover{text-decoration:underline;}
.review-form{
  background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:18px;
  padding:26px 28px;margin-top:26px;max-width:680px;box-shadow:var(--shadow-sm);
}
.review-form h4{font-family:var(--display);font-weight:600;font-size:1.35rem;color:var(--navy);margin-bottom:14px;}
.star-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;margin-bottom:6px;}
.star-input input{position:absolute;width:1px;height:1px;opacity:0;}
.star-input label{font-size:2.1rem;line-height:1;color:#E3D2BE;cursor:pointer;padding:0 3px;transition:color .15s;}
.star-input label:hover,
.star-input label:hover ~ label,
.star-input input:checked ~ label{color:#E8A93C;}
.star-input input:focus-visible ~ label{outline:2px solid var(--coral);border-radius:4px;}
.review-form textarea.form-control{
  border:1px solid rgba(31,58,71,.16);border-radius:12px;padding:12px 15px;width:100%;
  font-family:var(--sans);font-size:.96rem;color:var(--navy);background:var(--white);margin-top:8px;
}
.review-form .btn-coral{margin-top:14px;}
.leave-review{margin-top:46px;padding-top:32px;border-top:1px solid rgba(31,58,71,.12);}
.leave-review h3{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--navy);margin-bottom:16px;}
.leave-review-card{background:var(--beige);border:1px solid var(--sand);border-radius:20px;padding:26px 30px;}
.leave-review-card .review-form{margin-top:0;}
.leave-review-card .review-hint{margin-bottom:12px;}

/* =========================================================
   SUCHE / ERGEBNISSEITE
   ========================================================= */
.search-page{padding:46px 0 80px;background:var(--cream);min-height:calc(100vh - 78px);}
.search-head{margin-bottom:22px;}
.search-head h1{font-family:var(--display);font-weight:600;font-size:clamp(2rem,4vw,2.9rem);color:var(--navy);line-height:1.05;margin-top:2px;}
.filter-bar{
  background:var(--white);border-radius:20px;padding:12px;box-shadow:var(--shadow);border:1px solid rgba(31,58,71,.06);
  display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:8px;align-items:stretch;
}
.filter-bar .search-field{display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:14px;background:var(--cream);}
.filter-bar .search-field svg{flex:none;color:var(--coral-text);}
.filter-bar .search-field input,
.filter-bar .search-field select{border:none;background:transparent;font-family:var(--sans);font-size:.95rem;color:var(--navy);width:100%;outline:none;cursor:pointer;}
.filter-bar .search-field.select{padding-right:8px;}
.filter-bar .btn-coral{justify-content:center;border-radius:14px;padding:0 26px;}

.results-meta{display:flex;justify-content:space-between;align-items:center;margin:26px 0 22px;flex-wrap:wrap;gap:12px;}
.results-meta > span{font-size:.95rem;color:var(--navy-muted);}
.sort-form{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--navy);}
.sort-form label{opacity:.6;}
.sort-form select{appearance:none;-webkit-appearance:none;-moz-appearance:none;field-sizing:content;max-width:100%;border:1px solid rgba(31,58,71,.16);border-radius:10px;padding:8px 34px 8px 12px;background-color:var(--white);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='%231F3A47' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;font-family:var(--sans);font-size:.9rem;color:var(--navy);cursor:pointer;}
.sort-form select:focus{outline:none;border-color:var(--coral);}

.empty-state{text-align:center;padding:70px 20px;background:var(--white);border-radius:20px;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);}
.empty-state .empty-emoji{font-size:2.4rem;}
.empty-state h3{font-family:var(--display);font-weight:600;font-size:1.7rem;color:var(--navy);margin-top:8px;}
.empty-state p{color:var(--navy-soft);margin:8px 0 20px;}

/* Pagination (Bootstrap-Markup, Marken-Look) */
.pagination-wrap{margin-top:40px;display:flex;justify-content:center;}
.pagination{display:flex;gap:6px;list-style:none;padding:0;margin:0;}
.pagination .page-link{
  border:1px solid rgba(31,58,71,.14);background:var(--white);color:var(--navy);
  border-radius:12px;padding:9px 15px;font-size:.92rem;text-decoration:none;transition:all .18s;
}
.pagination .page-link:hover{background:var(--coral-soft);border-color:transparent;color:var(--navy);}
.pagination .page-item.active .page-link{background:var(--coral-strong);border-color:transparent;color:#fff;}
.pagination .page-item.disabled .page-link{opacity:.4;}

@media(max-width:767.98px){
  .filter-bar{grid-template-columns:1fr;}
}

/* =========================================================
   INHALTSSEITEN (Impressum, Datenschutz, Widerruf, FAQ)
   ========================================================= */
.content-page{padding:54px 0 80px;background:var(--cream);min-height:calc(100vh - 78px);}
.container.narrow{max-width:820px;}
.content-page h1{font-family:var(--display);font-weight:600;font-size:clamp(2rem,4vw,2.9rem);color:var(--navy);line-height:1.05;margin-top:2px;}
.content-page h2{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--navy);margin:30px 0 8px;}
.content-page p{color:var(--navy-soft);font-size:1.02rem;line-height:1.85;margin-bottom:12px;}
.about-block{margin:38px 0;}
.about-idea{display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:center;}
.about-idea-img{width:300px;height:300px;border-radius:50%;object-fit:cover;display:block;border:4px solid var(--white);box-shadow:0 26px 54px -26px rgba(31,58,71,.5);}
@media (max-width:767.98px){.about-idea{grid-template-columns:1fr;}.about-idea-img{width:220px;height:220px;margin:6px auto 0;}}
.about-block h2,.about-cta h2{font-family:var(--display);font-weight:600;font-size:1.9rem;color:var(--navy);margin-bottom:14px;}
.about-nina{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:center;background:var(--beige);border:1px solid var(--sand);border-radius:24px;padding:30px 34px;margin:38px 0;}
.about-nina-portrait{aspect-ratio:5/6;border-radius:140px 140px 22px 22px;overflow:hidden;background:linear-gradient(160deg,var(--coral-mid),var(--coral));display:flex;align-items:flex-end;justify-content:center;box-shadow:0 24px 50px -28px rgba(216,92,60,.55);}
.about-nina-portrait svg{width:88%;}
.about-nina-portrait img{width:100%;height:100%;object-fit:cover;display:block;}
.about-nina-text h2{margin-bottom:8px;}
.about-page .about-logo{display:block;width:120px;height:120px;margin:0 0 20px;}
.about-cta{text-align:center;background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:24px;padding:40px 34px;margin-top:44px;box-shadow:var(--shadow-sm);}
.about-cta p{max-width:54ch;margin:0 auto 22px;}
@media (max-width:600px){.about-nina{grid-template-columns:1fr;text-align:center;}.about-nina-portrait{max-width:200px;margin:0 auto;}}
/* Nicht kursiv, serifenlos – wie die Anbieterinnen-Intro (#5503). */
.content-page .page-intro{font-size:1.1rem;color:var(--navy-soft);line-height:1.7;max-width:680px;margin:8px 0 26px;}
.doc-note{background:#FBEFD8;color:#8a5a14;border:1px solid #ecd7a6;border-radius:14px;padding:14px 18px;margin:18px 0 26px;font-size:.92rem;line-height:1.6;}
.doc-stand{margin-top:30px;font-size:.85rem;color:var(--navy-muted);font-style:italic;}
.faq-cta{margin-top:40px;text-align:center;background:var(--white);border-radius:20px;padding:34px;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);}
.faq-cta p{font-family:var(--display);font-size:1.5rem;color:var(--navy);margin-bottom:16px;}

/* =========================================================
   ADMIN-BEREICH
   ========================================================= */
.admin-page{padding:46px 0 80px;background:var(--cream);min-height:calc(100vh - 78px);}
.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;flex-wrap:wrap;}
.admin-head h1{font-family:var(--display);font-weight:600;font-size:2.2rem;color:var(--navy);line-height:1.05;margin-top:2px;}
.admin-search{display:flex;gap:8px;}
.admin-search input{border:1px solid rgba(31,58,71,.16);border-radius:12px;padding:11px 15px;font-family:var(--sans);font-size:.95rem;color:var(--navy);background:var(--white);min-width:260px;}
.admin-search input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 .2rem rgba(226,120,90,.18);}
.admin-search .btn-coral{border-radius:12px;}
/* Schnellsuche-Seite: das Feld fuellt die Karte (#4531). */
.admin-search-wide input{flex:1;min-width:0;}

/* Schnellsuche – Ergebnisliste. Das Padding kommt von .admin-card, deshalb steht
   die Ueberschrift buendig ueber den Treffern (kein zusaetzliches Einruecken). */
.search-group-title{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--navy);margin:0 0 10px;}
.search-group-title .muted{font-family:var(--sans);font-weight:400;font-size:.9rem;}
.search-hit{display:block;padding:11px 0;color:var(--navy);text-decoration:none;}
/* Trennlinie nur ZWISCHEN Treffern – nach dem letzten bleibt keine stehen (#4531). */
.search-hit + .search-hit{border-top:1px solid rgba(31,58,71,.08);}
.search-hit:hover .search-hit-label{color:var(--coral-text);}
.search-hit-label{display:block;font-weight:600;}
.search-hit-sub{display:block;font-size:.85rem;color:var(--navy-soft);margin-top:2px;}
.admin-card{background:var(--white);border-radius:18px;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);overflow:hidden;margin-bottom:25px;padding:22px 24px;}
/* Leer-Zustand („nichts zu tun") – große, zentrierte Card (#4554). */
.admin-empty{padding:40px;text-align:center;}

/* Admin: Kategorien-Maske */
/* Titel/Formular liegen bereits in einer gepolsterten .admin-card – kein zusaetzliches
   horizontales Padding, sonst stehen die Ueberschriften eingerueckt zum Inhalt (#4564). */
.cat-card-title{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--navy);padding:0;margin:0 0 4px;}
.cat-form{padding:14px 0 0;display:flex;flex-direction:column;gap:14px;}
.cat-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cat-form-actions{margin-top:4px;}
/* Aufklappbares Inline-Edit in Admin-Tabellen (#4565): summary als Button, ohne Dreieck */
.admin-inline-edit{display:inline-block;}
.admin-inline-edit summary{list-style:none;cursor:pointer;}
.admin-inline-edit summary::-webkit-details-marker{display:none;}
.cat-tree{padding:4px 22px 22px;}
.cat-parent{border:1px solid rgba(31,58,71,.10);border-radius:14px;margin-bottom:14px;overflow:hidden;}
.cat-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--white);}
.cat-row + .cat-row{border-top:1px solid rgba(31,58,71,.06);}
.cat-parent > .cat-row:first-child{background:var(--beige);}
.cat-row.cat-child{background:var(--cream);padding-left:30px;}
.cat-move{display:flex;flex-direction:column;gap:3px;flex:none;}
.cat-move form{margin:0;}
.cat-arrow{width:28px;height:20px;border:1px solid rgba(31,58,71,.16);background:var(--white);border-radius:6px;font-size:.62rem;line-height:1;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.cat-arrow:hover:not(:disabled){background:var(--sand);}
.cat-arrow:disabled{opacity:.3;cursor:default;}
.cat-name{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;}
.cat-name strong{color:var(--navy);font-size:1.02rem;}
.cat-name .muted{font-size:.82rem;}
.cat-actions{display:flex;align-items:center;gap:8px;flex:none;}
.cat-actions form{margin:0;}
.cat-list-hint{margin:-6px 0 16px;padding:0;}
.cat-search-wrap{padding:0 22px;margin-bottom:14px;}
.cat-search{width:100%;border:1px solid rgba(31,58,71,.18);border-radius:12px;padding:11px 15px;font-family:var(--sans);font-size:.95rem;background:#fff;color:var(--navy);}
.cat-search:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(226,120,90,.15);}
.cat-tree .cat-parent.search-open .cat-children{display:block;}
.content-fields{display:flex;flex-direction:column;gap:22px;padding:4px 22px 4px;}
.content-field .form-label{margin-bottom:6px;}
.content-default{font-size:.8rem;color:var(--navy-soft);opacity:.7;margin:6px 0 0;font-style:italic;}
/* Inhalte-Editor: Tabs pro Seite */
.content-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;border-bottom:1px solid rgba(31,58,71,.12);}
.content-tab{appearance:none;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:.92rem;color:var(--navy);opacity:.6;padding:11px 18px;border-radius:12px 12px 0 0;border-bottom:2.5px solid transparent;transition:color .15s,opacity .15s,background .15s,border-color .15s;}
.content-tab:hover{opacity:.95;background:rgba(226,120,90,.07);}
.content-tab.active{opacity:1;font-weight:600;color:var(--coral-text);border-bottom-color:var(--coral);}
.content-panel{display:none;}
.content-panel.active{display:block;animation:contentFade .22s ease;}
@keyframes contentFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
/* Inhalte-Editor: Bildfelder mit Vorschau */
.img-field{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;}
.img-thumb{width:172px;height:120px;border-radius:14px;overflow:hidden;background:var(--beige);border:1px solid rgba(31,58,71,.12);flex:none;padding:6px;}
/* contain statt cover: In der Kontroll-Vorschau soll das GANZE Bild zu sehen sein –
   mit cover wurden vor allem die Logos beschnitten (#4537). */
.img-thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.img-meta{flex:1;min-width:240px;}
.img-input{display:block;margin-bottom:10px;font-size:.88rem;max-width:100%;}
.img-reset{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;color:var(--navy);opacity:.85;margin-bottom:6px;cursor:pointer;}
.img-reset input{width:auto;margin:0;}
.cat-collapse{flex:none;width:28px;height:28px;border:1px solid rgba(31,58,71,.16);background:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--navy);padding:0;}
.cat-collapse:hover{background:var(--sand);}
.cat-chevron{transition:transform .2s;}
.cat-parent.is-collapsed .cat-chevron{transform:rotate(-90deg);}
.cat-parent.is-collapsed .cat-children{display:none;}
@media (max-width:600px){
  .cat-form-grid{grid-template-columns:1fr;}
  .cat-row{flex-wrap:wrap;}
}
.admin-table{width:100%;border-collapse:collapse;font-size:.94rem;}
/* .cal-check entfiel mit der Umstellung auf Badge + Aktion (#4529).
   .cal-pending bleibt – wird in der Empfehlungen-Moderation genutzt. */
.cal-pending{display:block;margin-top:5px;font-size:.74rem;color:var(--coral-text);font-weight:600;}
.admin-table-scroll{overflow-x:auto;}
.admin-table th{text-align:left;font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);opacity:.6;padding:16px 18px;border-bottom:1px solid rgba(31,58,71,.1);}
.admin-table td{padding:14px 18px;border-bottom:1px solid rgba(31,58,71,.06);color:var(--navy);vertical-align:middle;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table .muted{color:var(--navy);opacity:.55;}
.admin-table .ta-right{text-align:right;}
.admin-table .ta-center{text-align:center;}
.link-coral{color:var(--coral-text);font-weight:500;}
.link-coral:hover{color:var(--coral-text);text-decoration:underline;}
.tag-admin{display:inline-block;margin-left:8px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;background:var(--navy);color:var(--cream);padding:3px 8px;border-radius:999px;}
.admin-table .actions{display:flex;gap:8px;justify-content:flex-end;}
.admin-table .actions form{margin:0;}
/* Aufklapp-Aktionen (z. B. „Bearbeiten") erben sonst einen Aussenabstand und sitzen
   dadurch tiefer als die Nachbar-Buttons – wie bei form neutralisieren (#6190). */
.admin-table .actions details{margin:0;}
.act{border:1px solid rgba(31,58,71,.16);background:var(--white);border-radius:10px;padding:7px 13px;font-family:var(--sans);font-size:.84rem;cursor:pointer;transition:all .18s;white-space:nowrap;}
.act-login{color:var(--navy);}
.act-login:hover{background:var(--coral-soft);border-color:transparent;}
.act-publish{background:var(--coral-strong);color:#fff;border-color:transparent;font-weight:600;}
.act-publish:hover{background:var(--coral);color:#fff;}
.act-unpublish{color:var(--navy-soft);}
.act-del{color:#B5462C;}
.act-del:hover{background:#F7E2DA;border-color:transparent;}
/* Admin-Callouts (statt hardcoded Inline-Hintergruende). */
.admin-callout{background:#FFF6EC;border:1px solid var(--gold);border-radius:14px;padding:14px 18px;margin-bottom:22px;color:var(--navy);}
.admin-callout-error{background:#FDECEA;border:1px solid #F5C2C0;border-radius:14px;padding:14px 18px;margin-bottom:22px;color:#8A2A22;}
tr.is-pending{background:#FFFAF2;}

/* Impersonation-Banner */
.impersonate-banner{background:var(--navy);color:var(--cream);font-size:.92rem;}
.impersonate-banner .container{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 28px;flex-wrap:wrap;}
.impersonate-banner strong{color:var(--coral-mid);}
.impersonate-banner .impersonate-mail{opacity:.85;font-size:.86rem;word-break:break-all;}
.impersonate-banner form{margin:0;}
.impersonate-banner button{background:var(--coral);color:#fff;border:none;border-radius:999px;padding:7px 18px;font-family:var(--sans);font-size:.86rem;font-weight:500;cursor:pointer;transition:background .2s;}
.impersonate-banner button:hover{background:var(--coral-strong);}
.verify-banner{background:#FBE5D6;color:#8A4B2A;font-size:.92rem;border-bottom:1px solid #f0d2b8;}
.verify-banner .container{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 28px;flex-wrap:wrap;}
.verify-banner form{margin:0;}
.verify-banner button{background:var(--coral);color:#fff;border:none;border-radius:999px;padding:7px 18px;font-family:var(--sans);font-size:.86rem;font-weight:500;cursor:pointer;transition:background .2s;}
.verify-banner button:hover{background:var(--coral-strong);}

@media(max-width:767.98px){
  .admin-head{flex-direction:column;align-items:stretch;}
  .admin-search input{min-width:0;flex:1;}
  .admin-card{overflow-x:auto;}
  .admin-table{min-width:680px;}
}

/* =========================================================
   MELDUNGEN (Report) – Profil & Admin
   ========================================================= */
.report-box{margin-top:12px;}
.report-box summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--navy);opacity:.6;font-size:.84rem;list-style:none;}
.report-box summary::-webkit-details-marker{display:none;}
.report-box summary::before{content:"⚐";}
.report-box summary:hover{color:var(--coral-text);opacity:1;}
.report-box[open] summary{color:var(--coral-text);opacity:1;}
.report-box form{margin-top:10px;}
.report-box textarea{width:100%;border:1px solid rgba(31,58,71,.16);border-radius:12px;padding:10px 13px;font-family:var(--sans);font-size:.92rem;color:var(--navy);background:var(--white);}
.report-box textarea:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 .2rem rgba(226,120,90,.18);}
.report-box .btn-coral{margin-top:8px;padding:8px 18px;font-size:.86rem;}
.report-flag{margin-top:12px;font-size:.82rem;color:#8a5a14;background:#FBEFD8;border-radius:10px;padding:7px 12px;display:inline-block;}
.report-hint{font-size:.86rem;color:var(--navy);opacity:.6;margin-top:18px;}

/* Tab-/Navbar-Leiste mit Unterstrich-Hervorhebung der aktuellen Seite (#3193). */
.admin-subnav{display:flex;gap:4px;margin-bottom:22px;border-bottom:2px solid rgba(31,58,71,.1);flex-wrap:wrap;}
.admin-subnav a{font-size:.92rem;color:var(--navy);opacity:.62;padding:10px 16px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .18s;display:inline-flex;align-items:center;gap:8px;}
.admin-subnav a:hover{opacity:1;color:var(--coral-text);}
.admin-subnav a.active{opacity:1;color:var(--coral-text);border-bottom-color:var(--coral-text);font-weight:600;}
.badge-count{background:var(--coral-strong);color:#fff;font-size:.72rem;font-weight:600;border-radius:999px;padding:1px 8px;}

.report-list{display:grid;gap:16px;}
.report-item{background:var(--white);border:1px solid rgba(31,58,71,.07);border-radius:18px;box-shadow:var(--shadow-sm);padding:22px 24px;display:flex;gap:22px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;}
.report-review{flex:1;min-width:280px;}
.report-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.report-meta .stars{color:#E8A93C;}
.report-meta .who{font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--navy);}
.report-body{color:var(--navy-soft);font-size:.96rem;line-height:1.7;margin:8px 0 12px;}
.report-reason{background:var(--cream);border-radius:12px;padding:12px 15px;font-size:.9rem;color:var(--navy);line-height:1.6;}
.report-actions{display:flex;flex-direction:column;gap:8px;}
.report-actions form{margin:0;}
.report-actions .act{width:100%;text-align:center;}

/* Anfragen als Karten (#5721): lange Nachrichten voll lesbar, Aktions-Buttons in
   einer umbrechenden Reihe statt uebereinander in einer schmalen Tabellenspalte. */
.inquiry-list{display:flex;flex-direction:column;gap:16px;}
.inquiry-card{background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px 22px;}
.inquiry-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.inquiry-name{font-family:var(--display);font-weight:600;font-size:1.2rem;color:var(--navy);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.inquiry-who .muted{font-size:.9rem;margin-top:2px;}
.inquiry-contact{font-size:.86rem;color:var(--navy-muted);margin-top:5px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.inquiry-contact a{color:var(--coral-text);font-weight:500;}
.inquiry-status{margin:0;flex:none;}
.inquiry-status .form-select{min-width:160px;}
.inquiry-message{color:var(--navy);font-size:.96rem;line-height:1.65;white-space:pre-line;margin:14px 0;padding:14px 16px;background:var(--cream);border-radius:12px;}
.inquiry-foot{display:flex;justify-content:space-between;align-items:center;gap:12px 18px;flex-wrap:wrap;}
.inquiry-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.inquiry-actions form{margin:0;}
.inquiry-sent{font-size:.8rem;color:var(--navy-muted);}

/* =========================================================
   WERBEMITTEL (Anzeigen)
   ========================================================= */
.ads-section{padding:30px 0 70px;background:var(--cream);}
.ads-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}

.ad-card{position:relative;display:block;background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;}
.ad-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.ad-label{position:absolute;top:12px;left:12px;z-index:2;background:rgba(31,58,71,.82);color:var(--cream);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border-radius:6px;}
.ad-img{height:150px;background-size:cover;background-position:center;}
.ad-body{padding:18px 20px 20px;}
.ad-title{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--navy);line-height:1.15;}
.ad-text{font-size:.92rem;color:var(--navy-soft);line-height:1.6;margin-top:6px;}
.ad-cta{display:inline-block;margin-top:12px;font-size:.86rem;color:var(--coral-text);font-weight:500;}

/* Banner (Suche) */
.ad-banner{display:flex;align-items:stretch;gap:0;margin-bottom:24px;}
.ad-banner .ad-img{flex:none;width:200px;height:auto;min-height:120px;}
.ad-banner .ad-body{display:flex;flex-direction:column;justify-content:center;}
.ad-banner .ad-label{background:rgba(31,58,71,.82);}

/* Compact (Profil-Sidebar) */
.ad-compact{margin-top:20px;}
.ad-compact .ad-img{height:120px;}
.ad-compact .ad-body{padding:14px 16px 16px;}
.ad-compact .ad-title{font-size:1.15rem;}

@media(max-width:900px){
  .ads-grid{grid-template-columns:1fr;}
  .ad-banner{flex-direction:column;}
  .ad-banner .ad-img{width:100%;height:150px;}
}

/* Verwaltung der Werbemittel */
.ad-manage-list{display:grid;gap:14px;}
.ad-manage-item{display:flex;align-items:center;gap:18px;background:var(--white);border:1px solid rgba(31,58,71,.07);border-radius:16px;box-shadow:var(--shadow-sm);padding:14px 18px;}
.ad-thumb{flex:none;width:72px;height:72px;border-radius:12px;background-size:cover;background-position:center;}
.ad-manage-info{flex:1;min-width:0;}
.ad-manage-title{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--navy);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ad-manage-meta{font-size:.86rem;color:var(--navy);opacity:.6;margin-top:3px;}
.status-on{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;background:#E6F0E8;color:#2F6B3E;padding:3px 9px;border-radius:999px;}
.status-off{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;background:#F0E2DA;color:#9a6b55;padding:3px 9px;border-radius:999px;}
.ad-manage-actions{display:flex;gap:8px;flex:none;}
.ad-manage-actions form{margin:0;}

@media(max-width:600px){
  .ad-manage-item{flex-wrap:wrap;}
  .ad-manage-actions{width:100%;}
}

/* =========================================================
   WERBEMITTEL – feste Formate (Format-Boxen)
   ========================================================= */
.ad-unit{position:relative;display:block;max-width:100%;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.08);background:var(--white);transition:transform .25s, box-shadow .25s;}
.ad-unit:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.ad-unit img{display:block;width:100%;height:100%;object-fit:cover;}
.ad-unit .ad-label{position:absolute;top:8px;left:8px;z-index:2;background:rgba(31,58,71,.82);color:var(--cream);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:6px;}

/* Startseiten-Block: gemischte Formate zentriert umbrechen */
.ads-grid{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;align-items:flex-start;}
/* Such-Banner zentriert */
.ad-slot-center{display:flex;justify-content:center;margin-bottom:24px;}

/* Vorschau im Formular */
.ad-preview-wrap{background:var(--cream);border:1px dashed rgba(31,58,71,.22);border-radius:12px;padding:18px;display:flex;justify-content:center;align-items:center;min-height:120px;}
.ad-preview-img{max-width:100%;max-height:340px;border-radius:8px;box-shadow:var(--shadow-sm);}

/* =========================================================
   WERBEMITTEL-STYLEGUIDE
   ========================================================= */
.sg-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:14px 0 8px;}
.sg-swatch{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:12px;padding:10px 12px;}
.sg-chip{width:30px;height:30px;border-radius:8px;flex:none;border:1px solid rgba(31,58,71,.1);}
.sg-name{font-size:.9rem;color:var(--navy);}
.sg-hex{margin-left:auto;font-size:.78rem;opacity:.55;}
.sg-list{list-style:none;margin:12px 0;display:grid;gap:9px;}
.sg-list li{position:relative;padding-left:24px;color:var(--navy-soft);}
.sg-list li::before{content:"✦";position:absolute;left:0;color:var(--coral-text);}
.sg-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0;}
.sg-do,.sg-dont{background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:16px;padding:20px 22px;}
.sg-do h3,.sg-dont h3{font-family:var(--display);font-size:1.25rem;margin-bottom:10px;}
.sg-do h3{color:#2F6B3E;}.sg-dont h3{color:#B5462C;}
.sg-do ul,.sg-dont ul{list-style:none;display:grid;gap:7px;}
.sg-do li::before{content:"✓ ";color:#2F6B3E;}
.sg-dont li::before{content:"✕ ";color:#B5462C;}
.sg-do li,.sg-dont li{font-size:.92rem;color:var(--navy);}
.sg-formats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:14px;}
.sg-format{background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:14px;padding:14px;text-align:center;}
.sg-format img{max-width:100%;max-height:130px;border-radius:8px;box-shadow:var(--shadow-sm);}
.sg-format-meta{margin-top:10px;display:flex;flex-direction:column;gap:2px;}
.sg-format-meta strong{color:var(--navy);}
.sg-format-meta span{font-size:.82rem;opacity:.6;}
.sg-format-meta a{margin-top:4px;font-size:.84rem;}

@media(max-width:600px){ .sg-cols{grid-template-columns:1fr;} }

/* =========================================================
   PROFIL – Leitsatz & Links-Block
   ========================================================= */
.leitsatz{
  font-family:var(--display);font-style:italic;font-size:1.5rem;line-height:1.4;color:var(--coral-text);
  border-left:3px solid var(--coral-soft);padding:4px 0 4px 20px;margin:0 0 22px;
}
.links-card{margin-top:20px;}
.links-card h4{font-family:var(--display);font-weight:600;font-size:1.2rem;color:var(--navy);margin-bottom:14px;}
.link-btn{display:block;width:100%;text-align:center;background:var(--cream);border:1px solid rgba(31,58,71,.1);
  border-radius:12px;padding:11px 14px;margin-bottom:9px;color:var(--navy);font-size:.93rem;font-weight:500;transition:all .18s;}
.link-btn:hover{background:var(--sand);border-color:transparent;}
.link-btn-coral{background:var(--coral-strong);color:#fff;border-color:transparent;}
.link-btn-coral:hover{background:var(--coral);}
.social-icons{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.social-icons a{flex:1;min-width:90px;text-align:center;font-size:.82rem;padding:8px 10px;border-radius:12px;
  background:var(--white);border:1px solid rgba(31,58,71,.14);color:var(--navy-soft);transition:all .18s;}
.social-icons a:hover{border-color:var(--coral);color:var(--coral-text);}

/* Login: Passwort-vergessen-Link */
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap;}
.auth-forgot{font-size:.9rem;color:var(--coral-text);}
.auth-forgot:hover{text-decoration:underline;}

/* =========================================================
   NAVBAR: Glocke + User-Dropdown
   ========================================================= */
.nav-actions{display:flex;align-items:center;gap:10px;}
.nav-bell, .nav-user{position:relative;}

.bell-btn{background:transparent;border:none;cursor:pointer;color:var(--navy);position:relative;padding:8px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .18s;}
.bell-btn:hover{background:var(--sand);}
.bell-badge{position:absolute;top:2px;right:2px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--coral-strong);color:#fff;font-size:.66rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;}

.user-btn{display:inline-flex;align-items:center;gap:9px;background:var(--white);border:1px solid rgba(31,58,71,.12);border-radius:999px;padding:5px 12px 5px 5px;cursor:pointer;color:var(--navy);font-family:var(--sans);font-size:.92rem;transition:border-color .18s,box-shadow .18s;}
.user-btn:hover{border-color:var(--coral);}
.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--coral-strong);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex:none;}
.user-name{font-weight:500;}

/* Bootstrap-Dropdown im Markendesign */
.nav .dropdown-menu{
  border:1px solid rgba(31,58,71,.1);border-radius:14px;box-shadow:0 18px 50px rgba(31,58,71,.16);
  padding:8px;margin-top:10px;background:var(--white);min-width:210px;
}
.nav .dropdown-item{display:block;width:100%;text-align:left;border:none;background:transparent;border-radius:9px;padding:9px 12px;font-family:var(--sans);font-size:.93rem;color:var(--navy);cursor:pointer;transition:background .15s;}
.nav .dropdown-item:hover{background:var(--cream);color:var(--coral-text);}
.nav .dropdown-divider{height:1px;background:rgba(31,58,71,.1);margin:6px 4px;border:none;}
.nav form{margin:0;}

/* Benachrichtigungs-Panel */
.notif-menu{width:340px;max-width:92vw;padding:0;overflow:hidden;}
.notif-head{padding:13px 16px;font-weight:600;color:var(--navy);border-bottom:1px solid rgba(31,58,71,.08);}
.notif-item{display:block;padding:12px 16px;border-bottom:1px solid rgba(31,58,71,.06);transition:background .15s;}
.notif-item:hover{background:var(--cream);}
.notif-item.unread{background:#FBEFD8;}
.notif-item.unread:hover{background:#f7e6c9;}
.notif-title{font-weight:600;font-size:.9rem;color:var(--navy);margin-bottom:2px;}
.notif-body{font-size:.84rem;color:var(--navy-soft);line-height:1.5;}
.notif-time{font-size:.74rem;color:var(--navy);opacity:.5;margin-top:4px;}
.notif-empty{padding:26px 16px;text-align:center;color:var(--navy);opacity:.55;font-size:.9rem;}
.notif-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--cream);}
.notif-foot a{font-size:.85rem;color:var(--coral-text);font-weight:500;}
.notif-foot button{background:none;border:none;color:var(--navy-soft);font-size:.85rem;cursor:pointer;}
.notif-foot button:hover{color:var(--coral-text);text-decoration:underline;}

@media(max-width:900px){
  .user-name{display:none;}
}

/* =========================================================
   SUPPORT / TICKETS
   ========================================================= */
.badge-status{display:inline-block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:3px 9px;border-radius:999px;}
.badge-offen{background:#FBEFD8;color:#8a5a14;}
.badge-beantwortet{background:#E6F0E8;color:#2F6B3E;}
.badge-geschlossen{background:#ECE4DD;color:#7a6a5c;}

.ticket-list{display:grid;gap:16px;}
.ticket-card{background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px 22px;}
.ticket-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.ticket-subject{font-family:var(--display);font-weight:600;font-size:1.2rem;color:var(--navy);}
.ticket-meta{font-size:.84rem;color:var(--navy);opacity:.6;margin-top:2px;}
.ticket-message{color:var(--navy-soft);font-size:.95rem;line-height:1.7;margin:12px 0 0;}
.ticket-answer{margin-top:14px;background:var(--cream);border-left:3px solid var(--coral);border-radius:10px;padding:14px 16px;color:var(--navy);font-size:.95rem;line-height:1.7;}
.ticket-answer-head{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-text);font-weight:600;margin-bottom:6px;}
.ticket-pending{margin-top:14px;font-size:.88rem;color:var(--navy);opacity:.6;font-style:italic;}

/* =========================================================
   ADMIN-LAYOUT MIT SEITEN-NAVIGATION
   ========================================================= */
.admin-body{background:var(--cream);margin:0;}
.admin-shell{display:flex;min-height:100vh;align-items:stretch;}

.admin-sidebar{
  width:252px;flex:none;background:var(--navy);color:var(--cream);
  display:flex;flex-direction:column;padding:24px 16px;
  position:sticky;top:0;height:100vh;overflow-y:auto;
}
/* 1.9rem: fuellt die Breite der Sidebar aus (#4552). */
.admin-brand{display:block;font-family:var(--display);font-weight:600;font-size:1.9rem;color:var(--cream);line-height:1;margin:4px 8px 6px;}
.admin-brand b{color:var(--coral-mid);font-weight:600;}
.admin-brand span{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(253,238,221,.55);margin-top:6px;}

/* Schnellsuche in der Sidebar: bewusst zurueckhaltend – transparent statt weiss,
   helle Schrift und exakt die Geometrie eines Nav-Eintrags (vgl. .admin-nav a): #4528 */
.admin-side-search{margin:16px 0 0;}
.admin-side-search input{display:block;width:100%;padding:11px 13px;border-radius:11px;border:1px solid rgba(253,238,221,.18);background:transparent;color:rgba(253,238,221,.82);font-family:var(--sans);font-size:.94rem;transition:background .15s,border-color .15s,color .15s;}
.admin-side-search input::placeholder{color:rgba(253,238,221,.45);}
.admin-side-search input:focus{outline:none;background:rgba(255,255,255,.08);border-color:rgba(253,238,221,.38);color:#fff;}
/* Das "X" zum Leeren ist sonst dunkel auf dunklem Grund. */
.admin-side-search input::-webkit-search-cancel-button{filter:invert(1);opacity:.5;}

.admin-nav{display:flex;flex-direction:column;gap:4px;margin-top:26px;flex:1;}
.admin-nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:11px;color:rgba(253,238,221,.82);font-size:.94rem;transition:background .15s,color .15s;}
.admin-nav a svg{flex:none;opacity:.85;}
.admin-nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
.admin-nav a.active{background:var(--coral-strong);color:#fff;box-shadow:0 6px 18px rgba(216,92,60,.35);}
.admin-nav a.active svg{opacity:1;}
.nav-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 11px;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.4;}
.admin-nav .nav-pill{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--coral);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.admin-nav a.active .nav-pill{background:#fff;color:var(--coral-text);}

.admin-sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.13);padding-top:14px;display:flex;flex-direction:column;gap:4px;}
.admin-nav-label{display:flex;align-items:center;gap:10px;margin:16px 13px 4px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(253,238,221,.45);font-weight:600;}
.admin-nav-label::after{content:"";order:1;flex:1;height:1px;background:rgba(253,238,221,.18);}
/* Ein-/ausklappbare Abschnitte (#5279): Label wird zum Toggle, Pfeil ganz rechts. */
.admin-nav-label.is-collapsible{cursor:pointer;user-select:none;}
.admin-nav-label.is-collapsible:hover{color:rgba(253,238,221,.75);}
.admin-nav-label .nav-caret{order:2;flex:none;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s;opacity:.7;margin:0 2px 3px 2px;}
.admin-nav-label.collapsed .nav-caret{transform:rotate(-45deg);}
.faq-check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:.92rem;color:var(--navy);}
.faq-check input{width:18px;height:18px;accent-color:var(--coral);}
.faq-list-hint{margin-top:-6px;margin-bottom:16px;padding:0 22px;}
.cat-row.faq-hidden{opacity:.55;}
.admin-sidebar-foot a,
.admin-sidebar-foot button{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;color:rgba(253,238,221,.72);font-family:var(--sans);font-size:.88rem;padding:9px 13px;border-radius:9px;transition:background .15s,color .15s;}
.admin-sidebar-foot a:hover,
.admin-sidebar-foot button:hover{background:rgba(255,255,255,.08);color:#fff;}
/* Logout: Outline-Button über die volle Sidebar-Breite (#3190). */
.admin-sidebar-foot button.admin-logout-btn{
  width:100%;text-align:center;margin-top:6px;
  border:1.5px solid rgba(253,238,221,.4);border-radius:10px;
  padding:10px 13px;font-weight:500;color:rgba(253,238,221,.9);
}
.admin-sidebar-foot button.admin-logout-btn:hover{
  background:rgba(255,255,255,.08);border-color:rgba(253,238,221,.85);color:#fff;
}

.admin-main{flex:1;min-width:0;}
.admin-main .admin-page{min-height:auto;}
.admin-main .admin-page .container{margin-left:0;max-width:100%;}
.admin-main .admin-page .container.narrow{margin-left:0;max-width:820px;}
/* Flash sitzt in .container nach .admin-head – buendig zu den Cards, mit Abstand nach unten (#4592) */
.admin-flash{margin:0 0 22px;background:#E6F0E8;color:#2F6B3E;border:1px solid #c9e2cf;border-radius:12px;padding:13px 18px;font-size:.95rem;}
.admin-flash-error{background:#FBE9E7;color:#B23B2E;border-color:#f3c7c0;}
.admin-flash-warn{background:#FCF1E3;color:#9A5B2B;border-color:#F0D6B8;}

@media (max-width:767.98px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;height:auto;position:relative;padding:16px;}
  .admin-nav{flex-direction:row;flex-wrap:wrap;margin-top:14px;gap:6px;}
  .admin-nav a{flex:1 1 auto;}
  .admin-sidebar-foot{flex-direction:row;border-top:none;padding-top:8px;gap:8px;}
}

/* =========================================================
   PROFIL: Unterseiten-Navigation, Antworten, eigene Bewertung
   ========================================================= */
.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--sand);color:var(--coral-text);font-size:.72rem;font-weight:700;vertical-align:middle;}
.tab-nav .nav-link.active .tab-count{background:var(--coral-strong);color:#fff;}

/* Öffentliche Antwort der Inhaberin auf eine Bewertung */
.owner-reply{margin-top:12px;margin-left:14px;background:var(--cream);border-left:3px solid var(--coral);border-radius:10px;padding:12px 15px;color:var(--navy);font-size:.93rem;line-height:1.65;}
.owner-reply-head{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--coral-text);font-weight:600;margin-bottom:5px;}

/* Aktionen der Inhaberin unter einer Bewertung */
.owner-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:12px;}
.reply-box,.report-box{font-size:.86rem;}
.reply-box summary,.report-box summary{cursor:pointer;color:var(--coral-text);font-weight:500;list-style:none;}
.reply-box summary::-webkit-details-marker,.report-box summary::-webkit-details-marker{display:none;}
.reply-box summary:hover,.report-box summary:hover{text-decoration:underline;}
.reply-box textarea,.report-box textarea{width:100%;margin-top:8px;border:1px solid rgba(31,58,71,.16);border-radius:10px;padding:9px 11px;font-family:var(--sans);font-size:.9rem;resize:vertical;}
.reply-box form,.report-box form{margin-top:6px;}
.reply-box .btn,.report-box .btn{margin-top:8px;padding:7px 16px;font-size:.85rem;}

/* Bereits abgegebene eigene Bewertung */
.own-review-box{margin-top:26px;background:var(--white);border:1px solid rgba(31,58,71,.1);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px 22px;}
.own-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;color:var(--navy);}
.own-review-head .stars{color:var(--coral-text);letter-spacing:2px;}
.own-review-box p{color:var(--navy-soft);line-height:1.7;margin:10px 0 0;}
.edit-review{margin-top:12px;}
.edit-review summary{cursor:pointer;color:var(--coral-text);font-weight:500;list-style:none;}
.edit-review summary::-webkit-details-marker{display:none;}
.edit-review summary:hover{text-decoration:underline;}
.edit-review .review-form{margin-top:14px;}

/* Dropdown-CTA „Partnerin werden" für Mitglieder */
.nav .dropdown-item-cta{color:var(--coral-text);font-weight:600;}
.nav .dropdown-item-cta:hover{background:var(--sand);color:var(--coral-text);}

/* =========================================================
   MARKTPLATZ / PRODUKTE
   ========================================================= */
.broker-note{display:flex;gap:11px;align-items:flex-start;background:var(--beige);border:1px solid var(--gold);border-radius:13px;padding:13px 16px;margin:18px 0 24px;font-size:.9rem;line-height:1.55;color:var(--navy);}
.broker-note svg{flex:none;margin-top:1px;color:var(--coral-text);}

.market-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;}
.market-filter .chip{padding:7px 15px;border-radius:999px;background:var(--white);border:1px solid rgba(31,58,71,.12);font-size:.88rem;color:var(--navy);transition:all .15s;}
.market-filter .chip:hover{border-color:var(--coral);}
.market-filter .chip.active{background:var(--coral-strong);border-color:var(--coral-text);color:#fff;}

.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;}
.product-card{background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.product-media{height:170px;position:relative;background-color:var(--cream);}
.product-type{position:absolute;top:12px;left:12px;background:rgba(255,249,243,.92);color:var(--coral-text);font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;}
.product-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;}
.product-body h3{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--navy);margin:0 0 4px;}
.product-seller{font-size:.85rem;color:var(--coral-text);}
.product-price{font-weight:600;color:var(--navy);margin-top:8px;}
.product-desc{font-size:.9rem;color:var(--navy-soft);line-height:1.6;margin:10px 0 0;}
.product-actions{margin-top:auto;padding-top:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

.inquiry-box summary{display:inline-block;cursor:pointer;list-style:none;background:var(--coral-strong);color:#fff;font-size:.88rem;font-weight:500;padding:8px 18px;border-radius:999px;transition:background .15s;}
.inquiry-box summary::-webkit-details-marker{display:none;}
.inquiry-box summary:hover{background:var(--coral);}
.inquiry-box[open] summary{margin-bottom:12px;}
.inquiry-form{display:flex;flex-direction:column;gap:9px;width:100%;}
.inquiry-form input,.inquiry-form textarea{border:1px solid rgba(31,58,71,.16);border-radius:10px;padding:9px 12px;font-family:var(--sans);font-size:.9rem;width:100%;resize:vertical;}
.inquiry-form .btn{align-self:flex-start;}

/* =========================================================
   BRANCHEN-ÜBERSICHT & LANDINGPAGES
   ========================================================= */
.branch-tabs{flex-wrap:wrap;gap:6px;}
.branch-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:6px;}
.branch-tile{display:flex;flex-direction:column;gap:5px;background:var(--white);border:1px solid rgba(31,58,71,.1);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-sm);transition:transform .15s,border-color .15s,box-shadow .15s;}
.branch-tile:hover{border-color:var(--coral);transform:translateY(-2px);box-shadow:0 12px 30px rgba(31,58,71,.1);}
.bt-name{font-family:var(--display);font-weight:600;font-size:1.16rem;color:var(--navy);line-height:1.2;}
.bt-count{font-size:.82rem;color:var(--coral-text);}
.load-more-wrap{text-align:center;margin-top:48px;}

/* =========================================================
   HEADER – Bootstrap-Navbar (Leuchtraum-Theme)
   ========================================================= */
.lr-navbar{background:var(--white);border-bottom:1px solid rgba(31,58,71,.08);box-shadow:0 1px 0 rgba(31,58,71,.02);padding-top:.5rem;padding-bottom:.5rem;}
.lr-brand{display:flex;align-items:center;gap:12px;padding-top:0;padding-bottom:0;}
.lr-mark{width:40px;height:40px;flex:none;}
.lr-brand-txt{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:.04em;color:var(--navy);line-height:1;}
.lr-brand-txt b{color:var(--coral);font-weight:700;}
.lr-brand-sub{display:block;font-family:var(--sans);font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;color:var(--navy);opacity:.6;margin-top:3px;}

.lr-navbar .navbar-nav .nav-link{font-family:var(--sans);font-size:.95rem;color:var(--navy);padding:.5rem .9rem;border-radius:10px;transition:color .18s,background .18s;}
/* Ab der Breakpoint-Breite liegt die Leiste waagerecht und ist mit Blog, Preise und
   "Anbieterin werden" gut gefuellt (#6504/#6502). Etwas engere Abstaende, damit rechts
   nichts hinausragt. Unter 1200px steht alles im Klappmenue untereinander - dort bleiben
   die groesseren Flaechen erhalten (Touch-Ziele, #5564). */
@media (min-width:1200px){
  .lr-navbar .navbar-nav .nav-link{padding-left:.62rem;padding-right:.62rem;}
}
.lr-navbar .navbar-nav .nav-link:hover{color:var(--coral-text);}
.lr-navbar .navbar-nav .nav-link.active{color:var(--coral-text);font-weight:600;}

.lr-navbar .navbar-toggler{border:1px solid rgba(31,58,71,.18);border-radius:10px;padding:.35rem .55rem;}
.lr-navbar .navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(226,120,90,.25);}
.lr-navbar .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%231F3A47' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}

/* Glocke */
.lr-bell{color:var(--navy);display:flex;align-items:center;}
.lr-bell:hover{color:var(--coral-text);}
.lr-bell-badge{position:absolute;top:2px;right:2px;background:var(--coral-strong);color:#fff;font-size:.62rem;font-weight:600;min-width:17px;height:17px;line-height:17px;padding:0 4px;text-align:center;}

/* Avatar / Konto */
.lr-user{display:flex;align-items:center;gap:9px;color:var(--navy);}
.lr-user::after{margin-left:2px;color:var(--navy);opacity:.6;}
.lr-avatar{width:34px;height:34px;border-radius:50%;background:var(--coral);color:#fff;font-family:var(--sans);font-weight:600;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;}

/* Dropdowns im Leuchtraum-Look */
.lr-navbar .dropdown-menu{border:1px solid rgba(31,58,71,.1);border-radius:14px;box-shadow:0 18px 50px rgba(31,58,71,.16);padding:8px;margin-top:10px;min-width:220px;}
.lr-navbar .dropdown-item{border-radius:9px;padding:9px 12px;font-family:var(--sans);font-size:.93rem;color:var(--navy);}
.lr-navbar .dropdown-item:hover,.lr-navbar .dropdown-item:focus{background:var(--cream);color:var(--coral-text);}
.lr-navbar .dropdown-header{font-family:var(--sans);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);opacity:.6;}
.lr-navbar form{margin:0;}

/* Benachrichtigungs-Dropdown */
.lr-notif{width:320px;max-width:88vw;}
.lr-notif-item{display:flex;flex-direction:column;gap:3px;white-space:normal;}
/* Abstand zwischen den Eintraegen – ohne ihn verschmelzen mehrere ungelesene
   (Sand-Hintergrund, s.u.) optisch zu einem einzigen Block (#4527).
   Padding/Radius kommen bereits von .lr-navbar .dropdown-item. */
.lr-notif-item + .lr-notif-item{margin-top:6px;}
.lr-notif-item.unread{background:var(--sand);}
.lr-notif-title{font-weight:600;font-size:.9rem;}
.lr-notif-body{font-size:.82rem;color:var(--navy-soft);}
.lr-notif-time{font-size:.72rem;color:var(--navy);opacity:.5;}
.lr-notif-foot{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 2px;}
.lr-notif-foot a{font-size:.85rem;color:var(--coral-text);}
.lr-notif-foot button{border:none;background:none;font-size:.85rem;color:var(--navy);opacity:.7;cursor:pointer;}
.lr-notif-foot button:hover{opacity:1;color:var(--coral-text);}

/* Ghost-/Outline-Button im Header */
.btn-outline-lr{border:1px solid rgba(31,58,71,.2);color:var(--navy);background:transparent;border-radius:999px;padding:.45rem 1.2rem;font-weight:500;}
.btn-outline-lr:hover{border-color:var(--coral);color:var(--coral-text);}
.lr-navbar .btn-coral{border-radius:999px;padding:.45rem 1.3rem;}

@media (max-width:991.98px){
  .lr-navbar .navbar-nav .nav-link{padding:.55rem .4rem;}
  .lr-navbar .dropdown-menu{box-shadow:none;border:none;padding-left:0;}
  .lr-notif{width:100%;}
  .lr-navbar .btn{display:inline-block;}
}

/* =========================================================
   EINSTELLUNGEN / KONTO LÖSCHEN
   ========================================================= */
.form-card-title{font-family:var(--display);font-weight:600;font-size:1.4rem;color:var(--navy);margin:0 0 16px;}
.danger-zone{margin-top:34px;border:1px solid rgba(216,92,60,.35);border-radius:16px;padding:22px 24px;background:#fff;}
.danger-title{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--coral-text);margin:0 0 6px;}
.danger-text{font-size:.95rem;color:var(--navy-soft);margin:0 0 16px;}
.danger-card{border:1px solid rgba(216,92,60,.3);}
.danger-lead{font-size:1rem;color:var(--navy);margin:0 0 12px;}
.danger-list{margin:0 0 20px;padding-left:20px;color:var(--navy-soft);font-size:.94rem;line-height:1.8;}
/* Ablehnen-Button: gleiche Hoehe wie .btn-coral (erbt .btn-Padding), rotes Outline (#3191). */
.btn-reject{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(181,70,44,.5);color:#B5462C;}
.btn-reject:hover{background:#F7E2DA;box-shadow:inset 0 0 0 1.5px #B5462C;color:#B5462C;}
.btn-danger-soft{display:inline-block;border:1px solid var(--coral-strong);color:var(--coral-text);background:transparent;border-radius:999px;padding:.5rem 1.3rem;font-weight:500;transition:all .15s;}
.btn-danger-soft:hover{background:var(--coral-strong);color:#fff;}
.btn-danger-strong{background:var(--coral-strong);color:#fff;border:none;border-radius:999px;}
.btn-danger-strong:hover{background:#c24a2d;color:#fff;}

/* =========================================================
   MARKTPLATZ – PRODUKT-DETAILSEITE
   ========================================================= */
a.product-media{display:block;text-decoration:none;}
.product-card h3 a{color:inherit;text-decoration:none;}
.product-card h3 a:hover{color:var(--coral-text);}

.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;align-items:start;margin-top:8px;}
.pd-media{position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);background-color:var(--cream);}
.pd-media-img{display:block;width:100%;height:auto;}
.pd-media--empty{min-height:340px;background:linear-gradient(150deg,var(--coral-soft),var(--coral));}
.pd-media .product-type{top:16px;left:16px;}
.pd-info h1{margin:0 0 6px;}
.pd-seller{display:inline-block;font-size:.98rem;color:var(--coral-text);margin-bottom:14px;}
.pd-price{font-family:var(--display);font-weight:600;font-size:1.6rem;color:var(--navy);margin-bottom:16px;}
.pd-desc{font-size:1.02rem;line-height:1.75;color:var(--navy-soft);white-space:pre-line;margin-bottom:4px;}
.pd-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin-top:8px;}
.pd-actions .inquiry-box[open]{flex:1 1 100%;}
.pd-related{margin-top:54px;}
.pd-related .section-title{font-family:var(--display);font-weight:600;font-size:1.55rem;color:var(--navy);margin:0 0 20px;}

@media (max-width:767.98px){
  .product-detail{grid-template-columns:1fr;gap:22px;}
  .pd-media--empty{min-height:240px;}
}

/* =========================================================
   ÖFFNUNGSZEITEN & VERIFIZIERUNG
   ========================================================= */
/* Edit-Formular */
.oh-rows{margin-top:14px;display:flex;flex-direction:column;gap:8px;}
.oh-row{display:grid;grid-template-columns:120px 120px 1fr;align-items:center;gap:12px;}
.oh-day{font-weight:500;color:var(--navy);}
.oh-open{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--navy-soft);margin:0;}
.oh-times{display:flex;align-items:center;gap:8px;}
.oh-times input{border:1px solid rgba(31,58,71,.18);border-radius:9px;padding:6px 9px;font-family:var(--sans);max-width:120px;}
@media (max-width:600px){.oh-row{grid-template-columns:1fr;gap:5px;}.oh-times input{max-width:110px;}}

/* Öffentliche Anzeige */
.opening-card{margin-top:18px;}
.opening-card h4{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.oh-status{font-size:.74rem;font-weight:600;padding:3px 10px;border-radius:999px;}
.oh-status.open{background:#e3f3ea;color:#2f8f5b;}
.oh-status.closed{background:var(--beige);color:var(--navy-soft);}
.oh-list{list-style:none;margin:12px 0 0;padding:0;}
.oh-list li{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px dashed rgba(31,58,71,.1);font-size:.92rem;color:var(--navy-soft);}
.oh-list li:last-child{border-bottom:none;}
.oh-list li.is-today{color:var(--navy);font-weight:600;}
.oh-list .d{color:inherit;}

/* Verifizierungs-Badge auf Karten */
.card-verified{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--coral-strong);color:#fff;margin-left:6px;vertical-align:middle;}

/* Admin-Buttons */
.act-verify{color:#2f8f5b;}
.act-verify:hover{background:#e3f3ea;}
.act-unverify{color:var(--coral-text);}

/* =========================================================
   PROFIL-STATISTIK
   ========================================================= */
.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:6px 0 28px;}
.stat-card{background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-sm);}
.stat-card .stat-label{font-size:.85rem;color:var(--navy-soft);}
.stat-card .stat-num{font-family:var(--display);font-weight:700;font-size:2.1rem;color:var(--navy);line-height:1;}
.stat-card .stat-sub{font-size:.78rem;color:var(--navy);opacity:.5;}
.stat-card-accent{background:linear-gradient(150deg,var(--beige),var(--sand));border-color:var(--gold);}
.stat-card-accent .stat-num{color:var(--coral-text);}

.barchart{display:flex;align-items:flex-end;gap:8px;height:200px;margin-top:14px;}
.barchart .bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;}
.bar-track{flex:1;width:100%;display:flex;align-items:flex-end;}
.bar-fill{width:100%;background:linear-gradient(180deg,var(--coral-mid),var(--coral-strong));border-radius:7px 7px 3px 3px;min-height:3px;position:relative;display:flex;justify-content:center;transition:height .3s;}
.bar-val{position:absolute;top:-18px;font-size:.72rem;font-weight:600;color:var(--navy);}
.bar-label{font-size:.74rem;color:var(--navy-soft);}

/* Direkt sichtbares Anfrage-Formular (Produkt-Detailseite) */
.inquiry-block{margin-top:18px;background:var(--white);border:1px solid rgba(31,58,71,.1);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-sm);}
.inquiry-title{font-family:var(--display);font-weight:600;font-size:1.3rem;color:var(--navy);margin:0 0 2px;}
.inquiry-hint{font-size:.88rem;color:var(--navy-soft);margin:0 0 14px;}
.inquiry-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.inquiry-row input{flex:1 1 200px;}
.pd-moreinfo{display:inline-block;margin-bottom:6px;align-self:flex-start;}


/* CTA-Band: kein Hover-Glow, Schrift bleibt lesbar */
.cta-band .btn-coral,
.cta-band .btn-coral:hover{box-shadow:none;}
.cta-band .btn-coral:hover{background:var(--coral);color:#fff;transform:translateY(-2px);}
.cta-band .btn-cream:hover{color:var(--navy);}

/* =========================================================
   SUPPORT-VERLAUF (Threaded)
   ========================================================= */
.ticket-thread{display:flex;flex-direction:column;gap:10px;margin:10px 0 4px;}
.tmsg{max-width:88%;padding:11px 15px;border-radius:15px;font-size:.93rem;line-height:1.55;}
.tmsg-user{align-self:flex-start;background:var(--beige);border-bottom-left-radius:5px;color:var(--navy);}
.tmsg-support{align-self:flex-end;background:var(--coral-soft);border-bottom-right-radius:5px;color:var(--navy);}
.tmsg-head{display:flex;gap:12px;justify-content:space-between;align-items:baseline;margin-bottom:4px;}
.tmsg-author{font-weight:600;font-size:.8rem;color:var(--coral-text);}
.tmsg-support .tmsg-author{color:var(--navy-soft);}
.tmsg-date{font-size:.72rem;color:var(--navy-soft);opacity:.75;white-space:nowrap;}
.ticket-reply{margin-top:14px;display:flex;flex-direction:column;gap:9px;}
.ticket-reply textarea{border:1px solid rgba(31,58,71,.18);border-radius:12px;padding:10px 13px;font-family:var(--sans);font-size:.93rem;resize:vertical;width:100%;}
.ticket-reply button{align-self:flex-end;}

/* =========================================================
   NACHRICHTEN / POSTFACH (Besucherin <-> Anbieterin)
   ========================================================= */
/* Eigene vs. fremde Nachrichten (nutzt .tmsg aus dem Support-Verlauf) */
.tmsg-mine{align-self:flex-end;background:var(--coral-soft);border-bottom-right-radius:5px;color:var(--navy);}
.tmsg-them{align-self:flex-start;background:var(--beige);border-bottom-left-radius:5px;color:var(--navy);}
.tmsg-mine .tmsg-author{color:var(--navy-soft);}

/* Direkt-Nachricht-Box auf dem Profil */
.dm-box{background:linear-gradient(150deg,var(--beige),var(--sand));border:1px solid var(--gold);border-radius:16px;padding:18px 20px;margin:8px 0 24px;}
.dm-box h4{margin:0 0 2px;font-family:var(--display);font-size:1.2rem;color:var(--navy);}
.dm-hint{font-size:.88rem;color:var(--navy-soft);margin:0 0 12px;}

/* Postfach-Liste */
.inbox-crosslink{background:var(--beige);border-radius:12px;padding:12px 16px;margin:0 0 18px;font-size:.92rem;color:var(--navy);line-height:1.5;}
.inbox-crosslink a{color:var(--coral-text);font-weight:600;}
.inbox-list{display:flex;flex-direction:column;border:1px solid rgba(31,58,71,.1);border-radius:16px;overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm);}
.inbox-row{display:flex;align-items:center;gap:14px;padding:14px 18px;color:var(--navy);border-bottom:1px solid rgba(31,58,71,.07);transition:background .2s;}
.inbox-row:last-child{border-bottom:none;}
.inbox-row:hover{background:var(--cream);}
.inbox-avatar{width:42px;height:42px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-family:var(--display);font-size:1.1rem;flex-shrink:0;}
.inbox-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.inbox-name{font-weight:600;}
.inbox-snippet{font-size:.88rem;color:var(--navy-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inbox-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;}
.inbox-time{font-size:.74rem;color:var(--navy-soft);opacity:.7;}
.inbox-dot{width:10px;height:10px;border-radius:50%;background:var(--coral-strong);}
.inbox-row.is-unread{background:#fff6ef;}
.inbox-row.is-unread .inbox-name{font-weight:700;}
.inbox-row.is-unread .inbox-snippet{color:var(--navy);}

/* Arbeitsweise-Pills (Online / Vor Ort / beides) */
.mode-pill{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px;letter-spacing:.01em;}
.mode-online{background:#e3eff3;color:#27708a;}
.mode-vor_ort{background:var(--beige);color:var(--navy-soft);}
.mode-beides{background:#fdeede;color:var(--coral-text);}
.pcard .mode-pill{margin-top:7px;}

/* =========================================================
   FAVORITEN / MERKLISTE
   ========================================================= */
.pcard-wrap{position:relative;}
.fav-toggle{margin:0;}
.fav-star{position:absolute;top:12px;right:12px;z-index:3;width:40px;height:40px;border-radius:50%;border:none;background:rgba(255,249,243,.92);color:var(--navy-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px -4px rgba(31,58,71,.35);transition:transform .2s,background .2s,color .2s;}
.fav-star svg{fill:none;stroke:currentColor;stroke-width:2;}
.fav-star:hover{transform:scale(1.08);}
.fav-star.is-fav{background:var(--coral-strong);color:#fff;}
.fav-star.is-fav svg{fill:#fff;stroke:#fff;}

.btn-fav{background:var(--white);color:var(--navy);border:1.5px solid rgba(31,58,71,.2);}
.btn-fav svg{fill:none;stroke:currentColor;stroke-width:2;}
.btn-fav:hover{border-color:var(--coral-text);color:var(--coral-text);}
.btn-fav.is-fav{background:var(--coral-strong);color:#fff;border-color:var(--coral-text);}
.btn-fav.is-fav svg{fill:#fff;stroke:#fff;}

/* Admin: Profil-Bearbeitung */
.admin-edit-banner{background:#fff4e8;border:1px solid var(--gold);border-radius:12px;padding:14px 18px;margin-bottom:18px;color:var(--navy);font-size:.92rem;}
.admin-edit-banner a{margin-left:8px;color:var(--coral-text);font-weight:600;}
.act-edit{color:var(--navy);}
.act-edit:hover{background:var(--beige);}

.btn-sm{padding:8px 16px;font-size:.85rem;}

/* =========================================================
   MESSAGING-MODERATION
   ========================================================= */
.msg-toolbar{display:flex;gap:10px;align-items:center;margin:0 0 14px;flex-wrap:wrap;}
.msg-toolbar form{margin:0;}
.msg-tool{background:transparent;border:1px solid rgba(31,58,71,.2);color:var(--navy-soft);border-radius:999px;padding:6px 14px;font-size:.82rem;font-family:var(--sans);cursor:pointer;transition:border-color .2s,color .2s;}
.msg-tool:hover{border-color:var(--navy);color:var(--navy);}
.msg-tool-report:hover{border-color:var(--coral-text);color:var(--coral-text);}
.msg-blocked-tag{background:var(--beige);color:var(--navy-soft);font-size:.78rem;font-weight:600;padding:4px 12px;border-radius:999px;}
.msg-blocked-note{margin:14px 0 0;padding:12px 16px;background:var(--beige);border-radius:12px;color:var(--navy-soft);font-size:.9rem;}
.admin-actions-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.admin-actions-row form{margin:0;}

/* =========================================================
   FUNKTIONEN-SEITE
   ========================================================= */
.feat-hero{text-align:center;margin:10px 0 44px;}
.feat-section{margin:0 0 56px;}
.feat-section-alt{background:linear-gradient(160deg,var(--beige),var(--sand));border-radius:28px;padding:42px 28px;}
.feat-section-head{text-align:center;margin-bottom:28px;}
.feat-tag{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-text);background:#fff;border:1px solid var(--gold);padding:5px 14px;border-radius:999px;margin-bottom:12px;}
.feat-section-head h2{font-family:var(--display);font-weight:700;color:var(--navy);font-size:2rem;margin:0;}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.feat-card{background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:16px;padding:22px 20px;box-shadow:var(--shadow-sm);}
.feat-section-alt .feat-card{background:#fff;}
.feat-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:#fdeede;color:var(--coral-text);margin-bottom:12px;}
.feat-card h3{font-family:var(--display);font-weight:600;color:var(--navy);font-size:1.2rem;margin:0 0 6px;}
.feat-card p{color:var(--navy-soft);font-size:.93rem;line-height:1.55;margin:0;}
.feat-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px;}

/* Zweistufige Branchen */
.branch-group{margin-bottom:18px;}
.branch-group-label{font-family:var(--display);font-weight:600;color:var(--navy);font-size:1.05rem;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid rgba(31,58,71,.1);}
.branch-tile-all{background:var(--beige);border-color:var(--gold) !important;}

/* =========================================================
   BADGE-SEITE
   ========================================================= */
.badge-card{margin-bottom:20px;}
.badge-card-head h3{margin:0 0 14px;}
.badge-preview{display:flex;justify-content:center;align-items:center;padding:26px;background:var(--cream);border-radius:14px;margin-bottom:16px;}
.badge-preview.is-dark{background:#162a34;}
.badge-preview img{max-width:100%;height:auto;}
.badge-code-label{display:block;font-size:.8rem;font-weight:600;color:var(--navy-soft);margin-bottom:6px;}
.badge-code{background:#1F3A47;color:#F4E9DD;border-radius:12px;padding:14px 16px;font-size:.8rem;line-height:1.5;overflow-x:auto;white-space:pre;margin:0 0 12px;font-family:ui-monospace,Menlo,Consolas,monospace;}
.badge-code code{font-family:inherit;background:none;color:inherit;padding:0;}
.invite-text{white-space:pre-wrap;}
.badge-steps{margin:4px 0 16px;padding-left:20px;color:var(--navy-soft);font-size:.95rem;line-height:1.7;}
.badge-steps li{margin-bottom:8px;}
.badge-steps code{background:var(--beige);color:var(--navy);padding:2px 7px;border-radius:6px;font-size:.86em;}
.badge-dl-links{display:inline-flex;flex-wrap:wrap;gap:10px;margin-left:6px;}
.badge-dl-links a{background:var(--coral-soft);color:var(--coral-text);font-weight:600;font-size:.82rem;padding:4px 12px;border-radius:999px;text-decoration:none;}
.badge-dl-links a:hover{background:var(--coral);color:#fff;}
/* SVG-/PNG-Download-Zeile unter der Badge-Vorschau (#3158). */
.badge-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;}
/* Mehr Luft im „Code kopieren"-Bereich (#3158): Abstand nach dem Code-Block zum
   Button und zwischen gestapelten Copy-Bereichen. */
.copy-wrap{margin-bottom:10px;}
.copy-wrap .copy-btn{margin-top:2px;}
.copy-wrap + .copy-wrap{margin-top:18px;}

/* =========================================================
   ADMIN-DASHBOARD (kumulierte Kennzahlen)
   ========================================================= */
.stat-section-title{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.3rem;margin:26px 0 12px;}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.stat-kpi{background:#fff;border:1px solid rgba(31,58,71,.08);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-sm);}
.stat-num{font-family:var(--display);font-weight:700;font-size:2.1rem;line-height:1;color:var(--coral-text);}
.stat-label{font-weight:600;color:var(--navy);font-size:.95rem;}
.stat-sub{font-size:.82rem;color:var(--navy-soft);}
.stat-todo{text-decoration:none;transition:border-color .2s,transform .2s;}
.stat-todo:hover{transform:translateY(-2px);border-color:var(--gold);}
.stat-todo:not(.is-open) .stat-num{color:var(--navy);}

/* =========================================================
   VERANSTALTUNGSKALENDER
   ========================================================= */
.event-month{font-family:var(--display);font-weight:700;color:var(--navy);font-size:1.5rem;margin:30px 0 14px;}
.event-list{display:flex;flex-direction:column;gap:10px;}
.event-row{display:flex;align-items:center;gap:16px;background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:14px;padding:14px 18px;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .2s,border-color .2s;}
.event-row:hover{transform:translateY(-2px);border-color:var(--gold);}
.event-row.is-past{opacity:.55;}
.event-filters{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 10px;}
.event-filters a{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:var(--navy);opacity:.82;padding:8px 16px;border-radius:999px;border:1px solid rgba(31,58,71,.16);background:var(--white);transition:color .18s,opacity .18s,background .18s,border-color .18s;text-decoration:none;}
.event-filters a:hover{opacity:1;border-color:var(--coral);}
.event-filters a.active{background:var(--navy);color:var(--cream);border-color:transparent;opacity:1;}
.event-filters a span{font-size:.78rem;opacity:.7;}
.event-filters a.active span{opacity:.85;}
.home-events{padding:72px 0 8px;}
.home-events .event-list{max-width:760px;margin:0 auto;}
.profile-events{max-width:760px;margin:10px auto 60px;}
.profile-events-head{font-family:var(--display);font-size:1.8rem;color:var(--navy);margin:0 0 18px;}
.profile-events-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--coral-text);font-weight:600;margin:22px 0 12px;}
.profile-events-label:first-of-type{margin-top:0;}
.event-date{flex:none;width:54px;text-align:center;background:var(--cream);border-radius:12px;padding:8px 0;line-height:1;}
.ed-day{display:block;font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--coral-text);}
.ed-mon{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--navy-soft);margin-top:2px;}
.event-main{flex:1;min-width:0;}
.event-title{display:block;font-family:var(--display);font-weight:600;font-size:1.18rem;color:var(--navy);}
.event-meta{display:block;font-size:.85rem;color:var(--navy-soft);margin-top:2px;}
.event-go{flex:none;color:var(--coral-text);font-size:1.2rem;}
.event-mode{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:999px;}
.event-mode.mode-online{background:#E7F0F2;color:#2C4C5A;}
.event-mode.mode-vor_ort{background:var(--beige);color:var(--coral-text);}
.event-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0 22px;}
.event-facts > div{background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:12px;padding:12px 16px;font-size:.95rem;color:var(--navy);}
.event-facts strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:var(--navy-soft);margin-bottom:4px;font-weight:600;}
.event-facts a{color:var(--coral-text);}
.event-desc{color:var(--navy-soft);line-height:1.7;}
.event-desc p{margin:0 0 14px;}
.event-desc p:last-child{margin-bottom:0;}
.event-admin-list{display:flex;flex-direction:column;gap:4px;}
.event-admin-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid rgba(31,58,71,.08);}
.event-admin-row:last-child{border-bottom:none;}
.event-admin-row.is-past{opacity:.55;}
.event-actions{flex:none;display:flex;align-items:center;gap:8px;}
.event-actions form{margin:0;}
.act-danger{color:#B23B2E;}
.act-danger:hover{background:#FBE9E6;}

/* Termine-Block auf der Profilseite (kompakt) */
.ov-events{margin-top:26px;}
.ov-events-list{display:flex;flex-direction:column;gap:8px;}
.ov-event{display:flex;align-items:center;gap:12px;text-decoration:none;background:var(--white);border:1px solid rgba(31,58,71,.08);border-radius:12px;padding:10px 14px;transition:border-color .2s;}
.ov-event:hover{border-color:var(--gold);}
.event-date-badge{flex:none;width:46px;text-align:center;background:var(--cream);border-radius:10px;padding:6px 0;line-height:1;}
.ev-day{display:block;font-family:var(--display);font-weight:700;font-size:1.25rem;color:var(--coral-text);}
.ev-mon{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:1px;color:var(--navy-soft);}
.ov-event-body{min-width:0;}
.ov-event-title{display:block;font-weight:600;color:var(--navy);font-size:.98rem;}
.ov-event-meta{display:block;font-size:.8rem;color:var(--navy-soft);}

/* Rechtstexte: Platzhalter & Hinweise */
.doc-ph{background:#fdebdc;color:#b4502f;border-radius:5px;padding:1px 6px;font-size:.92em;font-weight:600;}
.doc-hint{background:#f3f7f8;border-left:3px solid var(--navy-soft);padding:8px 14px;border-radius:0 8px 8px 0;color:var(--navy-soft);font-size:.9rem;margin:6px 0 14px;}
.doc-form{background:var(--white);border:1px solid rgba(31,58,71,.1);border-radius:12px;padding:18px 20px;color:var(--navy);line-height:1.9;}

/* =========================================================
   PROFIL-VOLLSTÄNDIGKEIT (Onboarding-Checkliste)
   ========================================================= */
.completion-card{background:linear-gradient(160deg,var(--white),var(--cream));border:1px solid var(--gold);border-radius:18px;padding:20px 22px;margin-bottom:22px;}
.completion-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}
.completion-label{margin:0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-soft);font-weight:600;}
.completion-percent{margin:2px 0 0;font-family:var(--display);font-weight:700;font-size:1.9rem;color:var(--coral-text);line-height:1;}
.completion-percent span{font-family:var(--sans);font-size:.85rem;color:var(--navy-soft);font-weight:400;margin-left:8px;}
.completion-badge{background:var(--coral-strong);color:#fff;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600;white-space:nowrap;}
.completion-bar{height:10px;background:var(--beige);border-radius:999px;overflow:hidden;margin-bottom:16px;}
.completion-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--coral-mid),var(--coral-strong));border-radius:999px;transition:width .4s ease;}
.completion-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px 20px;}
.completion-list li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--navy);}
.completion-check{flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--coral-soft);display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#fff;margin-top:1px;line-height:1;}
.completion-list li.is-done .completion-check{background:var(--coral-strong);border-color:var(--coral-text);}
.completion-list li.is-done .completion-text{color:var(--navy-soft);}
.completion-hint{display:block;font-size:.8rem;color:var(--navy-soft);margin-top:1px;}
.completion-done-note{margin:0;color:var(--navy);font-size:.95rem;}

/* Umkreissuche – Hinweis */
.geo-note{background:var(--beige);border-radius:10px;padding:8px 14px;color:var(--navy);font-size:.9rem;margin:24px 0 6px;display:inline-block;}
/* Aktiver Angebot-Filter auf der Suchseite (#4683) */
.filter-note{background:var(--beige);border-radius:10px;padding:8px 14px;color:var(--navy);font-size:.9rem;margin:24px 0 6px;display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap;}
.filter-note-clear{color:var(--coral-text);text-decoration:none;font-weight:600;}
.filter-note-clear:hover{text-decoration:underline;}
.geo-note-warn{background:#fbeee6;color:#9a4a2f;}

/* Lokale Landingpages */
.local-other{margin-top:40px;padding-top:24px;border-top:1px solid rgba(31,58,71,.1);}
.local-other h2{font-family:var(--display);color:var(--navy);font-size:1.35rem;margin:0 0 14px;}
.local-city-links{display:flex;flex-wrap:wrap;gap:10px;}
.local-city-links a{background:var(--white);border:1px solid rgba(31,58,71,.1);border-radius:999px;padding:7px 16px;color:var(--navy);text-decoration:none;font-size:.92rem;transition:border-color .2s,transform .2s;}
.local-city-links a:hover{border-color:var(--gold);transform:translateY(-1px);}
.local-city-links a span{color:var(--navy-soft);font-size:.85rem;}

/* =========================================================
   FEATURED / EMPFOHLENE PROFILE
   ========================================================= */
.card-featured{position:absolute;top:12px;left:12px;z-index:2;background:var(--coral-strong);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:5px 11px;border-radius:999px;box-shadow:0 2px 8px rgba(31,58,71,.18);}
.act-feature{color:var(--navy);}
.act-unfeature{background:var(--coral-strong);color:#fff;border-color:var(--coral-text);}
.hero-featured{display:inline-flex;align-items:center;gap:5px;background:var(--coral-strong);color:#fff;font-size:.8rem;font-weight:700;padding:5px 13px;border-radius:999px;margin-left:8px;}

/* Admin – Status-Badge "sichtbar" */
.badge-status.badge-ok{background:#e3f0e6;color:#2f7d4f;}

/* Newsletter */
.foot-newsletter{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14);}
.foot-newsletter .fn-text h4{margin:0 0 4px;color:#fff;}
.foot-newsletter .fn-text p{margin:0;color:rgba(255,255,255,.7);font-size:.9rem;}
.newsletter-form{display:flex;gap:8px;flex-wrap:wrap;}
.newsletter-form input[type=email]{border:none;border-radius:999px;padding:11px 18px;min-width:240px;font-size:.95rem;}
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;}
.foot-newsletter-note{margin-top:14px;background:rgba(255,255,255,.12);color:#fff;border-radius:10px;padding:10px 16px;font-size:.9rem;}

/* Rundmail – Zielgruppen-Auswahl */
.bc-audience{display:flex;gap:12px;flex-wrap:wrap;margin:6px 0 14px;}
.bc-aud-opt{flex:1;min-width:220px;display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(31,58,71,.15);border-radius:12px;padding:12px 14px;cursor:pointer;background:#fff;transition:border-color .2s,box-shadow .2s;}
.bc-aud-opt:has(input:checked){border-color:var(--coral);box-shadow:0 0 0 2px rgba(226,120,90,.18);}
.bc-aud-opt input{margin-top:3px;}

/* Rundmail – E-Mail-Vorschau */
.bc-preview{width:100%;height:540px;border:1px solid rgba(31,58,71,.15);border-radius:12px;background:#FDEEDD;}

/* Marktplatz – lesbare, markenkonforme Hover-Farben (überschreibt Bootstrap a:hover) */
.product-seller{text-decoration:none;transition:color .15s;}
.product-seller:hover{color:var(--coral-text);text-decoration:underline;}
.product-card h3 a{transition:color .15s;}
.pd-seller:hover{color:var(--coral-text);text-decoration:underline;}
.product-actions a:hover,.pd-actions a:hover{color:inherit;}
.product-actions .btn-coral:hover,.pd-actions .btn-coral:hover{color:#fff;}

/* Solide Koral-Buttons behalten Hintergrund UND Textfarbe im Hover/Focus.
   (Bootstrap .btn:hover setzt sonst background:transparent → weiße Schrift unlesbar.) */
.btn-coral,
.btn-coral:hover,
.btn-coral:focus,
.btn-coral:focus-visible,
a.btn-coral:hover{
  background:var(--coral-strong);
  color:#fff;
}

/* FAQ-Seite – kompaktere Accordion-Abstände (statt großzügiger Bootstrap-Defaults) */
.content-page .faq-wrap{margin-top:10px;}
.content-page .accordion-header{margin:0;font-family:inherit;font-size:inherit;}
.faq-wrap .accordion-button{padding:13px 20px!important;}
.faq-wrap .accordion-body{padding:2px 20px 16px!important;}

/* Stadt-Hub */
.city-section{margin-top:42px;}
.city-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.city-sec-head h2{font-family:var(--display);color:var(--navy);font-size:1.5rem;margin:0;}

/* Funktionen – Feature-Blöcke mit Vorschauen + FAQ */
.feat-blocks{margin:60px 0;display:flex;flex-direction:column;gap:54px;}
.feat-block{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
.feat-block.rev .feat-block-text{order:2;}
.feat-block-text h3{font-family:var(--display);font-size:1.8rem;color:var(--navy);margin:0 0 12px;line-height:1.2;}
.feat-block-text p{color:var(--navy-soft);line-height:1.8;margin:0 0 16px;}
.feat-block-text ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;}
.feat-block-text li{position:relative;padding-left:28px;color:var(--navy);}
.feat-block-text li::before{content:'✓';position:absolute;left:0;top:-1px;color:var(--coral-text);font-weight:700;}
.feat-shot{border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.feat-shot svg{display:block;width:100%;height:auto;}
.feat-faq{margin-top:70px;max-width:820px;margin-left:auto;margin-right:auto;}
.feat-faq .feat-section-head{margin-bottom:18px;}
@media (max-width:767.98px){
    .feat-block{grid-template-columns:1fr;gap:24px;}
    .feat-block.rev .feat-block-text{order:0;}
}

/* Kundenmeinungen / Referenzen (statt Sternebewertungen) */
.reviews-intro{color:var(--navy-soft);max-width:640px;margin:0 0 20px;line-height:1.7;}
.review-card .quote-mark{font-family:var(--display);font-weight:700;font-size:2.2rem;line-height:1;color:var(--coral-mid);display:block;height:1rem;margin-bottom:8px;}
.review-card .review-body{font-size:1.02rem;color:var(--navy);line-height:1.7;margin:0 0 12px;}
.review-card .top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.review-card .who{font-weight:600;color:var(--navy);}

/* === Lesbare Hover-Farben überall (Fix: Bootstraps blaues a:hover) === */
:root{
    --bs-link-color: var(--coral-strong);
    --bs-link-hover-color: var(--coral);
    --bs-link-color-rgb: 216, 92, 60;
    --bs-link-hover-color-rgb: 226, 120, 90;
}
/* Aktions-Chips behalten beim Hover eine kontrastreiche Textfarbe */
.act-login:hover,
.act-edit:hover{color:var(--navy);}
.act-del:hover{color:#B5462C;}
.act-danger:hover{color:#B23B2E;}
.act-verify:hover{color:#2f8f5b;}
.act-unfeature:hover{color:#fff;}
.act-feature:hover{color:var(--navy);}

/* Öffnungszeiten – zweite Zeitspanne (Pause) */
.oh-times{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.oh-amp{color:var(--navy-soft);font-size:.82rem;padding:0 2px;}

/* Admin-Leiste auf der öffentlichen Website */
.admin-bar{background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:8px 16px;font-size:.88rem;text-align:center;}
.admin-bar a{color:var(--gold);font-weight:600;white-space:nowrap;}
.admin-bar a:hover{color:#fff;text-decoration:underline;}

/* Inhaberinnen-Dashboard (Startseite) */
.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0 30px;}
.dash-stat{background:var(--white);border:1px solid #f0dcc8;border-radius:18px;padding:22px 20px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-sm);}
.dash-stat .dash-num{font-family:var(--display);font-size:2.1rem;color:var(--coral-text);line-height:1;}
.dash-stat .dash-lbl{color:var(--navy-soft);font-size:.86rem;}
.dash-stat-link{justify-content:center;text-align:left;background:var(--cream);}
.dash-stat-link:hover{border-color:var(--coral-soft);}
.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px;}
.dash-card{background:var(--white);border:1px solid #f0dcc8;border-radius:18px;padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.dash-card h3{font-family:var(--display);color:var(--navy);font-size:1.3rem;margin:0 0 12px;}
.dash-card .btn{margin-top:auto;align-self:flex-start;}
.dash-big{font-family:var(--display);font-size:1.9rem;color:var(--navy);margin:0 0 14px;}
.dash-big span{font-family:var(--sans);font-size:.95rem;color:var(--navy-soft);}
.dash-muted{color:var(--navy-soft);margin:0 0 16px;}
.dash-progress{height:10px;border-radius:999px;background:var(--beige);overflow:hidden;margin:4px 0 8px;}
.dash-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--coral-mid),var(--coral-strong));border-radius:999px;}
.dash-links{display:flex;flex-wrap:wrap;gap:10px 28px;border-top:1px solid #f0dcc8;padding-top:20px;}
.dash-links a{color:var(--coral-text);font-weight:600;}
.dash-links a:hover{text-decoration:underline;}
@media (max-width:767.98px){
    .dash-stats{grid-template-columns:repeat(2,1fr);}
    .dash-grid{grid-template-columns:1fr;}
}
/* Sehr schmale Screens: Statistik-Kacheln einspaltig (#5567). */
@media (max-width:480px){
    .dash-stats{grid-template-columns:1fr;}
}

/* Dashboard – Listen & Spalten */
.dash-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:16px;}
.dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.dash-card-head h3{margin:0;}
.dash-badge{display:inline-block;background:var(--coral-strong);color:#fff;font-family:var(--sans);font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:999px;vertical-align:middle;margin-left:6px;}
.dash-more{color:var(--coral-text);font-weight:600;font-size:.88rem;white-space:nowrap;}
.dash-more:hover{text-decoration:underline;}
.dash-card .inbox-list{margin:0;}
.dash-card .inbox-row{padding:10px 6px;}
.dash-todos{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px;}
.dash-todos li{position:relative;padding-left:26px;color:var(--navy-soft);font-size:.92rem;}
.dash-todos li::before{content:'○';position:absolute;left:4px;top:-1px;color:var(--coral-text);font-weight:700;}
.dash-done{color:#2f8f5b;font-weight:600;margin:0 0 16px;}
.dash-review{border-left:3px solid var(--coral-soft);padding:2px 0 2px 14px;margin-bottom:14px;}
.dash-review p{margin:0 0 4px;color:var(--navy);line-height:1.5;font-size:.94rem;}
.dash-review-who{color:var(--navy-soft);font-size:.84rem;font-weight:600;}
@media (max-width:767.98px){
    .dash-cols{grid-template-columns:1fr;}
}

/* === open2work / Talente – Listen-, Karten- & Hilfsklassen (ergänzt) === */
.page-wrap{padding:42px 0 64px;}
.page-head{margin-bottom:26px;}
.page-head h1{font-family:var(--display);font-weight:600;color:var(--navy);margin-bottom:8px;}
/* Nicht kursiv, serifenlos – wie die uebrigen Seiten-Intros (#5503). */
.page-head .page-intro{font-size:1.1rem;color:var(--navy-soft);line-height:1.7;max-width:680px;margin:8px 0 0;}

.talent-filter{background:var(--white);border-radius:20px;padding:22px 24px;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);}

.link-muted{color:var(--navy-soft);font-size:.95rem;text-decoration:none;font-weight:600;}
.link-muted:hover{color:var(--coral-text);}

.empty-hint{background:var(--cream);border-radius:16px;padding:28px;text-align:center;color:var(--navy-soft);}

.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;}
/* Merkliste: etwas mehr vertikale Luft zwischen den Kacheln. */
.card-grid-fav{row-gap:30px;}

.talent-card{display:block;background:var(--white);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid rgba(31,58,71,.06);text-decoration:none;color:inherit;transition:transform .15s ease, box-shadow .15s ease;}
.talent-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(31,58,71,.12);}
/* Portrait-freundlich: höher + oben ausgerichtet, damit Gesichter nicht abgeschnitten werden (#3923). */
.talent-card-photo{width:100%;aspect-ratio:5/6;height:auto;object-fit:cover;object-position:center 22%;display:block;background:var(--cream);}
/* Weiblicher Silhouetten-Platzhalter, wenn keine Foto freigegeben ist (#5349). */
/* Der Platzhalter ist seit #6621 ein echtes Bild im Leuchtraum-Look und liegt bereits
   im Format 5:6 vor – er braucht keine Sonderbehandlung mehr, sondern nutzt dieselben
   Klassen wie ein hochgeladenes Foto. */
.talent-card-body{padding:20px 22px;}
/* open2work-Profil-Kopf: Foto links (groß), Infos strukturiert daneben, Arbeitsmodell als Badge (#3924). */
.tk-head-card{position:relative;}
.tk-head{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap;}
.tk-head-photo{width:190px;aspect-ratio:5/6;height:auto;object-fit:cover;object-position:center top;border-radius:16px;box-shadow:var(--shadow-sm);flex-shrink:0;background:var(--cream);}
.tk-head-info{flex:1;min-width:220px;}
.tk-head-badge{position:absolute;top:18px;right:20px;background:var(--coral);color:#FFF9F3;font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:6px 14px;border-radius:999px;box-shadow:var(--shadow-sm);}
.tk-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:6px 0 0;}
.tk-facts dt{font-weight:600;color:var(--navy);}
.tk-facts dd{margin:0;color:var(--navy-soft,#2C4C5A);}
.talent-card-body h3{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--navy);margin:8px 0 0;}

.talent-status{display:inline-block;font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--cream);color:var(--coral-text);}

.talent-headline{color:var(--navy-soft);font-size:.98rem;margin:6px 0 0;}
.talent-meta{color:var(--navy-soft);font-size:.88rem;margin:8px 0 0;}

.form-success{background:#e8f5ec;border:1px solid #b9dcc4;color:#1e6b3a;border-radius:12px;padding:12px 16px;margin-bottom:16px;}

/* Allies „Was euch erwartet": Benefit-Raster (#3120). */
.allies-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 26px;margin-top:14px;}
.allies-benefit h3{font-family:var(--display);font-weight:600;font-size:1.08rem;color:var(--navy);margin:0 0 4px;}
.allies-benefit p{margin:0;color:var(--navy-soft);line-height:1.6;}
@media (max-width:600px){.allies-benefits{grid-template-columns:1fr;}}

/* =========================================================
   RESPONSIVE – kanonische Breakpoints & Mobile-a11y (#5566/#5563/#5564)
   ---------------------------------------------------------
   Alle Media-Queries nutzen eine dieser fuenf Stufen (frueher ~12 uneinheitliche
   Werte, u. a. 560/640/720/760/780/820/840/860/980). An Bootstrap ausgerichtet:
     480px    – sehr schmale Phones (nur Feinschliff, z. B. Statistik-Kacheln)
     600px    – Phones: einspaltige Layouts, weniger Seitenrand
     767.98px – Tablet (Bootstrap md): zweispaltige Raster brechen um
     900px    – grosse Tablets: Portrait/Detail-Splits brechen um
     991.98px – Navbar-Kollaps (Bootstrap lg, navbar-expand-lg)
   Neue Regeln bitte an eine dieser Stufen anlehnen.
   ========================================================= */

/* iOS/Safari zoomt beim Fokus in Felder mit Schriftgroesse <16px hinein und
   verschiebt so das Layout. Auf Mobil daher 16px erzwingen (#5563). !important,
   weil einzelne Felder (z. B. .filter-bar .search-field input) hoehere
   Spezifitaet haben; auf Desktop bleibt das kompakte Design unveraendert. */
@media (max-width:767.98px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),
  select,
  textarea,
  .form-control{font-size:16px !important;}
}

/* Touch-Ziele: mind. 44px Hoehe auf dem Handy (#5564). Betrifft die oeffentliche
   Kontakt-CTA (.inquiry-box summary), Admin-Aktions-Chips (.act), open2work-Tabs
   und die Marktplatz-Filter-Chips. Auf Desktop bleibt es kompakt. */
@media (max-width:767.98px){
  .act,
  .o2w-tab,
  .market-filter .chip,
  .inquiry-box summary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
}

/* -------------------------------------------------------------------------
   Lesbarkeit und Klickflaechen auf dem Handy (#6511).

   Gemessen an der Startseite bei 375px: 14 Textstellen unter 13px, darunter
   Produktnamen mit 11,2px, sowie 28 Links unter 36px Hoehe (Footer 24px).
   Die Zielgruppe ist oft jenseits der 40 – das ist spuerbar anstrengend.
   Auf dem Desktop bleibt alles wie es war.
   ------------------------------------------------------------------------- */
@media (max-width:767.98px){
  /* Inhalte: nichts unter 14px. Die Kachel-Regeln stehen mit .pcard davor –
     hier deshalb mit derselben Genauigkeit, sonst greift die Aenderung nicht. */
  .pcard .loc,
  .pcard .rating .n,
  .pcard .view,
  .pcard-recos,
  .foot-col a,
  .foot-about,
  .foot-col h4,
  .foot-bottom{font-size:.9rem;}

  /* Etiketten und Auszeichnungen duerfen kleiner sein – aber nicht winzig. */
  .pcard .photo .cat{font-size:.8rem;}
  .pcard .photo .cat.cat-sub{font-size:.75rem;}
  .pcard .photo .new,
  .ed-mon,
  .event-mode,
  .eyebrow,
  .value-accent-eyebrow{font-size:.75rem;}

  /* Klickflaechen: die Footer-Links waren 24px hoch, empfohlen sind 44px.
     Ueber die Innenabstaende geloest, das Layout bleibt unveraendert. */
  .foot-col a{min-height:44px;display:flex;align-items:center;margin-bottom:0;}
  .foot-about,
  .foot-bottom a{min-height:44px;display:inline-flex;align-items:center;}
}

/* Stimmen von Anbieterinnen auf der Preise-Seite (#6509). */
.pricing-voices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:14px;}
.pricing-voice{margin:0;padding:16px 18px;background:var(--white);border:1px solid var(--sand);border-radius:16px;}
.pricing-voice p{margin:0;color:var(--navy);font-style:italic;line-height:1.6;}
.pricing-voice footer{margin-top:8px;font-size:.85rem;color:var(--navy-soft);font-style:normal;}

/* Vollstaendigkeits-Anzeige in der open2work-Adminliste (#6620): Nina sieht so,
   ob hinter einer offline-Karte schon Inhalt steckt oder nur eine leere
   Digistore-Vorlage (#6004). */
.o2w-progress {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    font-size: .72rem;
    color: #6b6b6b;
    white-space: nowrap;
}

.o2w-progress-bar {
    display: inline-block;
    width: 44px;
    height: 5px;
    border-radius: 3px;
    background: #e6e2dd;
    overflow: hidden;
}

.o2w-progress-bar > span {
    display: block;
    height: 100%;
    border-radius: 3px;
    background: var(--coral-strong, #B5462C);
}
