/*
Theme Name: gomedix Ärztevermittlung
Theme URI: https://www.gomedix.de
Author: gomedix / erstellt mit Claude
Description: Individuelles Theme für die gomedix-Ärztevermittlung. Enthält Landingpage-Blöcke, einen Custom Post Type "Stellenangebot" mit Filter (Fachrichtung, Position, Land, Bundesland) sowie Detailseiten mit Terminbuchung (MS Bookings) und CV-Upload.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gomedix
*/

/* Self-hosted Fonts (variabel) – kein externer Google-Request: schneller (Core Web Vitals) + DSGVO-freundlich */
@font-face{font-family:'Lora';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/lora-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Lora';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/lora-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 700;font-display:swap;src:url('assets/fonts/lora-latin-wght-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Lora';font-style:italic;font-weight:400 700;font-display:swap;src:url('assets/fonts/lora-latin-ext-wght-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 900;font-display:swap;src:url('assets/fonts/nunito-sans-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 900;font-display:swap;src:url('assets/fonts/nunito-sans-latin-ext-wght-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}




/* =====================================================================
   1. DESIGN-TOKENS  (Farben, Typo, Maße)  ->  theme.json / Customizer
   ===================================================================== */
:root{
  /* Grün (Primär – vom Kunden vorgegeben #88b137, plus Abstufungen) */
  --green:        #88b137;
  --green-600:    #6f9330;
  --green-700:    #567324;
  --green-800:    #3e6224;   /* tiefer Verlaufs-Endton */
  --green-pale:   #eef4df;
  --green-mist:   #f6faee;

  /* Blau-Grau (Sekundär – vom Kunden vorgegeben #506487, plus Abstufungen) */
  --blue:         #506487;
  --blue-700:     #3d4f6d;
  --blue-900:     #2a3750;   /* Text / Footer */
  --blue-pale:    #eef1f6;

  /* Akzent (gelb-lime CTA aus dem Hero-Screenshot) */
  --accent:       #e6ef7a;
  --accent-dark:  #d3dd5c;

  /* Neutrale */
  --ink:          #263043;
  --ink-soft:     #5f6b7e;
  --line:         #e6e9ef;
  --white:        #ffffff;
  --cream:        #f6f7f2;

  --font-display:'Lora', Georgia, 'Times New Roman', serif;
  --font-body:   'Nunito Sans', 'Segoe UI', system-ui, sans-serif;

  --radius:      16px;
  --radius-sm:   10px;
  --wrap:        1180px;
  --pad:         96px;   /* vertikaler Section-Abstand */
  --shadow:      0 18px 44px rgba(42,55,80,.10);
  --shadow-sm:   0 8px 20px rgba(42,55,80,.08);

  /* Freigestelltes Foto Peter Tuxhorn – hier einmal eingebettet.
     WP: gegen eine Mediathek-URL tauschbar: url("/wp-content/uploads/peter.webp") */
  --peter-img: url('assets/img/peter-hero.png'); /* PNG = universell; WebP-Variante liegt bei */
}

/* =====================================================================
   2. RESET / BASIS
   ===================================================================== */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--blue-900);line-height:1.14;font-weight:600;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px;}
.section{padding:var(--pad) 0;}

.eyebrow{
  font-family:var(--font-body);font-weight:900;letter-spacing:.14em;
  text-transform:uppercase;font-size:.74rem;color:var(--green-700);
  margin-bottom:14px;display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--green);border-radius:2px;}
.eyebrow.on-dark{color:var(--accent);}
.eyebrow.on-dark::before{background:var(--accent);}
.section-lead{font-size:1.1rem;color:var(--ink-soft);max-width:660px;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:9px;padding:15px 28px;
  border-radius:10px;font-family:var(--font-body);font-weight:800;font-size:.96rem;
  border:2px solid transparent;cursor:pointer;
  transition:transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.btn svg{width:18px;height:18px;}
.btn-primary{background:var(--accent);color:var(--blue-900);}
.btn-primary:hover{background:var(--accent-dark);}
.btn-green{background:var(--green);color:var(--white);}
.btn-green:hover{background:var(--green-700);}
.btn-outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.6);}
.btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,.08);}
.btn-ghost{background:transparent;color:var(--blue);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--green);color:var(--green-700);}
.btn-nav{padding:11px 20px;font-size:.9rem;}

/* Signature: das große, halbtransparente "X"-Signet der Wortmarke.
   Wird im Hero und im Kontakt-Block hinter das Foto gelegt. */
.x-mark{position:absolute;pointer-events:none;}
.x-mark use{fill:#e8f2c2;}   /* pale-lime Signet (icon_X_green.svg) */

/* Foto + X als EINE fixe Komposition (stabil auf allen Nicht-Handy-Groessen):
   figure-stage hat ein festes Seitenverhaeltnis; Foto und Kreuz sind darin
   prozentual verankert und skalieren gemeinsam -> keine Verschiebung. */
.figure-stage{position:relative;width:100%;margin:0 auto;}
.figure-stage .x-mark{z-index:1;}
.figure-stage .photo-slot{position:absolute;inset:0;z-index:2;}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .btn{transition:none;}
}

/* =====================================================================
   3. BLOCK: MENÜ / HEADER
   ===================================================================== */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;gap:16px;height:82px;}

