/* ═══════════════════════════════════════════════════════════════
   VITALITAS — Über-uns-Seiten (Klinik, Team, Zweitmeinung,
   Expertennetzwerk, Rundgang)
   Ergänzt die zentrale Styles-Datei (Startseite/Behandlungen).
   Nutzt deren :root-Tokens, .wrap, .eyebrow, .display, .lead,
   .btn*, .glass, .pad, .deep, .field, .reveal, .q (FAQ).
   Alle neuen Klassen mit Präfix uu-.
   ═══════════════════════════════════════════════════════════════ */

/* ---------- 1. HERO — editorialer Split statt Vollbild ---------- */
.uu-hero{ position:relative; overflow:hidden; color:var(--paper); isolation:isolate; }
.uu-hero .wrap{ position:relative; z-index:2; }
.uu-hero-in{
  display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.82fr);
  gap:clamp(32px,5vw,84px); align-items:end;
  padding-top:clamp(120px,16vw,180px); padding-bottom:clamp(48px,6vw,84px);
}
.uu-crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:.55rem;
  font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(246,243,236,.62); margin:0 0 1.6rem;
}
.uu-crumbs a{ color:rgba(246,243,236,.82); text-decoration:none; transition:color .3s; }
.uu-crumbs a:hover{ color:var(--brass-lt); }
.uu-crumbs svg{ opacity:.45; }
.uu-crumbs .cur{ color:var(--brass-lt); }
.uu-hero h1{
  font-family:var(--ff-disp); font-weight:500; margin:0;
  font-size:clamp(2.3rem,5vw,4rem); line-height:1.08; text-wrap:balance;
  color:#F6F3EC !important;
}
.uu-hero h1 em{ font-style:italic; font-weight:500; color:var(--brass-lt) !important; }
.uu-hero-sub{
  font-size:clamp(1.02rem,1.3vw,1.18rem); font-weight:300;
  color:rgba(246,243,236,.84); max-width:52ch; margin:1.5rem 0 0;
}
.uu-hero-row{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.1rem; }

/* Rahmenbild — ruhiges Rechteck mit doppelter Rahmung (Signatur) */
.uu-frame{ position:relative; }
.uu-frame img{
  display:block; width:100%; height:auto;
  border-radius:var(--r);
  border:1px solid rgba(246,243,236,.28);
  box-shadow:0 34px 80px -30px rgba(10,22,18,.6);
}
.uu-frame::after{
  content:""; position:absolute; inset:12px;
  border-radius:calc(var(--r) - 7px);
  border:1px solid rgba(224,201,158,.4); pointer-events:none;
}
.uu-frame figcaption{
  position:absolute; left:50%; bottom:18px; transform:translateX(-50%);
  white-space:nowrap; font-size:.68rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(246,243,236,.85); background:rgba(16,28,23,.55);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  padding:.5rem 1.1rem; border-radius:100px; border:1px solid rgba(246,243,236,.22);
}

/* Meta-Hairline unter dem Hero */
.uu-hero-meta{
  display:flex; flex-wrap:wrap; gap:clamp(1.4rem,3.5vw,3.4rem);
  border-top:1px solid rgba(246,243,236,.18);
  padding:1.4rem 0 clamp(40px,5vw,64px);
}
.uu-hero-meta > div{ display:flex; flex-direction:column; gap:.18rem; }
.uu-hero-meta b{
  font-family:var(--ff-disp); font-weight:500; font-size:1.3rem; color:#F6F3EC;
}
.uu-hero-meta span{
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(246,243,236,.55);
}
.uu-hero-meta .hB-badge, .uu-hero-meta > div.hB-badge{
  margin-left:auto; display:flex; flex-direction:row !important; align-items:center; gap:.75rem;
}
.uu-hero-meta .hB-badge img{ height:46px; width:auto; display:block; }
.uu-hero-meta .hB-badge-txt{ display:flex; flex-direction:column; gap:.18rem; }
.uu-hero-meta .hB-badge-txt b{
  font-family:var(--ff-disp); font-weight:500; font-size:1.3rem; line-height:1; color:#F6F3EC;
}
.uu-hero-meta .hB-badge-txt > span{
  font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(246,243,236,.55);
}
.uu-hero-meta .hB-badge .lbl-short{ display:none; }
@media (max-width:640px){
  .uu-hero-meta .hB-badge .lbl-full{ display:none; }
  .uu-hero-meta .hB-badge .lbl-short{ display:inline; }
}

/* Slanke Variante (z. B. Rundgang): nur Text, direkt rein */
.uu-hero--slim .uu-hero-in{ grid-template-columns:1fr; padding-bottom:clamp(36px,4vw,56px); }
.uu-hero .uu-frame{ align-self:center; }
.uu-hero--slim .uu-hero-sub{ max-width:60ch; }

/* ---------- 2. ZAHLENBAND ---------- */
.uu-stats{ padding-block:clamp(54px,7vw,92px); }
.uu-stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(34,36,31,.14); border-bottom:1px solid rgba(34,36,31,.14);
}
.uu-stat{
  padding:clamp(1.6rem,2.6vw,2.6rem) clamp(1rem,2vw,2rem);
  border-left:1px solid rgba(34,36,31,.14);
}
.uu-stat:first-child{ border-left:none; }
.uu-stat b{
  display:block; font-family:var(--ff-disp); font-weight:400;
  font-size:clamp(2.2rem,4vw,3.4rem); line-height:1; color:var(--vt-dp);
}
.uu-stat b sup{ font-size:.45em; color:var(--brass); font-weight:500; }
.uu-stat span{
  display:block; margin-top:.7rem; font-size:.74rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute);
}

