/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 5.19.0.1794377741
Updated: 2026-11-11 07:15:41

*//* Naturheilpraxis Wenninger – Entwurf Relaunch 2026
   Farben und Schrift wie in den Logo-Entwürfen (NHP-A). */
:root{
  --blue:#1F6A96;--blue-d:#174F70;--orange:#F08A24;--orange-d:#D9771A;--green:#4F8A2B;--lgreen:#A6C83A;
  --ink:#23323D;--muted:#5A6770;--bg:#FAF7F2;--card:#FFFFFF;--line:#E6E0D6;--soft-blue:#EEF5FA;--soft-green:#EEF4E6;--soft-orange:#FDF0E2;
  --radius:22px;--shadow:0 14px 34px rgba(31,106,150,.12)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Nunito,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);font-size:17.5px;line-height:1.65}
img{max-width:100%;display:block}
a{color:var(--blue)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.draft{background:var(--ink);color:#fff;text-align:center;font-size:13px;padding:6px 12px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:18px;height:80px}
.logo{width:250px;flex:none}.logo svg{display:block;width:100%;height:auto}
.logo .w{font-family:Nunito,'Segoe UI',sans-serif}
nav.main>ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center}
nav.main li{position:relative}
nav.main a,nav.main .dd>span{display:block;padding:10px 12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:15.5px;white-space:nowrap;border-radius:10px;cursor:pointer}
nav.main a:hover,nav.main .dd:hover>span{color:var(--blue);background:var(--soft-blue)}
nav.main a.active,nav.main .dd.active>span{color:var(--blue)}
nav.main .dd>span::after{content:"";display:inline-block;margin-left:6px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
nav.main .sub{display:none;position:absolute;left:0;top:100%;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;list-style:none;margin:0}
nav.main .dd:hover .sub,nav.main .dd:focus-within .sub{display:block}
nav.main .sub a{font-weight:600}
nav.main .sub .new{font-size:11px;background:var(--orange);color:#fff;border-radius:99px;padding:1px 7px;margin-left:6px;vertical-align:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 26px;font-weight:800;text-decoration:none;font-size:16.5px;border:2px solid transparent;transition:.15s;white-space:nowrap;cursor:pointer;font-family:inherit}
.btn-o{background:var(--orange);color:#fff}.btn-o:hover{background:var(--orange-d)}
.btn-l{border-color:var(--blue);color:var(--blue);background:transparent}.btn-l:hover{background:var(--blue);color:#fff}
.btn-w{background:#fff;color:var(--blue)}.btn-w:hover{background:var(--soft-blue)}
.btn-gl{border-color:rgba(255,255,255,.7);color:#fff}.btn-gl:hover{background:rgba(255,255,255,.12)}
.menu-btn{display:none;background:none;border:0;font-size:30px;color:var(--blue);cursor:pointer;padding:6px}

/* ---------- Typo ---------- */
h1{font-size:48px;line-height:1.12;margin:0 0 18px;color:var(--blue);font-weight:800;letter-spacing:-.3px}
h2{font-size:34px;line-height:1.2;color:var(--blue);margin:0 0 14px;font-weight:800}
h3{font-size:21px;line-height:1.3;color:var(--blue);margin:0 0 8px}
.eyebrow{font-weight:800;color:var(--green);letter-spacing:2px;text-transform:uppercase;font-size:13.5px;margin:0 0 10px}
.lead{font-size:20px;color:var(--muted);margin:0 0 28px;max-width:600px}
.sub{color:var(--muted);font-size:18px;max-width:680px;margin:0 0 38px}
.center{text-align:center}.center .sub{margin-left:auto;margin-right:auto}
section{padding:80px 0}
.cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.small{font-size:14.5px;color:var(--muted)}

/* ---------- Home hero ---------- */
.hero{padding:60px 0 56px}
.hgrid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.hero-img{position:relative;border-radius:30px;overflow:hidden;aspect-ratio:4/3.6;box-shadow:var(--shadow)}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:62% 30%}
.hero-img .badge{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.95);border-radius:16px;padding:12px 16px;font-size:14px;max-width:260px;line-height:1.4}
.hero-img .badge b{display:block;color:var(--blue);font-size:15px}
.hero .sun{position:absolute;top:-70px;right:-70px;width:220px;height:220px;border-radius:50%;border:22px solid rgba(240,138,36,.55)}
.checks{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:8px}
.checks li{padding-left:32px;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:4px;width:21px;height:21px;border-radius:50%;background:var(--soft-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F8A2B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}

/* ---------- Trust ---------- */
.trust{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:24px 0}
.tgrid div{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.4}
.tgrid i{flex:none;width:34px;height:34px;border-radius:50%;background:var(--soft-green);color:var(--green);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800}

/* ---------- Cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{position:relative;background:var(--card);border-radius:var(--radius);border:1px solid var(--line);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:.2s;overflow:hidden}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.card .cimg{aspect-ratio:16/10;overflow:hidden;background:var(--soft-blue)}
.card .cimg img{width:100%;height:100%;object-fit:cover;transition:.4s}
.card:hover .cimg img{transform:scale(1.04)}
.card .cbody{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.card p{margin:0 0 16px;font-size:15.5px;color:var(--muted);flex:1}
.card .tag{position:absolute;top:14px;left:14px;background:var(--orange);color:#fff;font-size:12.5px;font-weight:800;padding:4px 12px;border-radius:99px;letter-spacing:.5px}
.ico{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.more{font-weight:800;color:var(--orange);font-size:15px}

/* ---------- About teaser ---------- */
.white{background:#fff}
.agrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.aphoto{border-radius:26px;overflow:hidden;aspect-ratio:1/1.12;box-shadow:var(--shadow)}
.aphoto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.sig{font-family:Caveat,cursive;font-size:36px;color:var(--orange);margin:12px 0 0;line-height:1}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.facts div{background:var(--bg);border-radius:14px;padding:14px 16px;font-size:15px;line-height:1.4}
.facts b{display:block;color:var(--blue);font-size:20px}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{position:relative;padding:26px 22px;background:#fff;border-radius:20px;border:1px solid var(--line)}
.step::before{counter-increment:s;content:counter(s);display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;margin-bottom:14px}
.step h3{font-size:19px}
.step p{margin:0;font-size:15.5px;color:var(--muted)}

/* ---------- Reviews ---------- */
.reviews{background:linear-gradient(180deg,var(--soft-blue),var(--bg))}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rev{background:#fff;border-radius:20px;padding:26px;border:2px dashed #C9D9E4}
.stars{color:var(--orange);letter-spacing:3px;font-size:18px}
.rev p{color:var(--muted);font-style:italic;font-size:15.5px}
.rev small{color:#8D989F}

/* ---------- Event / Teaser ---------- */
.event{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:#fff;border:2px solid var(--orange);border-radius:26px;padding:28px 32px}
.event .date{background:var(--orange);color:#fff;border-radius:18px;padding:12px 18px;text-align:center;font-weight:800;line-height:1.1;min-width:100px}
.event .date b{display:block;font-size:38px}
.event h3{margin:0 0 4px}.event p{margin:0;color:var(--muted)}
.teaser{background:var(--green);color:#fff;border-radius:28px;padding:46px;display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:center}
.teaser h2{color:#fff}.teaser p{margin:0;font-size:18px;opacity:.95}

/* ---------- Sub page hero ---------- */
.phero{padding:46px 0 54px;background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);border-bottom:1px solid var(--line)}
.phgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
.phgrid.noimg{grid-template-columns:1fr}
.crumbs{font-size:14px;color:var(--muted);margin:0 0 18px}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--blue)}
.phero h1{font-size:44px}
.phimg{border-radius:26px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow);background:var(--soft-blue)}
.phimg img{width:100%;height:100%;object-fit:cover}
.phimg.contain{background:#fff;display:flex;align-items:center;justify-content:center}
.phimg.contain img{width:auto;height:auto;max-height:100%;object-fit:contain}

/* ---------- Content + aside ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start;padding:64px 0 80px}
.prose{max-width:740px}
.prose h2{font-size:29px;margin:44px 0 12px}
.prose h2:first-child{margin-top:0}
.prose h3{margin:28px 0 6px}
.prose p{margin:0 0 16px}
.prose ul{padding-left:0;list-style:none;margin:0 0 20px}
.prose ul li{position:relative;padding-left:28px;margin-bottom:8px}
.prose ul li::before{content:"";position:absolute;left:4px;top:11px;width:9px;height:9px;border-radius:50%;background:var(--lgreen)}
.prose img.inline{border-radius:18px;margin:8px 0 24px}
.note{background:var(--soft-blue);border-left:5px solid var(--blue);border-radius:0 16px 16px 0;padding:18px 22px;margin:26px 0;font-size:16px}
.note.warn{background:var(--soft-orange);border-color:var(--orange)}
.note b{color:var(--blue)}
.ph{background:#FFF5C2;padding:1px 6px;border-radius:5px;font-weight:700;color:#6B5600}
.boxes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 26px}
.boxes.b3{grid-template-columns:repeat(3,1fr)}
.box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px}
.box h3{margin:0 0 6px;font-size:18.5px}.box p{margin:0;font-size:15.5px;color:var(--muted)}.price{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 26px}
.price div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}
.price b{display:block;font-size:26px;color:var(--blue)}
.price span{font-size:14.5px;color:var(--muted)}
aside.side{position:sticky;top:104px;display:grid;gap:18px}
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 8px 24px rgba(31,106,150,.07)}
.scard h3{margin:0 0 6px;font-size:21px}
.scard p{margin:0 0 16px;font-size:15.5px;color:var(--muted)}
.scard .btn{width:100%;margin-bottom:10px}
.scard dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 18px;font-size:15px}
.scard dt{font-weight:800;color:var(--blue)}.scard dd{margin:0}
.scard.mini{background:var(--soft-green);border:0;box-shadow:none}
.scard.mini a{display:block;font-weight:700;text-decoration:none;padding:4px 0}

/* ---------- FAQ ---------- */
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:0 22px}
.faq summary{cursor:pointer;font-weight:800;color:var(--blue);padding:18px 0;list-style:none;position:relative;padding-right:30px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:26px;color:var(--orange)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 18px}

/* ---------- Timeline ---------- */
.tl{border-left:3px solid var(--lgreen);margin:10px 0 26px;padding-left:24px}
.tl div{position:relative;margin-bottom:18px}
.tl div::before{content:"";position:absolute;left:-33px;top:6px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--green)}
.tl b{display:block;color:var(--blue)}

/* ---------- Seminare ---------- */
.sem{display:grid;gap:14px;margin:18px 0 22px}
.sem a{display:grid;grid-template-columns:86px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 20px;text-decoration:none;color:var(--ink);transition:.15s}
.sem a:hover{border-color:var(--blue);box-shadow:var(--shadow)}
.sem .d{background:var(--soft-blue);border-radius:14px;text-align:center;padding:8px 4px;color:var(--blue);font-weight:800;line-height:1.1}
.sem .d b{display:block;font-size:26px}
.sem .t{font-weight:700;line-height:1.35}.sem .t small{display:block;color:var(--muted);font-weight:600;margin-top:3px}
.sem .s{font-size:13px;font-weight:800;color:var(--orange);white-space:nowrap}

/* ---------- Gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:60px 0 80px}
.gallery figure{margin:0;background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{padding:12px 16px;font-size:14.5px;color:var(--muted)}

/* ---------- Contact ---------- */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.cbox{background:#fff;border-radius:24px;padding:32px;border:1px solid var(--line)}
.cbox dl{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;margin:0 0 24px;font-size:16px}
.cbox dt{font-weight:800;color:var(--blue)}.cbox dd{margin:0}
.map{border-radius:24px;background:repeating-linear-gradient(45deg,#E7EEF2 0 14px,#EEF3F6 14px 28px);display:flex;align-items:center;justify-content:center;color:var(--muted);min-height:320px;text-align:center;padding:20px}
form.req{display:grid;gap:14px}
form.req label{font-weight:700;font-size:15px;display:grid;gap:6px}
form.req input,form.req select,form.req textarea{font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid #CFD8DE;border-radius:12px;background:#fff;color:var(--ink)}
form.req input:focus,form.req select:focus,form.req textarea:focus{border-color:var(--blue);outline:none}
form.req .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.req .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14.5px}
form.req .chk input{margin-top:4px}

/* ---------- CTA band + footer ---------- */
.ctaband{background:linear-gradient(120deg,var(--blue) 0%,var(--blue-d) 100%);color:#fff;padding:60px 0;position:relative;overflow:hidden}
.ctaband::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;border:26px solid rgba(240,138,36,.45)}
.ctagrid{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;position:relative;z-index:1}
.ctaband h2{color:#fff;margin-bottom:8px}.ctaband p{margin:0;font-size:18px;opacity:.92}
.ctaband .cta{justify-content:flex-end}
footer.site{background:var(--blue-d);color:#D6E6F0;padding:54px 0 30px;font-size:15px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
footer.site a{color:#fff;text-decoration:none}footer.site a:hover{text-decoration:underline}
footer.site h4{color:#fff;margin:0 0 12px;font-size:16px}
footer.site ul{list-style:none;padding:0;margin:0;display:grid;gap:5px}
.flogo{width:230px;margin-bottom:14px}
.fbottom{border-top:1px solid rgba(255,255,255,.15);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13.5px}
.mbar{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1140px){
  nav.main{display:none}.menu-btn{display:block}
  nav.main.open{display:block;position:absolute;top:80px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 24px 22px;max-height:calc(100vh - 80px);overflow:auto;box-shadow:var(--shadow)}
  nav.main.open>ul{flex-direction:column;align-items:stretch;gap:0}
  nav.main.open .sub{display:block;position:static;box-shadow:none;border:0;padding:0 0 6px 14px;min-width:0}
  nav.main.open .dd>span::after{display:none}
  nav.main.open .dd>span{color:var(--green);font-size:13px;text-transform:uppercase;letter-spacing:1.5px;padding-top:16px}
}
@media (max-width:980px){
  .hbar .btn{display:none}
  .hgrid,.agrid,.cgrid,.teaser,.phgrid,.ctagrid{grid-template-columns:1fr}
  .layout{grid-template-columns:1fr;gap:36px;padding:44px 0 60px}
  aside.side{position:static}
  .cards,.cards.c4,.steps,.tgrid,.gallery{grid-template-columns:1fr 1fr}
  .rgrid,.boxes.b3{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .event{grid-template-columns:auto 1fr}.event .btn{grid-column:1/-1}
  .ctaband .cta{justify-content:flex-start}
  h1,.phero h1{font-size:36px} h2{font-size:29px} section{padding:60px 0}
  .phimg{aspect-ratio:16/9}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:50;box-shadow:0 -4px 16px rgba(0,0,0,.1)}
  .mbar a{padding:15px;text-align:center;font-weight:800;text-decoration:none}
  .mbar a:first-child{background:#fff;color:var(--blue)}.mbar a:last-child{background:var(--orange);color:#fff}
  body{padding-bottom:56px}
}
@media (max-width:600px){
  .wrap{padding:0 16px}
  .cards,.cards.c4,.steps,.tgrid,.facts,.gallery,.boxes,.price,.fgrid,form.req .two{grid-template-columns:1fr}
  .logo{width:200px}.teaser{padding:30px 22px}.cbox{padding:24px}.cbox dl{grid-template-columns:1fr;gap:2px}.cbox dd{margin-bottom:8px}
  h1,.phero h1{font-size:31px} .lead{font-size:18px}
  .sem a{grid-template-columns:70px 1fr}.sem .s{grid-column:2}
  .event{padding:22px}
}
/* Naturheilpraxis Wenninger – Ergänzung zu style.css für die Divi-Layouts (Stand 12.11.2026, mittags)
   Diese Regeln UNTER den Inhalt von style.css ins Child-Theme kopieren.
   Sie passen die Klassen aus dem Entwurf an das HTML an, das Divi um die Module legt. */

/* Nachtrag 12.11.2026 – Schriftstärke: Divi setzt body{font-weight:500}, der Entwurf 400.
   Die Schrift läuft dadurch etwas breiter (z. B. bricht der Einleitungstext im Kopf früher um). */
html body{font-weight:400}

/* Nachtrag 11.11.2026 – Hintergründe: Divi färbt #main-content und jede Sektion weiß.
   Im Entwurf liegt der Seitenhintergrund (--bg, cremefarben) unter allen Sektionen,
   nur der Header ist weiß. */
body,#page-container,#et-main-area,#main-content{background-color:var(--bg)!important}
#main-content .et_pb_section{background-color:transparent}
.et_pb_section.phero{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%)!important;border-bottom:1px solid var(--line)}

/* Nachtrag 11.11.2026 – Schrift: Divi setzt 14px / Zeilenhöhe 1.7em.
   Werte aus style.css (body 17.5px / 1.65) wiederherstellen. */
.et_pb_section .et_pb_text{font-family:Nunito,'Segoe UI',sans-serif;font-size:17.5px;line-height:1.65;color:var(--ink)}
.et_pb_section .et_pb_text p,.et_pb_section .et_pb_text li{font-size:inherit;line-height:inherit}
.et_pb_section .et_pb_text p.lead{font-size:20px;color:var(--muted)}
.et_pb_section .et_pb_text p.crumbs{font-size:14px}
.et_pb_section .et_pb_text p.eyebrow{font-size:13.5px}
.et_pb_section .et_pb_text p.small{font-size:14.5px}
.et_pb_section .et_pb_text .note{font-size:16px}
.et_pb_section .et_pb_text.scard p{font-size:15.5px}
.et_pb_section .et_pb_text.scard dl{font-size:15px}
.et_pb_section.ctaband .et_pb_text p{font-size:18px}
@media (max-width:600px){.et_pb_section .et_pb_text p.lead{font-size:18px}}

/* Divi-Standardabstände in den Textmodulen neutralisieren */
.et_pb_section .et_pb_text p{padding-bottom:0}
.et_pb_section .et_pb_text h1,.et_pb_section .et_pb_text h2,.et_pb_section .et_pb_text h3{padding-bottom:0;color:var(--blue);font-family:Nunito,'Segoe UI',sans-serif}
.et_pb_section .et_pb_text h1,.et_pb_section .et_pb_text h2{font-weight:800}
.et_pb_section .et_pb_text .cta a,.et_pb_section .et_pb_text a.btn{text-decoration:none}

/* Nachtrag 11.11.2026 (2) – Breiten: Divi teilt Zeilen in Prozent-Spalten mit 5,5 % Abstand
   (z. B. 3/5 + 2/5 = 57,8 % / 36,7 %). Der Entwurf rechnet anders (Raster mit festen Abständen,
   Seitenleiste fest 340px). Deshalb sind Bild und Text bei Divi schmaler.
   Die Zeilen bekommen hier dasselbe Raster wie im Entwurf. Die Zeilenbreite (max. 1180px)
   ist fest gesetzt, die "Inhaltsbreite" im Divi-Customizer wirkt auf diese Zeilen bewusst nicht. */
.et_pb_section .et_pb_row.dv-mitte,.et_pb_section .et_pb_row.dv-layout,.et_pb_section .et_pb_row.dv-fgrid,
.et_pb_section .et_pb_row.dv-hbar{width:100%!important;max-width:1180px!important;box-sizing:border-box}
@media (min-width:981px){
  .et_pb_row.dv-mitte,.et_pb_row.dv-layout,.et_pb_row.dv-fgrid{display:grid}
  .et_pb_row.dv-mitte>.et_pb_column,.et_pb_row.dv-layout>.et_pb_column,.et_pb_row.dv-fgrid>.et_pb_column{width:auto!important;margin-right:0!important;min-width:0}
  /* Nachtrag 12.11.2026 – Abstände: Divis Clearfix (.et_block_row:after) wird im Raster zu einer
     zusätzlichen leeren Zeile, samt Zeilenabstand (50/56/30/36px). Deshalb hier ausblenden. */
  .et_pb_row.dv-mitte:after,.et_pb_row.dv-layout:after,.et_pb_row.dv-fgrid:after{display:none}
  /* Nachtrag 12.11.2026 – Inhalt + Seitenleiste: im Entwurf ohne seitlichen Innenabstand,
     also volle 1180px (Kopf, Termin-Band und Footer: 1180px minus 2 × 24px). */
  .et_pb_section .et_pb_row.dv-layout{padding-left:0!important;padding-right:0!important}
  /* Kopfbereich: wie .phgrid */
  .et_pb_section.phero .et_pb_row.dv-mitte{grid-template-columns:1.15fr .85fr;gap:50px;align-items:center}
  /* Inhalt + Seitenleiste: wie .layout */
  .et_pb_row.dv-layout{grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
  /* Termin-Band: wie .ctagrid */
  .et_pb_section.ctaband .et_pb_row.dv-mitte{grid-template-columns:1.3fr .7fr;gap:30px;align-items:center}
  /* Footer: wie .fgrid */
  .et_pb_row.dv-fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
  .et_pb_column.side{position:sticky;top:104px}
}

/* Kopfbild (Bild-Modul mit Klasse "phimg contain") */
.et_pb_image.phimg{margin-bottom:0!important}
.et_pb_image.phimg .et_pb_image_wrap{display:flex;width:100%;height:100%;align-items:center;justify-content:center}

/* Haupttext: Aufzählung im Stil des Entwurfs */
.et_pb_text.prose ul{padding:0;list-style:none;line-height:inherit}
.et_pb_text.prose .note p:last-child{margin-bottom:0}

/* Nachtrag 12.11.2026 (2) – Elemente der weiteren Seiten (Schmerztherapie, Neuraltherapie, Vitamin C) */
/* Häkchen-Liste im Kopf: Divi gibt Listen Einzug und Punkte */
.et_pb_section .et_pb_text ul.checks{list-style:none;padding:0;margin:0 0 30px;line-height:inherit}
/* Kästen ("Verfahren, die ich einsetze") und Preisfelder: die allgemeine Textregel (17.5px) nicht übernehmen */
.et_pb_section .et_pb_text .box h3{margin:0 0 6px;font-size:18.5px;line-height:1.3}
.et_pb_section .et_pb_text .box p{margin:0;font-size:15.5px;color:var(--muted)}
.et_pb_section .et_pb_text .price b{display:block;font-size:26px;color:var(--blue)}
.et_pb_section .et_pb_text .price span{font-size:14.5px;color:var(--muted)}

/* Seitenleiste */
.et_pb_text.scard{margin-bottom:18px!important}
.et_pb_text.scard .btn{display:flex}
.et_pb_text.scard h3{color:var(--blue)}

/* Termin-Band (blau) */
.et_pb_section.ctaband .et_pb_text h2{color:#fff}
.et_pb_section.ctaband .et_pb_text p{color:#fff}
.et_pb_section.ctaband .et_pb_text{margin-bottom:0}
@media (max-width:980px){.ctaband .cta{justify-content:flex-start}}


/* ===================== GLOBALER HEADER (Theme Builder) ===================== */
.et_pb_section.dv-header{background:rgba(255,255,255,.97)!important;backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:40}
.et_pb_row.dv-hbar{display:flex;align-items:center;gap:18px;min-height:80px}
.et_pb_row.dv-hbar:after{display:none}
.dv-hbar>.et_pb_column{margin-right:0!important;margin-bottom:0!important}
.dv-hbar .et_pb_module{margin-bottom:0!important}
.dv-col-logo{flex:none;width:250px!important}
.dv-col-menu{flex:1;width:auto!important}
.dv-col-btn{flex:none;width:auto!important}
.logo svg,.flogo svg{display:block;width:100%;height:auto}
.logo .w,.flogo .w{font-family:Nunito,'Segoe UI',sans-serif}
/* Menü-Modul */
.dv-menu .et_pb_menu__wrap{justify-content:flex-end}
.dv-menu .et-menu>li{padding-left:2px;padding-right:2px}
.dv-menu .et-menu>li>a{padding:10px 12px!important;border-radius:10px;color:var(--ink)!important;font-weight:700;font-size:15.5px;font-family:Nunito,'Segoe UI',sans-serif}
.dv-menu .et-menu>li>a:hover,.dv-menu .et-menu>li:hover>a{color:var(--blue)!important;background:var(--soft-blue);opacity:1}
.dv-menu .et-menu>li.current-menu-item>a,.dv-menu .et-menu>li.current-menu-ancestor>a{color:var(--blue)!important}
.dv-menu .et-menu .sub-menu{border:1px solid var(--line)!important;border-top:1px solid var(--line)!important;border-radius:16px;box-shadow:var(--shadow);padding:8px!important;width:280px;background:#fff}
.dv-menu .et-menu .sub-menu li{padding:0;width:100%}
.dv-menu .et-menu .sub-menu a{width:100%!important;padding:9px 12px!important;border-radius:10px;font-weight:600;color:var(--ink)!important}
.dv-menu .et-menu .sub-menu a:hover{background:var(--soft-blue);color:var(--blue)!important;opacity:1}
.dv-menu .new{font-size:11px;background:var(--orange);color:#fff;border-radius:99px;padding:1px 7px;margin-left:6px;vertical-align:2px}
.dv-menu .mobile_menu_bar:before{color:var(--blue)!important;font-size:34px}
.dv-col-btn .btn{white-space:nowrap}

/* Nachtrag 12.11.2026 (2) – Menü wie im Entwurf */
/* (a) Menü rechtsbündig, direkt vor dem Button (Desktop) bzw. ☰ ganz rechts (Tablet/Handy).
   Divis eigene Regel (gleiche Spezifität) hat unsere frühere Regel überstimmt. */
.et_pb_row.dv-hbar>.et_pb_column.dv-col-menu{flex:1 1 auto!important;width:auto!important;min-width:0}
.et_pb_menu.dv-menu,.et_pb_menu.dv-menu .et_pb_menu_inner_container{width:100%}
.et_pb_menu.dv-menu .et_pb_menu__wrap{flex:1 1 auto;justify-content:flex-end!important}
.et_pb_menu.dv-menu .et_pb_menu__menu,.et_pb_menu.dv-menu .et-menu{justify-content:flex-end}
.et_pb_menu.dv-menu .et_mobile_nav_menu{margin-left:auto!important;margin-right:0!important}
/* (b) Pfeil nach unten: Divi setzt ein Schrift-Symbol (16px) oben rechts in den Link.
   Im Entwurf ist es ein kleiner Winkel direkt hinter dem Wort, mittig zur Schrift. */
.et_pb_menu.dv-menu .et-menu>li.menu-item-has-children>a:first-child{padding-right:12px!important}
.et_pb_menu.dv-menu .et-menu>li.menu-item-has-children>a:first-child:after{content:""!important;font-family:inherit!important;font-size:0!important;position:static!important;display:inline-block;margin-left:6px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
/* (c) Aufgeklapptes Handy-Menü: über die volle Breite unter dem Header (nicht nur in der Menü-Spalte),
   ohne blaue Linie oben, Innenabstand wie im Entwurf (gilt bis 1140px, siehe Nachtrag (3)) */
@media (max-width:1140px){
  .et_pb_section.dv-header .et_pb_row.dv-hbar,.dv-hbar>.et_pb_column,.et_pb_menu.dv-menu,
  .et_pb_menu.dv-menu .et_pb_menu_inner_container,.et_pb_menu.dv-menu .et_pb_menu__wrap,
  .et_pb_menu.dv-menu .et_mobile_nav_menu,.et_pb_menu.dv-menu .mobile_nav{position:static!important}
  .et_pb_menu.dv-menu .et_mobile_menu{position:absolute;top:100%!important;left:0!important;right:0!important;width:auto!important;margin:0!important;
    padding:10px 24px 22px!important;background:#fff!important;border:0!important;border-bottom:1px solid var(--line)!important;
    box-shadow:var(--shadow);max-height:calc(100vh - 80px);overflow:auto;z-index:60}
  /* (d) Einträge: normale Punkte fett/dunkel, Unterpunkte eingerückt;
     Überbegriffe (Therapien, Angebote, Über mich) grün in Großbuchstaben */
  .et_pb_menu.dv-menu .et_mobile_menu li{padding-left:0!important}
  .et_pb_menu.dv-menu .et_mobile_menu li a{display:block;padding:10px 12px!important;border:0!important;border-radius:10px;background:none!important;
    font-family:Nunito,'Segoe UI',sans-serif;font-size:15.5px;line-height:1.65;font-weight:700;color:var(--ink)!important;text-transform:none;letter-spacing:0}
  .et_pb_menu.dv-menu .et_mobile_menu li a:hover{background:var(--soft-blue)!important;color:var(--blue)!important;opacity:1}
  .et_pb_menu.dv-menu .et_mobile_menu ul.sub-menu{position:static!important;padding:0 0 6px 14px!important;margin:0!important;border:0!important;box-shadow:none!important;width:auto!important;background:none!important}
  .et_pb_menu.dv-menu .et_mobile_menu ul.sub-menu a{font-weight:600}
  .et_pb_menu.dv-menu .et_mobile_menu>li.menu-item-has-children>a{color:var(--green)!important;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;padding-top:16px!important}
}
/* Nachtrag 12.11.2026 (3) – Umbruch auf das ☰-Menü wie im Entwurf schon unter 1140px
   (Divi schaltet sonst erst unter 980px um). Logo und Kopfhöhe wie im Entwurf:
   Logo 250px, unter 600px 200px; Kopfhöhe immer 80px. */
@media (min-width:981px) and (max-width:1140px){
  .et_pb_menu.dv-menu .et_pb_menu__menu{display:none!important}
  .et_pb_menu.dv-menu .et_mobile_nav_menu{display:flex!important;align-items:center}
}
@media (max-width:980px){
  .dv-col-btn{display:none}
}
@media (max-width:600px){
  .dv-col-logo{width:200px!important}
}

/* ===================== GLOBALER FOOTER (Theme Builder) ===================== */
.et_pb_section.dv-footer{background:var(--blue-d);color:#D6E6F0;font-size:15px}
.dv-footer .et_pb_text,.dv-footer .et_pb_text p{color:#D6E6F0}
/* Nachtrag 12.11.2026 – Footer-Schrift: Die allgemeine Textregel oben (17.5px) galt auch hier.
   Im Entwurf hat der Footer 15px. */
.et_pb_section.dv-footer .et_pb_text{font-size:15px;line-height:1.65}
/* Divi macht aus der Leerzeile (<br><br>) vor "Eine Praxis im ..." zwei Absätze ohne Abstand */
.et_pb_section.dv-footer .et_pb_text p+p{margin-top:1.65em}
/* Divi setzt Überschriften auf Zeilenhöhe 1em, der Entwurf erbt 1.65 */
.et_pb_section.dv-footer .et_pb_text h4{line-height:1.65}
/* Footer-Logo wie im Entwurf als Inline-Grafik (gleiche Höhe inkl. Unterlänge) */
.dv-footer .flogo{line-height:1.65}
.dv-footer .flogo svg{display:inline}
.dv-footer a{color:#fff;text-decoration:none}.dv-footer a:hover{text-decoration:underline}
.dv-footer .et_pb_text h4{color:#fff;margin:0 0 12px;font-size:16px;padding-bottom:0;font-weight:800}
.dv-footer .et_pb_text ul{list-style:none;padding:0;margin:0;display:grid;gap:5px;line-height:inherit}
.et_pb_section.dv-footer .et_pb_module{margin-bottom:0!important}
.flogo{width:230px;margin-bottom:14px}
.dv-footer .fbottom{margin-top:34px}
@media (max-width:980px){
  .dv-fgrid>.et_pb_column{margin-bottom:30px}
}

/* ===================== Nachtrag 12.11.2026 (4) – RESTLICHE SEITEN ===================== */
/* Abschnitte mit einer Zeile (Startseite, Therapien, Kontakt, Impressionen, Impressum, Datenschutz):
   Zeile "dv-wrap" = 1180px wie .wrap im Entwurf; der Inhalt steht als HTML im Textmodul "dv-html",
   die Raster (.hgrid, .cards, .steps, .cgrid, .gallery ...) kommen unverändert aus style.css. */
.et_pb_section .et_pb_row.dv-wrap{width:100%!important;max-width:1180px!important;box-sizing:border-box}
.et_pb_row.dv-wrap>.et_pb_column{margin-bottom:0!important}
.et_pb_row.dv-wrap .et_pb_module{margin-bottom:0!important}
/* Weiße Abschnitte (Startseite: Vertrauensleiste, "Ihr Heilpraktiker") – die allgemeine Regel oben macht Sektionen transparent */
#main-content .et_pb_section.white,#main-content .et_pb_section.trust{background-color:#fff}
/* Schriftgrößen aus style.css, die von der allgemeinen Textregel (17.5px, Zeilenhöhe erben) überstimmt würden */
.et_pb_section .et_pb_text p.sub{font-size:18px}
.et_pb_section .et_pb_text p.sig{font-size:36px;line-height:1}
.et_pb_section .et_pb_text .card p,.et_pb_section .et_pb_text .rev p,.et_pb_section .et_pb_text .step p{font-size:15.5px}
.et_pb_section .et_pb_text .step p{margin:0;color:var(--muted)}
.et_pb_section .et_pb_text .step h3{font-size:19px}
.et_pb_section .et_pb_text .teaser p{font-size:18px}
.et_pb_section .et_pb_text .teaser h2{color:#fff}
/* Kopfbilder mit eigenem Bildausschnitt */
.et_pb_image.dv-img-maennergesundheit img{object-position:60% 35%}
.et_pb_image.dv-img-ueber-mich img{object-position:70% 30%}

/* Kontaktformular (Contact Form 7) im Aussehen des Entwurfs (form.req).
   Passt zur Formular-Vorlage in KONTAKTFORMULAR-ANBINDEN.txt (mit <div class="two"> für Name/Telefon). */
.wpcf7-form{display:grid;gap:14px}
.wpcf7-form p{margin:0!important;padding:0!important}
.wpcf7-form label{font-weight:700;font-size:15px;display:grid;gap:6px}
.wpcf7-form label br{display:none}
.wpcf7-form .wpcf7-form-control-wrap{display:block}
.wpcf7-form input:not([type=checkbox]):not([type=submit]),.wpcf7-form select,.wpcf7-form textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid #CFD8DE;border-radius:12px;background:#fff;color:var(--ink)}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{border-color:var(--blue);outline:none}
.wpcf7-form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item{margin:0}
.wpcf7-form .wpcf7-acceptance label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14.5px}
.wpcf7-form .wpcf7-acceptance input{margin-top:4px}
.wpcf7-form .wpcf7-submit{justify-self:start;width:auto}
@media (max-width:600px){.wpcf7-form .two{grid-template-columns:1fr}}

/* ===================== Nachtrag 13.11.2026 – KARTEN (Startseite, Therapien, Kontakt) ===================== */
/* Ursache der "Lücken" und dünnen Balken: WordPress setzt im Textmodul automatisch Absätze (<p>).
   Weil jede Karte ein Link (<a class="card">) um Blöcke (<div>) ist, schließt der Browser den
   Link am <p> und legt eine leere Kopie der Karte an. Diese leere Kopie (nur Rahmen, 2px hoch)
   belegt einen eigenen Rasterplatz, daher das Schachbrett-Muster. Außerdem rutscht in der
   ersten Karte ein leerer Absatz über das Bild bzw. Symbol.
   Lösung: Hilfs-Absätze neutralisieren, leere Karten-Kopien ausblenden. */
.dv-html .cards>p{display:contents}
.dv-html .cards>br,.dv-html .cards>p>br{display:none}
.dv-html .cards a.card:not(:has(.cbody)){display:none}
.dv-html .cards>a.card>:not(.cimg):not(.cbody):not(.tag){display:none}
.dv-html .card .cbody>p:empty,.dv-html .card .cbody>br{display:none}
/* Absatz um "Mehr erfahren →" und um das Symbol nicht wie Kartentext behandeln */
.dv-html .card .cbody>p:has(>.more){margin:0;flex:none}
.dv-html .card .ico>p{display:contents}

/* ===================== Nachtrag 13.11.2026 (2) – MENÜ IN EINER ZEILE ===================== */
/* "Startseite" ist ca. 30px breiter als "Home". Divi lässt die Menüpunkte umbrechen,
   dadurch rutschte "Kontakt" in eine zweite Zeile.
   (a) Menüpunkte nie umbrechen, auch nicht innerhalb eines Punkts ("Ihr Besuch & Kosten").
   (b) Bei knapper Breite (1141–1280px) etwas weniger Innenabstand, damit alles neben
       Logo und Button passt. Unter 1141px gilt weiterhin das ☰-Menü. */
.et_pb_menu.dv-menu .et_pb_menu__menu{flex:1 1 auto;min-width:0}
.et_pb_menu.dv-menu .et_pb_menu__menu>nav,.et_pb_menu.dv-menu .et_pb_menu__menu>nav>ul.et-menu{width:100%}
.et_pb_menu.dv-menu .et-menu{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-end}
.et_pb_menu.dv-menu .et-menu>li{flex:none;white-space:nowrap}
@media (min-width:1141px) and (max-width:1280px){
  .dv-menu .et-menu>li{padding-left:0!important;padding-right:0!important}
  .dv-menu .et-menu>li>a{padding:10px 8px!important}
  .et_pb_menu.dv-menu .et-menu>li.menu-item-has-children>a:first-child{padding-right:8px!important}
  .et_pb_row.dv-hbar{gap:12px}
}

/* ===================== Nachtrag 13.11.2026 (3) – UNTERMENÜ WIEDER UNTEREINANDER ===================== */
/* Das "nowrap" aus Nachtrag (2) wurde an die Untermenüs vererbt. Divi stellt deren Einträge
   als inline-block dar, dadurch standen sie nebeneinander statt untereinander. */
.et_pb_menu.dv-menu .et-menu .sub-menu{white-space:normal!important;flex-direction:column!important}
.et_pb_menu.dv-menu .et-menu .sub-menu li{display:block!important;float:none!important;width:100%!important;white-space:normal!important}
