/* ==========================================================================
   DHI Hypnosepraxis Aschaffenburg – finale Seitenlogik 2026-07-17
   Ziel: bestehendes Erscheinungsbild bewahren, Header und Bilder stabilisieren,
   Rot mobil dosieren und neue Inhaltsbereiche sauber integrieren.
   ========================================================================== */

:root{
  --praxis-topbar-h:48px;
  --praxis-header-h:70px;
  --praxis-mobile-topbar-h:52px;
  --praxis-mobile-header-h:62px;
  --praxis-red:#8f1024;
  --praxis-red-dark:#76101f;
  --praxis-ink:#172333;
  --praxis-muted:#51606d;
  --praxis-bg:#fbf7f1;
  --praxis-card:#fffdf9;
  --praxis-border:#e8ddd0;
  --praxis-green:#6f8f73;
  --praxis-green-soft:#eaf0e7;
  --praxis-gold:#b98a36;
  --praxis-gold-soft:#f4ecdc;
}

html{
  background:#fff;
  color-scheme:light;
  scroll-padding-top:calc(var(--praxis-topbar-h) + var(--praxis-header-h) + 16px) !important;
}

body.praxis-redesign,
body.praxis-page{
  padding-top:calc(var(--praxis-topbar-h) + var(--praxis-header-h)) !important;
}

/* ---------- feste, schmale Kopfzeile ---------- */

html body .praxis-two-line-topbar{
  position:fixed !important;
  inset:0 0 auto 0 !important;
  z-index:10020 !important;
  height:var(--praxis-topbar-h) !important;
  min-height:var(--praxis-topbar-h) !important;
  max-height:var(--praxis-topbar-h) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:var(--praxis-red-dark) !important;
  color:#fff !important;
  box-shadow:none !important;
}

html body .praxis-two-line-topbar .top-bar-inner{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  width:100% !important;
  max-width:1180px !important;
  height:100% !important;
  margin:0 auto !important;
  padding:0 1.4rem !important;
  text-align:left !important;
}

.top-bar-identity{
  display:flex;
  align-items:baseline;
  min-width:0;
  gap:.55rem;
  white-space:nowrap;
}

html body .praxis-two-line-topbar .top-bar-title{
  display:block !important;
  width:auto !important;
  margin:0 !important;
  overflow:visible !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
  font-size:.92rem !important;
  font-weight:850 !important;
  line-height:1.1 !important;
  letter-spacing:.005em !important;
  text-align:left !important;
}

.top-bar-address{
  color:rgba(255,255,255,.86);
  font-size:.86rem;
  font-weight:650;
  line-height:1.1;
  white-space:nowrap;
}

.top-bar-address::before{
  content:"·";
  margin-right:.55rem;
}

html body .praxis-two-line-topbar .top-bar-contacts{
  display:flex !important;
  width:auto !important;
  flex:0 0 auto !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:.8rem !important;
  margin:0 !important;
  font-size:.84rem !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}

html body .praxis-two-line-topbar .top-bar-contacts > *{
  margin:0 !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}

html body .praxis-two-line-topbar .top-bar-contacts .top-bar-text:not(.top-bar-phone){
  display:none !important;
}

html body .praxis-two-line-topbar a{
  color:#fff !important;
  font-weight:780 !important;
  text-decoration:none !important;
}

/* ---------- Hauptheader ---------- */

html body .site-header{
  position:fixed !important;
  top:var(--praxis-topbar-h) !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:10010 !important;
  height:var(--praxis-header-h) !important;
  min-height:var(--praxis-header-h) !important;
  background:#fff !important;
  box-shadow:0 9px 24px rgba(15,23,42,.08) !important;
  border-bottom:1px solid rgba(143,16,36,.09) !important;
  transform:none !important;
}

html body .site-header .header-inner{
  position:relative !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:.6rem !important;
  min-height:var(--praxis-header-h) !important;
  height:var(--praxis-header-h) !important;
  padding:.35rem 0 !important;
}