/* ---------- 3. EDITORIAL-SPLIT (Text ↔ Bild, alternierend) ---------- */
.uu-split{ display:grid; gap:clamp(44px,7vw,110px); }
.uu-row{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px,5vw,80px); align-items:center;
}
.uu-row:nth-child(even) .uu-row-fig{ order:-1; }
.uu-row-fig img{
  display:block; width:100%; height:clamp(300px,30vw,420px); object-fit:cover;
  border-radius:var(--r); box-shadow:var(--glass-sdw);
}
.uu-row-fig--arch img{ border-radius:var(--r); }
.uu-row h3{
  font-family:var(--ff-disp); font-weight:500; margin:0;
  font-size:clamp(1.5rem,2.4vw,2.1rem); line-height:1.18; text-wrap:balance;
}
.uu-row h3 em{ font-style:italic; font-weight:500; }
.uu-row p{ margin:1.1rem 0 0; font-size:1.02rem; line-height:1.72; color:var(--ink-soft); }
.uu-row a{ color:var(--vt-dp); font-weight:600; text-decoration:none; border-bottom:1px solid var(--brass); transition:color .3s; }
.uu-row a:hover{ color:var(--vt-dk); }
.uu-row-k{
  display:inline-flex; align-items:center; gap:.8rem; margin-bottom:1.1rem;
  font-size:.7rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--vt-dp);
}
.uu-row-k::before{ content:""; width:28px; height:1px; background:var(--brass); }

/* ---------- 4. WERDEGANG-TIMELINE ---------- */
.uu-tl{ position:relative; max-width:860px; margin-inline:auto; padding-left:clamp(28px,4vw,48px); }
.uu-tl::before{
  content:""; position:absolute; left:6px; top:10px; bottom:10px; width:1px;
  background:linear-gradient(to bottom, var(--brass) 0%, rgba(195,162,101,.25) 100%);
}
.uu-tl-item{ position:relative; padding-bottom:clamp(2rem,4vw,3.2rem); }
.uu-tl-item:last-child{ padding-bottom:0; }
.uu-tl-item::before{
  content:""; position:absolute; left:calc(6px - clamp(28px,4vw,48px)); top:.55rem;
  width:13px; height:13px; border-radius:50%;
  background:var(--cream); border:2px solid var(--brass);
  transform:translateX(-6px); box-shadow:0 0 0 5px rgba(195,162,101,.15);
}
.uu-tl-k{
  font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--brass); margin:0 0 .35rem;
}
.uu-tl-item h3{
  font-family:var(--ff-disp); font-weight:500; margin:0;
  font-size:clamp(1.18rem,1.8vw,1.5rem); line-height:1.25;
}
.uu-tl-item p{ margin:.55rem 0 0; font-size:1rem; line-height:1.7; color:var(--ink-soft); max-width:62ch; }
.uu-tl-item a{ color:var(--vt-dp); font-weight:600; text-decoration:none; border-bottom:1px solid var(--brass); }

/* ---------- 5. MOSAIK-GALERIE ---------- */
.uu-mosaic{
  display:grid; gap:clamp(10px,1.4vw,18px);
  grid-template-columns:repeat(6,1fr); grid-auto-rows:clamp(120px,14vw,200px);
}
.uu-mosaic figure{ margin:0; position:relative; overflow:hidden; border-radius:var(--r-sm); }
.uu-mosaic img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 1.2s var(--ease);
}
.uu-mosaic figure:hover img{ transform:scale(1.045); }
.uu-mosaic figcaption{
  position:absolute; left:12px; bottom:12px;
  font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:#F6F3EC; background:rgba(16,28,23,.5);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  padding:.4rem .85rem; border-radius:100px;
}
.uu-mosaic figure:nth-child(1){ grid-column:span 4; grid-row:span 2; }
.uu-mosaic figure:nth-child(2){ grid-column:span 2; grid-row:span 1; }
.uu-mosaic figure:nth-child(3){ grid-column:span 2; grid-row:span 1; }
.uu-mosaic figure:nth-child(4){ grid-column:span 2; grid-row:span 1; }
.uu-mosaic figure:nth-child(5){ grid-column:span 2; grid-row:span 1; }
.uu-mosaic figure:nth-child(6){ grid-column:span 2; grid-row:span 1; }

/* ---------- 6. PLAKETTEN (Fachgesellschaften, Schwerpunkte) ---------- */
.uu-plaques{
  display:grid; gap:clamp(14px,1.8vw,22px);
  grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
}
.uu-plaque{
  border:1px solid rgba(34,36,31,.16); border-radius:var(--r);
  padding:clamp(1.5rem,2.4vw,2.2rem);
  background:rgba(255,255,255,.35); position:relative;
  transition:border-color .4s, transform .5s var(--ease), box-shadow .5s var(--ease);
}
.uu-plaque:hover{
  border-color:var(--brass); transform:translateY(-3px);
  box-shadow:0 22px 50px -24px rgba(46,90,76,.3);
}
.uu-plaque b{
  display:block; font-family:var(--ff-disp); font-weight:500;
  font-size:clamp(1.25rem,1.9vw,1.6rem); color:var(--vt-dp); line-height:1.2;
}
.uu-plaque .uu-pk{
  display:block; font-size:.68rem; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:var(--brass); margin:0 0 .65rem;
}
.uu-plaque p{ margin:.75rem 0 0; font-size:.95rem; color:var(--ink-soft); }
.uu-plaque a{ color:var(--vt-dp); font-weight:600; text-decoration:none; border-bottom:1px solid var(--brass); }