/* Wortmarke: "go" grün · "medi" blau · "X" grün + Tagline */
.brand{display:flex;flex-direction:column;line-height:1;}
.brand-logo{height:46px;width:auto;display:block;}
.brand .word{font-family:var(--font-display);font-weight:700;font-size:1.7rem;letter-spacing:-.01em;}
.brand .word .a{color:var(--green);}
.brand .word .b{color:var(--blue);}
.brand small{
  font-family:var(--font-body);font-weight:800;font-size:.5rem;
  letter-spacing:.24em;color:var(--ink-soft);margin-top:5px;
}
.nav-collapse{display:flex;align-items:center;gap:16px;}
.main-nav{margin:0;}
.main-nav ul{display:flex;gap:18px;}
.header-actions{display:flex;align-items:center;gap:12px;}
.main-nav a{white-space:nowrap;
  font-weight:700;font-size:.95rem;color:var(--blue-900);
  padding:7px 2px;border-bottom:2px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
.main-nav a:hover,.main-nav a:focus-visible{color:var(--green-700);border-color:var(--green);}
.header-right{display:flex;align-items:center;gap:20px;}
.header-icons{display:flex;align-items:center;gap:14px;}
.icon-link{display:flex;width:38px;height:38px;border-radius:50%;background:var(--green-mist);
  align-items:center;justify-content:center;transition:background .2s ease;}
.icon-link:hover{background:var(--green-pale);}
.icon-link svg{width:18px;height:18px;stroke:var(--green-700);fill:none;stroke-width:2;}
.icon-link.linkedin svg{width:19px;height:19px;fill:var(--green-700);stroke:none;}
.lang-toggle{font-weight:800;font-size:.86rem;color:var(--ink-soft);}
.lang-toggle .active{color:var(--blue-900);}
.menu-btn{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.menu-btn svg{width:28px;height:28px;stroke:var(--blue-900);stroke-width:2;stroke-linecap:round;}

@media (max-width:980px){
  .nav-collapse{
    position:absolute;z-index:55;top:82px;left:0;right:0;height:calc(100vh - 82px);background:var(--white);
    flex-direction:column;align-items:stretch;gap:0;padding:0;
    overflow-y:auto;max-height:none;
    transform:translateX(100%);transition:transform .3s ease;box-shadow:-8px 0 24px rgba(0,0,0,.12);}
  .site-header.nav-open .nav-collapse{transform:translateX(0);}
  .main-nav{margin:0;}
  .main-nav ul{flex-direction:column;gap:0;padding:6px 24px;}
  .main-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);}
  .header-actions{flex-direction:column;align-items:stretch;gap:10px;padding:12px 24px 20px;}
  .header-actions .btn-nav{display:inline-flex;justify-content:center;}
  .header-actions .lang-toggle{display:flex;justify-content:center;}
  .audience-switch{margin:12px 24px 2px;justify-content:center;}
  .menu-btn{display:block;margin-left:auto;}
}
@media (max-width:560px){
  .header-icons,.lang-toggle{display:none;}
}

/* =====================================================================
   4. BLOCK: HERO   (Grün-Verlauf + X-Signet + Foto Peter rechts)
   ===================================================================== */
.hero{
  position:relative;overflow:hidden;color:var(--white);
  background:linear-gradient(103deg,
     #9cc24d 0%, #7ba634 30%, #5c8629 60%, var(--green-800) 100%);
}
.hero .wrap{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:end;
  min-height:600px;padding-top:70px;
}
.hero-copy{padding-bottom:90px;max-width:600px;}
.hero-kicker{font-weight:800;font-size:1.12rem;color:rgba(255,255,255,.95);margin-bottom:14px;}
.hero h1{
  color:var(--white);font-size:clamp(2.6rem,6vw,4.4rem);font-weight:600;
  line-height:1.04;margin-bottom:30px;
}
.check-list{display:flex;flex-direction:column;gap:16px;margin-bottom:38px;}
.check-list li{display:flex;gap:14px;align-items:flex-start;font-size:1.18rem;}
.check-list .ico-check{width:26px;height:26px;flex:none;margin-top:3px;fill:#BAD557;}  /* icon_check.svg */
.check-list b{font-weight:800;}

/* Foto-Slot – bodenbündig, Figur "steht" auf der Sektionskante */
.hero-figure{z-index:2;align-self:end;display:flex;align-items:flex-end;justify-content:center;}
.hero-figure .figure-stage{max-width:470px;aspect-ratio:3/4;}
/* Foto-Slot: freigestelltes WebP, bodenbündig; füllt die figure-stage */
.photo-slot{
  background:var(--peter-img) center bottom / contain no-repeat;
  filter:drop-shadow(0 16px 34px rgba(0,0,0,.26));
}
/* Hero-X: fest hinter dem Foto verankert, skaliert mit ihm */
.hero-figure .x-mark{width:172%;aspect-ratio:1/1;left:50%;bottom:-4%;transform:translateX(-49%);opacity:.6;}

@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;min-height:auto;gap:0;padding-top:56px;}
  .hero-copy{padding-bottom:44px;}
  .hero-figure{margin:0 auto;}
  .hero-figure .figure-stage{max-width:340px;}
}

/* =====================================================================
   5. BLOCK: WARUM GOMEDIX  (Intro + 4 Vorteils-Kacheln)
   ===================================================================== */
.why{background:var(--white);}
.why-head{margin-bottom:16px;}
.why h2{font-size:clamp(2rem,3.4vw,2.5rem);margin-bottom:20px;}
.why-intro{display:block;max-width:880px;margin-bottom:56px;}
.why-intro p{color:var(--ink-soft);font-size:1.04rem;margin-bottom:16px;}
.why-intro p:last-child{margin-bottom:0;}
.why-intro p.lead{color:var(--ink);font-weight:600;font-size:1.14rem;}

.why-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.why-card{
  position:relative;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);padding:34px 30px 30px;overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.why-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;
  background:var(--green);transform:scaleY(.0);transform-origin:top;transition:transform .25s ease;}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent;}