html body .site-header .logo-img{
  display:block !important;
  height:48px !important;
  max-height:48px !important;
  width:auto !important;
  max-width:205px !important;
}

html body .site-header .main-nav{
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  background:#fff !important;
}

html body .site-header .main-nav ul{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:.12rem !important;
  margin:0 !important;
  padding:0 !important;
}

html body .site-header .main-nav a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:.30rem .42rem !important;
  border-radius:999px !important;
  color:var(--praxis-ink) !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

html body .site-header .main-nav a:hover,
html body .site-header .main-nav a.is-active{
  color:var(--praxis-red) !important;
  background:#f7ece9 !important;
}

html body .site-header .nav-toggle{
  display:none !important;
}

/* ---------- Hero bleibt in seiner Grundidee erhalten ---------- */

.praxis-hero-modern{
  padding-top:1.25rem !important;
}

.hero-modern-card{
  isolation:isolate;
}

.hero-modern-person img{
  object-fit:contain !important;
  object-position:center bottom !important;
}

/* ---------- fachlicher Einstieg ---------- */

.praxis-about-home{
  padding:1rem 0 1.5rem;
}

.praxis-about-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);
  align-items:stretch;
  gap:1.4rem;
  border:1px solid var(--praxis-border);
  border-radius:26px;
  background:linear-gradient(135deg,#fffdf9 0%,#f6f2eb 55%,#edf2eb 100%);
  box-shadow:0 16px 38px rgba(31,41,55,.07);
}

.praxis-about-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:7px;
  background:linear-gradient(90deg,var(--praxis-red),var(--praxis-gold),var(--praxis-green));
}

.praxis-about-copy{
  padding:2rem 0 2rem 2rem;
}

.praxis-about-copy h2{
  margin:.2rem 0 .85rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3vw,2.7rem);
  line-height:1.12;
}

.praxis-about-copy p{
  max-width:760px;
  margin:.55rem 0;
  color:#34424e;
  font-size:1.08rem;
}

.praxis-about-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.15rem;
}

.praxis-about-portrait{
  min-height:390px;
  margin:0;
  overflow:hidden;
  background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.86),transparent 52%),#e8eeeb;
}

.praxis-about-portrait img{
  display:block;
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover;
  object-position:50% 16%;
}

/* ---------- Thema des Monats ---------- */

.monthly-topic{
  padding:1.2rem 0 1.6rem;
}

.monthly-topic-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:1.5rem;
  align-items:center;
  padding:1.65rem 1.8rem;
  border:1px solid rgba(111,143,115,.28);
  border-radius:24px;
  background:linear-gradient(135deg,#f8f2eb 0%,#fffdf9 54%,#edf2eb 100%);
  box-shadow:0 14px 34px rgba(31,41,55,.06);
}

.monthly-topic-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:132px;
  height:132px;
  border-radius:30px;
  background:linear-gradient(145deg,var(--praxis-red-dark),#9f2840);
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:3.4rem;
  font-weight:900;
  letter-spacing:-.08em;
  box-shadow:0 18px 34px rgba(118,16,31,.22);
}

.monthly-topic-copy .offer2026-eyebrow{
  margin-bottom:.35rem;
}

.monthly-topic-copy h2{
  margin:.1rem 0 .65rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.2vw,2.8rem);
  line-height:1.08;
}

.monthly-topic-copy p{
  margin:.45rem 0;
  max-width:880px;
  color:#34424e;
  font-size:1.06rem;
}

.monthly-topic-byline{
  font-size:.9rem !important;
  color:#6a756f !important;
}

.monthly-topic-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1rem;
}

/* ---------- Angebote: echtes Praxisfoto, keine Aktionssprache ---------- */

#neue-angebote .offer2026-image-card{
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr) !important;
}

#neue-angebote .offer2026-image-card > img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:330px !important;
  max-height:430px !important;
  object-fit:cover !important;
  object-position:50% 55% !important;
}