/* ---------- 7. ZITATBAND ---------- */
.uu-quote{ padding-block:clamp(64px,9vw,120px); text-align:center; position:relative; }
.uu-quote blockquote{ margin:0 auto; max-width:46ch; position:relative; }
.uu-quote blockquote::before{
  content:"„"; display:block; font-family:var(--ff-disp); font-weight:400;
  font-size:clamp(4.5rem,8vw,7rem); line-height:.6; color:var(--brass);
  margin-bottom:1.6rem;
}
.uu-quote .uu-stars{ display:block; color:var(--brass); letter-spacing:.3em; font-size:.95rem; margin-bottom:1.2rem; }
.uu-quote p{
  font-family:var(--ff-disp); font-weight:400; font-style:italic;
  font-size:clamp(1.25rem,2.2vw,1.8rem); line-height:1.45; margin:0; color:var(--ink);
  text-wrap:balance;
}
.uu-quote footer{
  margin-top:1.6rem; font-size:.72rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute);
}
.uu-quote footer::before{
  content:""; display:block; width:36px; height:1px; background:var(--brass); margin:0 auto 1rem;
}

/* Mehrere statische Stimmen als ruhiges Raster */
.uu-vgrid{ display:grid; gap:clamp(14px,1.8vw,22px); grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr)); }
.uu-v{
  border-radius:var(--r); padding:clamp(1.5rem,2.3vw,2.1rem); margin:0;
  background:rgba(255,255,255,.45); border:1px solid rgba(255,255,255,.7);
  box-shadow:var(--glass-sdw); display:flex; flex-direction:column;
}
.uu-v .uu-stars{ color:var(--brass); letter-spacing:.25em; font-size:.85rem; margin-bottom:.9rem; }
.uu-v p{ margin:0; font-size:.95rem; color:var(--ink-soft); flex:1; }
.uu-v footer{
  margin-top:1.2rem; padding-top:1rem; border-top:1px solid rgba(34,36,31,.1);
  font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-mute);
}

/* ---------- 8. NUMMERIERTE SITUATIONEN (Zweitmeinung) ---------- */
.uu-check{ list-style:none; margin:0; padding:0; max-width:900px; margin-inline:auto; counter-reset:uu; }
.uu-check li{
  counter-increment:uu; display:grid; grid-template-columns:auto 1fr;
  gap:clamp(1.2rem,3vw,2.6rem); align-items:start;
  padding:clamp(1.6rem,2.6vw,2.4rem) 0; border-top:1px solid rgba(34,36,31,.14);
}
.uu-check li:last-child{ border-bottom:1px solid rgba(34,36,31,.14); }
.uu-check li::before{
  content:"0" counter(uu);
  font-family:var(--ff-disp); font-weight:300; font-size:clamp(2rem,3.6vw,3rem);
  line-height:1; color:var(--brass); min-width:2.2ch;
}
.uu-check b{
  display:block; font-family:var(--ff-disp); font-weight:500;
  font-size:clamp(1.15rem,1.7vw,1.4rem); margin-bottom:.4rem;
}
.uu-check .uu-ck{ font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--vt-dp); display:block; margin-bottom:.3rem; }
.uu-check p{ margin:0; font-size:1rem; line-height:1.7; color:var(--ink-soft); max-width:62ch; }

/* ---------- 9. PERSONEN (Empfang / Porträtkarten) ---------- */
.uu-duo{ display:grid; gap:clamp(24px,3.5vw,48px); grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr)); max-width:980px; margin-inline:auto; }
.uu-person{ text-align:center; }
.uu-person img{
  display:block; width:min(100%,340px); height:clamp(320px,26vw,400px); object-fit:cover;
  margin-inline:auto; border-radius:var(--r);
  box-shadow:var(--glass-sdw); border:1px solid rgba(255,255,255,.7);
}
.uu-person b{
  display:block; margin-top:1.5rem; font-family:var(--ff-disp); font-weight:500;
  font-size:clamp(1.3rem,2vw,1.7rem);
}
.uu-person .uu-role{
  display:block; margin-top:.4rem; font-size:.72rem; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:var(--brass);
}
.uu-person p{ margin:1rem auto 0; max-width:42ch; color:var(--ink-soft); font-size:.97rem; }

/* ---------- 10. KONTAKTWEGE (Zeilen) ---------- */
.uu-ways{ max-width:860px; margin-inline:auto; }
.uu-way{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center;
  gap:clamp(1rem,2.5vw,2rem); padding:clamp(1.2rem,2vw,1.7rem) 0;
  border-top:1px solid rgba(34,36,31,.14); text-decoration:none; color:inherit;
  transition:padding-left .45s var(--ease);
}
.uu-way:last-child{ border-bottom:1px solid rgba(34,36,31,.14); }
.uu-way:hover{ padding-left:.6rem; }
.uu-way-ico{
  width:46px; height:46px; border-radius:50%; flex:none;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--brass); color:var(--vt-dp); line-height:0;
}
.uu-way-ico svg{ display:block; margin:auto; }
.uu-way b{ display:block; font-family:var(--ff-disp); font-weight:500; font-size:1.08rem; }
.uu-way span{ display:block; font-size:.88rem; color:var(--ink-soft); margin-top:.15rem; }
.uu-way svg.uu-way-arr{ color:var(--brass); transition:transform .45s var(--ease); }
.uu-way:hover svg.uu-way-arr{ transform:translateX(5px); }

/* ---------- 11. MATTERPORT-BÜHNE ---------- */
.uu-tour{ position:relative; }
.uu-tour-frame{
  position:relative; border-radius:var(--r); overflow:hidden;
  box-shadow:0 40px 90px -36px rgba(16,38,31,.55);
  border:1px solid rgba(34,36,31,.14);
  background:var(--vt-dk);
}
.uu-tour-frame iframe{ display:block; width:100%; height:clamp(420px,62vh,700px); border:0; }
.uu-tour-hints{
  display:flex; flex-wrap:wrap; gap:clamp(1rem,3vw,2.4rem); justify-content:center;
  margin-top:1.4rem; font-size:.78rem; font-weight:600; letter-spacing:.08em;
  color:var(--ink-mute); text-transform:uppercase;
}
.uu-tour-hints span{ display:inline-flex; align-items:center; gap:.5rem; }
.uu-tour-hints svg{ color:var(--brass); }