.why-card:hover::before{transform:scaleY(1);}
.why-card-head{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.why-icon{
  width:54px;height:54px;flex:none;border-radius:14px;background:var(--green-pale);
  display:flex;align-items:center;justify-content:center;
}
.why-icon svg{width:27px;height:27px;stroke:var(--green-700);stroke-width:1.8;fill:none;}
.why-card-head h3{font-size:1.18rem;margin:0;color:var(--blue-900);line-height:1.2;}
.why-card p{color:var(--ink-soft);font-size:.98rem;}

@media (max-width:820px){.why-intro{grid-template-columns:1fr;gap:16px;}}
@media (max-width:640px){.why-cards{grid-template-columns:1fr;}}

/* =====================================================================
   6. BLOCK: HIGHLIGHT-BANNER  "Von innen nach außen"
      (Blau-Grau-Verlauf + X, Stat 100+, zwischen Warum & Vorgehen)
   ===================================================================== */
.highlight{
  position:relative;overflow:hidden;color:var(--white);
  background:linear-gradient(115deg, var(--blue) 0%, var(--blue-700) 55%, var(--blue-900) 100%);
}
.highlight .wrap{position:relative;z-index:2;display:grid;
  grid-template-columns:auto auto;justify-content:start;gap:72px;align-items:center;padding:64px 32px;}
.highlight-text{max-width:620px;}
.highlight-lead{font-family:var(--font-display);color:#fff;font-size:clamp(1.5rem,2.7vw,2rem);line-height:1.28;margin-top:4px;}
.highlight-stats{position:relative;display:flex;gap:40px;flex-wrap:wrap;}
.stat{position:relative;z-index:1;text-align:center;}
.stat .num{font-family:var(--font-display);font-weight:700;font-size:clamp(3rem,4.5vw,3.8rem);line-height:1;color:var(--accent);}
.stat .cap{font-size:.98rem;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.9);margin-top:12px;max-width:220px;margin-inline:auto;line-height:1.35;}
/* Blaues Kreuz: fest hinter den "Von innen nach außen"-Fakten verankert */
.highlight-stats .x-mark{width:300px;height:300px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.5;z-index:0;}
.highlight .x-mark use{fill:#2a3750;}
@media (max-width:820px){
  .highlight .wrap{grid-template-columns:1fr;gap:30px;padding:52px 32px;}
  .highlight-stats{gap:28px;}
  .highlight .x-mark{display:none;}
}

/* =====================================================================
   7. BLOCK: UNSERE VORGEHENSWEISE  (5 Schritte, verbundene Timeline)
   ===================================================================== */
.process{background:var(--cream);}
.process h2{font-size:clamp(2rem,3.4vw,2.5rem);margin-bottom:16px;}
.process .section-lead{margin-bottom:52px;}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative;margin-bottom:44px;}
/* Verbindungslinie hinter den Nummern */
.process-grid::before{content:"";position:absolute;top:31px;left:8%;right:8%;height:2px;
  background:repeating-linear-gradient(90deg,var(--green) 0 8px,transparent 8px 16px);opacity:.5;z-index:0;}
.step{position:relative;z-index:1;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);padding:30px 22px;transition:transform .2s ease, box-shadow .2s ease;}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);}
.step-num{
  width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);
  font-weight:700;font-size:1.2rem;margin-bottom:18px;box-shadow:0 0 0 6px var(--cream);
}
.step h3{font-size:1.08rem;margin-bottom:8px;color:var(--blue-900);}
.step p{font-size:.92rem;color:var(--ink-soft);}
.process-cta{text-align:center;margin-top:8px;}
@media (max-width:1000px){.process-grid{grid-template-columns:repeat(2,1fr);}.process-grid::before{display:none;}}
@media (max-width:560px){.process-grid{grid-template-columns:1fr;}}

/* =====================================================================
   8. BLOCK: ÜBER UNS  (Story + Zitat + Kennzahlen + Netzwerk)
   ===================================================================== */
.about{background:var(--white);}
.about.section{padding-bottom:0;}
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;margin-bottom:56px;}
.about h2{font-size:clamp(2rem,3.4vw,2.5rem);margin-bottom:20px;}
.about-story p{color:var(--ink-soft);font-size:1.05rem;margin-bottom:16px;}
.about-story .lead{color:var(--ink);font-size:1.14rem;font-weight:600;}
/* Founder-Zitat als abgehobenes Banner (volle Breite) */
.about-story{max-width:880px;}
.about-quote-banner{background:linear-gradient(115deg, var(--blue-700) 0%, var(--blue-900) 100%);
  padding:56px 0;margin:0 0 56px;}
.about-quote-banner .wrap{text-align:center;}
.about-quote-banner blockquote{font-family:var(--font-display);font-style:italic;
  font-size:clamp(1.45rem,2.7vw,2rem);line-height:1.35;color:#fff;max-width:900px;margin:0 auto 22px;}
.about-quote-banner .qmark{font-family:var(--font-display);font-size:4.8rem;line-height:.7;color:var(--green);margin-bottom:6px;}
.about-quote-banner .attr{margin-top:22px;font-weight:800;letter-spacing:.02em;color:#fff;font-size:1rem;}
.about-quote-banner .attr span{color:rgba(255,255,255,.72);font-weight:600;}
/* Kennzahlen */
.about-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:56px;}
.fact{background:var(--blue-pale);border-radius:var(--radius);padding:26px 22px;text-align:center;}
.fact .n{font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--blue);line-height:1;}
.fact .l{font-size:.86rem;color:var(--ink-soft);margin-top:8px;font-weight:600;}
/* Netzwerk / Standorte */
.about-net-head{font-size:clamp(1.5rem,2.4vw,1.9rem);margin-bottom:24px;color:var(--blue-900);}
.locations{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.location-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;
  transition:border-color .2s ease, box-shadow .2s ease;}
.location-card:hover{border-color:var(--green);box-shadow:var(--shadow-sm);}
.location-card .flag{font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--green-700);margin-bottom:8px;}
.location-card h4{font-family:var(--font-display);font-size:1.12rem;color:var(--blue-900);margin-bottom:8px;}
.location-card p{font-size:.92rem;color:var(--ink-soft);}
@media (max-width:900px){
  .locations{grid-template-columns:1fr;}
}

/* =====================================================================
   9. BLOCK: AKTUELLE STELLENANGEBOTE  (NEU)
      WP: Custom Post Type "stellenangebot" + Taxonomien fachgebiet/region.
      Karten hier = Platzhalter · Chips = Taxonomie-Filter (client-seitig).
   ===================================================================== */