/* ---------- Themenkarten und hochwertige Bildausschnitte ---------- */

.praxis-topic-grid{
  gap:1.25rem !important;
}

.praxis-topic-card{
  min-height:0 !important;
}

.praxis-topic-card .topic-image{
  display:block !important;
  height:auto !important;
  aspect-ratio:16 / 9;
  overflow:hidden !important;
  background:#eef0ec;
}

.praxis-topic-card .topic-image::before,
.praxis-topic-card .topic-image::after{
  content:none !important;
  display:none !important;
}

.praxis-topic-card .topic-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

.praxis-topic-card .topic-body{
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) 24px !important;
  grid-template-areas:
    "icon title arrow"
    "icon text text" !important;
  align-items:start !important;
  gap:.35rem .75rem !important;
}

.praxis-topic-card .topic-icon{
  grid-area:icon !important;
  grid-row:auto !important;
  align-self:start !important;
}

.praxis-topic-card .topic-body strong{
  grid-area:title !important;
  align-self:center !important;
  min-width:0 !important;
  text-align:left !important;
}

.praxis-topic-card .topic-body span:not(.topic-icon){
  grid-area:text !important;
  grid-column:auto !important;
  min-width:0 !important;
  text-align:left !important;
}

.praxis-topic-card .topic-body em{
  grid-area:arrow !important;
  grid-row:auto !important;
  align-self:center !important;
  justify-self:end !important;
  text-align:right !important;
}

.praxis-topic-card.topic-rauchfrei .topic-image img{object-position:52% 43% !important;}
.praxis-topic-card.topic-gewichtsreduktion .topic-image img{object-position:50% 45% !important;}
.praxis-topic-card.topic-schlaf .topic-image img{object-position:50% 48% !important;}
.praxis-topic-card.topic-stress-burnout .topic-image img{object-position:52% 52% !important;}
.praxis-topic-card.topic-aengste-blackout .topic-image img{object-position:50% 26% !important;}
.praxis-topic-card.topic-selbstwert-innere-ruhe .topic-image img{object-position:50% 36% !important;}
.praxis-topic-card.topic-businesscoaching .topic-image img{object-position:55% 45% !important;}
.praxis-topic-card.topic-gruppen .topic-image img{object-position:50% 42% !important;}
.praxis-topic-card.topic-kinderhypnose .topic-image img{object-position:50% 58% !important;}

/* ---------- lange Themenliste mobil kontrolliert ---------- */

.read-more-toggle{
  display:none;
}

.praxis-theme-flow-card{
  overflow:visible !important;
}

/* ---------- Ablauf-Kurzfassung ---------- */

.praxis-process-home{
  padding:1.5rem 0;
  background:linear-gradient(180deg,#fff 0%,#f8f4ed 100%);
}

.praxis-process-head{
  max-width:850px;
  margin:0 auto 1.15rem;
  text-align:center;
}

.praxis-process-head h2{
  margin:.15rem 0 .55rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.1vw,2.65rem);
}

.praxis-process-head p{
  margin:0;
  color:#4a5965;
  font-size:1.08rem;
}

.praxis-process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.praxis-process-card{
  position:relative;
  overflow:hidden;
  min-height:210px;
  padding:1.4rem 1.35rem;
  border:1px solid var(--praxis-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(31,41,55,.055);
}

.praxis-process-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:var(--praxis-green);
}

.praxis-process-card:nth-child(2)::before{background:var(--praxis-gold);}
.praxis-process-card:nth-child(3)::before{background:var(--praxis-red);}

.praxis-process-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:.75rem;
  border-radius:999px;
  background:var(--praxis-green-soft);
  color:#496b4d;
  font-weight:900;
}

.praxis-process-card h3{
  margin:0 0 .45rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.42rem;
}

.praxis-process-card p{
  margin:0;
  color:#45535f;
  font-size:1rem;
}

.praxis-process-actions{
  display:flex;
  justify-content:center;
  margin-top:1.1rem;
}