/* ---------- 12. WEITERLESEN-LEISTE ---------- */
.uu-next{ padding-block:clamp(48px,6vw,80px); }
.uu-next-grid{ display:grid; gap:clamp(12px,1.6vw,20px); grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); }
.uu-next a{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:clamp(1.2rem,1.8vw,1.6rem) clamp(1.3rem,2vw,1.8rem);
  border:1px solid rgba(34,36,31,.16); border-radius:var(--r);
  text-decoration:none; color:inherit;
  transition:border-color .4s, transform .5s var(--ease), box-shadow .5s var(--ease);
}
.uu-next a:hover{ border-color:var(--brass); transform:translateY(-3px); box-shadow:0 20px 44px -22px rgba(46,90,76,.3); }
.uu-next a span{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--brass); margin-bottom:.3rem; }
.uu-next a b{ font-family:var(--ff-disp); font-weight:500; font-size:1.05rem; }
.uu-next a svg{ flex:none; color:var(--vt-dp); transition:transform .45s var(--ease); }
.uu-next a:hover svg{ transform:translateX(5px); }

/* ---------- Sektionsköpfe (zentriert, schmal) ---------- */
.uu-head{ max-width:62ch; margin:0 0 clamp(2.2rem,4vw,3.6rem); }
.uu-head--center{ margin-inline:auto; text-align:center; }
.uu-head--center .eyebrow{ justify-content:center; }
.uu-head .lead{ margin-top:1rem; }

/* ═══ RATGEBER-ÜBERSICHT (Divi-Blog-Modul) ═══
   Greift überall, wo das Blog-Grid-Modul liegt — robust auch ohne Sektions-Klasse. */
.et_pb_row:has(.et_pb_blog_grid), .vit-sec--ratgeber .et_pb_row{
  width:100% !important; max-width:1240px !important;
  margin-inline:auto !important; padding-inline:clamp(20px,4vw,48px) !important;
  float:none !important;
}
/* Gürtel + Hosenträger: das Modul selbst auf die Wrap-Breite begrenzen,
   egal was Row oder Sektion machen */
.et_pb_blog_grid{
  width:100% !important; max-width:1240px !important;
  margin-inline:auto !important;
  padding-inline:clamp(20px,4vw,48px);
  box-sizing:border-box;
  float:none !important;
}
/* Salvattore-Spalten neutralisieren, echtes Grid: 3 / 2 / 1 pro Reihe */
.et_pb_blog_grid .et_pb_salvattore_content,
.et_pb_blog_grid [data-columns]{
  display:grid !important;
  grid-template-columns:repeat(2,1fr);
  gap:clamp(18px,2.2vw,28px);
}
.et_pb_blog_grid .column{ display:contents !important; width:auto !important; float:none !important; }
.et_pb_blog_grid .et_pb_post{ margin:0 !important; width:auto !important; max-width:none !important; }
@media (max-width:700px){ .et_pb_blog_grid .et_pb_salvattore_content, .et_pb_blog_grid [data-columns]{ grid-template-columns:1fr; } }
/* Salvattore verteilt chronologisch in Spalten — Original-Reihenfolge über order wiederherstellen */
.et_pb_blog_grid .et_pb_blog_item_0_0{order:0;}
.et_pb_blog_grid .et_pb_blog_item_0_1{order:1;}
.et_pb_blog_grid .et_pb_blog_item_0_2{order:2;}
.et_pb_blog_grid .et_pb_blog_item_0_3{order:3;}
.et_pb_blog_grid .et_pb_blog_item_0_4{order:4;}
.et_pb_blog_grid .et_pb_blog_item_0_5{order:5;}
.et_pb_blog_grid .et_pb_blog_item_0_6{order:6;}
.et_pb_blog_grid .et_pb_blog_item_0_7{order:7;}
.et_pb_blog_grid .et_pb_blog_item_0_8{order:8;}
.et_pb_blog_grid .et_pb_blog_item_0_9{order:9;}
.et_pb_blog_grid .et_pb_blog_item_0_10{order:10;}
.et_pb_blog_grid .et_pb_blog_item_0_11{order:11;}
.et_pb_blog_grid .et_pb_blog_item_0_12{order:12;}
.et_pb_blog_grid .et_pb_blog_item_0_13{order:13;}
.et_pb_blog_grid .et_pb_blog_item_0_14{order:14;}
.et_pb_blog_grid .et_pb_blog_item_0_15{order:15;}
.et_pb_blog_grid .et_pb_blog_item_0_16{order:16;}
.et_pb_blog_grid .et_pb_blog_item_0_17{order:17;}
.et_pb_blog_grid .et_pb_blog_item_0_18{order:18;}
.et_pb_blog_grid .et_pb_blog_item_0_19{order:19;}
.et_pb_blog_grid .et_pb_blog_item_0_20{order:20;}
.et_pb_blog_grid .et_pb_blog_item_0_21{order:21;}
.et_pb_blog_grid .et_pb_blog_item_0_22{order:22;}
.et_pb_blog_grid .et_pb_blog_item_0_23{order:23;}
/* Karten-Look (ungescoped, Modul existiert nur auf der Ratgeber-Seite) */
.et_pb_blog_grid .et_pb_post{
  background:rgba(255,255,255,.45); border:1px solid rgba(255,255,255,.7);
  border-radius:var(--r); overflow:hidden; box-shadow:var(--glass-sdw);
  padding:0 !important; display:flex; flex-direction:column;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.et_pb_blog_grid .et_pb_post:hover{ transform:translateY(-4px); }
.et_pb_blog_grid .et_pb_image_container{ margin:0 !important; }
.et_pb_blog_grid .entry-featured-image-url{ display:block; margin:0 !important; }
.et_pb_blog_grid .entry-featured-image-url img{ width:100%; height:260px; object-fit:cover; display:block; }
.et_pb_blog_grid .entry-title{
  font-family:var(--ff-disp) !important; font-weight:500 !important;
  font-size:1.12rem !important; line-height:1.35 !important;
  padding:1.2rem 1.4rem .2rem !important; margin:0 !important;
}
.et_pb_blog_grid .entry-title a{ color:var(--ink) !important; text-decoration:none; }
.et_pb_blog_grid .entry-title a:hover{ color:var(--vt-dp) !important; }
.et_pb_blog_grid .post-meta{
  padding:0 1.4rem !important; margin:.2rem 0 0 !important;
  font-size:.7rem !important; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-mute) !important;
}
.et_pb_blog_grid .post-content{ flex:1; }
.et_pb_blog_grid .post-content-inner p{
  padding:0 1.4rem; margin:.6rem 0 0 !important;
  font-size:.92rem !important; line-height:1.6; color:var(--ink-soft) !important;
}
.et_pb_blog_grid a.more-link{
  display:inline-block; margin:.8rem 1.4rem 1.3rem; font-weight:600; font-size:.9rem;
  color:var(--vt-dp) !important; text-decoration:none; border-bottom:1px solid var(--brass);
}
.et_pb_blog_grid ~ div .pagination, .vit-sec--ratgeber .pagination{ margin-top:2rem; }
.vit-sec--ratgeber .pagination a{ color:var(--vt-dp); font-weight:600; text-decoration:none; border-bottom:1px solid var(--brass); }