.jobs{background:var(--green-mist);}
.jobs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px;}
.jobs h2{font-size:clamp(2rem,3.4vw,2.5rem);margin-bottom:12px;}
.jobs-head .section-lead{margin:0;}
/* Filterleiste (4 Dimensionen: Fachrichtung, Position, Land, Bundesland) */
.job-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:34px;}
.jf{display:flex;flex-direction:column;gap:6px;flex:1 1 200px;min-width:180px;}
.jf label{font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);}
.jf select{padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--white);
  color:var(--blue-900);font-family:var(--font-body);font-weight:600;font-size:.92rem;cursor:pointer;}
.jf select:focus{outline:none;border-color:var(--green);}
.jf-reset{padding:0 22px;height:46px;border-radius:10px;border:1.5px solid var(--line);background:var(--white);
  color:var(--blue);font-family:var(--font-body);font-weight:700;font-size:.9rem;cursor:pointer;transition:all .18s ease;}
.jf-reset:hover{border-color:var(--green);color:var(--green-700);}
/* Job-Grid */
.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.job-card{
  display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);padding:28px 26px;transition:transform .2s ease, box-shadow .2s ease;
}
.job-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.job-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.tag{font-size:.72rem;font-weight:800;letter-spacing:.03em;padding:5px 11px;border-radius:6px;}
.tag-fach{background:var(--green-pale);color:var(--green-700);}
.tag-region{background:var(--blue-pale);color:var(--blue);}
.tag-type{background:#f1efe6;color:#7a6f52;}
.job-card h3{font-size:1.16rem;color:var(--blue-900);margin-bottom:8px;line-height:1.25;}
.job-card p{font-size:.92rem;color:var(--ink-soft);margin-bottom:20px;flex:1;}
.job-card .job-cta{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:.92rem;color:var(--green-700);}
.job-card .job-cta svg{width:16px;height:16px;stroke:var(--green-700);stroke-width:2.4;fill:none;transition:transform .2s ease;}
.job-card:hover .job-cta svg{transform:translateX(4px);}
/* Initiativ-Karte */
.job-card.initiativ{background:var(--blue);color:#fff;border:none;justify-content:center;text-align:center;align-items:center;}
.job-card.initiativ h3{color:#fff;}
.job-card.initiativ p{color:rgba(255,255,255,.85);flex:none;}
.job-empty{display:none;grid-column:1/-1;text-align:center;color:var(--ink-soft);padding:30px;font-size:1rem;}
@media (max-width:980px){.job-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.job-grid{grid-template-columns:1fr;}}

/* =====================================================================
   10. BLOCK: KONTAKT  "Bereit für den nächsten Schritt?"
       (Hero-Design: Grün-Verlauf + X + Foto Peter LINKS + Formular)
   ===================================================================== */
.contact{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(103deg, var(--green-800) 0%, #5c8629 40%, #7ba634 72%, #9cc24d 100%);}
.contact .wrap{position:relative;z-index:2;display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:stretch;padding:80px 32px 0;}
/* Foto links – füllt die Spaltenhöhe, Figur bodenbündig zum rechten Block */
.contact-figure{align-self:stretch;display:flex;align-items:flex-end;justify-content:center;}
.contact-figure .figure-stage{max-width:360px;aspect-ratio:3/4;}
.contact-figure .x-mark{width:172%;aspect-ratio:1/1;left:50%;bottom:-4%;transform:translateX(-49%);opacity:.55;}
/* Rechte Seite: Text oben, Terminbuchung unten (bündig zum Foto) */
.contact-main{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding-bottom:64px;}
.contact-panel h2{color:#fff;font-size:clamp(2rem,3.6vw,2.7rem);margin-bottom:14px;}
.contact-panel .sub{color:rgba(255,255,255,.92);font-size:1.1rem;margin-bottom:24px;max-width:520px;}
.contact-person b{display:block;font-size:1.05rem;margin-bottom:2px;}
.contact-person a{display:block;font-size:.95rem;color:rgba(255,255,255,.92);}
.contact-person a:hover{color:var(--accent);}
/* MS-Bookings-Embed – Platzhalter; iframe später hier einsetzen */
.booking-embed{background:rgba(255,255,255,.1);border:1px dashed rgba(255,255,255,.42);border-radius:var(--radius);
  padding:26px;backdrop-filter:blur(4px);display:flex;flex-direction:column;gap:18px;}
.booking-inner{display:flex;align-items:center;gap:16px;}
.booking-embed svg{width:40px;height:40px;flex:none;stroke:var(--accent);fill:none;stroke-width:1.7;}
.booking-embed b{display:block;font-size:1.05rem;}
.booking-embed span{font-size:.9rem;color:rgba(255,255,255,.85);}
.booking-embed .btn{align-self:flex-start;}
@media (max-width:980px){
  .contact .wrap{grid-template-columns:1fr;gap:32px;padding:56px 32px 0;align-items:stretch;}
  .contact-figure{align-self:auto;margin:0 auto;order:2;}
  .contact-figure .figure-stage{max-width:260px;}
  .contact-main{order:1;}
}

/* =====================================================================
   11. BLOCK: FOOTER  (kompakt / bündig)
   ===================================================================== */
.site-footer{background:var(--blue-900);color:rgba(255,255,255,.78);}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;
  padding:36px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-brand{display:flex;flex-direction:column;line-height:1;}
.footer-brand .word{font-family:var(--font-display);font-weight:700;font-size:1.4rem;}
.footer-brand .word .a{color:var(--green);}
.footer-brand .word .b{color:#fff;}
.footer-brand small{font-size:.62rem;letter-spacing:.18em;color:rgba(255,255,255,.55);font-weight:800;margin-top:5px;}
.footer-links{display:flex;gap:26px;flex-wrap:wrap;}
.footer-links a{font-size:.88rem;font-weight:700;color:rgba(255,255,255,.78);}
.footer-links a:hover{color:var(--accent);}
.footer-links ul{display:flex;gap:26px;flex-wrap:wrap;list-style:none;margin:0;padding:0;}
.footer-links li{margin:0;padding:0;}
.footer-social{display:flex;gap:12px;}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;transition:background .2s ease;}
.footer-social a:hover{background:var(--green);}
.footer-social svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:18px 0;font-size:.83rem;color:rgba(255,255,255,.6);}
.footer-bottom .addr b{color:rgba(255,255,255,.85);font-weight:700;}
@media (max-width:760px){
  .footer-main{flex-direction:column;align-items:flex-start;gap:20px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}


/* =====================================================================
   DETAILSEITE STELLENANGEBOT (Single-Template)
   ===================================================================== */
.detail-hero{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(103deg,#9cc24d 0%,#7ba634 34%,#5c8629 66%,var(--green-800) 100%);}
.detail-hero .wrap{position:relative;z-index:2;padding:48px 32px 54px;}
.detail-hero .x-mark{right:-60px;bottom:-90px;width:420px;height:420px;opacity:.5;}
.back-link{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.9);font-weight:700;font-size:.9rem;margin-bottom:22px;}
.back-link:hover{color:var(--accent);}
.detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.detail-hero h1{color:#fff;font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin-bottom:10px;}
.detail-sub{color:rgba(255,255,255,.92);font-size:1.05rem;font-weight:600;}
.detail-body{background:var(--white);}
.detail-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:48px;align-items:start;}
.detail-content h2{font-size:clamp(1.5rem,2.6vw,1.9rem);margin-bottom:14px;}
.detail-content h3{font-size:1.15rem;margin:28px 0 12px;color:var(--blue-900);}
.detail-content p{color:var(--ink-soft);font-size:1.02rem;margin-bottom:14px;}
.ticks{display:flex;flex-direction:column;gap:10px;margin:4px 0 6px;}
.ticks li{display:flex;gap:11px;align-items:flex-start;color:var(--ink);font-size:1rem;}
.ticks li::before{content:"";flex:none;width:21px;height:21px;margin-top:1px;border-radius:50%;
  background:var(--green-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23567324' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat;}
.detail-facts{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;position:sticky;top:100px;}
.detail-facts h4{font-family:var(--font-display);font-size:1.15rem;margin-bottom:16px;color:var(--blue-900);}
.detail-facts dl{display:grid;grid-template-columns:auto 1fr;gap:11px 16px;margin-bottom:22px;}
.detail-facts dt{font-size:.74rem;font-weight:800;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;align-self:start;}
.detail-facts dd{font-size:.95rem;color:var(--blue-900);font-weight:600;}
.facts-contact{border-top:1px solid var(--line);padding-top:18px;font-size:.9rem;color:var(--ink-soft);}
.facts-contact b{display:block;color:var(--blue-900);margin-bottom:6px;}
.facts-contact a{display:block;color:var(--green-700);font-weight:700;}
.facts-contact a:hover{color:var(--green);}
/* Bewerbung: Termin + CV */
.apply{background:var(--green-mist);}
.apply h2{font-size:clamp(1.7rem,3vw,2.2rem);margin-bottom:10px;}
.apply .section-lead{margin-bottom:34px;}
.apply-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start;}
.apply-col{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.apply-col > h3{font-size:1.12rem;margin-bottom:18px;color:var(--blue-900);display:flex;align-items:center;gap:11px;}
.step-badge{width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:.95rem;flex:none;}
.booking-frame{border:1px dashed #cfd6e0;border-radius:var(--radius-sm);background:var(--cream);
  min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:28px;color:var(--ink-soft);}
.booking-frame svg{width:46px;height:46px;stroke:var(--green-700);fill:none;stroke-width:1.5;}
.booking-frame b{color:var(--blue-900);font-size:1.02rem;}
.booking-frame span{font-size:.86rem;max-width:330px;line-height:1.5;}
.cv-form{display:flex;flex-direction:column;gap:14px;}
.cv-form label.lbl{font-size:.82rem;font-weight:700;color:var(--blue-900);margin-bottom:6px;display:block;}
.cv-form input[type=text],.cv-form input[type=email],.cv-form input[type=tel],.cv-form textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:8px;font-family:var(--font-body);font-size:.95rem;color:var(--ink);}
.cv-form input:focus,.cv-form textarea:focus{outline:none;border-color:var(--green);}
.cv-form textarea{min-height:90px;resize:vertical;}
.file-drop{border:1.5px dashed var(--green);border-radius:10px;background:var(--green-mist);padding:20px;text-align:center;cursor:pointer;display:block;transition:background .18s ease;}
.file-drop:hover{background:#eef4df;}
.file-drop b{color:var(--green-700);}
.file-drop small{display:block;font-size:.8rem;color:var(--ink-soft);margin-top:4px;}
.file-drop input{display:none;}
.cv-consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--ink-soft);}
.cv-consent input{width:auto;margin-top:3px;}
.apply-hint{font-size:.82rem;color:var(--blue);margin-top:16px;line-height:1.55;background:var(--blue-pale);border-radius:8px;padding:13px 15px;}
@media (max-width:900px){
  .detail-grid{grid-template-columns:1fr;gap:34px;}
  .detail-facts{position:static;}
  .apply-grid{grid-template-columns:1fr;}
}


/* ===== Rechtstexte (Impressum / Datenschutz / AGB) ===== */
.legal-hero{background:var(--cream);border-bottom:1px solid var(--line);}
.legal-hero .wrap{max-width:880px;padding:46px 32px 38px;}
.legal-hero .eyebrow{margin-bottom:10px;}
.legal-hero h1{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:8px;}
.legal-hero p{color:var(--ink-soft);}
.legal-body{background:var(--white);}
.legal-body .wrap{max-width:880px;padding:48px 32px 80px;}
.legal-note{background:var(--blue-pale);border-left:4px solid var(--blue);border-radius:8px;padding:16px 20px;font-size:.92rem;color:var(--blue);margin-bottom:34px;line-height:1.6;}
.legal-body h2{font-size:1.35rem;margin:36px 0 12px;color:var(--blue-900);scroll-margin-top:100px;}
.legal-body h3{font-size:1.08rem;margin:22px 0 8px;color:var(--blue-900);}
.legal-body p{color:var(--ink-soft);margin-bottom:13px;line-height:1.72;}
.legal-body strong{color:var(--blue-900);}
.legal-body address{font-style:normal;color:var(--ink);line-height:1.7;margin-bottom:14px;}
.legal-body ul{display:flex;flex-direction:column;gap:8px;margin:2px 0 16px;}
.legal-body ul li{position:relative;padding-left:20px;color:var(--ink-soft);line-height:1.6;}
.legal-body ul li::before{content:"";position:absolute;left:3px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--green);}
.legal-body a{color:var(--green-700);text-decoration:underline;}
.legal-body a:hover{color:var(--green);}
.legal-meta{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.86rem;color:var(--ink-soft);}

/* ===================================================================
   MOBILE-OPTIMIERUNG (Smartphones)
   =================================================================== */
@media (max-width:600px){
  :root{--pad:58px;}
  .wrap{padding:0 20px;}
  .btn{padding:13px 22px;font-size:.92rem;}
  h1,h2,h3,h4{overflow-wrap:break-word;}

  /* Header kompakter, Icons/Sprache ausblenden */
  .nav-row{height:66px;}
  .brand .word{font-size:1.35rem;}
  .brand-logo{height:38px;}
  .brand small{font-size:.46rem;letter-spacing:.2em;}
  .header-icons,.lang-toggle{display:none;}
  .header-right{gap:12px;}
  .btn-nav{padding:9px 14px;font-size:.82rem;}
  .main-nav{top:66px;}

  /* Hero */
  .hero .wrap{padding-top:44px;}
  .hero-copy{padding-bottom:34px;}
  .hero-kicker{font-size:1rem;}
  .hero h1{font-size:2.35rem;margin-bottom:22px;}
  .check-list{gap:13px;margin-bottom:30px;}
  .check-list li{font-size:1.02rem;}
  .hero-figure .figure-stage{max-width:280px;}
  .hero-copy .btn{width:100%;justify-content:center;}

  /* Abschnitts-Überschriften */
  .why h2,.process h2,.about h2,.jobs h2{font-size:1.7rem;}
  .section-lead{font-size:1rem;}

  /* Warum */
  .why-card{padding:26px 22px;}

  /* Highlight-Banner */
  .highlight .wrap{padding:44px 20px;}
  .highlight-lead{font-size:1.35rem;}
  .stat .num{font-size:2.8rem;}

  /* Prozess */
  .process-cta .btn{width:100%;justify-content:center;}

  /* Über uns / Zitat */
  .about-quote-banner{padding:44px 0;}
  .about-quote-banner blockquote{font-size:1.35rem;}
  .about-net-head{font-size:1.5rem;}

  /* Stellenangebote: Filter je 1 pro Zeile */
  .jf{flex:1 1 100%;min-width:0;}
  .jf-reset{width:100%;}
  .job-card{padding:24px 22px;}

  /* Kontakt */
  .contact .wrap{padding:48px 20px 0;}
  .contact-panel h2{font-size:1.9rem;}
  .contact-panel .sub{font-size:1.02rem;}
  .contact-figure .figure-stage{max-width:240px;}
  .booking-embed .btn{width:100%;justify-content:center;}

  /* Footer */
  .footer-main{padding:28px 0;}
  .footer-links,.footer-links ul{gap:14px 20px;}
  .footer-bottom{font-size:.8rem;}

  /* ---- Detailseite Stellenangebot ---- */
  .detail-hero .wrap{padding:40px 20px 44px;}
  .detail-hero h1{font-size:1.9rem;}
  .detail-facts{padding:24px 22px;}
  .apply-col{padding:22px;}
  .booking-frame{min-height:280px;}
  .cv-form .btn{width:100%;justify-content:center;}
}

@media (max-width:380px){
  .hero h1{font-size:2.02rem;}
  .brand .word{font-size:1.25rem;}
  .btn-nav{padding:8px 12px;font-size:.78rem;}
  .hero-figure .figure-stage,.contact-figure .figure-stage{max-width:210px;}
  .stat .num{font-size:2.4rem;}
  .detail-hero h1{font-size:1.7rem;}
}


/* Footer-Logo (weiße Variante) */
.footer-brand-logo{height:40px;width:auto;display:block;}
/* Kontakt-CTA (statt MS-Bookings-Platzhalter) */
.contact-cta{display:flex;gap:14px;flex-wrap:wrap;}
@media (max-width:600px){ .footer-brand-logo{height:34px;} .contact-cta .btn{width:100%;justify-content:center;} }

/* Bewerben-Bereich einspaltig (ohne MS Bookings) */
.apply-single{max-width:680px;}
.apply-single .apply-col{padding:30px;}

.lang-toggle a{color:inherit;text-decoration:none;}
.lang-toggle a.active{color:var(--green);font-weight:800;}

/* ===== Auswahl-Overlay (Ärzt:innen / Kliniken) ===== */
body.aud-open{overflow:hidden;}
.audience-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;}
.audience-modal[hidden]{display:none;}
.audience-backdrop{position:absolute;inset:0;background:rgba(20,30,25,.62);backdrop-filter:blur(4px);}
.audience-dialog{position:relative;z-index:1;background:var(--white);border-radius:24px;max-width:640px;width:100%;padding:48px 40px 44px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden;}
.audience-dialog .x-mark{position:absolute;right:-46px;top:-34px;width:220px;height:220px;color:var(--green);opacity:.07;}
.aud-close{position:absolute;top:12px;right:16px;width:38px;height:38px;background:none;border:0;font-size:30px;line-height:1;color:#9aa4b2;cursor:pointer;border-radius:50%;}
.aud-close:hover{background:var(--blue-pale);color:var(--ink);}
.aud-eyebrow{color:var(--green);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;margin:0 0 6px;position:relative;}
.audience-dialog h2{font-family:var(--font-display);font-size:1.7rem;line-height:1.2;margin:0 0 26px;color:var(--ink);position:relative;}
.aud-tiles{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;}
.aud-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 24px;border-radius:16px;text-decoration:none;font-weight:800;font-size:1.12rem;border:2px solid transparent;transition:transform .15s ease,box-shadow .15s ease;}
.aud-tile svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none;}
.aud-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.14);}
.aud-arzt{background:var(--green);color:#fff;}
.aud-klinik{background:var(--blue-pale);color:var(--blue);border-color:#dfe4ec;}
@media (max-width:560px){.aud-tiles{grid-template-columns:1fr;}.audience-dialog{padding:40px 22px 32px;}.audience-dialog h2{font-size:1.4rem;}}

/* ===== Klinik-Seite (B): invertierte Farben (gescopt) ===== */
.klinik .hero{background:linear-gradient(103deg,#6b7ea0 0%,#586d92 30%,#495d7e 60%,#3a4a63 100%);}
.klinik .highlight{background:linear-gradient(115deg,#9cc24d 0%,#88b137 55%,#5c8629 100%);}
.klinik .highlight .stat .num{color:#fff;}
.klinik .highlight .x-mark use{fill:#5c8629;}
.klinik .highlight .eyebrow.on-dark{color:rgba(255,255,255,.92);}
.klinik .highlight .eyebrow.on-dark::before{background:rgba(255,255,255,.92);}
.klinik .about-quote-banner{background:linear-gradient(115deg,#88b137 0%,#5c8629 100%);}
.klinik .about-quote-banner .qmark{color:rgba(255,255,255,.85);}
.klinik .why-card-wide{grid-column:1 / -1;}
.klinik .contact{background:linear-gradient(103deg,#3a4a63 0%,#495d7e 40%,#586d92 72%,#6b7ea0 100%);}

/* ===== Mobile-Optimierung (Handys ≤600px) ===== */
.hero-cta-mobile{display:none;}
@media (max-width:600px){
  /* „Kontakt aufnehmen" oben im Header ausblenden */
  .btn-nav{display:none;}
  /* Hero: USPs raus, Foto/X zwischen H1 und Button, Foto bündig zum Button */
  .hero .check-list{display:none;}
  .hero-copy .btn{display:none;}
  .hero-copy{padding-bottom:0;}
  .hero-figure{margin:0 auto;}
  .hero-cta-mobile{display:flex;width:100%;justify-content:center;margin-top:0;}
  /* Fünf Schritte als Wisch-Slider */
  .process-grid{display:flex;flex-wrap:nowrap;grid-template-columns:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;touch-action:pan-x;overscroll-behavior-x:contain;gap:14px;margin:0 -20px 30px;padding:2px 20px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .process-grid::-webkit-scrollbar{display:none;}
  .process-grid .step{flex:0 0 80%;scroll-snap-align:center;}
  /* Unser Netzwerk als Wisch-Slider */
  .locations{display:flex;flex-wrap:nowrap;grid-template-columns:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;touch-action:pan-x;overscroll-behavior-x:contain;gap:14px;margin:0 -20px;padding:2px 20px 14px;scrollbar-width:none;}
  .locations::-webkit-scrollbar{display:none;}
  .locations .location-card{flex:0 0 82%;scroll-snap-align:center;}
  /* Positionen & Kacheln untereinander */
  .job-grid{grid-template-columns:1fr;}
  .why-cards{grid-template-columns:1fr;}
}
@media (max-width:600px){html{scroll-padding-top:78px;}}

/* ===== Audience-Switch im Menü ===== */
.audience-switch{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--blue);border:2px solid var(--blue-pale);border-radius:30px;padding:11px 22px;text-decoration:none;font-size:.9rem;white-space:nowrap;line-height:1;}
.audience-switch:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
/* ===== Slider-Orientierung: Pfeil-Kreis rechts (mobil) ===== */
.slider-cue{display:none;}
@keyframes gxSliderNudge{0%,100%{transform:translateY(-50%) translateX(0);}50%{transform:translateY(-50%) translateX(5px);}}
@media (max-width:600px){
  .slider-wrap{position:relative;}
  .slider-cue{display:flex;align-items:center;justify-content:center;position:absolute;right:4px;top:44%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 4px 12px rgba(0,0,0,.22);z-index:4;pointer-events:none;animation:gxSliderNudge 1.5s ease-in-out infinite;}
  .slider-cue svg{width:20px;height:20px;}
  /* Hero-Figur bekommt mobil feste Höhe, damit Peter/das X erscheint */
  .hero .figure-stage{height:340px;max-width:280px;}
  .audience-switch{margin:10px 20px 4px;}
}

/* ===== Feinschliff-Runde ===== */
/* Klinik-Kreuze: Hero/Kontakt helleres Blaugrau; „Von innen" wie Ärzt:innen-Hero */
.klinik .x-mark use{fill:#8fa2bf;}
.klinik .highlight .x-mark use{fill:#e8f2c2;}
.stat{position:relative;z-index:1;}
.footer-linkrow{display:contents;}
.cp-avatar{display:none;}
.cp-lines{display:contents;}
/* „Von innen": Desktop 2-spaltig bleibt (Original); nur ab Tablet zentriert */
@media (max-width:820px){
  .highlight .wrap{justify-items:center;text-align:center;}
  .highlight-stats{justify-content:center;width:100%;}
}
@media (max-width:600px){
  /* X nur so groß wie 100+, mittig hinter der Zahl (berührt oben nichts) */
  .highlight-stats .x-mark{display:block;width:150px;height:150px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.5;z-index:0;}
  /* Footer: LinkedIn neben die Links */
  .footer-linkrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;}
  .footer-social{margin:0;}
  /* Kontakt: große Figur weg, runder Kopf-Avatar links neben „Ihr Ansprechpartner" */
  .contact-figure{display:none;}
  .cp-avatar{display:block;width:82px;height:82px;flex:none;border-radius:50%;background:url('assets/img/peter-head.png') center / cover no-repeat;box-shadow:0 6px 16px rgba(0,0,0,.22);border:3px solid #fff;}
  .contact-person{display:flex;align-items:center;gap:14px;}
  .cp-lines{display:flex;flex-direction:column;}
  /* Hero: Foto flush auf Button, aber Abstand nach unten zu „Warum" */
  .hero .figure-stage{height:330px;}
  .hero-cta-mobile{margin-top:-4px;position:relative;z-index:2;}
  .hero .wrap{padding-bottom:34px;}
}
/* Mobiles Vollhöhe-Menü: Panel-Oberkante an kleineren Header anpassen */
@media (max-width:560px){ .nav-collapse{top:66px;height:calc(100vh - 66px);} }

/* Über uns: mehr Hintergrund-Platz oben und unten, Block steht für sich */
.about.section{padding-top:112px;padding-bottom:112px;}
@media (max-width:600px){ .about.section{padding-top:68px;padding-bottom:72px;} }

/* X-Signet hinter Peter (Hero + Kontakt) entfernen */
.hero-figure .x-mark, .contact-figure .x-mark{display:none;}

/* Horizontales Wischen der Seite mobil unterbinden – nur Slider dürfen horizontal */
html, body { overflow-x: clip; }
@media (max-width: 900px){
  body { touch-action: pan-y pinch-zoom; }
  .slider-wrap, .process-grid, .locations { touch-action: pan-x; }
}

/* Stellen: Chip Bundesland + Bewerben/Fragen */
.tag-bundesland{background:var(--green-pale);color:var(--green-700);}
.apply-actions{margin-top:6px;}
.job-fragen{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);max-width:520px;}
.job-fragen b{display:block;color:var(--blue-900);margin-bottom:6px;font-size:1.02rem;}
.job-fragen .name{color:var(--ink);}
.job-fragen a{display:inline-block;margin-top:4px;color:var(--green-700);font-weight:700;}
.job-fragen a:hover{color:var(--green);}


/* Detail: groesserer Fliesstext + Bewerben in Sidebar */
.detail-content p, .detail-content li{font-size:1.06rem;line-height:1.75;}
.detail-content h2{font-size:1.55rem;}
.facts-apply{margin-top:20px;}
.facts-apply .btn{display:block;width:100%;text-align:center;}
.facts-contact .name{display:block;color:var(--ink);font-weight:600;margin:2px 0;}

/* Detail: Einleitungstext schwarz, Kuerzel-Chip, Chips unter Titel */
.detail-content p, .detail-content li{color:var(--ink);}
.tag-kuerzel{background:var(--blue-pale);color:var(--blue);}
.detail-hero h1 + .detail-tags{margin:14px 0 0;}

/* Chip-Farben Detail-Banner */
.tag-kuerzel{background:#e8ebf0;color:#4f6488;}
.tag-schwerpunkt{background:var(--green-pale);color:var(--green-700);}
.detail-facts dd{line-height:1.5;}

/* Header einzeilig ab Desktop */
@media (min-width:901px){
  .btn-nav,.audience-switch,.audience-switch a{white-space:nowrap;}
  .main-nav ul{flex-wrap:nowrap;}
}

.jf-schwerpunkt.is-hidden{display:none;}

/* Bookings direktes iframe (volle Breite) */
.booking-embed{width:100%;}
.booking-embed iframe{display:block;width:100%;border:0;border-radius:var(--radius);background:#fff;}
.booking-section h2{margin-bottom:18px;}

/* Termin-Seite */
.termin-kicker{display:inline-block;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;color:#eaf3cf;background:rgba(255,255,255,.14);padding:5px 12px;border-radius:30px;margin-bottom:12px;}
.termin-sub{color:rgba(255,255,255,.92);font-size:1.1rem;max-width:640px;margin-top:10px;}
.termin-body{background:var(--bg);}
.termin-intro{max-width:760px;margin:0 auto 26px;text-align:center;color:var(--ink-soft);font-size:1.05rem;line-height:1.7;}
.termin-trust{list-style:none;margin:0 auto 28px;padding:0;max-width:980px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.termin-trust li{position:relative;padding:14px 16px 14px 44px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:.92rem;color:var(--blue-900);font-weight:600;line-height:1.4;}
.termin-trust li::before{content:'';position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--cream);}
.booking-card{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 50px rgba(20,30,40,.10);padding:14px;}
.booking-card .booking-embed iframe{border-radius:12px;min-height:820px;}
@media(max-width:760px){.termin-trust{grid-template-columns:1fr;}}

/* Termin-Seite: Kalender volle Breite */
.termin-body{padding:34px 0 60px;}
.booking-full{width:100%;padding:0 12px;}
.booking-full .booking-embed{width:100%;max-width:none;}
.booking-full .booking-embed iframe{width:100%;min-height:850px;border:0;background:#fff;}

/* Schwerpunkt-Mehrfachauswahl */
.jf-multi{position:relative;}
.jf-multi>summary{list-style:none;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 32px 11px 13px;font-size:.95rem;color:var(--ink);position:relative;}
.jf-multi>summary::-webkit-details-marker{display:none;}
.jf-multi>summary::after{content:'';position:absolute;right:13px;top:44%;width:8px;height:8px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);transform:translateY(-50%) rotate(45deg);}
.jf-multi-panel{position:absolute;z-index:40;top:calc(100% + 5px);left:0;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 38px rgba(20,30,40,.16);padding:8px;max-height:300px;overflow:auto;}
.jf-opt{display:flex;align-items:center;gap:9px;padding:7px 9px;font-size:.9rem;border-radius:8px;cursor:pointer;color:var(--ink);}
.jf-opt:hover{background:var(--bg);}
.jf-opt input{accent-color:var(--green);width:16px;height:16px;}
.jf-opt-flex{font-weight:700;border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:9px;}