/* ---------- Kundenstimmen ---------- */

.praxis-voices-home{
  padding:1.5rem 0;
}

.praxis-voices-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.praxis-voices-head h2{
  margin:.15rem 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.1vw,2.65rem);
}

.praxis-voices-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.praxis-voice-card{
  position:relative;
  margin:0;
  padding:1.45rem 1.35rem 1.3rem;
  border:1px solid var(--praxis-border);
  border-radius:20px;
  background:#fffdf9;
  box-shadow:0 12px 28px rgba(31,41,55,.055);
}

.praxis-voice-card::before{
  content:"„";
  position:absolute;
  top:.2rem;
  right:1rem;
  color:rgba(143,16,36,.13);
  font-family:Georgia,"Times New Roman",serif;
  font-size:5rem;
  line-height:1;
}

.praxis-voice-card p{
  position:relative;
  z-index:1;
  margin:0 0 .85rem;
  color:#34424e;
  font-size:1.03rem;
}

.praxis-voice-card cite{
  color:#6b756f;
  font-style:normal;
  font-size:.9rem;
  font-weight:750;
}

.praxis-voices-note{
  margin:.9rem 0 0;
  color:#6b756f;
  font-size:.88rem;
}

/* ---------- Praxisgalerie ---------- */

.praxis-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:none !important;
  gap:1rem !important;
  margin:1.15rem 0 0 !important;
}

.praxis-gallery-card{
  margin:0 !important;
  overflow:hidden;
  border:1px solid var(--praxis-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(31,41,55,.05);
}

.praxis-gallery-card img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 10;
  object-fit:cover !important;
  object-position:center !important;
}

.praxis-gallery-card:nth-child(1) img{object-position:50% 55% !important;}
.praxis-gallery-card:nth-child(2) img{object-position:50% 53% !important;}
.praxis-gallery-card:nth-child(3) img{object-position:50% 52% !important;}

.praxis-gallery-card figcaption{
  padding:.7rem .85rem .8rem;
  color:#45535f;
  font-size:.92rem;
  font-weight:750;
}

/* ---------- Aktionsfreie Angebotsseite ---------- */

.offer-overview-card{
  display:flex;
  flex-direction:column;
  min-height:245px;
}

.offer-overview-card .btn{
  align-self:flex-start;
  margin-top:auto;
}

/* ---------- mobile Kontaktleiste: hell statt roter Wand ---------- */

.dhi-mobile-contact{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:10030;
  display:none;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding-bottom:env(safe-area-inset-bottom);
  border-top:4px solid var(--praxis-red);
  background:rgba(255,253,249,.98);
  box-shadow:0 -10px 26px rgba(31,41,55,.16);
  backdrop-filter:blur(12px);
}

.dhi-mobile-contact a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:.35rem .25rem;
  color:var(--praxis-ink) !important;
  background:transparent;
  border:0;
  text-decoration:none !important;
  font-size:.86rem;
  font-weight:850;
  line-height:1.1;
}

.dhi-mobile-contact a + a{
  border-left:1px solid rgba(82,67,52,.15);
}

.dhi-mobile-contact a:last-child{
  color:var(--praxis-red-dark) !important;
  background:#f7ece9;
}

body.has-dhi-mobile-contact{
  padding-bottom:0;
}

/* ---------- Tablet ---------- */

@media (max-width:1100px) and (min-width:861px){
  .praxis-topic-grid,
  .shortcut-grid,
  .theme-anchor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  html body .site-header .logo-img{
    height:44px !important;
    max-width:170px !important;
  }

  html body .site-header .main-nav a{
    padding:.28rem .31rem !important;
    font-size:.72rem !important;
  }

  .praxis-about-card{
    grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);
  }
}

/* ---------- Mobile ---------- */