/* ---------- 19. PREISE-HUB (Suche + Filter) ---------- */
.uu-ph{ max-width:860px; margin:0 auto clamp(2rem,3.5vw,3rem); }
.uu-ph-search{
  display:flex; align-items:center; gap:.9rem;
  background:rgba(255,255,255,.6); border:1px solid rgba(34,36,31,.18);
  border-radius:100px; padding:.4rem .6rem .4rem 1.4rem;
  box-shadow:var(--glass-sdw);
  transition:border-color .3s;
}
.uu-ph-search:focus-within{ border-color:var(--vt-dp); }
.uu-ph-search svg{ flex:none; color:var(--ink-mute); }
.uu-ph-search input,
.uu-ph-search input[type="text"]{
  flex:1; min-width:0; padding:.7rem 0; margin:0;
  border:0 !important; outline:0 !important;
  background:transparent !important; box-shadow:none !important;
  border-radius:0 !important; -webkit-appearance:none; appearance:none;
  font-family:var(--ff-body); font-size:1.05rem; color:var(--ink);
  height:auto; line-height:1.4;
}
.uu-ph-search input:focus{
  border:0 !important; outline:0 !important;
  background:transparent !important; box-shadow:none !important;
}
.uu-ph-search input::placeholder{ color:var(--ink-mute); }
.uu-ph-chips{ display:flex; flex-wrap:wrap; gap:.55rem; justify-content:center; margin-top:1.1rem; }
.uu-chip{
  border:1px solid rgba(34,36,31,.2); background:transparent; cursor:pointer;
  border-radius:100px; padding:.5rem 1.15rem;
  font-family:var(--ff-body); font-size:.82rem; font-weight:600; letter-spacing:.04em;
  color:var(--ink-soft); transition:all .3s;
}
.uu-chip:hover{ border-color:var(--vt-dp); color:var(--vt-dp); }
.uu-chip.is-active{ background:var(--vt-dp); border-color:var(--vt-dp); color:#F6F3EC; }
.uu-pr-groups{ max-width:860px; margin-inline:auto; }
.uu-pr-group{ margin-bottom:clamp(2rem,3.5vw,3rem); }
.uu-pr-group h3{
  font-family:var(--ff-disp); font-weight:500; font-size:clamp(1.25rem,2vw,1.6rem);
  margin:0 0 .4rem; display:flex; align-items:baseline; gap:.8rem;
}
.uu-pr-group h3 small{
  font-family:var(--ff-body); font-size:.68rem; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:var(--brass);
}
.uu-pr-group ul{ list-style:none; margin:0; padding:0; }
.uu-pr-row a, .uu-pr-row > span.uu-pr-static{
  display:flex; align-items:baseline; gap:1rem;
  padding:1rem .2rem; text-decoration:none; color:inherit;
  border-top:1px solid rgba(34,36,31,.12);
  transition:padding-left .4s var(--ease);
}
.uu-pr-row:last-child a, .uu-pr-row:last-child > span.uu-pr-static{ border-bottom:1px solid rgba(34,36,31,.12); }
.uu-pr-row a:hover{ padding-left:.6rem; }
.uu-pr-name{ font-size:1.02rem; font-weight:500; color:var(--ink); }
.uu-pr-name small{ font-size:.8rem; font-weight:400; color:var(--ink-mute); margin-left:.4rem; }
.uu-pr-dots{ display:none; }
.uu-pr-price{ margin-left:auto; text-align:right; font-family:var(--ff-disp); font-weight:500; font-size:1.02rem; color:var(--vt-dp); white-space:nowrap; }
.uu-pr-row a svg{ flex:none; color:var(--brass); align-self:center; }
.uu-pr-empty{
  text-align:center; color:var(--ink-mute); padding:2rem 0; margin:0;
}
@media (max-width:560px){
  .uu-pr-row a, .uu-pr-row > span.uu-pr-static{ flex-wrap:wrap; gap:.2rem 1rem; }
  .uu-pr-price{ margin-left:auto; }
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .uu-hero-in{ grid-template-columns:1fr; align-items:start; gap:36px; }
  .uu-frame{ max-width:460px; }
  .uu-hero-meta .hB-badge{ margin-left:0; }
  .uu-row{ grid-template-columns:1fr; }
  .uu-row:nth-child(even) .uu-row-fig{ order:0; }
  .uu-stats-grid{ grid-template-columns:1fr 1fr; }
  .uu-stat:nth-child(3){ border-left:none; }
  .uu-stat:nth-child(n+3){ border-top:1px solid rgba(34,36,31,.14); }
  .uu-mosaic{ grid-template-columns:repeat(2,1fr); grid-auto-rows:clamp(140px,26vw,220px); }
  .uu-mosaic figure:nth-child(1){ grid-column:span 2; }
  .uu-mosaic figure:nth-child(n+2){ grid-column:span 1; }
}
@media (max-width:640px){
  .uu-hero-meta{ gap:1rem 1.6rem; }
  .uu-check li{ grid-template-columns:1fr; gap:.5rem; }
  .uu-way{ grid-template-columns:auto 1fr; }
  .uu-way svg.uu-way-arr{ display:none; }
}


/* ---------- 13. ÜBER IHN — Essay ---------- */
.uu-essay{ max-width:1000px; }
.uu-essay-intro{
  font-family:var(--ff-disp); font-weight:400; font-style:italic;
  font-size:clamp(1.3rem,2.2vw,1.8rem); line-height:1.45; color:var(--vt-dp);
  margin:0 0 clamp(1.6rem,3vw,2.4rem); max-width:34ch; text-wrap:balance;
}
.uu-essay-intro::after{ content:""; display:block; width:44px; height:1px; background:var(--brass); margin-top:1.4rem; }
.uu-essay-cols{ columns:2; column-gap:clamp(2rem,4vw,4rem); }
.uu-essay-cols p{ margin:0 0 1.1rem; font-size:1.05rem; line-height:1.75; color:var(--ink-soft); break-inside:avoid; }
.uu-essay-cols p:last-child{ margin-bottom:0; }
@media (max-width:860px){ .uu-essay-cols{ columns:1; } }

/* ---------- 14. WERDEGANG — horizontale Journey ---------- */
.uu-journey{ padding-block:clamp(70px,9vw,120px); overflow:hidden; }
.uu-jhead{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:2rem; flex-wrap:wrap; margin-bottom:clamp(2rem,3.5vw,3rem);
}
.uu-jhead .lead{ max-width:34ch; color:rgba(246,243,236,.75); }
.uu-jviewport{ position:relative; }
.uu-jtrack{
  display:flex; gap:clamp(14px,1.8vw,22px);
  overflow-x:auto; scroll-snap-type:x mandatory;
  padding-inline:max(var(--gut), calc((100vw - var(--wrap)) / 2 + var(--gut)));
  scroll-padding-inline:max(var(--gut), calc((100vw - var(--wrap)) / 2 + var(--gut)));
  padding-block:6px 18px;
  scrollbar-width:none; -ms-overflow-style:none;
  cursor:grab;
}
.uu-jtrack::-webkit-scrollbar{ display:none; }
.uu-jtrack.is-drag{ cursor:grabbing; scroll-snap-type:none; }
.uu-jcard{
  flex:0 0 clamp(270px,30vw,380px); scroll-snap-align:start;
  padding:clamp(1.6rem,2.4vw,2.2rem);
  display:flex; flex-direction:column; align-items:flex-start;
  min-height:clamp(260px,24vw,320px);
  transition:transform .6s var(--ease), border-color .4s;
}
.uu-jcard:hover{ transform:translateY(-4px); border-color:rgba(224,201,158,.45); }
.uu-jnum{
  font-family:var(--ff-disp); font-weight:200;
  font-size:clamp(2.6rem,4.5vw,3.8rem); line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(224,201,158,.75);
  margin-bottom:auto; padding-bottom:1.2rem;
}
.uu-jk{
  font-size:.66rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--brass-lt); margin-bottom:.5rem;
}
.uu-jcard h3{
  font-family:var(--ff-disp); font-weight:500; margin:0;
  font-size:clamp(1.12rem,1.6vw,1.35rem); line-height:1.3; color:#F6F3EC;
}
.uu-jcard p{ margin:.6rem 0 0; font-size:.92rem; color:rgba(246,243,236,.72); }
.uu-jcard a{ color:var(--brass-lt); text-decoration:none; border-bottom:1px solid rgba(224,201,158,.5); }
.uu-jnav{ display:flex; align-items:center; gap:1.1rem; margin-top:clamp(1.4rem,2.4vw,2rem); }
.uu-jarrow{
  width:46px; height:46px; border-radius:50%; flex:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.1); color:#F6F3EC;
  border:1px solid rgba(246,243,236,.3);
  transition:background .3s, border-color .3s, opacity .3s, transform .3s;
}
.uu-jarrow:hover{ background:rgba(255,255,255,.2); border-color:rgba(224,201,158,.6); }
.uu-jarrow[disabled]{ opacity:.35; cursor:default; }
.uu-jbar-track{ flex:1; height:1px; background:rgba(246,243,236,.2); position:relative; overflow:hidden; border-radius:2px; }
.uu-jbar{
  position:absolute; inset:0 auto 0 0; width:18%;
  background:linear-gradient(90deg, var(--brass), var(--brass-lt));
  border-radius:2px; transition:width .25s ease;
}
@media (max-width:640px){
  .uu-jcard{ flex-basis:min(82vw,320px); }
}


