/* =========================================================
   Gesundheitszentrum Neunkirchen – seitenweites Design-System
   (abgestimmt auf die Seite "Über uns")
   ========================================================= */

/* ---- Schrift lokal (DSGVO-freundlich, SIL OFL) ---- */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400;font-display:swap;src:url(gz-pf-400-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url(gz-pf-400-italic.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url(gz-pf-600-normal.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:600;font-display:swap;src:url(gz-pf-600-italic.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url(gz-pf-700-normal.woff2) format("woff2")}

/* ---- Farben (Kadence-Palette + eigene Variablen) ---- */
:root{
  --global-palette1:#008f72; --global-palette2:#0b4f41; --global-palette3:#1f2b28;
  --global-palette4:#34433f; --global-palette5:#5d6b67; --global-palette6:#8a9692;
  --global-palette7:#ece7dc; --global-palette8:#f7f4ee; --global-palette9:#ffffff;
  --gz-deep:#0b4f41; --gz-g:#008f72; --gz-soft:#e6f2ee; --gz-cream:#f7f4ee;
  --gz-gold:#b8913e; --gz-ink:#1f2b28; --gz-muted:#5d6b67; --gz-line:#e6ece9;
  --gz-serif:"Playfair Display",Georgia,serif;
}

/* ---- Kopfbereich ---- */
.site-branding .site-title{
  font-family:var(--gz-serif) !important; font-style:italic; font-weight:400 !important;
  text-transform:none !important; letter-spacing:0 !important; color:var(--gz-deep) !important;
  font-size:clamp(22px,2.6vw,36px) !important; line-height:1.25 !important;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a{ color:var(--gz-deep); letter-spacing:.08em; }
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover{ color:var(--gz-g); }
.header-navigation-style-underline .header-menu-container > ul > li > a::after{ background:var(--gz-gold) !important; height:2px !important; }
.site-bottom-header-wrap .site-header-row-container-inner{ border-color:var(--gz-line) !important; }

/* ---- Überschriften & Text ---- */
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-title, .elementor-widget-heading .elementor-heading-title{
  font-family:var(--gz-serif) !important; letter-spacing:-.005em;
}
.entry-content h1, .entry-content h2, .entry-title{ font-weight:600 !important; }
.entry-content{ line-height:1.75; }
.entry-content a:not(.wp-block-button__link):not(.elementor-button):not([class*="-btn"]){ text-underline-offset:3px; }

/* ---- Buttons einheitlich ---- */
.wp-block-button__link, .button, button.kb-button, .elementor-button,
input[type="submit"]{ border-radius:999px !important; letter-spacing:.02em; font-weight:600; }
.elementor-widget-button .elementor-button{
  background:var(--gz-deep) !important; color:#fff !important; border:1.5px solid var(--gz-deep) !important;
  padding:15px 30px !important; text-transform:none !important; transition:all .25s ease;
}
.elementor-widget-button .elementor-button:hover{
  background:var(--gz-g) !important; border-color:var(--gz-g) !important; transform:translateY(-2px);
  box-shadow:0 12px 24px -12px rgba(0,80,60,.6);
}

/* ---- Fußzeile ---- */
.site-footer .site-middle-footer-wrap, .site-footer .site-bottom-footer-wrap{ background:#0f2e27 !important; }
.site-footer a{ color:#d7c08a !important; text-decoration:none !important; }
.site-footer a:hover{ color:#fff !important; }

/* =========================================================
   Profilseiten (Vorlage mk/ch/ba/dm/mb/lb/uf)
   ========================================================= */
body:has(.mk-wrap, .ch-wrap, .ba-wrap, .dm-wrap, .mb-wrap, .lb-wrap, .uf-wrap) .content-bg,
body:has(.mk-wrap, .ch-wrap, .ba-wrap, .dm-wrap, .mb-wrap, .lb-wrap, .uf-wrap) .site-main{ background:var(--gz-cream) !important; }
.mk-wrap,
.ch-wrap,
.ba-wrap,
.dm-wrap,
.mb-wrap,
.lb-wrap,
.uf-wrap{ color:var(--gz-ink) !important; padding-top:56px !important; padding-bottom:72px !important; max-width:1240px !important; }
.mk-main,
.ch-main,
.ba-main,
.dm-main,
.mb-main,
.lb-main,
.uf-main,
.mk-card,
.ch-card,
.ba-card,
.dm-card,
.mb-card,
.lb-card,
.uf-card{
  background:#fff !important; border:1px solid var(--gz-line) !important; border-radius:20px !important;
  box-shadow:0 24px 48px -32px rgba(11,79,65,.38) !important;
}
.mk-main,
.ch-main,
.ba-main,
.dm-main,
.mb-main,
.lb-main,
.uf-main{ padding:44px 44px 40px !important; }
.mk-eyebrow,
.ch-eyebrow,
.ba-eyebrow,
.dm-eyebrow,
.mb-eyebrow,
.lb-eyebrow,
.uf-eyebrow,
.mk-special-kicker,
.ch-special-kicker,
.ba-special-kicker,
.dm-special-kicker,
.mb-special-kicker,
.lb-special-kicker,
.uf-special-kicker,
.mk-health-kicker,
.ch-health-kicker,
.ba-health-kicker,
.dm-health-kicker,
.mb-health-kicker,
.lb-health-kicker,
.uf-health-kicker{
  color:var(--gz-gold) !important; font-size:12.5px !important; letter-spacing:.22em !important; font-weight:700 !important;
  display:flex !important; align-items:center; gap:12px;
}
.mk-eyebrow::before,
.ch-eyebrow::before,
.ba-eyebrow::before,
.dm-eyebrow::before,
.mb-eyebrow::before,
.lb-eyebrow::before,
.uf-eyebrow::before,
.mk-special-kicker::before,
.ch-special-kicker::before,
.ba-special-kicker::before,
.dm-special-kicker::before,
.mb-special-kicker::before,
.lb-special-kicker::before,
.uf-special-kicker::before,
.mk-health-kicker::before,
.ch-health-kicker::before,
.ba-health-kicker::before,
.dm-health-kicker::before,
.mb-health-kicker::before,
.lb-health-kicker::before,
.uf-health-kicker::before{
  content:""; width:32px; height:1px; background:var(--gz-gold); flex:0 0 auto;
}
.mk-wrap h1,
.ch-wrap h1,
.ba-wrap h1,
.dm-wrap h1,
.mb-wrap h1,
.lb-wrap h1,
.uf-wrap h1,
.mk-wrap h2,
.ch-wrap h2,
.ba-wrap h2,
.dm-wrap h2,
.mb-wrap h2,
.lb-wrap h2,
.uf-wrap h2,
.mk-wrap h3,
.ch-wrap h3,
.ba-wrap h3,
.dm-wrap h3,
.mb-wrap h3,
.lb-wrap h3,
.uf-wrap h3{
  font-family:var(--gz-serif) !important; color:var(--gz-deep) !important; font-weight:600 !important; letter-spacing:-.01em;
}
.mk-wrap h1,
.ch-wrap h1,
.ba-wrap h1,
.dm-wrap h1,
.mb-wrap h1,
.lb-wrap h1,
.uf-wrap h1{ font-size:clamp(32px,4vw,50px) !important; line-height:1.12 !important; margin:10px 0 14px !important; }
.mk-wrap h2,
.ch-wrap h2,
.ba-wrap h2,
.dm-wrap h2,
.mb-wrap h2,
.lb-wrap h2,
.uf-wrap h2{ font-size:clamp(24px,2.6vw,34px) !important; line-height:1.2 !important; }
.mk-lead,
.ch-lead,
.ba-lead,
.dm-lead,
.mb-lead,
.lb-lead,
.uf-lead{ color:var(--gz-muted) !important; font-size:18px !important; line-height:1.7 !important; }
.mk-special,
.ch-special,
.ba-special,
.dm-special,
.mb-special,
.lb-special,
.uf-special{
  background:var(--gz-cream) !important; border:0 !important; border-radius:18px !important;
  box-shadow:none !important;
}
.mk-box,
.ch-box,
.ba-box,
.dm-box,
.mb-box,
.lb-box,
.uf-box,
.mk-health-step,
.ch-health-step,
.ba-health-step,
.dm-health-step,
.mb-health-step,
.lb-health-step,
.uf-health-step,
.mk-room,
.ch-room,
.ba-room,
.dm-room,
.mb-room,
.lb-room,
.uf-room,
.mk-price,
.ch-price,
.ba-price,
.dm-price,
.mb-price,
.lb-price,
.uf-price,
.mk-timeline-item,
.ch-timeline-item,
.ba-timeline-item,
.dm-timeline-item,
.mb-timeline-item,
.lb-timeline-item,
.uf-timeline-item{
  background:#fff !important; border:1px solid var(--gz-line) !important; border-radius:16px !important;
  box-shadow:0 14px 30px -26px rgba(11,79,65,.4) !important;
}
.mk-box strong,
.ch-box strong,
.ba-box strong,
.dm-box strong,
.mb-box strong,
.lb-box strong,
.uf-box strong{ color:var(--gz-deep) !important; font-family:var(--gz-serif); font-weight:600 !important; font-size:18px !important; }
.mk-note,
.ch-note,
.ba-note,
.dm-note,
.mb-note,
.lb-note,
.uf-note,
.mk-health-note,
.ch-health-note,
.ba-health-note,
.dm-health-note,
.mb-health-note,
.lb-health-note,
.uf-health-note{
  background:var(--gz-soft) !important; border-left:3px solid var(--gz-gold) !important; border-radius:14px !important; color:var(--gz-ink) !important;
}
.mk-card img,
.ch-card img,
.ba-card img,
.dm-card img,
.mb-card img,
.lb-card img,
.uf-card img{
  width:230px !important; height:230px !important; max-width:230px !important; object-fit:cover;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  clip-path:circle(36% at 50% 50%); margin:-10px auto 0 !important;
}
.mk-card,
.ch-card,
.ba-card,
.dm-card,
.mb-card,
.lb-card,
.uf-card{ text-align:center; }
.mk-card h3,
.ch-card h3,
.ba-card h3,
.dm-card h3,
.mb-card h3,
.lb-card h3,
.uf-card h3,
.mk-card strong,
.ch-card strong,
.ba-card strong,
.dm-card strong,
.mb-card strong,
.lb-card strong,
.uf-card strong{ font-family:var(--gz-serif) !important; color:var(--gz-deep) !important; }
.mk-contact a,
.ch-contact a,
.ba-contact a,
.dm-contact a,
.mb-contact a,
.lb-contact a,
.uf-contact a{ color:var(--gz-g) !important; }
.mk-btn,
.ch-btn,
.ba-btn,
.dm-btn,
.mb-btn,
.lb-btn,
.uf-btn{
  background:var(--gz-deep) !important; color:#fff !important; border:1.5px solid var(--gz-deep) !important;
  border-radius:999px !important; padding:13px 26px !important; font-weight:600 !important; text-decoration:none !important;
  box-shadow:none !important; transition:all .25s ease;
}
.mk-btn:hover,
.ch-btn:hover,
.ba-btn:hover,
.dm-btn:hover,
.mb-btn:hover,
.lb-btn:hover,
.uf-btn:hover{ background:var(--gz-g) !important; border-color:var(--gz-g) !important; transform:translateY(-2px); }
.mk-btn-light,
.ch-btn-light,
.ba-btn-light,
.dm-btn-light,
.mb-btn-light,
.lb-btn-light,
.uf-btn-light{ background:transparent !important; color:var(--gz-deep) !important; }
.mk-btn-light:hover,
.ch-btn-light:hover,
.ba-btn-light:hover,
.dm-btn-light:hover,
.mb-btn-light:hover,
.lb-btn-light:hover,
.uf-btn-light:hover{ background:var(--gz-deep) !important; color:#fff !important; }
.mk-quote,
.ch-quote,
.ba-quote,
.dm-quote,
.mb-quote,
.lb-quote,
.uf-quote{
  background:var(--gz-deep) !important; color:#fff !important; border:0 !important; border-radius:20px !important;
  font-family:var(--gz-serif) !important; font-style:italic !important; font-size:clamp(20px,2.2vw,26px) !important; line-height:1.45 !important;
  padding:44px 44px !important; text-align:center; box-shadow:none !important;
}
.mk-quote *,
.ch-quote *,
.ba-quote *,
.dm-quote *,
.mb-quote *,
.lb-quote *,
.uf-quote *{ color:#fff !important; }
.mk-cta,
.ch-cta,
.ba-cta,
.dm-cta,
.mb-cta,
.lb-cta,
.uf-cta{
  background:var(--gz-deep) !important; color:rgba(255,255,255,.85) !important; border:0 !important; border-radius:20px !important;
}
.mk-cta h2,
.ch-cta h2,
.ba-cta h2,
.dm-cta h2,
.mb-cta h2,
.lb-cta h2,
.uf-cta h2,
.mk-cta h3,
.ch-cta h3,
.ba-cta h3,
.dm-cta h3,
.mb-cta h3,
.lb-cta h3,
.uf-cta h3{ color:#fff !important; }
.mk-cta a:not([class*="btn"]),
.ch-cta a:not([class*="btn"]),
.ba-cta a:not([class*="btn"]),
.dm-cta a:not([class*="btn"]),
.mb-cta a:not([class*="btn"]),
.lb-cta a:not([class*="btn"]),
.uf-cta a:not([class*="btn"]){ color:#fff !important; }
.mk-cta .mk-btn,
.ch-cta .ch-btn,
.ba-cta .ba-btn,
.dm-cta .dm-btn,
.mb-cta .mb-btn,
.lb-cta .lb-btn,
.uf-cta .uf-btn{ background:#fff !important; color:var(--gz-deep) !important; border-color:#fff !important; }
.mk-cta .mk-btn-light,
.ch-cta .ch-btn-light,
.ba-cta .ba-btn-light,
.dm-cta .dm-btn-light,
.mb-cta .mb-btn-light,
.lb-cta .lb-btn-light,
.uf-cta .uf-btn-light{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.6) !important; }
@media (max-width:781px){
.mk-main,
.ch-main,
.ba-main,
.dm-main,
.mb-main,
.lb-main,
.uf-main{ padding:30px 24px !important; }
.mk-wrap,
.ch-wrap,
.ba-wrap,
.dm-wrap,
.mb-wrap,
.lb-wrap,
.uf-wrap{ padding-top:32px !important; }
}

/* Profilseiten: Elementor-Buchungsbereich beruhigen */
body:has(.mk-wrap, .ch-wrap, .ba-wrap, .dm-wrap, .mb-wrap, .lb-wrap, .uf-wrap) .elementor .e-con::before{ background-image:none !important; }
body:has(.mk-wrap, .ch-wrap, .ba-wrap, .dm-wrap, .mb-wrap, .lb-wrap, .uf-wrap) .elementor .e-con.e-parent{ padding-top:24px; padding-bottom:72px; }
body:has(.mk-wrap, .ch-wrap, .ba-wrap, .dm-wrap, .mb-wrap, .lb-wrap, .uf-wrap) .elementor-widget-heading .elementor-heading-title{
  text-shadow:none !important; color:var(--gz-deep) !important; text-align:center;
  font-size:clamp(28px,3vw,40px) !important; margin-bottom:12px;
}

/* Kopfzeile oben dunkelgrün */
.site-top-header-wrap .site-header-row-container-inner{ background:var(--gz-deep) !important; }

/* Amelia (Buchung/Events) an Farben anpassen */
[class*="amelia-v2"] [style*="--am-c-primary"], [class*="amelia-v2"]{
  --am-c-primary:#0b4f41 !important; --am-c-btn-prim:#0b4f41 !important; --am-c-btn-prim-text:#ffffff !important;
  --am-c-success:#008f72 !important; --am-c-main-heading-text:#0b4f41 !important; --am-c-main-text:#1f2b28 !important;
  --am-c-card-border:#e6ece9 !important; --am-c-inp-border:#d9e2df !important;
  --am-c-btn-first:#0b4f41 !important; --am-c-btn-first-op80:rgba(11,79,65,.8) !important; --am-c-btn-first-op30:rgba(11,79,65,.3) !important; --am-c-btn-first-op20:rgba(11,79,65,.1) !important;
  --am-c-ec-primary:#0b4f41 !important; --am-c-scroll-op30:rgba(11,79,65,.3) !important; --am-c-scroll-op10:rgba(11,79,65,.1) !important;
  --am-c-primary-op10:rgba(11,79,65,.1) !important; --am-c-primary-op30:rgba(11,79,65,.3) !important; --am-c-primary-op70:rgba(11,79,65,.7) !important;
}
[class*="amelia-v2"] .am-button, [class*="amelia-v2"] button.el-button{ border-radius:999px !important; }

/* =========================================================
   Betriebliche Gesundheitsförderung (Shortcode-Ausgabe)
   ========================================================= */
body:has(.nav-modulbar) .site-main, body:has(.nav-modulbar) .content-bg{ background:var(--gz-cream) !important; }
.nav-modulbar{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:28px 16px 8px !important; background:transparent !important; }
.nav-modulbar .kk-button{
  background:#fff !important; color:var(--gz-deep) !important; border:1px solid #e3d6b8 !important; border-radius:999px !important;
  padding:9px 18px !important; font-size:14px !important; font-weight:600 !important; box-shadow:none !important; text-decoration:none !important;
  transition:all .2s ease;
}
.nav-modulbar .kk-button:hover{ background:var(--gz-deep) !important; color:#fff !important; border-color:var(--gz-deep) !important; }
body:has(.nav-modulbar) .header{
  background:var(--gz-deep) radial-gradient(circle at 15% 20%,rgba(255,255,255,.08),transparent 45%) !important;
  border-radius:22px !important; padding:64px 32px !important; text-align:center; box-shadow:none !important;
}
body:has(.nav-modulbar) .header h1, body:has(.nav-modulbar) .header h2{
  font-family:var(--gz-serif) !important; font-weight:600 !important; color:#fff !important; font-size:clamp(28px,3.4vw,44px) !important; line-height:1.2 !important;
}
body:has(.nav-modulbar) .header p, body:has(.nav-modulbar) .header span{
  background:transparent !important; color:#d7c08a !important; font-size:15px !important; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
}
body:has(.nav-modulbar) .intro{
  background:#fff !important; border:1px solid var(--gz-line) !important; border-radius:20px !important;
  box-shadow:0 24px 48px -32px rgba(11,79,65,.38) !important; padding:44px !important;
}
body:has(.nav-modulbar) .intro h2, body:has(.nav-modulbar) .module h2, body:has(.nav-modulbar) .module h3{
  font-family:var(--gz-serif) !important; color:var(--gz-deep) !important; font-weight:600 !important;
}
body:has(.nav-modulbar) .intro p, body:has(.nav-modulbar) .intro li{ color:var(--gz-ink) !important; line-height:1.75; }
body:has(.nav-modulbar) .cta{
  background:var(--gz-soft) !important; border:0 !important; border-left:3px solid var(--gz-gold) !important; border-radius:16px !important; color:var(--gz-ink) !important;
}
body:has(.nav-modulbar) .cta a, body:has(.nav-modulbar) .more-button{
  background:var(--gz-deep) !important; color:#fff !important; border-radius:999px !important; padding:11px 24px !important;
  font-weight:600 !important; text-decoration:none !important; border:0 !important; box-shadow:none !important; display:inline-block;
}
body:has(.nav-modulbar) .cta a:hover, body:has(.nav-modulbar) .more-button:hover{ background:var(--gz-g) !important; }
body:has(.nav-modulbar) .module{
  background:#fff !important; border:1px solid var(--gz-line) !important; border-radius:20px !important;
  box-shadow:0 20px 40px -30px rgba(11,79,65,.35) !important; transition:transform .3s, box-shadow .3s;
}
body:has(.nav-modulbar) .module:hover{ transform:translateY(-4px); box-shadow:0 30px 50px -30px rgba(11,79,65,.45) !important; }
body:has(.nav-modulbar) .module p, body:has(.nav-modulbar) .module li{ color:var(--gz-muted) !important; }
body:has(.nav-modulbar) .module strong{ color:var(--gz-deep) !important; }
body:has(.nav-modulbar) .header{ font-family:var(--gz-serif) !important; color:#fff !important; font-size:clamp(28px,3.4vw,44px) !important; font-weight:600 !important; line-height:1.2 !important; }
body:has(.nav-modulbar) .header a{
  font-family:"Open Sans",sans-serif !important; font-style:normal !important; font-size:13px !important; letter-spacing:.16em; text-transform:uppercase;
  font-weight:700 !important; color:#d7c08a !important; background:transparent !important; border:1px solid rgba(215,192,138,.45) !important; border-radius:999px !important; padding:8px 18px !important; margin-top:18px !important;
}