@media (max-width:860px){
  :root{
    --praxis-topbar-h:var(--praxis-mobile-topbar-h);
    --praxis-header-h:var(--praxis-mobile-header-h);
  }

  html{
    scroll-padding-top:calc(var(--praxis-mobile-topbar-h) + var(--praxis-mobile-header-h) + 12px) !important;
  }

  body.praxis-redesign,
  body.praxis-page{
    padding-top:calc(var(--praxis-mobile-topbar-h) + var(--praxis-mobile-header-h)) !important;
    padding-bottom:calc(62px + env(safe-area-inset-bottom)) !important;
  }

  html body .praxis-two-line-topbar{
    height:var(--praxis-mobile-topbar-h) !important;
    min-height:var(--praxis-mobile-topbar-h) !important;
    max-height:var(--praxis-mobile-topbar-h) !important;
  }

  html body .praxis-two-line-topbar .top-bar-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:.55rem !important;
    max-width:none !important;
    padding:0 .8rem !important;
  }

  .top-bar-identity{
    display:block;
    min-width:0;
    overflow:hidden;
    white-space:normal;
  }

  html body .praxis-two-line-topbar .top-bar-title{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:.71rem !important;
    line-height:1.05 !important;
  }

  .top-bar-address{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    margin-top:.12rem;
    color:rgba(255,255,255,.86);
    font-size:.67rem;
    line-height:1.05;
  }

  .top-bar-address::before{
    content:none;
    margin:0;
  }

  html body .praxis-two-line-topbar .top-bar-contacts{
    max-width:none !important;
    gap:0 !important;
  }

  html body .praxis-two-line-topbar .top-bar-contacts > *{
    display:none !important;
  }

  html body .praxis-two-line-topbar .top-bar-contacts .top-bar-phone{
    display:inline-flex !important;
    align-items:center !important;
  }

  html body .praxis-two-line-topbar .top-bar-contacts .top-bar-phone > span{
    display:none;
  }

  html body .praxis-two-line-topbar .top-bar-contacts .top-bar-phone a{
    display:inline-flex !important;
    font-size:.86rem !important;
    font-weight:900 !important;
    letter-spacing:.005em !important;
  }

  html body .site-header{
    top:var(--praxis-mobile-topbar-h) !important;
    height:var(--praxis-mobile-header-h) !important;
    min-height:var(--praxis-mobile-header-h) !important;
  }

  html body .site-header .header-inner{
    height:var(--praxis-mobile-header-h) !important;
    min-height:var(--praxis-mobile-header-h) !important;
    padding:.3rem 1rem !important;
  }

  html body .site-header .logo-img{
    height:46px !important;
    max-height:46px !important;
    max-width:190px !important;
  }

  html body .site-header .nav-toggle{
    display:inline-flex !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
  }

  html body .site-header .main-nav{
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
  }

  html body .site-header .main-nav:not(.is-open) ul{
    display:none !important;
  }

  html body .site-header .main-nav.is-open ul{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.4rem !important;
    max-height:calc(100vh - var(--praxis-mobile-topbar-h) - var(--praxis-mobile-header-h) - 24px) !important;
    overflow:auto !important;
    margin:0 !important;
    padding:.7rem !important;
    border:1px solid rgba(15,23,42,.10) !important;
    border-radius:0 0 18px 18px !important;
    background:rgba(255,255,255,.99) !important;
    box-shadow:0 20px 42px rgba(15,23,42,.18) !important;
  }

  html body .site-header .main-nav.is-open a{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    padding:.62rem .7rem !important;
    border:1px solid rgba(15,23,42,.08) !important;
    border-radius:12px !important;
    background:#f8fafc !important;
    color:#1f2933 !important;
    font-size:.94rem !important;
    line-height:1.18 !important;
    white-space:normal !important;
  }

  .praxis-hero-modern{
    padding-top:.75rem !important;
  }

  .hero-modern-card{
    padding:1.55rem 1.15rem 1.25rem !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    gap:.7rem !important;
  }

  .hero-actions .btn{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:.82rem 1rem !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .hero-modern-person{
    min-height:340px !important;
    margin-top:.4rem !important;
  }

  .hero-modern-person img{
    width:min(310px,88vw) !important;
    max-height:390px !important;
  }

  .person-card{
    width:min(285px,100%) !important;
  }

  .praxis-about-card{
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }

  .praxis-about-copy{
    padding:1.55rem 1.2rem 1.2rem;
  }

  .praxis-about-copy h2{
    font-size:2.05rem;
  }

  .praxis-about-portrait{
    min-height:360px;
    border-top:1px solid rgba(82,67,52,.12);
  }

  .praxis-about-portrait img{
    min-height:360px;
    max-height:430px;
    object-position:50% 13%;
  }

  .read-more-region.is-collapsed .read-more-content{
    position:relative;
    max-height:15.8rem;
    overflow:hidden;
  }

  .read-more-region.is-collapsed .read-more-content::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:5.5rem;
    pointer-events:none;
    background:linear-gradient(to bottom,rgba(255,253,249,0),rgba(255,253,249,.98));
  }

  .read-more-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:calc(100% - 2rem);
    min-height:48px;
    margin:.75rem auto 1rem;
    padding:.7rem 1rem;
    border:1px solid rgba(143,16,36,.28);
    border-radius:999px;
    background:#fff;
    color:var(--praxis-red-dark);
    font:inherit;
    font-size:.98rem;
    font-weight:850;
    cursor:pointer;
  }

  .monthly-topic-card{
    grid-template-columns:minmax(0,1fr);
    gap:1rem;
    padding:1.35rem 1.2rem;
  }

  .monthly-topic-mark{
    width:88px;
    height:88px;
    border-radius:22px;
    font-size:2.4rem;
  }

  .monthly-topic-copy h2{
    font-size:2.1rem;
  }

  #neue-angebote .offer2026-image-card{
    grid-template-columns:minmax(0,1fr) !important;
  }

  #neue-angebote .offer2026-image-card > img{
    order:-1;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:16 / 10;
    object-position:50% 55% !important;
  }

  .praxis-topic-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:.85rem !important;
  }

  .praxis-topic-card{
    display:grid !important;
    grid-template-columns:minmax(135px,38%) minmax(0,1fr) !important;
    align-items:stretch !important;
    min-height:154px !important;
  }

  .praxis-topic-card::before{
    position:absolute !important;
    top:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:6px !important;
    height:auto !important;
  }

  .praxis-topic-card .topic-image{
    height:100% !important;
    min-height:148px !important;
    aspect-ratio:auto !important;
  }

  .praxis-topic-card .topic-body{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-areas:
      "title"
      "text" !important;
    gap:.45rem !important;
    align-content:center !important;
    align-items:start !important;
    padding:1rem .9rem !important;
  }

  .praxis-topic-card .topic-icon,
  .praxis-topic-card .topic-body em{
    display:none !important;
  }

  .praxis-topic-card .topic-body strong{
    align-self:start !important;
    font-size:1.12rem !important;
    line-height:1.18 !important;
  }

  .praxis-topic-card .topic-body span:not(.topic-icon){
    font-size:.94rem !important;
    line-height:1.38 !important;
  }

  .praxis-process-grid,
  .praxis-voices-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .praxis-process-card{
    min-height:0;
  }

  .praxis-voices-head{
    display:block;
  }

  .praxis-voices-head .btn{
    margin-top:.8rem;
  }

  .praxis-gallery-grid{
    grid-template-columns:minmax(0,1fr) !important;
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .dhi-mobile-contact{
    display:grid;
  }

  .dhi-wa-float{
    display:none !important;
  }
}