/* ---------- 15. PREISÜBERSICHT ---------- */
.uu-prices{ display:grid; gap:clamp(16px,2vw,26px); grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); align-items:start; }
.uu-price{ border:1px solid rgba(34,36,31,.16); border-radius:var(--r); overflow:hidden; background:rgba(255,255,255,.35); }
.uu-price caption{
  text-align:left; padding:1.1rem 1.4rem .9rem;
  font-family:var(--ff-disp); font-weight:500; font-size:1.15rem; color:var(--vt-dp);
  border-bottom:1px solid rgba(34,36,31,.12);
}
.uu-price{ width:100%; border-collapse:collapse; }
.uu-price td{ padding:.78rem 1.4rem; font-size:.95rem; border-top:1px solid rgba(34,36,31,.08); }
.uu-price tr:first-child td{ border-top:none; }
.uu-price td:last-child{ text-align:right; white-space:nowrap; font-weight:600; color:var(--vt-dp); }
.uu-price-note{ margin-top:1.4rem; font-size:.85rem; color:var(--ink-mute); max-width:70ch; }

/* ---------- 16. ONLINE-BUCHUNG (Platzhalter-Karte) ---------- */
.uu-booking{ max-width:880px; margin-inline:auto; padding:clamp(1.8rem,3vw,2.8rem); }