@media (max-width:520px){
  html body .site-header .main-nav.is-open ul{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

@media (max-width:380px){
  html body .praxis-two-line-topbar .top-bar-title{
    display:none !important;
  }

  .top-bar-address{
    margin-top:0;
    font-size:.72rem;
  }

  html body .praxis-two-line-topbar .top-bar-contacts .top-bar-phone a{
    font-size:.82rem !important;
  }

  .praxis-topic-card{
    grid-template-columns:120px minmax(0,1fr) !important;
  }

  .dhi-mobile-contact a{
    font-size:.78rem;
  }
}

/* === DHI KORREKTURRUNDE 2026-07-18 START === */

/* Storytelling ergänzt die Angebotsübersicht als reguläres Praxisformat. */
#neue-angebote .offer2026-linkgrid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* Portrait: vollständiges Ausgangsfoto mit Luft rund um die Arme statt Crop. */
.praxis-about-card{
  grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);
}

.praxis-about-portrait{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:410px;
  padding:1rem 1rem 0;
  background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.92),transparent 55%),#e8eeeb;
}

.praxis-about-portrait img{
  width:auto !important;
  max-width:88% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:500px !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}

/* Video-Karten: gleich hohe Textbereiche, identische Posterlinie. */
.praxis-video-section .video-grid{
  align-items:stretch;
}