/* ---------- 17. RATGEBER-ÜBERSICHT (Divi-Blog-Modul einkleiden) ---------- */
.vit-sec--ratgeber .et_pb_blog_grid .et_pb_post{
  background:rgba(255,255,255,.45); border:1px solid rgba(255,255,255,.7);
  border-radius:var(--r); overflow:hidden; box-shadow:var(--glass-sdw);
  padding:0; transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.vit-sec--ratgeber .et_pb_blog_grid .et_pb_post:hover{ transform:translateY(-4px); }
.vit-sec--ratgeber .et_pb_post .entry-featured-image-url{ display:block; margin:0; }
.vit-sec--ratgeber .et_pb_post .entry-featured-image-url img{ width:100%; height:210px; object-fit:cover; display:block; }
.vit-sec--ratgeber .et_pb_post .entry-title{
  font-family:var(--ff-disp); font-weight:500; font-size:1.12rem; line-height:1.35;
  padding:1.2rem 1.4rem .2rem; margin:0;
}
.vit-sec--ratgeber .et_pb_post .entry-title a{ color:var(--ink); text-decoration:none; }
.vit-sec--ratgeber .et_pb_post .entry-title a:hover{ color:var(--vt-dp); }
.vit-sec--ratgeber .et_pb_post .post-meta{
  padding:0 1.4rem; font-size:.72rem; font-weight:600; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-mute);
}
.vit-sec--ratgeber .et_pb_post .post-content,
.vit-sec--ratgeber .et_pb_post p{ padding:0 1.4rem; font-size:.92rem; color:var(--ink-soft); }
.vit-sec--ratgeber .et_pb_post a.more-link{
  display:inline-block; margin:.6rem 1.4rem 1.3rem; font-weight:600; font-size:.9rem;
  color:var(--vt-dp); text-decoration:none; border-bottom:1px solid var(--brass);
}
.vit-sec--ratgeber .pagination, .vit-sec--ratgeber .wp-pagenavi{ margin-top:2rem; }


/* ---------- 18. RECHTSTEXTE (Impressum / Datenschutz) ---------- */
.uu-legal{ max-width:820px; }
.uu-legal h2{
  font-family:var(--ff-disp); font-weight:500; font-size:clamp(1.3rem,2vw,1.7rem);
  margin:clamp(2.2rem,3.5vw,3rem) 0 .8rem; line-height:1.3;
}
.uu-legal h2:first-child{ margin-top:0; }
.uu-legal h3{
  font-family:var(--ff-disp); font-weight:600; font-size:1.05rem;
  margin:1.8rem 0 .5rem;
}
.uu-legal p{ margin:.7rem 0; font-size:1rem; line-height:1.72; color:var(--ink-soft); }
.uu-legal ul{ margin:.7rem 0; padding-left:1.3rem; color:var(--ink-soft); }
.uu-legal li{ margin:.35rem 0; }
.uu-legal a{ color:var(--vt-dp); font-weight:600; text-decoration:none; border-bottom:1px solid var(--brass); }
.uu-legal strong{ color:var(--ink); }
.uu-legal address{ font-style:normal; color:var(--ink-soft); }


/* Preise: engerer Anschluss an die Finanzierungs-Sektion */
#preise.pad{ padding-bottom:clamp(36px,4vw,56px); }
#finanzierung.pad, .vit-sec--finanzierung .pad{ padding-top:clamp(36px,4vw,56px); }
.uu-pr-group:last-child{ margin-bottom:0; }

/* ---------- 20. RATGEBER-ARTIKEL (single.php) ---------- */
.uu-post-hero{ padding-top:clamp(120px,15vw,170px); padding-bottom:clamp(40px,5vw,64px); }
.uu-post-hero .uu-crumbs a, .uu-post-hero .uu-crumbs .cur{ white-space:nowrap; }
.uu-post-hero h1{
  font-family:var(--ff-disp); font-weight:500; margin:0;
  font-size:clamp(1.9rem,3.6vw,3rem); line-height:1.15; text-wrap:balance;
  color:#F6F3EC !important; max-width:24ch;
}
.uu-post-meta{ display:flex; align-items:center; gap:1rem; margin-top:1.8rem; flex-wrap:wrap; }
.uu-post-docs{ display:flex; flex:none; }
.uu-post-docs img{
  width:40px; height:40px; border-radius:50%; object-fit:cover; display:block;
  border:2px solid rgba(246,243,236,.85);
}
.uu-post-docs img + img{ margin-left:-12px; }
.uu-post-meta b{ display:block; font-size:.9rem; font-weight:600; color:#F6F3EC; }
.uu-post-meta time{
  display:block; font-size:.7rem; font-weight:600; letter-spacing:.16em;
  text-transform:uppercase; color:rgba(246,243,236,.55); margin-top:.15rem;
}
.uu-post-figure{ max-width:900px; margin:clamp(-38px,-4vw,-56px) auto 0; padding-inline:var(--gut); position:relative; z-index:3; }
.uu-post-figure img{
  width:100%; height:auto; display:block; border-radius:var(--r);
  box-shadow:0 34px 80px -30px rgba(10,22,18,.45); border:1px solid rgba(255,255,255,.6);
}
.uu-article{ max-width:760px; margin-inline:auto; padding:clamp(40px,6vw,72px) var(--gut) clamp(56px,7vw,88px); }
.uu-article p{ font-size:1.05rem; line-height:1.78; color:var(--ink-soft); margin:1.1rem 0; }
.uu-article h2{
  font-family:var(--ff-disp); font-weight:500; color:var(--ink);
  font-size:clamp(1.4rem,2.2vw,1.8rem); line-height:1.3;
  margin:clamp(2.2rem,3.5vw,2.8rem) 0 .6rem;
}
.uu-article h3{ font-family:var(--ff-disp); font-weight:600; font-size:1.15rem; margin:1.8rem 0 .4rem; }
.uu-article a{ color:var(--vt-dp); font-weight:600; text-decoration:none; border-bottom:1px solid var(--brass); transition:color .3s; }
.uu-article a:hover{ color:var(--vt-dk); }
.uu-article ul, .uu-article ol{ font-size:1.05rem; line-height:1.78; color:var(--ink-soft); padding-left:1.4rem; }
.uu-article li{ margin:.4rem 0; }
.uu-article img{ border-radius:var(--r-sm); height:auto; max-width:100%; }
.uu-article blockquote{
  margin:1.8rem 0; padding:1rem 1.4rem; border-left:2px solid var(--brass);
  font-style:italic; color:var(--ink);
}
/* Artikel-CTA */
.uu-post-cta{
  max-width:760px; margin:0 auto clamp(56px,7vw,88px); padding-inline:var(--gut);
}
.uu-post-cta-in{
  border:1px solid rgba(34,36,31,.16); border-radius:var(--r);
  padding:clamp(1.6rem,2.6vw,2.4rem);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
  background:rgba(255,255,255,.4);
}
.uu-post-cta b{ font-family:var(--ff-disp); font-weight:500; font-size:1.2rem; display:block; }
.uu-post-cta p{ margin:.3rem 0 0; font-size:.95rem; color:var(--ink-soft); }
/* Weiterlesen */
.uu-post-more{ max-width:1240px; margin-inline:auto; padding:0 var(--gut) clamp(64px,8vw,100px); }
.uu-post-more h2{
  font-family:var(--ff-disp); font-weight:500; font-size:clamp(1.4rem,2.2vw,1.8rem);
  margin:0 0 1.4rem; text-align:center;
}
.uu-post-more-grid{ display:grid; gap:clamp(14px,1.8vw,22px); grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); }
.uu-post-more-grid a{
  display:flex; flex-direction:column; text-decoration:none; color:inherit;
  background:rgba(255,255,255,.45); border:1px solid rgba(255,255,255,.7);
  border-radius:var(--r); overflow:hidden; box-shadow:var(--glass-sdw);
  transition:transform .5s var(--ease);
}
.uu-post-more-grid a:hover{ transform:translateY(-4px); }
.uu-post-more-grid img{ width:100%; height:170px; object-fit:cover; display:block; }
.uu-post-more-grid b{
  font-family:var(--ff-disp); font-weight:500; font-size:1.02rem; line-height:1.35;
  padding:1.1rem 1.3rem .3rem;
}
.uu-post-more-grid time{
  padding:0 1.3rem 1.2rem; font-size:.68rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute);
}


/* ---------- 21. STARTSEITEN-FEINSCHLIFF ---------- */
/* Responsive Text-Varianten (z. B. Ortsname im Hero-Chip) */
.vit-only-m{ display:none; }
@media (max-width:640px){
  .vit-only-d{ display:none; }
  .vit-only-m{ display:inline; }
}
/* Einblicke: Karten-/Phone-Schatten mobil kompakt, damit er nicht an der
   Sektionskante (overflow:hidden wegen Deko-Blobs) abgeschnitten wird */
@media (max-width:980px){
  .vt2-card{ box-shadow:0 12px 24px -14px rgba(0,0,0,.45) !important; }
  .vt2-phone{ box-shadow:0 14px 26px -14px rgba(0,0,0,.5) !important; }
  .vt2-grid{ padding-block:10px; }
}
/* Hero-Meta: Zusatzinfos mobil ausblenden (Fallback, deckungsgleich mit Behandlungsseiten) */
@media (max-width:860px){
  .hB-meta .hB-hide-m{ display:none !important; }
  .hB-meta{ gap:1.2rem; justify-content:space-between; }
}
/* ProvenExpert-Badge im Startseiten-Hero (Fallback, falls zentrale CSS
   das hB-badge nur auf Unterseiten definiert) */
.hB-meta .hB-badge{ display:flex; flex-direction:row; align-items:center; gap:.75rem; margin-left:auto; }
.hB-meta .hB-badge img{ height:46px; width:auto; display:block;    position: relative;
  bottom: 5px; }
.hB-meta .hB-badge-txt{ display:flex; flex-direction:column; gap:.18rem; }
.hB-meta .hB-badge-txt b{ font-family:var(--ff-disp); font-weight:500; font-size:1.3rem; line-height:1; color:#F6F3EC; }
.hB-meta .hB-badge-txt > span{ font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(246,243,236,.55); }
.hB-meta .hB-badge .lbl-short{ display:none; }
@media (max-width:640px){
  .hB-meta .hB-badge .lbl-full{ display:none; }
  .hB-meta .hB-badge .lbl-short{ display:inline; }
}