.praxis-video-section .praxis-video-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.praxis-video-section .praxis-video-card h3{
  min-height:1.45em;
  margin-bottom:.45rem;
}

.praxis-video-section .praxis-video-card p{
  min-height:3.25em;
  margin:.2rem 0 1rem;
}

.praxis-video-section .praxis-video-card .video-player{
  width:100%;
  max-width:none;
  margin-top:auto;
  object-fit:cover;
  background:#e8ece9;
}

/* Themenkarten: Beschreibung nutzt unterhalb der Titelzeile die volle Breite. */
.praxis-topic-card .topic-body{
  width:100% !important;
  grid-template-columns:44px minmax(0,1fr) 24px !important;
  grid-template-areas:
    "icon title arrow"
    "text text text" !important;
  gap:.45rem .7rem !important;
}

.praxis-topic-card .topic-body span:not(.topic-icon){
  display:block !important;
  width:100% !important;
  max-width:none !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  hyphens:auto;
}

.praxis-topic-card.topic-aengste-blackout .topic-image img{
  object-position:50% 48% !important;
}

/* Kontakt-CTA und Schnellnavigation erhalten klaren Abstand. */
.mobile-cta-break{
  display:inline;
}

.praxis-shortcuts{
  padding-top:1.4rem !important;
}

.praxis-shortcuts .shortcut-heading{
  margin-bottom:1rem !important;
}

.praxis-shortcuts .shortcut-grid{
  margin-top:.8rem !important;
}

@media (max-width:1100px) and (min-width:861px){
  .praxis-about-card{
    grid-template-columns:minmax(0,1.35fr) minmax(235px,.65fr);
  }

  .praxis-about-portrait img{
    max-width:90% !important;
    max-height:470px !important;
  }
}

@media (max-width:920px){
  #neue-angebote .offer2026-linkgrid{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

@media (max-width:860px){
  .praxis-about-portrait{
    min-height:0 !important;
    padding:1rem 1rem 0 !important;
  }

  .praxis-about-portrait img{
    width:auto !important;
    max-width:min(300px,86vw) !important;
    max-height:500px !important;
  }

  .praxis-video-section .praxis-video-card h3,
  .praxis-video-section .praxis-video-card p{
    min-height:0;
  }

  .praxis-home-cta-card{
    display:block !important;
    padding:1.2rem 1rem !important;
    text-align:center !important;
  }

  .praxis-home-cta-card strong{
    display:block !important;
    margin:0 0 .9rem !important;
  }

  .praxis-home-cta-card > span{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    gap:.75rem !important;
  }

  .praxis-home-cta-card .btn{
    display:flex !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:.82rem .9rem !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.18 !important;
    text-align:center !important;
  }

  .praxis-home-cta-card .btn-primary{
    min-height:68px !important;
    font-size:1.08rem !important;
  }

  .mobile-cta-break{
    display:block;
  }

  .praxis-topic-card .topic-body{
    width:100% !important;
  }

  .praxis-shortcuts{
    padding-top:1rem !important;
  }
}

/* === DHI KORREKTURRUNDE 2026-07-18 END === */

/* === DHI PATCH 3 KONTAKT WISSEN LAYOUT START === */

/* Themenkarten: keine schmalen Wortspalten und keine automatische Silbentrennung. */
.praxis-topic-card .topic-body{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) 24px !important;
  grid-template-rows:auto auto !important;
  grid-template-areas:
    "icon title arrow"
    "text text text" !important;
  width:100% !important;
  min-width:0 !important;
  gap:.5rem .72rem !important;
}
.praxis-topic-card .topic-body > .topic-icon{grid-area:icon !important;}
.praxis-topic-card .topic-body > strong{grid-area:title !important; min-width:0 !important;}
.praxis-topic-card .topic-body > em{grid-area:arrow !important;}
.praxis-topic-card .topic-body > span:not(.topic-icon){
  grid-area:text !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

/* Portrait vollständig, kleiner und mit sichtbaren Armen/Ellenbogen. */
.praxis-about-card{
  grid-template-columns:minmax(0,1.5fr) minmax(240px,.5fr) !important;
}
.praxis-about-portrait{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  min-height:430px !important;
  padding:1.25rem 1.5rem 0 !important;
  overflow:hidden !important;
}
.praxis-about-portrait img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-width:76% !important;
  max-height:470px !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}

/* Sichtbarer WhatsApp-Kontakt auf der Kontaktseite. */
.praxis-contact-whatsapp{
  display:flex;
  flex-direction:column;
  gap:.12rem;
  margin:.8rem 0;
  padding:.8rem 1rem;
  border:1px solid rgba(37,211,102,.28);
  border-radius:14px;
  background:rgba(37,211,102,.07);
}
.praxis-contact-whatsapp span{font-weight:800;color:var(--praxis-ink);}
.praxis-contact-whatsapp a{font-size:1.2rem;font-weight:900;color:#167a3b !important;}
.praxis-contact-whatsapp small{color:#51606d;}
.praxis-contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;}

@media (max-width:1100px) and (min-width:861px){
  .praxis-about-card{grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr) !important;}
  .praxis-about-portrait img{max-width:82% !important;max-height:450px !important;}
}

@media (max-width:860px){
  .praxis-topic-card{
    display:grid !important;
    grid-template-columns:minmax(135px,40%) minmax(0,1fr) !important;
    min-height:154px !important;
  }
  .praxis-topic-card .topic-body{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:stretch !important;
    width:auto !important;
    min-width:0 !important;
    gap:.5rem !important;
    padding:1rem .95rem !important;
  }
  .praxis-topic-card .topic-body > .topic-icon,
  .praxis-topic-card .topic-body > em{display:none !important;}
  .praxis-topic-card .topic-body > strong,
  .praxis-topic-card .topic-body > span:not(.topic-icon){
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }
  .praxis-about-card{grid-template-columns:minmax(0,1fr) !important;}
  .praxis-about-portrait{min-height:0 !important;padding:1rem 1rem 0 !important;}
  .praxis-about-portrait img{max-width:min(260px,72vw) !important;max-height:520px !important;}
  .praxis-contact-actions{display:grid;grid-template-columns:minmax(0,1fr);}
  .praxis-contact-actions .btn{width:100%;white-space:normal !important;text-align:center;}
}

@media (max-width:430px){
  .praxis-topic-card{grid-template-columns:minmax(125px,38%) minmax(0,1fr) !important;}
  .praxis-topic-card .topic-body{padding:.9rem .8rem !important;}
  .praxis-topic-card .topic-body > strong{font-size:1.08rem !important;}
  .praxis-topic-card .topic-body > span:not(.topic-icon){font-size:.92rem !important;line-height:1.36 !important;}
}

/* === DHI PATCH 3 KONTAKT WISSEN LAYOUT END === */
