/*
 * Harter Bestattungen – Complete Stylesheet
 * Matches live site: harter-bestattungen.de
 * Primary: #831F82  |  Footer bg: #2F3131
 * Font: Inter (300/400/500/600/700)
 */

/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&display=swap');

/* ─────────────────────────────────────────────────────────────
   DESIGN TOKENS
   ───────────────────────────────────────────────────────────── */
:root {
  --primary:       #831F82;
  --primary-dark:  #671868;
  --primary-rgb:   131,31,130;
  --primary-light: rgba(131,31,130,.08);

  --fg:            #111111;
  --muted:         #6b7280;
  --bg:            #f9f9f9;
  --card:          #ffffff;
  --border:        #e5e7eb;
  --sand:          #f3f4f6;

  --footer-bg:     #2F3131;
  --footer-fg:     #f2f2f2;

  --font:          ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";
  --max-w:         1400px;
  --px:            2rem;     /* horizontal page padding */
  --input: 0 0% 85%;
  --background: 0 0% 97%;
}

/* ─────────────────────────────────────────────────────────────
   RESET
   ───────────────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.7;
  color: var(--fg);
  background: #f7f7f7;
  overflow-x: hidden;
}
img  { max-width: 100%; height: auto; display: block; }
a    { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
ul   { list-style: none; }
button { font-family: inherit; cursor: pointer; }

.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: var(--primary); color: #fff;
  padding: .5rem 1rem; z-index: 9999;
}
.skip-link:focus { left: 0; }

/* ─────────────────────────────────────────────────────────────
   CONTAINER  — matches Lovable `container mx-auto px-4 lg:px-8`
   ───────────────────────────────────────────────────────────── */
.container {
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--px);
  padding-right: var(--px);
}
@media(max-width:640px) { :root { --px: 1rem; } }

/* ─────────────────────────────────────────────────────────────
   TYPOGRAPHY
   ───────────────────────────────────────────────────────────── */
h1,h2,h3,h4 { font-family: var(--font); line-height: 1.2; font-weight: 300; }
h1 { font-size: clamp(2rem,5vw,3.75rem); }
h2 { font-size: clamp(1.6rem,3vw,2.5rem); }
h3 { font-size: 1.15rem; font-weight: 600; }

/* Decorative divider  */
.hb-divider {
  width: 60px; height: 3px;
  background: var(--primary);
  margin: .75rem auto 0;
}
.hb-divider--left { margin-left: 0; display: none;}

/* ─────────────────────────────────────────────────────────────
   BUTTONS
   ───────────────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .625rem 1.5rem; font-family: var(--font);
  font-size: .9rem; font-weight: 500; border: 2px solid transparent;
  cursor: pointer; text-decoration: none; line-height: 1.4;
  transition: background .2s, border-color .2s, color .2s;
  white-space: nowrap;
}
.btn:hover { text-decoration: none; }
.btn-primary  { background: var(--primary); color: #fff; border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.btn-outline  { background: transparent; color: var(--primary); border-color: var(--primary); }
.btn-outline:hover { background: var(--primary); color: #fff; }
.btn-white    { background: #fff; color: var(--primary); border-color: #fff; }
.btn-white:hover { background: var(--primary-light); }
.btn-outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.btn-outline-white:hover { background: rgba(255,255,255,.15); }
.btn-lg { padding: .875rem 2rem; font-size: 1rem; }

/* ─────────────────────────────────────────────────────────────
   HEADER
   Matches HeaderSubpage.tsx exactly:
   - bg-white, sticky top-0, z-50, shadow-sm
   - Container: relative, px-4 lg:px-8
   - Phone button absolute top-right (desktop)
   - nav: h-44, logo left (h-24/h-28), links right
   ───────────────────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  width: 100%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.1);
}
.admin-bar .site-header { top: 32px; }
@media(max-width:782px) { .admin-bar .site-header { top: 46px; } }

.header-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--px);
  position: relative;   /* for absolute phone btn */
}

/* Phone button – absolute top-right, desktop only */
.header-phone-btn {
  display: none;
  position: absolute;
  right: var(--px);
  top: .75rem;
  background: var(--primary);
  color: #fff;
  padding: .4rem 1rem;
  font-size: .875rem;
  font-weight: 500;
  align-items: center;
  gap: .5rem;
  border-radius: 2px;
  text-decoration: none;
  transition: background .2s;
  z-index: 10;
}
.header-phone-btn:hover { background: var(--primary-dark); text-decoration: none; color: #fff; }
.header-phone-btn__inner { display: flex; flex-direction: column; line-height: 1.1; }
.header-phone-btn__24h   { font-size: .65rem; font-weight: 400; opacity: .85; }
.header-phone-btn__num   { font-size: .95rem; font-weight: 600; }
@media(min-width:1024px) { .header-phone-btn { display: flex; } }

/* Nav row: Logo LEFT | Links RIGHT — height matches h-44 (176px) */
.header-nav-row {
  display: flex;
  align-items: center;
  height: 7rem;           /* ~h-28 = 112px on mobile, taller desktop */
}
@media(min-width:768px)  { .header-nav-row { height: 9rem; } }   /* h-36 */
@media(min-width:1024px) { .header-nav-row { height: 11rem; } }  /* ~h-44 */

/* Logo */
.header-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-shrink: 0;
  gap: .2rem;
  text-decoration: none;
}
.header-logo__img {
  height: auto;
  width: auto;
  max-height: 5rem;     /* max-h-20 mobile */
}
.header-logo__claim {
  height: auto;
  width: auto;
  max-height: 1rem;
  opacity: .75;
}
@media(min-width:768px)  { .header-logo__img  { max-height: 6rem; } }
@media(min-width:1024px) { .header-logo__img  { max-height: 7rem; } .header-logo__claim { max-height: 1.2rem; } }

/* Desktop nav list */
.header-nav-list {
  display: none;
  align-items: center;
  gap: 1.5rem;
  list-style: none;
  margin-left: auto;   /* push to right */
}
@media(min-width:1024px) { .header-nav-list { display: flex; } }

/* Nav links */
.nav-link {
  display: flex; align-items: center; gap: .25rem;
  font-size: 1rem; font-weight: 400;line-height: 24px;
  color: var(--fg);
  background: none; border: none;
  padding: .25rem .25rem;
  cursor: pointer;
  white-space: nowrap;
  transition: color .2s;
  text-decoration: none;
}
.nav-link:hover, .nav-link:focus { color: var(--primary); outline: none; text-decoration: none; }
.nav-chevron { transition: transform .2s; flex-shrink: 0; color: var(--muted); }
.nav-item.is-open .nav-chevron { transform: rotate(180deg); }

/* Dropdown */
.nav-item { position: relative; }
.nav-dropdown {
  position: absolute;
  top: calc(100% + .5rem);
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  min-width: 220px;
  z-index: 300;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateX(-50%) translateY(8px);
  transition: opacity .2s, transform .2s, visibility .2s;
}
.nav-item.is-open .nav-dropdown {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown-link {
  display: block;
  padding: .65rem 1.25rem;
  font-size: .875rem;
  color: var(--fg);
  white-space: nowrap;
  transition: background .15s, color .15s;
  text-decoration: none;
}
.nav-dropdown-link:hover { background: var(--primary-light); color: var(--primary); text-decoration: none; }

/* Hamburger */
.header-hamburger {
  display: flex; flex-direction: column; gap: 5px;
  background: none; border: none; padding: .5rem; cursor: pointer;
  flex-shrink: 0;
}
.hamburger-line { display: block; width: 24px; height: 2px; background: var(--fg); border-radius: 1px; transition: .2s; }
.header-hamburger.is-open .hamburger-line:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.header-hamburger.is-open .hamburger-line:nth-child(2) { opacity: 0; }
.header-hamburger.is-open .hamburger-line:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }
@media(min-width:1024px) { .header-hamburger { display: none; } }

/* Mobile nav panel */
.mobile-nav {
  display: none;
  background: #fff;
  border-top: 1px solid var(--border);
  max-height: 80vh;
  overflow-y: auto;
}
.mobile-nav.is-open { display: block; }
.mobile-nav-inner   { padding: 1.5rem var(--px); }
.mobile-nav-group   { margin-bottom: 1.25rem; }
.mobile-nav-label {
  display: block;
  font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em;
  color: var(--muted); margin-bottom: .4rem;
}
.mobile-nav-link {
  display: block; padding: .45rem 0;
  font-size: .95rem; color: var(--fg);
  border-bottom: 1px solid var(--border);
  text-decoration: none; transition: color .15s;
}
.mobile-nav-link:hover { color: var(--primary); }
.mobile-nav-link--strong { font-weight: 600; margin-top: 1rem; }
.mobile-nav-phone {
  display: flex; align-items: center; gap: .75rem;
  margin-top: 1.25rem; padding: .875rem 1.25rem;
  background: var(--primary); color: #fff; justify-content: center;
  text-decoration: none; font-weight: 500;
}
.mobile-nav-phone:hover { background: var(--primary-dark); color: #fff; text-decoration: none; }

/* ─────────────────────────────────────────────────────────────
   STICKY SIDE BUTTONS  (desktop right edge, hover-expand)
   ───────────────────────────────────────────────────────────── */
.sticky-side {
  position: fixed; right: 0; top: 50%; z-index: 150;
  transform: translateY(-50%);
  display: flex; flex-direction: column; gap: 4px;
}
.sticky-side__btn {
  display: flex; align-items: center; overflow: hidden;
  background: var(--primary); color: #fff;
  border-radius: 6px 0 0 6px;
  box-shadow: -2px 2px 12px rgba(0,0,0,.2);
  text-decoration: none; transition: padding .3s;
}
.sticky-side__btn:hover { padding-right: .75rem; text-decoration: none; }
.sticky-side__icon {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; flex-shrink: 0; color: #fff;
}
.sticky-side__label {
  max-width: 0; overflow: hidden; white-space: nowrap;
  font-size: .8rem; font-weight: 500; color: #fff;
  opacity: 0; transition: max-width .3s, opacity .3s;
}
.sticky-side__btn:hover .sticky-side__label { max-width: 200px; opacity: 1; }

/* ─────────────────────────────────────────────────────────────
   MOBILE BOTTOM BAR
   ───────────────────────────────────────────────────────────── */
.mob-bar {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 150;
  background: var(--primary);
  box-shadow: 0 -2px 10px rgba(0,0,0,.15);
}
.mob-bar__btn {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  justify-content: center; padding: .75rem .5rem; gap: .25rem;
  color: #fff; font-size: .65rem; font-weight: 500;
  text-decoration: none; border-right: 1px solid rgba(255,255,255,.15);
}
.mob-bar__btn:last-child { border-right: none; }
.mob-bar__btn:hover { background: var(--primary-dark); text-decoration: none; color: #fff; }
@media(max-width:1023px) {
  .sticky-side   { display: none; }
  .mob-bar       { display: flex; }
  .site-main     { padding-bottom: 62px; }
}

/* ─────────────────────────────────────────────────────────────
   MAIN / SECTIONS
   Matches Lovable `py-16` (4rem) and `py-20` (5rem)
   ───────────────────────────────────────────────────────────── */
.site-main { min-height: 60vh; }
section { padding: 5rem 0; }
@media(max-width:768px) { section { padding: 3.5rem 0; } }

/* Background helpers */
.bg-white    { background: #fff !important; }
.bg-sand,
.bg-muted    { background: var(--sand) !important; }
.bg-primary  { background: var(--primary) !important; color: #fff; }
/* .bg-secondary{ background: rgba(131,31,130,.08) !important; } */

.bg-secondary{background-color: #d9d9d900 !important;}

/* ── hb_hero_bg ──────────────────────────────────────────────── */
.hb-hero-bg {
  position: relative;
  min-height: 340px;
  display: flex; align-items: center; justify-content: center;
  background-size: cover; background-repeat: no-repeat;
  padding: 0;   /* no section padding – full bleed */
}
@media(min-width:768px) { .hb-hero-bg { min-height: 500px; } }
.hb-hero-bg__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.20) 0%, rgba(0,0,0,.15) 50%, rgba(0,0,0,.30) 100%);
}
.hb-hero-bg .container { position: relative; z-index: 1; width: 100%; }
.hb-hero-bg__content {
  text-align: center;
  padding: 3rem 0;
  max-width: 820px; margin: 0 auto;
}
.hb-hero-bg__tagline {
    font-size: 20px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #000000e6;
    margin-bottom: .75rem;
    line-height: 18px;
}
.hb-hero-bg__h1 {
  font-size: clamp(2rem,5vw,3.75rem); font-weight: 300;
  color: var(--fg); line-height: 1.15; margin-bottom: .75rem;
}
.hb-hero-bg__subtitle {
  font-size: clamp(1.1rem,2.5vw,1.6rem);
  color: var(--primary); font-family: var(--font); margin-bottom: 1rem;
}
.hb-hero-bg__desc { font-size: 1.05rem; color: var(--fg); max-width: 600px; margin: 0 auto 1.5rem; }
.hb-hero-bg .hb-divider { background: var(--primary); margin: .75rem auto 1.25rem; }
.hb-hero-bg__btns {
  display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; margin-top: 2rem;
}

/* ── hb_features_cards ───────────────────────────────────────── */
.hb-features-cards { padding: 4rem 0; }
.hb-features-cards__grid {
  display: grid; gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
}
.hb-features-cards__card {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; padding: 1.5rem;
  border: 1px solid var(--border); background: var(--card);
  text-decoration: none; color: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.hb-features-cards__card:hover {
  border-color: rgba(var(--primary-rgb),.35);
  box-shadow: 0 4px 20px rgba(0,0,0,.08); text-decoration: none;
}
.hb-features-cards__icon-wrap {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--primary-light);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.25rem; color: var(--primary);
}
.hb-features-cards__icon { width: 32px; height: 32px; object-fit: contain; }
.hb-features-cards__title { font-size: 1.15rem; font-weight: 600; margin-bottom: .5rem; }
.hb-features-cards__desc { color: var(--muted); font-size: .95rem; line-height: 1.65; }

/* ── hb_trauerfall_2col ──────────────────────────────────────── */
.hb-trauerfall-2col { padding: 5rem 0; }
.hb-trauerfall-2col__header { text-align: center; margin-bottom: 3rem; }
.hb-trauerfall-2col__heading { font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; }
.hb-trauerfall-2col__grid { display: grid; gap: 3rem; }
@media(min-width:768px) { .hb-trauerfall-2col__grid { grid-template-columns: 1fr 1fr; } }
.hb-trauerfall-2col__card {
  border: 1px solid var(--border); padding: 2rem;
  background: var(--card); border-radius: 2px;
}
.hb-trauerfall-2col__card-header {
  display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.75rem;    align-items: center !important;
}

.hb-trauerfall-2col__icon-wrap {
  width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
  background: var(--primary-light);
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
}
.hb-trauerfall-2col__icon { width: 22px; height: 22px; object-fit: contain; }
.hb-trauerfall-2col__card-title { font-size: 1rem; font-weight: 600; line-height: 1.5; }
.hb-trauerfall-2col__step { display: flex; gap: 1rem; margin-bottom: 1.5rem; }
.hb-trauerfall-2col__step-num {
  width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
  background: var(--primary); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .85rem; margin-top: .1rem;
}
.hb-trauerfall-2col__step-text { color: var(--muted); line-height: 1.75; font-size: .95rem; }
.hb-trauerfall-2col__step-note { font-size: .85rem; font-style: italic; color: var(--muted); margin-top: .35rem; }
.hb-trauerfall-2col__step-highlight { color: var(--primary); font-weight: 600; margin-top: .4rem; font-size: .95rem; }
.hb-trauerfall-2col__step-btn { display: inline-flex; align-items: center; gap: .5rem; margin-top: .75rem; }
.hb-trauerfall-2col__doc-list { list-style: none; }
.hb-trauerfall-2col__doc-item {
  display: flex; gap: .75rem; align-items: flex-start;color: var(--muted); font-size: .95rem;
}
.hb-trauerfall-2col__doc-icon { color: var(--primary); font-weight: 700; flex-shrink: 0; font-size: 1rem; }
.hb-trauerfall-2col__note {
  background: var(--sand); padding: 1rem 1.25rem;
  margin-top: 1.25rem; font-size: 14px;
    color: #1a1a1a;
    line-height: 20px;
}
.hb-trauerfall-2col__note strong { color: var(--fg); }

/* ── hb_gedenkportal_cta ─────────────────────────────────────── */
.hb-gedenkportal-cta { padding: 5rem 0; }
.hb-gedenkportal-cta__inner { max-width: 700px; margin: 0 auto; text-align: center; }
.hb-gedenkportal-cta__heading { font-size: clamp(2rem,4vw,2.75rem); font-weight: 300; color: var(--primary); }
.hb-gedenkportal-cta__desc {     color: #1a1a1a;
    font-size: 18px;
    line-height: 29px; margin: 2rem 0; }

/* ── hb_about_image_text ─────────────────────────────────────── */
.hb-about-image-text { padding: 5rem 0; }
.hb-about-image-text__grid { display: grid; gap: 3rem; align-items: center; }
@media(min-width:768px) { .hb-about-image-text__grid { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.hb-about-image-text__grid--reverse .hb-about-image-text__image-col { order: 2; }
.hb-about-image-text__grid--reverse .hb-about-image-text__text-col  { order: 1; }
.hb-about-image-text__image {
  width: 100%; height: 500px; object-fit: cover; object-position: top; display: block;
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
}
@media(max-width:767px) { .hb-about-image-text__image { height: 280px; } }
.hb-about-image-text__heading { font-size: clamp(1.6rem,3vw,2.5rem); font-weight: 300; color: var(--primary); margin-bottom: .75rem; }
.hb-about-image-text__desc { margin-top: 1.5rem; color: var(--muted); line-height: 1.85; }
.hb-about-image-text__desc p { margin-bottom: .85rem; }
.hb-about-image-text__desc strong { color: var(--fg); }
.hb-about-image-text__btn-wrap { margin-top: 2rem; }

/* ── hb_services_cards ───────────────────────────────────────── */
.hb-services-cards { padding: 5rem 0; }
.hb-services-cards__header { text-align: center; margin-bottom: 3rem; }
.hb-services-cards__heading { font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; color: var(--primary); }
.hb-services-cards__grid {
  display: grid; gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
}
@media(min-width:768px)  { .hb-services-cards__grid { grid-template-columns: repeat(2,1fr); } }
@media(min-width:1024px) { .hb-services-cards__grid { grid-template-columns: repeat(3,1fr); } }
.hb-services-cards__card {
  display: block; overflow: hidden; background: var(--card);
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  text-decoration: none; color: inherit;
  transition: box-shadow .2s, transform .2s;
}
.hb-services-cards__card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.14); transform: translateY(-2px); text-decoration: none;
}
.hb-services-cards__img-wrap { height: 224px; overflow: hidden; }
.hb-services-cards__img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; display: block; }
.hb-services-cards__card:hover .hb-services-cards__img { transform: scale(1.06); }
.hb-services-cards__body { padding: 1.5rem; }
.hb-services-cards__title { font-size: 1.05rem; font-weight: 300; margin-bottom: .5rem; color: var(--fg); }
.hb-services-cards__desc { color: var(--muted); font-size: .875rem; line-height: 1.65; }

/* ── hb_cta_phone ────────────────────────────────────────────── */
.hb-cta-phone { padding: 5rem 0; }
.hb-cta-phone__inner { max-width: 700px; margin: 0 auto; text-align: center; }
.hb-cta-phone__heading { font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; margin-bottom: .75rem; }
.hb-cta-phone--dark .hb-cta-phone__heading { color: #fff; }
.hb-cta-phone__desc { font-size: 1.05rem; max-width: 560px; margin: 1.25rem auto; line-height: 1.85; }
.hb-cta-phone--dark .hb-cta-phone__desc { color: rgba(255,255,255,.85); }
.hb-cta-phone__btns { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; margin-top: 2.5rem; }

/* ── All other layouts – compact unified styles ─────────────────
   (benefits, steps, split, faq, related, values, reviews, team,
    checklist, gallery, leistungen, wysiwyg, downloads, kontakt,
    friedhoefe, presse, aktuelles, vorsorge, wald, seo,
    erinnerungen, trauerdruck, gedenkportal-embed)
   ─────────────────────────────────────────────────────────────── */
.hb-intro-text,
.hb-benefits-cards,
.hb-steps-timeline,
.hb-split-image-text,
.hb-faq,
.hb-related-pages,
.hb-values-cards,
.hb-reviews,
.hb-team,
.hb-checklist-accordion,
.hb-gallery,
.hb-leistungen-liste,
.hb-text-wysiwyg,
.hb-downloads,
.hb-kontakt-info,
.hb-kontakt-form-map,
.hb-friedhoefe,
.hb-presse,
.hb-aktuelles,
.hb-vorsorge-form,
.hb-wald-section,
.hb-erinnerungen-cards,
.hb-trauerdruck-leistungen,
.hb-gedenkportal-embed
{ padding: 1rem 0; }

/* Shared section headers */
.hb-intro-text__inner,
.hb-gedenkportal-cta__inner
{ max-width: 860px; margin: 0 auto; text-align: center; }

.hb-intro-text__heading,
.hb-benefits-cards__heading,
.hb-steps-timeline__heading,
.hb-faq__heading,
.hb-related-pages__heading,
.hb-values-cards__heading,
.hb-reviews__heading,
.hb-team__heading,
.hb-checklist-accordion__heading,
.hb-gallery__heading,
.hb-leistungen-liste__heading,
.hb-text-wysiwyg__heading,
.hb-downloads__heading,
.hb-friedhoefe__heading,
.hb-presse__heading,
.hb-aktuelles__heading,
.hb-vorsorge-form__heading,
.hb-erinnerungen-cards__heading,
.hb-trauerdruck-leistungen__heading
{
  font-size: clamp(1.6rem,3vw,2.4rem);
  font-weight: 300;
  color: var(--primary);
  text-align: center;
  margin-bottom: .75rem;
}

/* Section header wrapper */
.hb-benefits-cards__header,
.hb-steps-timeline__header,
.hb-faq__header,
.hb-related-pages__header,
.hb-values-cards__header,
.hb-reviews__header,
.hb-team__header,
.hb-checklist-accordion__header,
.hb-gallery__header,
.hb-leistungen-liste__header,
.hb-downloads__header,
.hb-friedhoefe__header,
.hb-presse__header,
.hb-aktuelles__header,
.hb-vorsorge-form__header,
.hb-erinnerungen-cards__header,
.hb-trauerdruck-leistungen__header
{ text-align: center; margin-bottom: 3rem; }

/* 4-column icon grids */
.hb-benefits-cards__grid,
.hb-values-cards__grid,
.hb-erinnerungen-cards__grid,
.hb-trauerdruck-leistungen__grid
{
  display: grid; gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
}
.hb-benefits-cards__card,
.hb-values-cards__card,
.hb-erinnerungen-cards__card,
.hb-trauerdruck-leistungen__card
{
  text-align: center; padding: 2rem 1.5rem;
  border: 1px solid var(--border); background: var(--card);
}
.hb-benefits-cards__icon-wrap,
.hb-values-cards__icon-wrap,
.hb-erinnerungen-cards__icon-wrap,
.hb-trauerdruck-leistungen__icon-wrap
{
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--primary-light);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.25rem; color: var(--primary);
}
.hb-benefits-cards__icon,
.hb-values-cards__icon,
.hb-erinnerungen-cards__icon,
.hb-trauerdruck-leistungen__icon
{ width: 32px; height: 32px; object-fit: contain; }
.hb-benefits-cards__title,
.hb-values-cards__title,
.hb-erinnerungen-cards__title,
.hb-trauerdruck-leistungen__title
{ font-size: 1.05rem; font-weight: 600; margin-bottom: .5rem; }
.hb-benefits-cards__desc,
.hb-values-cards__desc,
.hb-erinnerungen-cards__desc,
.hb-trauerdruck-leistungen__desc
{ color: var(--muted); font-size: .9rem; line-height: 1.7; }

/* Steps */
.hb-steps-timeline__list { max-width: 760px; margin: 0 auto; list-style: none; }
.hb-steps-timeline__item { display: flex; gap: 1.5rem; margin-bottom: 2.5rem; align-items: flex-start; }
.hb-steps-timeline__num {
  width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0;
  background: var(--primary); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; font-weight: 700;
}
.hb-steps-timeline__title { font-size: 1rem; font-weight: 600; margin-bottom: .4rem; }
.hb-steps-timeline__desc  { color: var(--muted); line-height: 1.75; font-size: .95rem; }

/* Split image + text */
.hb-split-image-text__grid { display: grid; gap: 3rem; align-items: center; }
@media(min-width:768px) { .hb-split-image-text__grid { grid-template-columns: 1fr 1fr; } }
.hb-split-image-text__grid--reverse .hb-split-image-text__image-col { order: 2; }
.hb-split-image-text__image { width: 100%; height: 480px; object-fit: cover; display: block; }
@media(max-width:767px) { .hb-split-image-text__image { height: 260px; } }
.hb-split-image-text__heading { font-size: clamp(1.5rem,2.5vw,2.2rem); font-weight: 300; color: var(--primary); }
.hb-split-image-text__desc    { margin-top: 1.5rem; color: var(--muted); line-height: 1.85; }
.hb-split-image-text__desc p  { margin-bottom: .85rem; }
.hb-split-image-text__checklist { list-style: none; margin-top: 1.25rem; }
.hb-split-image-text__check-item { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .6rem; color: var(--muted); font-size: .95rem; }
.hb-split-image-text__check-icon { color: var(--primary); font-weight: 700; flex-shrink: 0; }
.hb-split-image-text__btn-wrap { margin-top: 2rem; }

/* FAQ accordion */
.hb-faq__list { max-width: 780px; margin: 0 auto; }
.hb-faq__item { border: 1px solid var(--border); margin-bottom: .5rem; background: var(--card); }
.hb-faq__trigger {
  width: 100%; text-align: left; padding: 1.25rem 1.5rem;
  font-size: 1rem; font-weight: 600; background: none; border: none;
  cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  font-family: var(--font); color: var(--fg);
}
.hb-faq__trigger:hover { background: var(--sand); }
.hb-faq__icon { flex-shrink: 0; color: var(--primary); transition: transform .25s; }
.hb-faq__trigger[aria-expanded="true"] .hb-faq__icon { transform: rotate(180deg); }
.hb-faq__answer-inner { padding: 0 1.5rem 1.5rem; color: var(--muted); line-height: 1.8; font-size: .95rem; }

/* Related pages */
.hb-related-pages__grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); max-width: 1000px; margin: 0 auto; }
.hb-related-pages__card { display: block; border: 1px solid var(--border); background: var(--card); padding: 1.5rem; text-decoration: none; color: inherit; transition: border-color .2s; }
.hb-related-pages__card:hover { border-color: var(--primary); text-decoration: none; }
.hb-related-pages__title { font-size: 1.05rem; font-weight: 600; color: var(--primary); margin-bottom: .4rem; }
.hb-related-pages__desc  { color: var(--muted); font-size: .875rem; line-height: 1.6; margin-bottom: .75rem; }
.hb-related-pages__more  { font-size: .875rem; color: var(--primary); font-weight: 500; }

/* Reviews */
.hb-reviews__overall { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: 1.25rem; }
.hb-reviews__stars   { display: flex; gap: 2px; }
.hb-reviews__star    { color: #f59e0b; }
.hb-reviews__rating  { font-size: 1.25rem; font-weight: 700; }
.hb-reviews__grid    { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); margin-top: 2rem; }
.hb-reviews__card    { background: var(--card); padding: 1.5rem; border: 1px solid var(--border); }
.hb-reviews__card-stars { display: flex; gap: 2px; margin-bottom: .75rem; }
.hb-reviews__text p {
    color: #1a1a1a;
    font-style: italic;
    line-height: 29px;
    margin-bottom: 1rem;
    font-size: 18px;
}
.hb-reviews__name    { font-weight: 600; font-size: .875rem; font-style: normal; }
.hb-reviews__google-link { display: block; text-align: center; margin-top: 2rem; color: var(--primary); font-weight: 500; font-size: .95rem; }

/* Team */
.hb-team__grid { display: grid; gap: 2rem; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); }
.hb-team__member { text-align: center; }
.hb-team__photo-wrap { width: 160px; height: 160px; border-radius: 50%; overflow: hidden; margin: 0 auto 1.25rem; }
.hb-team__photo { width: 100%; height: 100%; object-fit: cover; }
.hb-team__name  { font-size: 1.1rem; font-weight: 600; margin-bottom: .25rem; }
.hb-team__role  { color: var(--primary); font-size: .875rem; margin-bottom: .5rem; }
.hb-team__bio   { color: var(--muted); font-size: .875rem; line-height: 1.7; }
.hb-team__email { display: block; color: var(--primary); font-size: .875rem; margin-top: .5rem; }

/* Checklist accordion */
.hb-checklist-accordion__list { max-width: 860px; margin: 0 auto; }
.hb-checklist-accordion__item { border: 1px solid var(--border); margin-bottom: .5rem; }
.hb-checklist-accordion__trigger {
  width: 100%; text-align: left; padding: 1.25rem 1.5rem;
  font-size: 1rem; font-weight: 600; background: none; border: none;
  cursor: pointer; display: flex; align-items: center; gap: 1rem;
  font-family: var(--font); color: var(--fg);
}
.hb-checklist-accordion__trigger:hover { background: var(--sand); }
.hb-checklist-accordion__group-icon { width: 28px; height: 28px; object-fit: contain; flex-shrink: 0; }
.hb-checklist-accordion__group-title { flex: 1; }
.hb-checklist-accordion__arrow { flex-shrink: 0; color: var(--muted); transition: transform .25s; }
.hb-checklist-accordion__trigger[aria-expanded="true"] .hb-checklist-accordion__arrow { transform: rotate(180deg); }
.hb-checklist-accordion__items { list-style: none; padding: 0 1.5rem 1.5rem; }
.hb-checklist-accordion__item-row { display: flex; gap: .75rem; align-items: flex-start; padding: .5rem 0; border-bottom: 1px solid var(--border); color: var(--muted); font-size: .95rem; }
.hb-checklist-accordion__item-row:last-child { border-bottom: none; }
.hb-checklist-accordion__item-icon   { width: 20px; height: 20px; object-fit: contain; flex-shrink: 0; margin-top: .1rem; }
.hb-checklist-accordion__item-bullet { color: var(--primary); font-weight: 700; flex-shrink: 0; }

/* Gallery */
.hb-gallery__grid { display: grid; gap: .5rem; }
.hb-gallery__grid--2col { grid-template-columns: repeat(2,1fr); }
.hb-gallery__grid--3col { grid-template-columns: repeat(3,1fr); }
.hb-gallery__grid--4col { grid-template-columns: repeat(4,1fr); }
@media(max-width:640px) { .hb-gallery__grid--3col,.hb-gallery__grid--4col { grid-template-columns: repeat(2,1fr); } }
.hb-gallery__item { display: block; overflow: hidden; aspect-ratio: 4/3; cursor: pointer; }
.hb-gallery__img  { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; display: block; }
.hb-gallery__item:hover .hb-gallery__img { transform: scale(1.05); }
.hb-gallery__lightbox[hidden] {
  display: none;
}
.hb-gallery__lightbox {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.92);
  display: flex; align-items: center; justify-content: center;
}
.hb-gallery__lb-content { max-width: 90vw; max-height: 85vh; }
.hb-gallery__lb-img     { max-width: 100%; max-height: 85vh; object-fit: contain; display: block; }
.hb-gallery__lb-close   { position: absolute; top: 1rem; right: 1.25rem; background: none; border: none; color: #fff; font-size: 2.5rem; cursor: pointer; line-height: 1; }
.hb-gallery__lb-prev,.hb-gallery__lb-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.15); border: none; color: #fff; font-size: 2rem; cursor: pointer; padding: .5rem 1rem; }
.hb-gallery__lb-prev { left: 1rem; }
.hb-gallery__lb-next { right: 1rem; }

/* Leistungen list */
.hb-leistungen-liste__card {
    max-width: 54rem;
    margin: 0 auto;
    /* border: 1px solid var(--border); */
    padding: 3rem;
    background: #f2f2f2;
}
.hb-leistungen-liste__list { list-style: none; }
.hb-leistungen-liste__item {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    padding: .6rem 0;
    /* border-bottom: 1px solid var(--border); */
    font-size: 18px;
    color: #1a1a1a;
    line-height: 29px;
}
.hb-leistungen-liste__item:last-child { border-bottom: none; }
.hb-leistungen-liste__icon   { width: 22px; height: 22px; object-fit: contain; flex-shrink: 0; margin-top: .1rem; }
.hb-leistungen-liste__bullet { color: var(--primary); font-weight: 700; flex-shrink: 0; }

/* WYSIWYG text */
.hb-text-wysiwyg__inner { max-width: 864px; margin: 0 auto; }
.hb-text-wysiwyg__content,
.wysiwyg-content
{ color: var(--muted); line-height: 1.9; margin-top: 1.5rem; }
.hb-text-wysiwyg__content p,
.wysiwyg-content p  { margin-bottom: 1rem; }
.hb-text-wysiwyg__content h2,
.wysiwyg-content h2 { font-size: 1.5rem; font-weight: 300; color: var(--fg); margin: 2rem 0 2rem; }
.hb-text-wysiwyg__content ol,
.hb-text-wysiwyg__content ul,
.wysiwyg-content ol,
.wysiwyg-content ul { padding-left: 1.5rem; margin-bottom: 1rem; }
.hb-text-wysiwyg__content li,
.wysiwyg-content li { margin-bottom: .5rem; }
.hb-text-wysiwyg__content strong,
.wysiwyg-content strong { color: var(--fg); }
.hb-text-wysiwyg__content a,
.wysiwyg-content a  { color: var(--primary); }

/* Downloads */
.hb-downloads__list { max-width: 900px; margin: 0 auto; list-style: none; }
.hb-downloads__item { display: flex; align-items: center; gap: 1.25rem; padding: 1.25rem; border: 1px solid var(--border); background: var(--card); margin-bottom: .75rem; flex-wrap: wrap; }
.hb-downloads__icon-col { flex-shrink: 0; color: var(--primary); }
.hb-downloads__icon { width: 36px; height: 36px; object-fit: contain; }
.hb-downloads__info { flex: 1; min-width: 160px; display: flex; flex-direction: column; gap: .2rem; }
.hb-downloads__title { font-weight: 600; font-size: .95rem; color: var(--fg); }
.hb-downloads__desc  { color: var(--muted); font-size: .8rem; }
.hb-downloads__actions { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
.hb-downloads__size  { color: var(--muted); font-size: .8rem; }

/* Kontakt info */
.hb-kontakt-info__grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); }
.hb-kontakt-info__card { text-align: center; padding: 2rem 1.5rem; border: 1px solid var(--border); background: var(--card); }
.hb-kontakt-info__icon-wrap { width: 56px; height: 56px; border-radius: 50%; background: var(--primary-light); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.hb-kontakt-info__icon  { width: 28px; height: 28px; object-fit: contain; }
.hb-kontakt-info__title { font-weight: 600; margin-bottom: .5rem; }
.hb-kontakt-info__content { color: var(--muted); font-size: .875rem; line-height: 1.65; }
.hb-kontakt-info__content a { color: var(--primary); text-decoration: none; display: block; }
.hb-kontakt-info__content address { font-style: normal; }

/* Kontakt form + map */
.hb-kontakt-form-map__maps-section { margin-bottom: 4rem; }
.hb-kontakt-form-map__map-heading,
.hb-kontakt-form-map__form-heading { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 300; text-align: center; margin-bottom: .75rem; }
.hb-kontakt-form-map__maps-grid { display: grid; gap: 2rem; margin-top: 2rem; }
@media(min-width:768px) { .hb-kontakt-form-map__maps-grid { grid-template-columns: 1fr 1fr; } }
.hb-kontakt-form-map__standort-name { font-size: 1.1rem; font-weight: 600; margin-bottom: .5rem; }
.hb-kontakt-form-map__address { color: var(--muted); font-size: .9rem; line-height: 1.6; margin-bottom: 1rem; }
.hb-kontakt-form-map__map-embed { border: 1px solid var(--border); overflow: hidden; }
.hb-kontakt-form-map__maps-link { display: inline-block; margin-top: .75rem; color: var(--primary); font-size: .875rem; }
.hb-kontakt-form-map__form-wrap { max-width: 720px; margin: 2rem auto 0; padding: 2rem; border: 1px solid var(--border); background: var(--card); }

/* Friedhöfe */
.hb-friedhoefe__grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); }
.hb-friedhoefe__card { border: 1px solid var(--border); background: var(--card); padding: .875rem 1.1rem; display: flex; gap: .75rem; align-items: flex-start; }
.hb-friedhoefe__pin  { color: var(--primary); flex-shrink: 0; margin-top: .15rem; }
.hb-friedhoefe__info { display: flex; flex-direction: column; gap: .15rem; }
.hb-friedhoefe__name { font-weight: 600; font-size: .9rem; color: var(--fg); }
.hb-friedhoefe__str,.hb-friedhoefe__ort { color: var(--muted); font-size: .8rem; }

/* Presse */
.hb-presse__list { display: flex; flex-direction: column; gap: 1.5rem; max-width: 900px; margin: 0 auto; }
.hb-presse__card { border: 1px solid var(--border); background: var(--card); padding: 1.5rem; }
.hb-presse__source { font-size: .75rem; font-weight: 700; color: var(--primary); text-transform: uppercase; letter-spacing: .06em; display: block; margin-bottom: .4rem; }
.hb-presse__title  { font-size: 1.2rem; font-weight: 500; margin-bottom: .3rem; color: var(--fg); }
.hb-presse__subtitle { color: var(--muted); font-size: .95rem; margin-bottom: 1rem; }
.hb-presse__thumb-img { width: 180px; height: 130px; object-fit: cover; display: block; }
@media(min-width:640px) { .hb-presse__card { display: flex; gap: 1.5rem; align-items: flex-start; } }

/* Aktuelles */
.hb-aktuelles__feed { max-width: 900px; margin: 0 auto; }
.hb-aktuelles__beitrag { padding-bottom: 2.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--border); }
.hb-aktuelles__beitrag:last-child { border-bottom: none; }
.hb-aktuelles__beitrag-title { font-size: 1.3rem; font-weight: 400; margin-bottom: 1rem; color: var(--fg); }
.hb-aktuelles__figure { margin-bottom: 1.25rem; }
.hb-aktuelles__bild { width: 100%; max-height: 420px; object-fit: cover; display: block; }
.hb-aktuelles__bildnachweis { color: var(--muted); font-size: .75rem; margin-top: .3rem; }
.hb-aktuelles__inhalt { color: var(--muted); line-height: 1.85; margin-bottom: 1.25rem; }
.hb-aktuelles__inhalt p { margin-bottom: .85rem; }

/* Vorsorge form */
.hb-vorsorge-form__header { text-align: center; margin-bottom: 2.5rem; }
.hb-vorsorge-form__desc { color: var(--muted); max-width: 600px; margin: .75rem auto 0; }
.hb-vorsorge-form__wrap { max-width: 720px; margin: 0 auto; padding: 2rem; border: 1px solid var(--border); background: var(--card); }

/* Wald sections */
.hb-wald-section__nav { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.5rem; }
.hb-wald-section__nav-link { display: flex; align-items: center; gap: .6rem; padding: .875rem 1.25rem; border: 1px solid var(--border); background: var(--card); color: var(--fg); text-decoration: none; transition: background .2s; font-size: .95rem; }
.hb-wald-section__nav-link:hover { background: var(--sand); text-decoration: none; }
.hb-wald-section__body { display: grid; gap: 3rem; align-items: center; }
@media(min-width:900px) { .hb-wald-section__body { grid-template-columns: 1fr 1fr; } }
.hb-wald-section__heading { font-size: clamp(1.5rem,2.5vw,2.25rem); font-weight: 300; color: var(--primary); }
.hb-wald-section__desc { color: var(--muted); line-height: 1.85; margin-top: 1.25rem; }
.hb-wald-section__desc p { margin-bottom: .85rem; }
.hb-wald-section__btn { margin-top: 1.5rem; }
.hb-wald-section__image { width: 100%; height: 380px; object-fit: cover; display: block; }
@media(max-width:899px) { .hb-wald-section__image { height: 260px; } }

/* Standort SEO */
.hb-standort-seo__lst-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); margin-top: 2rem; }
.hb-standort-seo__lst-item { text-align: center; padding: 1.5rem; border: 1px solid var(--border); background: var(--card); }
.hb-standort-seo__lst-icon-wrap { width: 56px; height: 56px; border-radius: 50%; background: var(--primary-light); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.hb-standort-seo__lst-icon { width: 28px; height: 28px; object-fit: contain; }
.hb-standort-seo__lst-title { font-weight: 600; margin-bottom: .4rem; }
.hb-standort-seo__lst-desc  { color: var(--muted); font-size: .875rem; line-height: 1.65; }
.hb-standort-seo__cta { background: var(--primary); padding: 4rem 0; }
.hb-standort-seo__cta-inner { text-align: center; }
.hb-standort-seo__cta-heading { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 300; color: #fff; margin-bottom: .75rem; }
.hb-standort-seo__cta-text { color: rgba(255,255,255,.85); margin-bottom: 1.5rem; }

/* Gedenkportal embed */
.hb-gedenkportal-embed__header { text-align: center; margin-bottom: 2.5rem; }
.hb-gedenkportal-embed__heading { font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; color: var(--primary); }
.hb-gedenkportal-embed__desc { color: var(--muted); max-width: 640px; margin: .75rem auto 0; line-height: 1.85; }
.hb-gedenkportal-embed__frame { border: 1px solid var(--border); overflow: hidden; margin-bottom: 2rem; }
.hb-gedenkportal-embed__frame iframe { width: 100%; min-height: 500px; border: 0; display: block; }
.hb-gedenkportal-embed__fallback { text-align: center; padding: 3rem 0; }
.hb-gedenkportal-embed__features { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); margin-top: 3rem; }
.hb-gedenkportal-embed__feature { text-align: center; padding: 1.75rem; border: 1px solid var(--border); background: var(--card); }
.hb-gedenkportal-embed__feat-icon-wrap { width: 56px; height: 56px; border-radius: 50%; background: var(--primary-light); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.hb-gedenkportal-embed__feat-icon  { width: 28px; height: 28px; object-fit: contain; }
.hb-gedenkportal-embed__feat-title { font-weight: 600; margin-bottom: .4rem; }
.hb-gedenkportal-embed__feat-desc  { color: var(--muted); font-size: .875rem; line-height: 1.65; }

/* ─────────────────────────────────────────────────────────────
   GRAVITY FORMS
   ───────────────────────────────────────────────────────────── */
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=number],
.gform_wrapper textarea,
.gform_wrapper select {
  width: 100%; 
  padding: .5rem .75rem;
  border: 1px solid hsl(var(--input)); 
  background-color: hsl(var(--background)) !important;
  font-family: var(--font) !important; 
  font-size: .875rem !important;
  line-height: 1.25rem !important;
  height: 2.5rem;
  transition: border-color .2s;
}
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  outline: none; border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(131,31,130,.1);
}
.gform_wrapper textarea { min-height: 120px; resize: vertical; }
.gform_wrapper .gform_submit,
.gform_wrapper input[type=submit] {
  background: var(--primary); color: #fff;
  border: 2px solid var(--primary); padding: .75rem 2rem;
  font-family: var(--font); font-size: 1rem; font-weight: 500;
  cursor: pointer; border-radius: 2px; transition: .2s;
}
.gform_wrapper .gform_submit:hover,
.gform_wrapper input[type=submit]:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.gform_wrapper .gfield_label { font-size: .9rem; font-weight: 500; margin-bottom: .35rem; display: block; color: var(--fg); }
.gform_wrapper .gfield { margin-bottom: 1.25rem; }
.gform_wrapper .validation_error { background: #fef2f2; border: 1px solid #fca5a5; color: #b91c1c; padding: 1rem; margin-bottom: 1.5rem; }
.gform_wrapper .gform_confirmation_message { background: var(--primary-light); border: 1px solid rgba(131,31,130,.3); padding: 1.25rem; color: var(--primary); font-weight: 500; }

/* ─────────────────────────────────────────────────────────────
   FOOTER
   Matches Footer.tsx exactly:
   - bg #2F3131, text light
   - 4 cols: Brand | Bestattungsarten | Unternehmen | Kontakt
   - footer-wrap: container py-12 lg:px-8
   ───────────────────────────────────────────────────────────── */
.site-footer {
  background: var(--footer-bg);
  color: var(--footer-fg);
}
.footer-wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 3rem var(--px);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media(min-width:640px)  { .footer-grid { grid-template-columns: repeat(2,1fr); } }
@media(min-width:1024px) { .footer-grid { grid-template-columns: 1.4fr 1fr 1.5fr 1.4fr; } }

/* Col 1: brand */
.footer-col--brand { display: flex; flex-direction: column; }
.footer-logo {
  height: 6rem; width: auto; max-width: 100%;
  filter: brightness(0) invert(1); display: block;;
}
.footer-brand-row { display: flex; align-items: center; gap: .75rem; margin-top: .25rem; }
.footer-diind     { height: 9rem; width: auto; }
.footer-leavegreen{ height: 6rem; width: auto; border-radius: 50%; }
.footer-social    { display: flex; gap: .5rem; align-items: center; }
.footer-social__link {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  border: 1px solid rgba(242,242,242,.4);
  color: rgba(242,242,242,.8);
  border-radius: 50%; transition: .2s;
}
.footer-social__link:hover { border-color: var(--footer-fg); color: var(--footer-fg); text-decoration: none; }

/* Col headings */
.footer-col__heading { font-size: 1rem; font-weight: 600; margin-bottom: 1rem; color: var(--footer-fg); }

/* Links */
.footer-links { list-style: none; display: flex; flex-direction: column; gap: .5rem; }
.footer-link  { color: rgba(242,242,242,.75); font-size: .875rem; text-decoration: none; transition: color .2s; }
.footer-link:hover { color: var(--footer-fg); text-decoration: none; }

/* Kontakt col */
.footer-contact-list { list-style: none; display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1rem; }
.footer-contact-item { display: flex; align-items: flex-start; gap: .5rem; }
.footer-contact-item svg { flex-shrink: 0; margin-top: .2rem; }
.footer-24h { font-size: .875rem; color: rgba(242,242,242,.75); margin-bottom: 1rem; }
.footer-24h strong { color: var(--footer-fg); }

.footer-standorte-label {
  font-size: .7rem; text-transform: uppercase; letter-spacing: .08em;
  color: rgba(242,242,242,.5); margin-bottom: .5rem;
}
.footer-standorte { list-style: none; display: flex; flex-direction: column; gap: 1rem; }
.footer-standort-name { font-size: .9rem; font-weight: 600; color: var(--footer-fg); display: block; }
.footer-standort-addr { display: flex; align-items: flex-start; gap: .5rem; margin-top: .25rem; }
.footer-standort-addr svg { flex-shrink: 0; margin-top: .2rem; }
.footer-standort-addr .footer-link { line-height: 1.5; }

/* Bottom bar */
.footer-bottom {
  border-top: 1px solid rgba(242,242,242,.15);
  padding-top: 1rem;
  display: flex; flex-direction: column; align-items: center;
  justify-content: space-between; gap: 1rem;
  font-size: .875rem; color: rgba(242,242,242,.6);
  margin-top: 1rem;
}
@media(min-width:640px) { .footer-bottom { flex-direction: row; } }
.footer-bottom__copy .footer-link { color: rgba(242,242,242,.6); text-decoration: underline; }
.footer-bottom__nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.footer-bottom__nav .footer-link { color: rgba(242,242,242,.6); }

/* ─────────────────────────────────────────────────────────────
   ADMIN BAR
   ───────────────────────────────────────────────────────────── */
.admin-bar .site-header { top: 32px; }
@media(max-width:782px) { .admin-bar .site-header { top: 46px; } }

/* ─────────────────────────────────────────────────────────────
   HERO SPLIT (About page)
   ───────────────────────────────────────────────────────────── */
.hb-hero-split { padding: 4rem 0; }
.hb-hero-split__grid { display: grid; gap: 3rem; align-items: center; }
@media(min-width:900px) { .hb-hero-split__grid { grid-template-columns: 1fr 1fr; } }
.hb-hero-split__image { overflow: hidden; }
.hb-hero-split__image img { width: 100%; height: 480px; object-fit: cover; object-position: top; display: block; }
@media(max-width:899px) { .hb-hero-split__image img { height: 280px; } }
.hb-hero-split__tagline { font-size: .875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--primary); margin-bottom: .75rem; }
.hb-hero-split__h1 { font-size: clamp(2rem,4vw,3rem); font-weight: 300; margin-bottom: .75rem; }
.hb-hero-split__desc { margin-top: 1.5rem; color: var(--muted); line-height: 1.85; }
.hb-hero-split__desc p { margin-bottom: .85rem; }
.hb-hero-split__btn-wrap { margin-top: 2rem; }

/* ─────────────────────────────────────────────────────────────
   HERO PLAIN
   ───────────────────────────────────────────────────────────── */
.hb-hero-plain { padding: 4rem 0; }
.hb-hero-plain__content { max-width: 760px; margin: 0 auto; text-align: center; }
.hb-hero-plain__eyebrow { font-size: .8rem; letter-spacing: .15em; text-transform: uppercase; color: var(--primary); display: block; margin-bottom: .75rem; }
.hb-hero-plain__h1 { font-size: clamp(2rem,4vw,3rem); font-weight: 300; margin-bottom: .75rem; }
.hb-hero-plain__subtitle { font-size: 1.25rem; color: var(--muted); margin-top: 1rem; }
.hb-hero-plain__desc { color: var(--muted); margin-top: 1rem; line-height: 1.8; }

/* ─────────────────────────────────────────────────────────────
   PRINT
   ───────────────────────────────────────────────────────────── */
@media print {
  .sticky-side,.mob-bar,.site-header,.site-footer { display: none !important; }
  .site-main { padding: 0 !important; }
}

/* ─────────────────────────────────────────────────────────────
   NEW LAYOUTS – Feedback Sheet Fix
   ───────────────────────────────────────────────────────────── */

/* hb_imagevideo */
.hb-imagevideo { padding: 4rem 0; }
.hb-imagevideo__header { text-align: center; margin-bottom: 2.5rem; }
.hb-imagevideo__heading { font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; color: var(--primary); }
.hb-imagevideo__desc { color: var(--muted); margin-top: .75rem; }
.hb-imagevideo__frame-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 900px; margin: 0 auto; }
.hb-imagevideo__frame { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* hb_finanzielle_absicherung */
.hb-finanzielle-absicherung { padding: 5rem 0; }
.hb-fa__inner { max-width: 860px; margin: 0 auto; }
.hb-fa__heading { font-size: clamp(1.6rem,3vw,2.2rem); font-weight: 300; color: var(--primary); margin-bottom: .75rem; }
.hb-fa__content { margin-top: 1.5rem; }
.hb-fa__partners { margin-top: 3rem; }
.hb-fa__partners-heading { font-size: 1.2rem; font-weight: 600; margin-bottom: 1.25rem; }
.hb-fa__partners-list { display: flex; gap: 1.25rem; flex-wrap: wrap; align-items: center; }
.hb-fa__partner-link { display: inline-flex; align-items: center; padding: .75rem 1.25rem; border: 1px solid var(--border); background: var(--card); color: var(--primary); font-size: .9rem; font-weight: 500; text-decoration: none; transition: border-color .2s; }
.hb-fa__partner-link:hover { border-color: var(--primary); text-decoration: none; }
.hb-fa__partner-logo { height: 40px; width: auto; max-width: 140px; object-fit: contain; }
.hb-fa__partner-name { font-size: .875rem; color: var(--primary); }

/* hb_vorsorgedokumente */
.hb-vorsorgedokumente { padding: 5rem 0; }
.hb-vd__header { text-align: center; margin-bottom: 2.5rem; }
.hb-vd__heading { font-size: clamp(1.6rem,3vw,2.2rem); font-weight: 300; color: var(--primary); }
.hb-vd__desc { color: var(--muted); max-width: 640px; margin: .75rem auto 0; }
.hb-vd__grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); }
.hb-vd__card { text-align: center; padding: 2rem 1.5rem; border: 1px solid var(--border); background: var(--card); }
.hb-vd__icon-wrap { width: 64px; height: 64px; border-radius: 50%; background: var(--primary-light); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.hb-vd__icon { width: 32px; height: 32px; object-fit: contain; }
.hb-vd__card-title { font-size: 1rem; font-weight: 600; margin-bottom: .4rem; }
.hb-vd__card-desc { color: var(--muted); font-size: .875rem; line-height: 1.65; }
.hb-vd__partner { text-align: center; margin-top: 3rem; padding: 2rem; background: var(--sand); border: 1px solid var(--border); }
.hb-vd__partner-text { color: var(--muted); margin-bottom: 1.25rem; }

/* hb_ratgeber_text */
.hb-ratgeber-text { padding: 4rem 0; }
.hb-rt__inner { max-width: 860px; margin: 0 auto; }
.hb-rt__heading { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 300; color: var(--fg); margin-bottom: .75rem; }
.hb-rt__content { margin-top: 1.5rem; }
.hb-rt__cta { margin-top: 2rem; }
.hb-rt__note { margin-top: 1.5rem; padding: 1rem 1.25rem; background: var(--sand); border-left: 3px solid var(--primary); color: var(--muted); font-size: .875rem; font-style: italic; line-height: 1.7; }

/* hb_erblotse */
.hb-erblotse { padding: 5rem 0; }
.hb-erblotse__inner { max-width: 760px; margin: 0 auto; text-align: center; }
.hb-erblotse__content { color: var(--muted); line-height: 1.9; margin-bottom: 2rem; }
.hb-erblotse__content p { margin-bottom: 1rem; }

/* hb_online_services */
.hb-online-services { padding: 5rem 0; }
.hb-os__header { text-align: center; margin-bottom: 2.5rem; }
.hb-os__heading { font-size: clamp(1.6rem,3vw,2.2rem); font-weight: 300; color: var(--primary); }
.hb-os__desc { color: var(--muted); max-width: 640px; margin: .75rem auto 0; }
.hb-os__grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); }
.hb-os__card { text-align: center; padding: 2rem 1.5rem; border: 1px solid var(--border); background: var(--card); }
.hb-os__icon-wrap { width: 64px; height: 64px; border-radius: 50%; background: var(--primary-light); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.hb-os__icon { width: 32px; height: 32px; object-fit: contain; }
.hb-os__card-title { font-size: 1rem; font-weight: 600; margin-bottom: .4rem; }
.hb-os__card-desc { color: var(--muted); font-size: .875rem; line-height: 1.65; }
.hb-os__cta { text-align: center; margin-top: 3rem; padding: 2.5rem; background: var(--card); border: 1px solid var(--border); }
.hb-os__cta-heading { font-size: 1.25rem; font-weight: 600; margin-bottom: 1.25rem; }

/* ─────────────────────────────────────────────────────────────
   FEEDBACK 2 – New Layout Styles
   ───────────────────────────────────────────────────────────── */

/* hb_redenformate */
.hb-redenformate { padding: 5rem 0; }
.hb-redenformate__header { text-align: center; margin-bottom: 2.5rem; }
.hb-redenformate__heading { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 300; }
.hb-redenformate__grid { display: grid; gap: 2rem; margin-top: 2.5rem; }
@media(min-width:768px) { .hb-redenformate__grid { grid-template-columns: 1fr 1fr; } }
.hb-redenformate__card {
    background: #f7f7f7;
    padding: 2rem;
    border: 2px solid #d9d9d9;
}
.hb-redenformate__card-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 1rem;
    line-height: 28px;
}
.hb-redenformate__card-content { color: var(--muted); line-height: 1.8; }
.hb-redenformate__card-content p {
    margin-bottom: .85rem;
    font-size: 18px;
    line-height: 29px;
    color: #1a1a1a;
}
.hb-redenformate__price { font-weight: 600; color: var(--fg); margin-top: 1rem; font-size: .95rem;font-size: 18px;
    line-height: 28px; }
.hb-redenformate__closing {
    text-align: center;
    margin-top: 2rem;
    color: #1a1a1a;
    font-size: 18px;
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
    line-height: 29px;
}

/* hb_erste_schritte */
.hb-erste-schritte { padding: 5rem 0; }
.hb-erste-schritte__header { text-align: center; margin-bottom: 2.5rem; }
.hb-erste-schritte__heading { font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; }
.hb-erste-schritte__desc { color: var(--muted); max-width: 600px; margin: .75rem auto 0; font-size: 1.05rem; }
.hb-erste-schritte__grid { display: grid; gap: 1.5rem; max-width: 900px; margin: 0 auto; }
@media(min-width:768px) { .hb-erste-schritte__grid { grid-template-columns: 1fr 1fr; } }
.hb-erste-schritte__card { background: var(--card); padding: 1.75rem 2rem; border: 1px solid var(--border); }
.hb-erste-schritte__card-title { font-size: 1.05rem; font-weight: 600; margin-bottom: .75rem; color: var(--fg); }
.hb-erste-schritte__card-text { color: var(--muted); line-height: 1.8; font-size: .95rem; }

/* hb_akuten_trauerfall */
.hb-akuten-trauerfall { padding: 3rem 0; }
.hb-akt__inner { text-align: center; }
.hb-akt__heading { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 300; color: #fff; margin-bottom: .75rem; }
.hb-akt__subtext { color: rgba(255,255,255,.85); margin-bottom: 1.5rem; font-size: 1.05rem; }
.hb-akt__phone-btn {
  display: inline-flex; align-items: center; gap: .75rem;
  border: 2px solid rgba(255,255,255,.7); padding: .875rem 2rem;
  color: #fff; font-size: 1.25rem; font-weight: 600;
  border-radius: 4px; text-decoration: none; transition: .2s;
}
.hb-akt__phone-btn:hover { background: rgba(255,255,255,.15); text-decoration: none; color: #fff; }

/* hb_benoetigte_unterlagen */
.hb-benoetigte-unterlagen { padding: 5rem 0; }
.hb-bu__header { text-align: center; margin-bottom: 2.5rem; }
.hb-bu__heading { font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; }
.hb-bu__grid { display: grid; gap: 2.5rem; max-width: 900px; margin: 0 auto; }
@media(min-width:768px) { .hb-bu__grid { grid-template-columns: 1fr 1fr; } }
.hb-bu__col-title { display: flex; align-items: center; gap: .5rem; font-size: 1rem; font-weight: 600; margin-bottom: 1.25rem; color: var(--fg); }
.hb-bu__list { list-style: none; }
.hb-bu__item { display: flex; gap: .75rem; align-items: flex-start; padding: .6rem 0; border-bottom: 1px solid var(--border); font-size: .95rem; color: var(--muted); }
.hb-bu__item:last-child { border-bottom: none; }
.hb-bu__check { color: var(--primary); flex-shrink: 0; margin-top: .15rem; }
.hb-bu__item strong { color: var(--fg); }

/* hb_map_embed */
.hb-map-embed { padding: 4rem 0; }
.hb-map-embed__frame-wrap { border-radius: 4px; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,.1);     }
.hb-map-embed__frame { display: block; border: 0; width: 100%; }

/* hb_aktuelles_feed */
.hb-aktuelles-feed__beitraege { padding: 4rem 0; }
.hb-aktuelles-feed__list { max-width: 768px; margin: 0 auto; display: flex; flex-direction: column; gap: 2.5rem; }
.hb-aktuelles-feed__beitrag { border: 1px solid var(--border); background: var(--card); padding: 2rem; }
.hb-aktuelles-feed__beitrag-title { font-size: 1.2rem; font-weight: 400; margin-bottom: 1.25rem; color: var(--fg); }
.hb-aktuelles-feed__figure { margin-bottom: 1.25rem; }
.hb-aktuelles-feed__img { width: 100%; max-height: 400px; object-fit: cover; display: block; }
.hb-aktuelles-feed__inhalt { color: var(--muted); line-height: 1.85; margin-bottom: 1.25rem; }
.hb-aktuelles-feed__inhalt p { margin-bottom: .85rem; }
.hb-aktuelles-feed__link { margin-top: .75rem; }

.hb-aktuelles-feed__info-bar { padding: 2rem 0; background: rgba(131,31,130,.05); }
.hb-aktuelles-feed__info-inner { text-align: center; max-width: 760px; margin: 0 auto; }
.hb-aktuelles-feed__info-strong { font-weight: 600; color: var(--fg); margin-bottom: .5rem; }
.hb-aktuelles-feed__info-muted { color: var(--muted); font-size: .875rem; font-style: italic; }

.hb-aktuelles-feed__links { padding: 4rem 0; }
.hb-aktuelles-feed__links-grid { display: grid; gap: 1.5rem; max-width: 768px; margin: 0 auto; }
@media(min-width:640px) { .hb-aktuelles-feed__links-grid { grid-template-columns: 1fr 1fr; } }
.hb-aktuelles-feed__link-card { text-align: center; border: 1px solid var(--border); background: var(--card); padding: 2rem 1.5rem; }
.hb-aktuelles-feed__link-icon { width: 36px; height: 36px; margin: 0 auto 1rem; object-fit: contain; }
.hb-aktuelles-feed__link-title { font-size: 1.05rem; font-weight: 600; margin-bottom: .5rem; }
.hb-aktuelles-feed__link-desc { color: var(--muted); font-size: .875rem; line-height: 1.65; margin-bottom: 1rem; }

.hb-aktuelles-feed__quote { padding: 4rem 0; }
.hb-aktuelles-feed__blockquote { max-width: 660px; margin: 0 auto; text-align: center; }
.hb-aktuelles-feed__blockquote p { font-size: 1.2rem; font-style: italic; color: var(--fg); line-height: 1.85; }
.hb-aktuelles-feed__cite { display: block; margin-top: 1rem; color: var(--muted); font-size: .875rem; }

.hb-aktuelles-feed__cta { padding: 4rem 0; }
.hb-aktuelles-feed__cta-inner { text-align: center; }
.hb-aktuelles-feed__cta-heading { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 300; margin-bottom: .5rem; }
.hb-aktuelles-feed__cta-text { color: var(--muted); margin-bottom: 1.5rem; }
.hb-aktuelles-feed__cta-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.bg-primary-light { background: rgba(131,31,130,.05); }


/* ─────────────────────────────────────────────────────────────
   KONTAKT PAGE – Full rebuild to match live site
   ───────────────────────────────────────────────────────────── */

/* ── 4-col Info Cards ──────────────────────────────────────── */
.hb-kontakt__cards { padding: 0rem 0; background: #fff; }
.hb-kontakt__cards-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
}
.hb-kontakt__card {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; padding: 2rem 1.25rem;
  border: 1px solid rgba(131,31,130,.15);
  background: var(--card);
  transition: border-color .2s;
}
.hb-kontakt__card:hover { border-color: rgba(131,31,130,.4); }
.hb-kontakt__card-icon-wrap {
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(131,31,130,.1);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1rem; color: var(--primary);
  flex-shrink: 0;
}
.hb-kontakt__card-icon { width: 24px; height: 24px; object-fit: contain; }
.hb-kontakt__card-title { font-size: 1rem; font-weight: 600; margin-bottom: .5rem; color: var(--fg); }
.hb-kontakt__card-content { font-size: .875rem; color: var(--muted); line-height: 1.65; }
.hb-kontakt__card-content a { color: var(--primary); text-decoration: none; display: block; }
.hb-kontakt__card-content a:hover { text-decoration: underline; }
.hb-kontakt__card-content p { margin: .2rem 0; }
.hb-kontakt__card-content address { font-style: normal; }

/* ── Maps Section ──────────────────────────────────────────── */
.hb-kontakt__maps { padding: 4rem 0 4rem; background: #f7f7f7; }
.hb-kontakt__maps-heading {
  font-size: 24px;
  font-weight: 700; color: var(--fg);
  text-align: center; margin-bottom: .75rem;
}
.hb-kontakt__maps-grid {
  display: grid; gap: 2rem; margin-top: 2.5rem;
}
@media(min-width:768px) {
  .hb-kontakt__maps-grid { grid-template-columns: 1fr 1fr; 
  padding-top: 10px;}
}
.hb-kontakt__map-col { }
.hb-kontakt__map-col-heading {
  font-size: 1.05rem; font-weight: 600;
  color: var(--fg); margin-bottom: .75rem;
}
/* Map wrapper: relative so overlay card can sit on top */
.hb-kontakt__map-wrap {
  position: relative;
  height: 350px;
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: 0 4px 20px rgba(0,0,0,.1);
}
/* Address overlay card – top-left inside map */
.hb-kontakt__map-overlay {
  position: absolute;
  top: .75rem; left: .75rem;
  z-index: 10;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: .75rem 1rem;
  max-width: 220px;
  box-shadow: 0 2px 12px rgba(0,0,0,.15);
}
.hb-kontakt__map-overlay-name {
  font-weight: 600; font-size: .8rem;
  color: var(--fg); line-height: 1.3; margin-bottom: .25rem;
}
.hb-kontakt__map-overlay-addr {
  font-size: .75rem; color: var(--muted); line-height: 1.4; margin: 0;
}
.hb-kontakt__map-overlay-link {
  display: block; margin-top: .5rem;
  font-size: .75rem; color: var(--primary);
  text-decoration: none;
}
.hb-kontakt__map-overlay-link:hover { text-decoration: underline; }
/* Map iframe fills the wrapper */
.hb-kontakt__map-iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0; display: block;
}
.hb-kontakt__map-placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--sand); color: var(--muted);
}

/* ── Kontaktformular ───────────────────────────────────────── */
.hb-kontakt__form { padding: 4rem 0; background: #f7f7f7d9; }
.hb-kontakt__form-card {
  max-width: 680px; margin: 0 auto;
  background: var(--card);
  border: 1px solid var(--border);
  padding: 1.5rem;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}
.hb-kontakt__form-heading {
  font-size: 1.5rem; font-weight: 700;
  color: var(--fg); margin-bottom: 1.5rem;
}
.hb-kontakt__form-wrap { margin-top: 1.5rem; }

/* Gravity Forms inside kontakt form card */
.hb-kontakt__form-wrap .gform_wrapper { }
.hb-kontakt__form-wrap .gform_fields { display: flex; flex-direction: column; gap: 1.25rem; }
.hb-kontakt__form-wrap .gfield { margin-bottom: 0; }
.hb-kontakt__form-wrap .gfield_label { font-size: .9rem; font-weight: 500; margin-bottom: .35rem; display: block; }
/*.hb-kontakt__form-wrap .ginput_container input,
.hb-kontakt__form-wrap .ginput_container textarea {
  width: 100%; padding: .625rem .875rem;
  border: 1px solid var(--border); background: #fff;
  font-family: var(--font); font-size: .95rem;
  border-radius: 2px; transition: border-color .2s;
}*/
.hb-kontakt__form-wrap .ginput_container input:focus,
.hb-kontakt__form-wrap .ginput_container textarea:focus {
  outline: none; border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(131,31,130,.1);
}
.hb-kontakt__form-wrap .ginput_container textarea { min-height: 120px; resize: vertical; }
.hb-kontakt__form-wrap .gfield_checkbox { list-style: none; }
.hb-kontakt__form-wrap .gfield_checkbox label { font-size: .875rem; color: var(--muted); }
.hb-kontakt__form-wrap .gform_footer input[type=submit],
.hb-kontakt__form-wrap .gform_button {
  width: 100%;
  background: var(--primary); color: #fff;
  border: none; padding: .875rem 2rem;
  font-family: var(--font); font-size: 1rem; font-weight: 500;
  cursor: pointer; border-radius: 2px; transition: .2s; margin-top: .5rem;
}
.hb-kontakt__form-wrap .gform_footer input[type=submit]:hover,
.hb-kontakt__form-wrap .gform_button:hover { background: var(--primary-dark); }

/* ── Trauerfall CTA ────────────────────────────────────────── */
.hb-kontakt__trauerfall-cta { padding: 4rem 0; }
.hb-kontakt__trauerfall-inner { max-width: 760px; margin: 0 auto; text-align: center; }
.hb-kontakt__trauerfall-heading {
  font-size: clamp(1.75rem,3vw,2.25rem); font-weight: 700;
  color: var(--fg); margin-bottom: 1.25rem;
}
.hb-kontakt__trauerfall-text {
  font-size: 1.05rem; color: var(--muted);
  line-height: 1.85; margin-bottom: 2rem;
}
.hb-kontakt__trauerfall-link { color: var(--primary); }
.hb-kontakt__trauerfall-btn {
  display: inline-flex; align-items: center; gap: .5rem;
}

/* ═══════════════════════════════════════════════════════════════
   BESTATTUNGSARTEN – CSS CORRECTIONS
   Matches live site screenshots exactly
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero: full-bleed, text visible on dark overlay ─────────── */
.hb-hero-bg {
  min-height: 400px;
  padding: 0 !important;
}
@media(min-width:768px) { .hb-hero-bg { min-height: 500px; } }
.hb-hero-bg__overlay {
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.10) 40%,
    rgba(0,0,0,.25) 100%
  );
}
.hb-hero-bg__h1 {
  font-size: clamp(2.2rem,5vw,4rem);
  color: var(--fg);
  font-weight: 300;
}
.hb-hero-bg__subtitle { color: var(--primary); }
.hb-hero-bg__desc     { color: var(--fg); font-size: 1.05rem; }
.hb-hero-bg__btns     { gap: 1.25rem; }

/* ── Intro text: primary colored heading, centered ───────────── */
.hb-intro-text { padding: 5rem 0; }
.hb-intro-text__heading {
  font-size: clamp(1.75rem,3.5vw,2.75rem);
  font-weight: 300;
  color: var(--primary);
  text-align: center;
}
.hb-intro-text__desc {
  text-align: center;
  color: var(--muted);
  margin-top: 2rem;
  line-height: 1.9;
}
.hb-intro-text__desc p  { margin-bottom: 1rem; }
.hb-intro-text__desc a  { color: var(--primary); }

/* ── Benefits: 4-col, centered, icon circle + title + desc ──── */
.hb-benefits-cards { padding: 5rem 0; }
.hb-benefits-cards__header { text-align: center; margin-bottom: 3.5rem; }
.hb-benefits-cards__heading {
  font-size: clamp(1.75rem,3vw,2.5rem);
  font-weight: 300;
  color: var(--primary);
}
.hb-benefits-cards__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  max-width: 1100px;
  margin: 0 auto;
}
.hb-benefits-cards__card {
  text-align: center;
  padding: 2rem 1.5rem;
  border: 1px solid var(--border);
  background: var(--card);
}
.hb-benefits-cards__icon-wrap {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: rgba(131,31,130,.1);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.25rem;
  color: var(--primary);
}
.hb-benefits-cards__icon { width: 36px; height: 36px; object-fit: contain; }
.hb-benefits-cards__title { font-size: 1rem; font-weight: 700; margin-bottom: .6rem; color: var(--fg); }
.hb-benefits-cards__desc  { color: var(--muted); font-size: .875rem; line-height: 1.7; }

/* ── Steps: numbered circles, left text ──────────────────────── */
.hb-steps-timeline { padding: 5rem 0; }
.hb-steps-timeline__header { text-align: center; margin-bottom: 3rem; }
.hb-steps-timeline__subheading { color: var(--muted); margin-top: .75rem; font-size: .95rem; }
.hb-steps-timeline__heading {
  font-size: clamp(1.75rem,3vw,2.5rem);
  font-weight: 300;
  color: var(--primary);
}
.hb-steps-timeline__list {
  max-width: 800px;
  margin: 0 auto;
  list-style: none;
}
.hb-steps-timeline__item {
  display: flex;
  gap: 1.75rem;
  margin-bottom: 2.5rem;
  align-items: flex-start;
}
.hb-steps-timeline__num {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; font-weight: 700;
  flex-shrink: 0;
}
.hb-steps-timeline__title { font-size: 1.1rem; font-weight: 600; margin-bottom: .4rem; color: var(--fg); }
.hb-steps-timeline__desc  { color: var(--muted); line-height: 1.8; font-size: .95rem; }

/* ── Split image+text: image left, text right ─────────────────── */
.hb-split-image-text { padding: 5rem 0; }
.hb-split-image-text__grid {
  display: grid;
  gap: 4rem;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
}
@media(min-width:900px) { .hb-split-image-text__grid { grid-template-columns: 1fr 1fr; } }
.hb-split-image-text__image {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
}
@media(max-width:899px) { .hb-split-image-text__image { height: 280px; } }
.hb-split-image-text__heading {
  font-size: clamp(1.6rem,2.5vw,2.2rem);
  font-weight: 300;
  color: var(--primary);
  margin-bottom: .75rem;
}
.hb-split-image-text__desc {
  color: var(--muted);
  line-height: 1.85;
  margin-top: 1.5rem;
}
.hb-split-image-text__desc p { margin-bottom: .85rem; }
.hb-split-image-text__checklist { list-style: none; margin-top: 1.25rem; }
.hb-split-image-text__check-item {
  display: flex; gap: .75rem;
  align-items: flex-start;
  margin-bottom: .75rem;
  color: var(--muted);
  font-size: .95rem;
}
.hb-split-image-text__check-icon { color: var(--primary); font-weight: 700; flex-shrink: 0; margin-top: .1rem; }
.hb-split-image-text__btn-wrap { margin-top: 2rem; }

/* ── FAQ accordion: expand/collapse rows with dividers ─────────── */
.hb-faq { padding: 5rem 0; }
.hb-faq__header { text-align: center; margin-bottom: 3rem; }
.hb-faq__heading {
  font-size: clamp(1.75rem,3vw,2.5rem);
  font-weight: 300;
  color: var(--primary);
}
.hb-faq__desc { color: var(--muted); margin-top: .75rem; }
.hb-faq__list { max-width: 820px; margin: 0 auto; }
.hb-faq__item {
  border: 1px solid var(--border);
  margin-bottom: .5rem;
  background: var(--card);
}
.hb-faq__trigger {
  width: 100%; text-align: left;
  padding: 1.25rem 1.5rem;
  font-size: 1rem; font-weight: 500;
  background: none; border: none;
  cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  font-family: var(--font); color: var(--fg);
  transition: background .15s;
}
.hb-faq__trigger:hover { background: var(--sand); }
.hb-faq__question { flex: 1; line-height: 1.45; }
.hb-faq__icon { flex-shrink: 0; color: var(--primary); transition: transform .25s; }
.hb-faq__trigger[aria-expanded="true"] .hb-faq__icon { transform: rotate(180deg); }
.hb-faq__answer-inner { padding: 0 1.5rem 1.5rem; color: var(--muted); line-height: 1.8; font-size: .95rem; }

/* ── Related pages: responsive card grid ──────────────────────── */
.hb-related-pages { padding: 5rem 0; }
.hb-related-pages__header { text-align: center; margin-bottom: 2.5rem; }
.hb-related-pages__heading {
  font-size: clamp(1.75rem,3vw,2.5rem);
  font-weight: 300;
  color: var(--primary);
}
.hb-related-pages__grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  max-width: 1100px;
  margin: 0 auto;
}
.hb-related-pages__card {
  display: block;
  border: 1px solid var(--border);
  background: var(--card);
  padding: 1.5rem;
  text-decoration: none; color: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.hb-related-pages__card:hover {
  border-color: var(--primary);
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
  text-decoration: none;
}
.hb-related-pages__title { font-size: .95rem; font-weight: 600; color: var(--fg); margin-bottom: .3rem; }
.hb-related-pages__desc  { color: var(--muted); font-size: .8rem; line-height: 1.6; margin-bottom: .75rem; }
.hb-related-pages__more  { font-size: .8rem; color: var(--primary); font-weight: 500; }

/* ── CTA section: white bg, large centered heading ────────────── */
.hb-cta-phone { padding: 5rem 0; }
.hb-cta-phone--light .hb-cta-phone__heading { color: var(--fg); }
.hb-cta-phone--light .hb-cta-phone__desc { color: var(--muted); }
.hb-cta-phone--dark  .hb-cta-phone__heading { color: #fff; }
.hb-cta-phone--dark  .hb-cta-phone__desc { color: rgba(255,255,255,.85); }
.hb-cta-phone__heading {
  font-size: clamp(1.75rem,3vw,2.5rem);
  font-weight: 300;
  margin-bottom: 1rem;
}
.hb-cta-phone__desc { font-size: 1.1rem; max-width: 680px; margin: 1rem auto 0; line-height: 1.85; }
.hb-cta-phone__btns { margin-top: 2.5rem; display: flex; gap: 1.25rem; justify-content: center; flex-wrap: wrap; }

/* Decorative divider – centered by default */
.hb-divider { width: 4rem; height: 0.125rem; background: var(--primary); margin: .85rem auto 0;  margin-top: 40px;}
.hb-divider--left { margin-left: 0; }

/* ── Wald section (Naturnahe) ─────────────────────────────────── */
.hb-wald-section { padding: 5rem 0; }
.hb-wald-section__nav {
  display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 3rem;
  justify-content: center;
}
.hb-wald-section__nav-link {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .75rem 1.5rem;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--fg); font-size: .9rem;
  text-decoration: none;
  transition: background .2s, border-color .2s;
  border-radius: 6px;
}
.hb-wald-section__nav-link:hover { background: var(--primary-light); border-color: var(--primary); text-decoration: none; }
.hb-wald-section__body { display: grid; gap: 3rem; align-items: start; }
@media(min-width:900px) { .hb-wald-section__body { grid-template-columns: 1fr 1fr; } }
.hb-wald-section__subheading { color: var(--muted); font-size: .875rem; margin-bottom: .4rem; }
.hb-wald-section__heading { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 300; color: var(--primary); }
.hb-wald-section__desc { color: var(--muted); line-height: 1.85; margin-top: 1.25rem; }
.hb-wald-section__desc p { margin-bottom: .85rem; }
.hb-wald-section__btn { margin-top: 1.5rem; }
.hb-wald-section__image { width: 100%; height: 380px; object-fit: cover; display: block; }
@media(max-width:899px){ .hb-wald-section__image { height: 240px; } }

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE – CSS CORRECTIONS (Feedback 04-14-2026)
   ═══════════════════════════════════════════════════════════════ */

/* ── Features Cards – icon circle + bold title ───────────────── */
.hb-features-cards { padding: 4rem 0; }
.hb-features-cards__grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
}
.hb-features-cards__card {
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    padding: 1.5rem 1.25rem;
    border: 1px solid var(--border);
    background: var(--card);
    text-decoration: none; color: inherit;
    transition: border-color .2s;
    cursor: pointer;
    height: 100%;
}
.hb-features-cards__card:hover {
    border-color: rgba(131,31,130,.4);
    text-decoration: none;
}
.hb-features-cards__icon-wrap {
    width: 64px; height: 64px;
    border-radius: 50%;
    background: rgba(131,31,130,.1);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.25rem;
    color: var(--primary);
    flex-shrink: 0;
}
.hb-features-cards__icon-wrap svg { width: 32px; height: 32px; }
.hb-features-cards__icon-img { width: 32px; height: 32px; object-fit: contain; }
.hb-features-cards__title { font-size: 1.15rem; font-weight: 700; margin-bottom: .5rem; color: var(--fg); }
.hb-features-cards__desc  { color: var(--muted); font-size: .9rem; line-height: 1.65; }

/* ── Trauerfall 2-col ────────────────────────────────────────── */
.hb-trauerfall-2col { padding: 5rem 0; }
.hb-trauerfall-2col__header { text-align: center; margin-bottom: 3rem; }
.hb-trauerfall-2col__heading {
    font-size: clamp(1.75rem,3vw,2.25rem);
    font-weight: 300; color: var(--fg);
}
.hb-trauerfall-2col__grid {
    display: grid; gap: 3rem;
}
@media(min-width:768px) { .hb-trauerfall-2col__grid { grid-template-columns: 1fr 1fr; } }
.hb-trauerfall-2col__card {
    border: 1px solid var(--border);
    background: var(--card);
    padding: 2rem;
}

/* Card header: icon circle + title inline */
.hb-trauerfall-2col__card-header {
    display: flex; align-items: flex-start; gap: .875rem;
    margin-bottom: 1.75rem;
}
.hb-trauerfall-2col__icon-circle {
    width: 44px; height: 44px;
    border-radius: 50%; flex-shrink: 0;
    background: rgba(131,31,130,.1);
    display: flex; align-items: center; justify-content: center;
    color: var(--primary);
    margin-top: .15rem;
}
.hb-trauerfall-2col__icon-circle svg { width: 22px; height: 22px; }
.hb-trauerfall-2col__card-title {
    font-size: 1rem; font-weight: 600;
    color: var(--fg); line-height: 1.5;
}

/* Steps */
.hb-trauerfall-2col__steps { display: flex; flex-direction: column; gap: 1.5rem; }
.hb-trauerfall-2col__step  { display: flex; gap: 1rem; }
.hb-trauerfall-2col__step-num {
    width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
    background: var(--primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: .875rem; margin-top: .1rem;
}
.hb-trauerfall-2col__step-body  { flex: 1; }
.hb-trauerfall-2col__step-text  { color: var(--muted); line-height: 1.75; font-size: .95rem; }
.hb-trauerfall-2col__step-note  { color: var(--muted); font-style: italic; font-size: .85rem; margin-top: .4rem; line-height: 1.6; }
.hb-trauerfall-2col__step-highlight { color: var(--primary); font-weight: 600; margin-top: .5rem; font-size: .95rem; }

/* Phone button in step – solid purple, full width, with icon */
.hb-trauerfall-2col__step-btn {
    display: inline-flex; align-items: center; gap: .6rem;
    margin-top: .875rem; padding: .75rem 1.5rem;
    background: var(--primary); color: #fff;
    font-weight: 500; font-size: 1rem;
    text-decoration: none; border: none;
    transition: background .2s;
}
.hb-trauerfall-2col__step-btn:hover { background: var(--primary-dark); text-decoration: none; color: #fff; }
.hb-trauerfall-2col__step-btn svg { flex-shrink: 0; }

/* Doc list (right card) */
.hb-trauerfall-2col__doc-list { list-style: none; display: flex; flex-direction: column; gap: 1rem; }
.hb-trauerfall-2col__doc-item {
    display: flex;
    gap: .75rem;
    align-items: flex-start;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 28px;
}
.hb-trauerfall-2col__doc-icon { color: var(--primary); flex-shrink: 0; margin-top: .15rem; }

/* Hinweis note box */
.hb-trauerfall-2col__note {
    margin-top: 1.5rem;
    background: var(--sand);
    border-radius: 6px;
    padding: 1rem 1.25rem;
    font-size: 14px;
    color: #1a1a1a;
    line-height: 20px;
}
.hb-trauerfall-2col__note strong { color: var(--fg); }

/* ── Gedenkportal CTA ────────────────────────────────────────── */
.hb-gedenkportal-cta { padding: 5rem 0; }
.hb-gedenkportal-cta__inner { max-width: 895px; margin: 0 auto; text-align: center; }
.hb-gedenkportal-cta__heading {
    font-size: clamp(2rem,4vw,2.75rem);
    font-weight: 300; color: var(--primary);
}
.hb-gedenkportal-cta__desc {     color: #1a1a1a;
    font-size: 18px;
    line-height: 29px; margin: 2rem 0; }
.hb-gedenkportal-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #fff;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none;
    padding: 0.6rem 2rem;
    border-bottom: 1px solid var(--primary);
    transition: opacity .2s;
    background: var(--primary);
    line-height: 20px;
}
.hb-about-image-text__desc p {
    margin-bottom: .85rem;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 29px;
}
.hb-gedenkportal-cta__btn:hover { opacity: .75; text-decoration: none; }

/* ── About image+text (homepage) ─────────────────────────────── */
.hb-about-image-text { padding: 5rem 0; background: #fff; }
.hb-about-image-text__grid {
    display: grid; gap: 3rem; align-items: center;
}
@media(min-width:768px) { .hb-about-image-text__grid { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.hb-about-image-text__image {
    width: 100%; height: 500px; object-fit: cover;
    object-position: top; display: block;
    border-radius: 8px; box-shadow: 0 4px 24px rgba(0,0,0,.12);
}
@media(max-width:767px) { .hb-about-image-text__image { height: 280px; } }
.hb-about-image-text__heading {
    font-size: 36px;
    font-weight: 300;
    color: #000;
    margin-bottom: .75rem;
    line-height: 40px;
}
.hb-about-image-text__btn-wrap h4 {
    font-size: 20px;
    line-height: 24px;
    margin-top: 24px;
    color: #7f1f7e;
    font-weight: 500;
}
.hb-about-image-text__desc { margin-top: 1.5rem; color: var(--muted); line-height: 1.85; }
.hb-about-image-text__desc p { margin-bottom: .85rem; }
.hb-about-image-text__desc strong { color: var(--fg); }
.hb-about-image-text__btn-wrap { margin-top: 2rem; }
.hb-about-image-text__btn-wrap a {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--primary); color: #fff;
    padding: .75rem 1.75rem; font-weight: 500;
    text-decoration: none; transition: background .2s;
}
.hb-about-image-text__btn-wrap a:hover { background: var(--primary-dark); text-decoration: none; color: #fff; }

/* ── Services cards ──────────────────────────────────────────── */
.hb-services-cards { padding: 5rem 0; }
.hb-services-cards__header { text-align: center; margin-bottom: 3rem; }
.hb-services-cards__heading {
        font-size: 36px;
    font-weight: 300; color: var(--primary);line-height: 40px;
}
.hb-services-cards__grid {
    display: grid; gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
}
@media(min-width:768px)  { .hb-services-cards__grid { grid-template-columns: repeat(2,1fr); } }
@media(min-width:1024px) { .hb-services-cards__grid { grid-template-columns: repeat(3,1fr); } }
.hb-services-cards__card {
    display: block; overflow: hidden;
    background: var(--card);
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    border: none;
    text-decoration: none; color: inherit;
    transition: box-shadow .2s, transform .2s;
    height: 100%;
}
.hb-services-cards__card:hover { box-shadow: 0 8px 32px rgba(0,0,0,.15); transform: translateY(-2px); text-decoration: none; }
.hb-services-cards__img-wrap { height: 224px; overflow: hidden; }
.hb-services-cards__img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; display: block; }
.hb-services-cards__card:hover .hb-services-cards__img { transform: scale(1.08); }
.hb-services-cards__body { padding: 1.5rem; }
.hb-services-cards__title {     font-size: 20px; font-weight: 300; color: var(--fg); margin-bottom: .5rem;     line-height: 28px;}
.hb-services-cards__desc {
    color: #1a1a1a;
    font-size: 14px;
    line-height: 23px;
}

/* ── CTA phone section ───────────────────────────────────────── */
.hb-cta-phone { padding: 5rem 0; }
.hb-cta-phone__inner { text-align: center; max-width: 700px; margin: 0 auto; }
.hb-cta-phone__heading { font-size: 36px; font-weight: 300; margin-bottom: .75rem;line-height: 40px; }
.hb-cta-phone--light .hb-cta-phone__heading { color: var(--fg); }
.hb-cta-phone--dark  .hb-cta-phone__heading { color: #fff; }
.hb-cta-phone__desc {
    font-size: 18px;
    line-height: 29px;
    margin: 1.5rem auto 0;
    max-width: 600px;
    color: #000 !important;
}
.hb-cta-phone--light .hb-cta-phone__desc { color: var(--muted); }
.hb-cta-phone--dark  .hb-cta-phone__desc { color: rgba(255,255,255,.85); }
.hb-cta-phone__btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 2.5rem; }

/* Buttons */
.hb-cta-phone__btn {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .875rem 2rem; font-size: 1rem; font-weight: 500;
    text-decoration: none; cursor: pointer;
    transition: .2s;
}
.hb-cta-phone__btn:hover { text-decoration: none; }
.hb-cta-phone__btn--primary       { background: var(--primary); color: #fff; border: 2px solid var(--primary); }
.hb-cta-phone__btn--primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.hb-cta-phone__btn--outline       { background: transparent; color: var(--primary); border: 2px solid var(--primary); }
.hb-cta-phone__btn--outline:hover { background: var(--primary); color: #fff; }
.hb-cta-phone__btn--white         { background: #fff; color: var(--primary); border: 2px solid #fff; }
.hb-cta-phone__btn--white:hover   { background: rgba(255,255,255,.9); }
.hb-cta-phone__btn--outline-white { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.7); }
.hb-cta-phone__btn--outline-white:hover { background: rgba(255,255,255,.15); color: #fff; }
.hb-cta-phone__btn svg            { flex-shrink: 0; }

/* ── Footer column highlight fix ─────────────────────────────── */
/* Ensure footer "Unternehmen & Service" col links all correct */
.footer-col .footer-link { color: rgba(242,242,242,.75); font-size: .875rem; text-decoration: none; }
.footer-col .footer-link:hover { color: var(--footer-fg); }

/* ── Hero bg - ensure full bleed, text always readable ──────── */
.hb-hero-bg__content { padding: 4rem 1rem; }
.hb-hero-bg__tagline {
    font-size: .875rem; letter-spacing: .18em;
    text-transform: uppercase; color: rgba(30,30,30,.85);
    margin-bottom: .75rem;
}
.hb-hero-bg__h1 {
    font-size: clamp(2.2rem,5vw,4rem);
    font-weight: 300; color: var(--fg); line-height: 1.1;
    margin-bottom: .5rem;
}
.hb-hero-bg__subtitle { font-size: clamp(1.1rem,2.5vw,1.75rem); color: var(--primary); font-weight: 400; }

/* Hero buttons */
.hb-hero-bg__btn {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .875rem 2rem; font-size: 1rem; font-weight: 500;
    text-decoration: none; cursor: pointer; transition: .2s;
}
.hb-hero-bg__btn--primary {
    background: var(--primary); color: #fff; border: 2px solid var(--primary);
}
.hb-hero-bg__btn--primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; text-decoration: none; }
.hb-hero-bg__btn--outline-white {
    background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.75);
}
.hb-hero-bg__btn--outline-white:hover { background: rgba(255,255,255,.15); color: #fff; text-decoration: none; }

/* ═══════════════════════════════════════════════════════════════
   BESTATTUNGSART PAGES — COMPLETE CSS REWRITE
   Pixel-matched to live site screenshots
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Benefits Cards ────────────────────────────────────────── */
.hb-benefits-cards          { padding: 5rem 0; background: var(--background); }
.hb-benefits-cards__header  { text-align: center; margin-bottom: 3rem; }
.hb-benefits-cards__heading {
    font-size: clamp(1.75rem,3vw,2.5rem);
    font-weight: 300; color: var(--primary); margin-bottom: .75rem;
}
.hb-benefits-cards__grid {
    display: grid; gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
    max-width: 1100px; margin: 0 auto;
}
.hb-benefits-cards__card {
    text-align: center; padding: 2rem 1.5rem;
    border: 1px solid var(--border); background: var(--card);
}
/* 72px purple circle – exactly matching live */
.hb-benefits-cards__icon-wrap {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: rgba(131,31,130,.1);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.25rem; color: var(--primary);
}
.hb-benefits-cards__icon-wrap svg { width: 32px; height: 32px; }
.hb-benefits-cards__icon          { width: 36px; height: 36px; object-fit: contain; }
.hb-benefits-cards__title { font-size: 1rem; font-weight: 700; margin-bottom: .6rem; color: var(--fg); }
.hb-benefits-cards__desc  { color: var(--muted); font-size: .875rem; line-height: 1.7; }

/* ── 2. Steps Timeline ────────────────────────────────────────── */
.hb-steps-timeline         { padding: 5rem 0; }
.hb-steps-timeline__inner  { max-width: 840px; margin: 0 auto; }
.hb-steps-timeline__header { text-align: center; margin-bottom: 3rem; }
.hb-steps-timeline__heading {
    font-size: clamp(1.75rem,3vw,2.5rem);
    font-weight: 300; color: var(--primary); margin-bottom: .75rem;
}
.hb-steps-timeline__subheading { color: var(--muted); font-size: 1.05rem; margin-top: .75rem; }
.hb-steps-timeline__list  { display: flex; flex-direction: column; gap: 2.5rem; }
.hb-steps-timeline__item  { display: flex; gap: 1.75rem; align-items: flex-start; }
/* 48px solid purple circle (w-12 h-12 in source) */
.hb-steps-timeline__num {
    width: 48px; height: 48px; flex-shrink: 0;
    border-radius: 50%;
    background: var(--primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.25rem; font-weight: 700;
}
.hb-steps-timeline__body  { flex: 1; padding-top: .25rem; }
.hb-steps-timeline__title { font-size: 1.1rem; font-weight: 600; color: var(--fg); margin-bottom: .4rem; }
.hb-steps-timeline__desc  { color: var(--muted); line-height: 1.8; font-size: .95rem; }

/* ── 3. Split Image+Text ──────────────────────────────────────── */
.hb-split-image-text         { padding: 5rem 0; background: var(--background); }
.hb-split-image-text__grid {
    display: grid; gap: 4rem; align-items: center;
    max-width: 1200px; margin: 0 auto;
}
@media(min-width:900px) {
    .hb-split-image-text__grid { grid-template-columns: 1fr 1fr; }
}

.hb-split-image-text__grid--reverse .hb-split-image-text__image-col { order: 2; }
.hb-split-image-text__grid--reverse .hb-split-image-text__text-col  { order: 1; }
.hb-split-image-text__image-col { position: relative; }
/* 500px tall image, rounded, shadow — matches lg:mt-[88px] offset in source */
.hb-split-image-text__image {
    width: 100%; height: 500px;
    object-fit: cover; object-position: top;
    display: block;
    border-radius: 8px;
    box-shadow: 0 4px 24px rgba(0,0,0,.14);
    /* margin-top: 5.5rem;  */
}
@media(max-width:899px) {
    .hb-split-image-text__image { height: 280px; margin-top: 0; border-radius: 4px; }
}
.hb-split-image-text__heading {
   color: #1a1a1a;
    font-size: 30px;
    line-height: 36px;
}
.hb-split-image-text__desc { margin-top: 1.5rem; color: var(--muted); line-height: 1.85; }
.hb-split-image-text__desc p {
    margin-bottom: 16px;
    font-size: 18px;
    line-height: 29px;
    color: #1a1a1a;
}
section#redenformate .container {
    width: 62rem;
}
.hb-split-image-text__desc p.italic {
    margin-top: 24px;
    font-style: italic;
}
.hb-split-image-text__desc p.text-sm {
    font-size: 14px;
}
.hb-split-image-text__desc a   { color: var(--primary); }
.hb-split-image-text__checklist { list-style: none; margin-top: 1.5rem; display: flex; flex-direction: column; gap: .875rem; }
.hb-split-image-text__check-item { display: flex; gap: .75rem; align-items: flex-start; }
/* CheckCircle SVG – primary color, 20px, top-aligned */
.hb-split-image-text__check-icon { color: var(--primary); flex-shrink: 0; margin-top: .15rem; }
.hb-split-image-text__check-item span { color: var(--muted); font-size: .95rem; line-height: 1.65; }
.hb-split-image-text__btn-wrap { margin-top: 2rem; }
.hb-split-image-text__btn {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--primary); color: #fff;
    padding: .75rem 1.75rem; font-weight: 500;
    text-decoration: none; transition: background .2s;
}
.hb-split-image-text__btn:hover { background: var(--primary-dark); text-decoration: none; color: #fff; }

/* ── 4. FAQ Cards ─────────────────────────────────────────────── */
.hb-faq { padding: 5rem 0; }
.hb-faq__header { text-align: center; margin-bottom: 3rem; }
.hb-faq__heading {
    font-size: clamp(1.75rem,3vw,2.5rem);
    font-weight: 300; color: var(--primary); margin-bottom: .75rem;
}
.hb-faq__desc { color: var(--muted); margin-top: .75rem; font-size: .95rem; }
/* Cards container – max 820px, centered */
.hb-faq__cards { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.5rem; }
/* Each FAQ = Card with border, padding, flex row */
.hb-faq__card {
    display: flex; gap: 1.25rem; align-items: flex-start;
    border: 1px solid var(--border); background: var(--card);
    padding: 1.5rem;
}
/* FileText icon – primary color, 24px, flex-shrink-0 */
.hb-faq__card-icon {
    flex-shrink: 0; color: var(--primary); margin-top: .15rem;
}
.hb-faq__card-icon svg { width: 24px; height: 24px; }
.hb-faq__card-body { flex: 1; }
/* Bold question h3 */
.hb-faq__question {
    font-size: 1.05rem; font-weight: 600;
    color: var(--fg); margin-bottom: .75rem; line-height: 1.4;
}
/* Answer paragraph – always visible */
.hb-faq__answer {
    color: var(--muted); line-height: 1.8; font-size: .9rem;
}

/* ── 5. Related Pages Grid ────────────────────────────────────── */
.hb-related-pages { padding: 5rem 0; background: var(--background); }
.hb-related-pages__header { text-align: center; margin-bottom: 2.5rem; }
.hb-related-pages__heading {
    font-size: clamp(1.75rem,3vw,2.5rem);
    font-weight: 300; color: var(--primary); margin-bottom: .75rem;
}
/* Auto-fit grid – 3 cols on desktop */
.hb-related-pages__grid {
    display: grid; gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
    max-width: 1100px; margin: 0 auto;
}
.hb-related-pages__card {
    display: flex; flex-direction: column;
    border: 1px solid var(--border); background: var(--card);
    padding: 1.5rem;
    text-decoration: none; color: inherit;
    transition: border-color .2s, box-shadow .2s;
}
.hb-related-pages__card:hover {
    border-color: var(--primary);
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
    text-decoration: none;
}
.hb-related-pages__title { font-size: .95rem; font-weight: 600; color: var(--fg); margin-bottom: .35rem; }
.hb-related-pages__desc  { color: var(--muted); font-size: .8rem; line-height: 1.6; flex: 1; margin-bottom: .75rem; }
.hb-related-pages__more  { color: var(--primary); font-size: .8rem; font-weight: 500; }

/* ── 6. Hero (Bestattungsart pages) ──────────────────────────── */
/* Ensure full-bleed hero with 2 buttons and readable text */
.hb-hero-bg {
    position: relative;
    min-height: 400px;
    display: flex; align-items: center; justify-content: center;
    background-size: cover; background-repeat: no-repeat;
    overflow: hidden;
}
@media(min-width:768px) { .hb-hero-bg { min-height: 500px; } }
.hb-hero-bg__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to bottom, rgba(255,255,255,.70), rgba(255,255,255,.60), rgba(255,255,255,.80));
}
.hb-hero-bg__content {
    position: relative; z-index: 1;
    text-align: center; padding: 4rem 1rem;
    width: 100%; max-width: 800px; margin: 0 auto;
}
.hb-hero-bg__tagline {
    font-size: .85rem; letter-spacing: .18em;
    text-transform: uppercase; color: rgba(20,20,20,.75);
    margin-bottom: .75rem;
}
.hb-hero-bg__h1 {
    font-size: clamp(2rem,4.5vw,3.5rem);
    font-weight: 300; color: var(--fg); margin-bottom: .5rem;
    line-height: 1.1;
}
.hb-hero-bg__subtitle { font-size: clamp(1rem,2vw,1.5rem); color: var(--primary); font-weight: 400; }
.hb-hero-bg__desc { color: var(--fg); font-size: 1.05rem; line-height: 1.65; margin-top: 1rem; }
.hb-hero-bg__btns {
    display: flex; gap: 1rem; justify-content: center;
    flex-wrap: wrap; margin-top: 2rem;
}
/* Primary btn */
.hb-hero-bg__btn--primary {
    background: var(--primary); color: #fff; border: 2px solid var(--primary);
    padding: .875rem 1.75rem; font-size: 1rem; font-weight: 500;
    display: inline-flex; align-items: center; gap: .5rem;
    text-decoration: none; transition: .2s;
}
.hb-hero-bg__btn--primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); color:#fff; text-decoration: none; }
/* Outline white/secondary btn */
.hb-hero-bg__btn--outline-white {
    background: transparent; color: var(--fg);
    border: 2px solid var(--fg); opacity: .7;
    padding: .875rem 1.75rem; font-size: 1rem; font-weight: 500;
    display: inline-flex; align-items: center; gap: .5rem;
    text-decoration: none; transition: .2s;
}
.hb-hero-bg__btn--outline-white:hover { opacity: 1; text-decoration: none; }

/* ── 7. Intro text (section 2) ────────────────────────────────── */
.hb-intro-text { padding: 5rem 0; }
.hb-intro-text__inner { max-width: 860px; margin: 0 auto; text-align: center; }
.hb-intro-text__heading {
    font-size: clamp(1.75rem,3vw,2.5rem);
    font-weight: 300; color: var(--primary); margin-bottom: .75rem;
}
.hb-intro-text__desc { color: var(--muted); line-height: 1.9; margin-top: 2rem; font-size: 1.05rem; }
.hb-intro-text__desc p { margin-bottom: 1rem; }
.hb-intro-text__desc a { color: var(--primary); }

/* ── 8. CTA Phone (Bestattungsart bottom) ─────────────────────── */
/* Already defined above — ensure white bg for bestattungsart pages */
.hb-cta-phone.bg-white { background: #fff !important; }
.hb-cta-phone.bg-white .hb-cta-phone__heading { color: var(--fg); }
.hb-cta-phone.bg-white .hb-cta-phone__desc    { color: var(--muted); }

/* ═══════════════════════════════════════════════════════════════
   MISSING SECTIONS CSS – Feedback Folder 1
   ═══════════════════════════════════════════════════════════════ */

/* ── Values Cards (Willkommen / Unsere Werte) ────────────────── */
.hb-values-cards            { padding: 5rem 0; background: var(--background); }
.hb-values-cards__header    { text-align: center; margin-bottom: 3rem; }
.hb-values-cards__heading {
    font-size: 36px;
    font-weight: 300;
    color: var(--primary);
    line-height: 40px;
}
.hb-values-cards__grid      { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); max-width: 1100px; margin: 0 auto; }
.hb-values-cards__card      { text-align: center; padding: 2rem 1.5rem; border: 1px solid var(--border); background: var(--card); }
.hb-values-cards__icon-wrap { width: 56px; height: 56px; border-radius: 50%; background: rgba(131,31,130,.1); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; color: var(--primary); }
.hb-values-cards__icon-wrap svg { width: 28px; height: 28px; }
.hb-values-cards__icon      { width: 28px; height: 28px; object-fit: contain; }
.hb-values-cards__title {
    font-size: 20px;
    font-weight: 700;
    color: var(--fg);
    margin-bottom: 12px;
    line-height: 28px;
}
.hb-values-cards__desc {
    color: #1a1a1a;
    font-size: 18px;
    line-height: 29px;
}
.hb-reviews {
    background: #f5f3f5 !important;
}
/* ── Reviews (Das sagen unsere Familien) ─────────────────────── */
.hb-reviews                 { padding: 5rem 0; }
.hb-reviews__header         { text-align: center; margin-bottom: 2.5rem; }
.hb-reviews__heading {
    font-size: 30px;
    font-weight: 300;
    color: var(--fg);
    line-height: 36px;
}
.hb-reviews__overall        { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: 1rem; }
.hb-reviews__stars          { display: flex; gap: 2px; }
.hb-reviews__star           { color: #f59e0b; width: 20px; height: 20px; }
.hb-reviews__rating-text    { font-weight: 600; font-size: .95rem; color: var(--fg); }
.hb-reviews__grid           { display: grid; gap: 1.5rem; max-width: 1000px; margin: 0 auto; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); }
.hb-reviews__card {
    border: 1px solid #d9d9d9;
    background: #f7f7f7;
    padding: 1.75rem;
}
.hb-reviews__card-stars     { display: flex; gap: 2px; margin-bottom: .75rem; }
.hb-reviews__card-star      { color: #f59e0b; width: 16px; height: 16px; }
.hb-reviews__text           { color: var(--muted); font-size: .9rem; line-height: 1.75; font-style: italic; margin-bottom: .75rem; }
.hb-reviews__author         { font-weight: 600; font-size: .85rem; color: var(--fg); }
.hb-reviews__google-link    { text-align: center; margin-top: 1.75rem;    font-size: 14px;
    line-height: 20px; }
.hb-reviews__google-link a  { color: var(--primary); font-size: .9rem; text-decoration: underline; }
.hb-reviews__google-link a:hover { opacity: .75; }
.Willkommen_last_sec .hb-cta-phone__desc {
    font-size: 20px;
    line-height: 33px;
    margin: 1.5rem auto 0;
    max-width: 660px;
    color: #000 !important;
}
.Willkommen_last_sec a.hb-cta-phone__btn.hb-cta-phone__btn--primary {
    background: #f7f7f7;
    color: #1a1a1a;
    padding: 0.4rem 2rem;
}
.Willkommen_last_sec a.hb-cta-phone__btn.hb-cta-phone__btn--outline {
    background: #831f82;
    color: #fff;
}
/* ── Willkommen Hero (2-col: image left / text right) ────────── */
.hb-hero-split              { padding: 3rem 0; background: #fff; }
.hb-hero-split__grid        { display: grid; gap: 3rem; align-items: center; }
@media(min-width:768px)      { .hb-hero-split__grid { grid-template-columns: 1fr 1fr; } }
.hb-hero-split__image       { width: 100%; height: 420px; object-fit: cover; display: block; border-radius: 4px; }
@media(max-width:767px)      { .hb-hero-split__image { height: 260px; } }
.hb-hero-split__heading     { font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; color: var(--primary); margin-bottom: .75rem; }
.hb-hero-split__desc        { color: var(--muted); line-height: 1.85; margin-top: 1.25rem; }
.hb-hero-split__desc p      { margin-bottom: .85rem; }
.hb-hero-split__phone-label { color: var(--muted); font-size: .9rem; margin-top: 1.25rem; }
.hb-hero-split__tagline     { color: var(--primary); font-size: .95rem; font-weight: 500; margin-top: .75rem; }
.hb-hero-split__btn-wrap    { margin-top: 1.25rem; }

/* ── Trauerredner Hero (plain centered) ──────────────────────── */
.hb-hero-plain              { padding: 5rem 0; text-align: center; background: #fff; }
.hb-hero-plain__heading     { font-size: clamp(2rem,4vw,3rem); font-weight: 300; color: var(--fg); margin-bottom: .75rem; }
.hb-hero-plain__subtitle    { color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.hb-hero-plain__tagline     { color: var(--muted); font-size: .95rem; font-style: italic; margin-top: .25rem; }

/* ── Erinnerungen Cards ──────────────────────────────────────── */
.hb-erinnerungen-cards      { padding: 5rem 0; background: var(--background); }
.hb-erinnerungen-cards__header { text-align: center; margin-bottom: 3rem; }
.hb-erinnerungen-cards__heading { font-size: clamp(1.75rem,3vw,2.25rem); font-weight: 300; color: var(--primary); }
.hb-erinnerungen-cards__grid { display: grid; gap: 1.5rem; max-width: 860px; margin: 0 auto; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); }
.hb-erinnerungen-cards__card { border: 1px solid var(--border); background: var(--card); padding: 2rem; text-decoration: none; color: inherit; display: block; }
.hb-erinnerungen-cards__card:hover { border-color: var(--primary); text-decoration: none; }
.hb-erinnerungen-cards__icon-wrap { color: var(--primary); margin-bottom: .875rem; }
.hb-erinnerungen-cards__icon-wrap svg { width: 28px; height: 28px; }
.hb-erinnerungen-cards__icon { width: 28px; height: 28px; object-fit: contain; }
.hb-erinnerungen-cards__title { font-size: .95rem; font-weight: 600; color: var(--fg); margin-bottom: .5rem; }
.hb-erinnerungen-cards__desc  { color: var(--muted); font-size: .875rem; line-height: 1.75; }

/* ── Trauerdruck service cards ───────────────────────────────── */
.hb-trauerdruck-leistungen   { padding: 5rem 0; }
.hb-trauerdruck-leistungen__header { text-align: center; margin-bottom: 3rem; }
.hb-trauerdruck-leistungen__heading { font-size: clamp(1.5rem,2.5vw,2rem); font-weight: 300; color: var(--primary); }
.hb-trauerdruck-leistungen__grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); max-width: 960px; margin: 0 auto; }
.hb-trauerdruck-leistungen__card { text-align: center; padding: 2rem 1.5rem; border: none; box-shadow: 0 2px 12px rgba(0,0,0,.06); background: var(--card); }
.hb-trauerdruck-leistungen__icon { color: var(--primary); margin-bottom: 1rem; }
.hb-trauerdruck-leistungen__icon svg { width: 40px; height: 40px; }
.hb-trauerdruck-leistungen__title { font-size: 1rem; font-weight: 300; color: var(--fg); margin-bottom: .5rem; font-size: 1.05rem; }
.hb-trauerdruck-leistungen__desc  { color: var(--muted); font-size: .875rem; line-height: 1.65; }

/* ── Trauerfall services 3-col (Wie wir Sie unterstützen) ────── */
.hb-features-cards.hb-trauerfall-services { background: var(--background); }

/* ── Gallery section ─────────────────────────────────────────── */
.hb-gallery                  { padding: 5rem 0; }
.hb-gallery__header          { text-align: center; margin-bottom: 2.5rem; }
.hb-gallery__heading {
    font-size: 30px;
    font-weight: 300;
    color: #1a1a1a;
    line-height: 36px;
}
.hb-gallery__grid            { display: grid; gap: .5rem; grid-template-columns: repeat(3,1fr); }
@media(min-width:640px)       { .hb-gallery__grid { grid-template-columns: repeat(4,1fr); } }
.hb-gallery__img-wrap        { overflow: hidden; aspect-ratio: 1; cursor: pointer; }
.hb-gallery__img             { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; display: block; }
.hb-gallery__img-wrap:hover .hb-gallery__img { transform: scale(1.08); }

/* ── Trauerfeier text sections ───────────────────────────────── */
.hb-text-wysiwyg             { padding: 4rem 0; }
.hb-text-wysiwyg__inner      { max-width: 864px; margin: 0 auto; }
.hb-text-wysiwyg__heading    { font-size: 36px; font-weight: 300; color: var(--primary); margin-bottom: .75rem; line-height: 40px;}
.hb-text-wysiwyg .wysiwyg-content p { margin-bottom: 1rem; color: #1a1a1a; line-height: 1.85; font-size: 18px; line-height: 29px;}
.hb-text-wysiwyg .wysiwyg-content strong { color: var(--fg); }

/* ── Abschied Haltepunkt section ─────────────────────────────── */
.hb-intro-text__inner        { max-width: 820px; margin: 0 auto; }

/* ── Dark CTA (purple bg) ────────────────────────────────────── */
.hb-cta-phone.bg-primary     { background: var(--primary) !important; }
.hb-cta-phone.bg-primary .hb-cta-phone__heading { color: #fff; }
.hb-cta-phone.bg-primary .hb-cta-phone__desc    { color: rgba(255,255,255,.85); }

/* ── White CTA ───────────────────────────────────────────────── */
.hb-cta-phone.bg-white       { background: #fff !important; }
.hb-cta-phone.bg-white .hb-cta-phone__heading { color: var(--fg); }
.hb-cta-phone.bg-white .hb-cta-phone__desc    { color: var(--muted); }


/* ── Hero Split (Willkommen 2-col image|text) ────────────────── */
.hb-hero-split                { padding: 4rem 0; }
.hb-hero-split__grid          { display: grid; gap: 3rem; align-items: center; }
@media(min-width:768px)        { .hb-hero-split__grid { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.hb-hero-split__grid--reverse .hb-hero-split__image-col { order: 2; }
.hb-hero-split__grid--reverse .hb-hero-split__text-col  { order: 1; }
.hb-hero-split__image         { width: 100%; height: 420px; object-fit: cover; display: block; border-radius: 4px; }
@media(max-width:767px)        { .hb-hero-split__image { height: 260px; } }
.hb-hero-split__heading       { font-size: clamp(1.75rem,3.5vw,2.75rem); font-weight: 300; color: var(--primary); }
.hb-hero-split__desc          { margin-top: 1.25rem; color: var(--muted); line-height: 1.85; }
.hb-hero-split__desc p        { margin-bottom: .85rem; }
.hb-hero-split__desc strong   { color: var(--fg); }
.hb-hero-split__btn-wrap      { margin-top: 1.25rem; }
.hb-hero-split__btn           {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--primary); color: #fff;
    padding: .75rem 1.75rem; font-weight: 500;
    text-decoration: none; transition: background .2s;
}
.hb-hero-split__btn:hover     { background: var(--primary-dark); text-decoration: none; color: #fff; }
.hb-hero-split__phone-label   { color: var(--muted); font-size: .875rem; margin-top: 1rem; }
.hb-hero-split__tagline       { color: var(--primary); font-size: .95rem; font-weight: 500; margin-top: .875rem; }

/* ── Hero Plain (Trauerredner centered) ──────────────────────── */
.hb-hero-plain                { padding: 4.5rem 0; text-align: center; }
.hb-hero-plain__inner         { max-width: 700px; margin: 0 auto; }
.hb-hero-plain__eyebrow       { font-size: .8rem; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); margin-bottom: .5rem; }
.hb-hero-plain__heading       { font-size: clamp(2rem,4vw,3rem); font-weight: 300; color: var(--fg); }
.hb-hero-plain__subtitle      {     color: #1a1a1a;
    font-size: 18px;
    margin-top: 1rem;
    line-height: 28px;}
.hb-hero-plain__tagline       { color: #1a1a1a;
    font-size: 18px;
    font-style: italic;
    margin-top: .35rem;
    line-height: 28px;}


/* ═══════════════════════════════════════════════════════════════
   CRITICAL CSS FIXES – imagevideo / trauerredner / trauerfall
   ═══════════════════════════════════════════════════════════════ */

/* ── hb_hero_bg COMPLETE REWRITE ─────────────────────────────── */
/* Remove ALL previous hero definitions and use one canonical set */
.hb-hero-bg {
    position: relative;
    min-height: 340px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
}
@media(min-width:768px) { .hb-hero-bg { min-height: 500px; } }

/* LIGHT overlay – prevents black page on trauerredner / dark contexts */
.hb-hero-bg__overlay {
    position: absolute; inset: 0; pointer-events: none;
    /* Subtle white tint – keeps image visible but text readable */
    background: linear-gradient(135deg, rgb(255 255 255 / 5%) 0%, rgb(255 255 255 / 17%) 50%, rgb(255 255 255 / 3%) 100%
    );
    z-index: 0;
}

/* Inner content – always above overlay */
.hb-hero-bg__inner {
    position: relative; z-index: 1;
    text-align: center;
    padding: 4rem 1.25rem;
    width: 100%; max-width: 820px; margin: 0 auto;
}
.hb-hero-bg__tagline {
    font-size: 20px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #000000e6;
    margin-bottom: .75rem;
    line-height: 18px;
}
.hb-hero-bg__h1 {
    font-size: 60px;
    font-weight: 300;
    color: #000;
    line-height: 60px;
        margin-bottom: 16px;
}
.hb-hero-bg__subtitle {
    font-size: 30px;
    color: var(--primary);
    font-weight: 400;
    margin-bottom: 24px;
    line-height: 36px;
}
.hb-hero-bg__desc {
    font-size: 1rem; color: #333;
    max-width: 580px; margin: .75rem auto 0;
    line-height: 1.65;
}
.hb-hero-bg .hb-divider { background: var(--primary); margin: 40px auto 1.25rem; }
.hb-hero-bg__btns {
    display: flex; gap: 1rem; justify-content: center;
    flex-wrap: wrap; margin-top: 1.75rem;
}
.hb-hero-bg__btn {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .8rem 1.75rem; font-size: .95rem; font-weight: 500;
    text-decoration: none; cursor: pointer; transition: .2s;
    border: 2px solid transparent;
}
.hb-hero-bg__btn:hover { text-decoration: none; }
.hb-hero-bg__btn--primary {
    background: var(--primary); color: #fff; border-color: var(--primary);
}
.hb-hero-bg__btn--primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; }
.hb-hero-bg__btn--outline {
    background: rgba(255,255,255,.85); color: #1a1a1a;
    border-color: rgba(0,0,0,.25);
}
.hb-hero-bg__btn--outline:hover { background: #fff; border-color: #333; color: #1a1a1a; }

/* ── Imagevideo layout ───────────────────────────────────────── */
.hb-imagevideo__hero { padding: 4rem 0 3rem; }
.hb-imagevideo__hero-inner { max-width: 760px; margin: 0 auto; text-align: center; }
.hb-imagevideo__heading {
    font-size: clamp(1.75rem,4vw,3rem);
    font-weight: 300; color: var(--fg); margin-bottom: .5rem;
}
.hb-imagevideo__desc {
    color: #1a1a1a;
    font-size: 18px;
    margin-top: .75rem;
    line-height: 29px;
}
.hb-imagevideo__video { padding: 3rem 0 5rem; }
.hb-imagevideo__frame-outer { max-width: 860px; margin: 0 auto; }
/* 16:9 responsive iframe */
.hb-imagevideo__frame-wrap {
    position: relative; width: 100%; padding-bottom: 56.25%; height: 0;
    overflow: hidden; border-radius: 8px;
    box-shadow: 0 4px 24px rgba(0,0,0,.12);
}
.hb-imagevideo__frame {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%; border: 0; display: block;
}

/* ── Checklist accordion – full match to live ────────────────── */
.hb-checklist-accordion { padding: 5rem 0; }
.hb-checklist-accordion__header {
    text-align: center; max-width: 640px; margin: 0 auto 3rem;
}

/* Phone number above heading */
.hb-checklist-accordion__phone-wrap { margin-bottom: 1.75rem; }
.hb-checklist-accordion__phone-label { color: var(--muted); font-size: .95rem; margin-bottom: .75rem; }
.hb-checklist-accordion__phone-link {
    display: inline-flex; align-items: center; gap: .75rem;
    border: 2px solid var(--primary);
    background: rgba(131,31,130,.05);
    padding: .875rem 2rem;
    color: var(--primary); font-size: 1.4rem; font-weight: 600;
    border-radius: 8px; text-decoration: none; transition: .2s;
    margin-bottom: 1rem;
}
.hb-checklist-accordion__phone-link:hover {
    background: rgba(131,31,130,.12); text-decoration: none; color: var(--primary);
}

.hb-checklist-accordion__heading {
    font-size: clamp(1.5rem,2.5vw,2rem);
    font-weight: 300; color: var(--primary);
}
.hb-checklist-accordion__desc {
    color: var(--muted); font-size: .95rem;
    line-height: 1.7; margin-top: .5rem;
}
.hb-checklist-accordion__desc a { color: var(--primary); }

/* Print button */
.hb-checklist-accordion__print-btn {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .5rem 1rem; font-size: .875rem;
    color: var(--muted); background: var(--sand);
    border: none; border-radius: 6px; cursor: pointer;
    transition: .15s; margin-top: 1rem; font-family: var(--font);
}
.hb-checklist-accordion__print-btn:hover { background: var(--border); }

/* Accordion list */
.hb-checklist-accordion__list {
    max-width: 640px; margin: 0 auto;
    display: flex; flex-direction: column; gap: .75rem;
}
.hb-checklist-accordion__item {
    border: 1px solid var(--border);
    border-radius: 10px; overflow: hidden;
    background: var(--card);
    box-shadow: 0 1px 6px rgba(0,0,0,.05);
}
.hb-checklist-accordion__trigger {
    width: 100%; text-align: left;
    display: flex; justify-content: space-between; align-items: center;
    padding: 1.1rem 1.25rem; gap: 1rem;
    background: none; border: none; cursor: pointer;
    font-family: var(--font); font-size: .95rem; font-weight: 500;
    color: var(--fg); transition: background .15s;
}
.hb-checklist-accordion__trigger:hover { background: var(--sand); }
.hb-checklist-accordion__trigger[aria-expanded="true"] .hb-checklist-accordion__arrow {
    transform: rotate(180deg);
}
.hb-checklist-accordion__arrow { color: var(--primary); transition: transform .25s; flex-shrink: 0; }
.hb-checklist-accordion__panel { }
.hb-checklist-accordion__panel[hidden] { display: none; }
.hb-checklist-accordion__items {
    list-style: none; padding: .25rem 1.25rem 1.25rem; display: flex; flex-direction: column; gap: .75rem;
}
.hb-checklist-accordion__item-row {
    display: flex; gap: .75rem; align-items: flex-start;
    color: var(--muted); font-size: .9rem;
}
.hb-checklist-accordion__item-icon {
    color: var(--primary); flex-shrink: 0; margin-top: .1rem;
}

/* ── bg-secondary utility (Imagevideo hero bg) ───────────────── */
/* .bg-secondary { background: rgba(131,31,130,.03) !important; } */
.bg-secondary{background-color: #d9d9d900 !important;}

/* custom new css 16-04-2026 */
.dem-abschied img.hb-split-image-text__image {
    height: 100%;
}
.hb-cta-phone.bg-primary.trauerredner-cta {
    background: transparent !important;
}

.hb-cta-phone.bg-primary.trauerredner-cta .hb-cta-phone__heading { color: #000; }
.hb-cta-phone.bg-primary.trauerredner-cta .hb-cta-phone__desc { color: #1a1a1a; }
.hb-cta-phone.bg-primary.trauerredner-cta .hb-cta-phone__btn--outline-white {
  background: var(--primary);
  height: 44px;
  border: none;
}
.hb-cta-phone.bg-primary.trauerredner-cta .hb-cta-phone__btn--white {
  border: 1px solid #d9d9d9;
  color: black;
  height: 44px;
}
.hb-cta-phone.bg-primary.trauerredner-cta .hb-cta-phone__btn--outline-whites svg,
.hb-cta-phone.bg-primary.trauerredner-cta .hb-cta-phone__btn--white svg {
  width: 1rem;
  height: 1rem;
}
.hb-cta-phone.bg-primary.trauerredner-cta .hb-cta-phone__btn--outline-white:hover {
  background-color: #7f1f7ee6;
}
.hb-cta-phone.bg-primary.trauerredner-cta .hb-cta-phone__btn--white:hover {
  background: #eddeed;
  color: #1a1a1a;
}
h2.sr-only {
  font-size: 30px;
  line-height: 36px;
  text-align: center;
  margin-bottom: 3rem;
}


.home_sec_sec {
    background: #f7f7f7;
}
.home_sec_sec .hb-features-cards__card{
      border: 1px solid #d9d9d9;
}
.home_sec_sec .hb-features-cards__title {
    font-size: 20px;
    line-height: 28px;
}
.home_sec_sec .hb-features-cards__desc {
    color: #1a1a1a;
    font-size: 18px;
    line-height: 28px;
}
.hb-trauerfall-2col .hb-trauerfall-2col__card-title{
  
    font-size: 20px;
  
    line-height: 28px;

}
.hb-trauerfall-2col .hb-trauerfall-2col__step-text {
    color: #1a1a1a;
    line-height: 28px;
    font-size: 18px;
}
.hb-trauerfall-2col .hb-trauerfall-2col__step-note {
    color: #1a1a1a;
    font-style: italic;
    font-size: 14px;
    margin-top: .4rem;
    line-height: 20px;
}
.hb-trauerfall-2col .hb-trauerfall-2col__steps{gap: 0;}
.hb-trauerfall-2col .hb-trauerfall-2col__step-highlight {
    font-size: 18px;
    line-height: 28px;
}
.trauerredner-cta .hb-cta-phone__heading {
    font-size: 30px;
    font-weight: 300;
    margin-bottom: .75rem;
    line-height: 36px;
}
.trauerfall_first_sec {
    min-height: 400px !important;
    background-position: top center !important;
}
.trauerfall_first_sec .hb-hero-bg__desc {
    font-size: 18px;
    color: #000;
    max-width: 630px;
    margin: .75rem auto 0;
    line-height: 29px;
}
body section.trauerfall_sec_sec.hb-cta-phone.bg-white {
    padding: 3rem 0px;
    background-color: #7f1f7e !important;
}
section.trauerfall_sec_sec h2 {
    font-size: 24px !important;
    line-height: 32px !important;
    margin-bottom: 0px !important;
        color: #fff !important;
}
section.trauerfall_sec_sec .hb-divider {
    display: none;
}
section.trauerfall_sec_sec p.hb-cta-phone__desc {
    line-height: 24px;
    color: #fff !important;
}
section.trauerfall_sec_sec a.hb-cta-phone__btn {
    font-size: 20px;
    line-height: 28px;
    font-weight: 600;
    background: transparent !important;
    border: 2px solid #fff;
    margin-top: 0px;
}
section.trauerfall_sec_sec .hb-cta-phone__btns{
  margin-top: 1.5rem;
}
p.text_Desc_red {
    margin-top: 30px;
    font-size: 18px;
    line-height: 28px;
    color: #1a1a1a;
}
.hb-cta-phone.bg-white.trauerfall_cta {
    background: #ededed !important;
}
.trauerfall_cta .hb-cta-phone__heading {
    font-size: 30px;
    font-weight: 300;
    margin-bottom: .75rem;
    line-height: 36px;
}
.trauerfall_cta .hb-cta-phone__desc {
    max-width: 620px;
    color: #1a1a1a !important;
}
.trauerfall_cta .hb-cta-phone__btn svg {
    width: 14px;
}
.trauerfall_cta .hb-cta-phone__btn {
    padding: .6rem 2rem;
    font-size: 14px;
    line-height: 20px;
}
.leistungen_banner:before {
    content: "";
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: #ffffff91;
    z-index: 1;
    position: absolute;
}
.leistungen_banner {
    min-height: 500px;
    position: relative;
}
.leistungen_banner .hb-hero-bg__desc {
    font-size: 18px;
    color: #000;
    max-width: 760px;
    margin: 2.75rem auto 0;
    line-height: 29px;
}
.leistungen_cta_banner .hb-cta-phone__desc {
    font-size: 18px;
    line-height: 29px;
    margin: 1.5rem auto 0;
    max-width: 660px;
    color: #fff !important;
}
.leistungen_cta_banner .hb-cta-phone__btn {
    padding: .6rem 2rem;
    font-size: 14px;
    line-height: 20px;
    background: #fff;
    color: #7f1f7e;
}
.leistungen_cta_banner .hb-cta-phone__btn svg {
    width: 16px;
    stroke: #7f1f7e;
}
.abschied_banner_sec {
    min-height: 400px;
}
.abschied_banner_sec:before {
    content: "";
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: #f7f7f74d;
    z-index: 1;
    position: absolute;
}
.abschied_banner_sec .hb-hero-bg__desc {
    font-size: 18px;
    color: #000;
    max-width: 580px;
    margin: .75rem auto 0;
    line-height: 29px;
}
.Abschied_sec_sec .hb-text-wysiwyg__heading {
    font-size: 30px;
    font-weight: 300;
    color: #000;
    margin-bottom: .75rem;
    line-height: 36px;
}
.Abschied_sec_sec .wysiwyg-content p{
    color: #1a1a1a;
    line-height: 29px;
    margin-top: 1.5rem;
    font-size: 18px;
}
.Abschied_third_sec .hb-divider {
    display: none;
}
.Abschied_third_sec .hb-gallery__grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 72rem;
        margin: auto;
    }
    .Abschied_third_sec {
    background: #f3edf34d;
}
.Abschied_fourth_sec {
    background: #f7f7f7 !important;
}
.Abschied_fourth_sec .hb-text-wysiwyg__heading {
    font-size: 30px;
    font-weight: 300;
    color: #000;
    margin-bottom: .75rem;
    line-height: 36px;
}
.Abschied_fourth_sec .wysiwyg-content p {
    margin-bottom: 18px;
    color: #1a1a1a;
    line-height: 29px;
}
.abschied_cta_banner.hb-cta-phone.bg-white {
    background: #f7f7f7 !important;
}
.abschied_cta_banner .hb-cta-phone__heading {
    font-size: 30px;
    font-weight: 300;
    margin-bottom: 0px;
    line-height: 36px;
}
.abschied_cta_banner .hb-divider {
    display: none;
}
.abschied_cta_banner .hb-cta-phone__desc {
    font-size: 18px;
    line-height: 29px;
    margin: 1.5rem auto 0;
    max-width: 700px;
    color: #1a1a1a !important;
}
.abschied_cta_banner .hb-cta-phone__btn {
    padding: .6rem 2rem;
    font-size: 14px;
    line-height: 20px;
   
}
.abschied_cta_banner .hb-cta-phone__btn svg {
    width: 16px;
}
.abschied_cta_banner a.hb-cta-phone__btn--outline {
    border: 1px solid #d9d9d9;
    color: #1a1a1a;
}
.abschied_last_sec {
    background: #ededed4d !important;
}
.abschied_last_sec .hb-related-pages__heading {
    font-size: 36px;
    font-weight: 300;
    color: var(--primary);
    margin-bottom: .75rem;
    line-height: 40px;
}
.abschied_last_sec h3 {
    font-size: 20px !important;
    line-height: 28px;
}
.abschied_last_sec .hb-related-pages__desc {
    color: #1a1a1a;
    font-size: 14px;
    line-height: 23px;
    flex: 1;
    margin-bottom: 1rem;
}
.abschied_last_sec .hb-related-pages__more {
    color: var(--primary);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}
.abschied_last_sec .hb-related-pages__card{
  border: 1px solid #d9d9d9;
}
.Abschied_sec_sec{
    background: #f7f7f7 !important;
}
.trauerfeier_sec_sec {
    background: #f7f7f7 !important;
}
.trauerfeier_third_sec{
background: #f3edf34d !important;
}
.trauerfeier_third_sec .hb-text-wysiwyg__heading {
    font-size: 36px;
    font-weight: 300;
    color: var(--primary);
    margin-bottom: .75rem;
    line-height: 40px;
}
.trauerfeier_fourth_sec h2.hb-gallery__heading {
    font-size: 36px;
    line-height: 40px;
    color: #7f1f7e;
}
.erinnerungen_sec_sec h2.hb-intro-text__heading {
    display: none;
}
.erinnerungen_sec_sec .hb-divider{
  display: none;
}
.erinnerungen_sec_sec .hb-intro-text__desc p {
    margin-bottom: 1rem;
    font-size: 18px;
    line-height: 29px;
    color: #1a1a1a;
    text-align: left;
}
.erinnerungen_third_sec {
    background: #f2f2f2;
}
.erinnerungen_third_sec .hb-erinnerungen-cards__icon-wrap{
      margin: 0 0.25rem;
          background: none;
    justify-content: flex-start;
}
.erinnerungen_third_sec .hb-erinnerungen-cards__card{
  text-align: left;
}
.erinnerungen_third_sec .hb-erinnerungen-cards__title {
    font-size: 20px;
    font-weight: 300;
    color: var(--fg);
    margin-bottom: 0px;
    line-height: 28px;
}
.erinnerungen_third_sec .hb-erinnerungen-cards__desc {
    color: #1a1a1a;
    font-size: 18px;
    line-height: 29px;
    margin-top: 8px;
}
.Trauerdruck_third_sec {
    background: #f2f2f2;
}
.Trauerdruck_third_sec .hb-trauerdruck-leistungen__grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    max-width: 56rem;
    margin: 0 auto;
}
.Trauerdruck_third_sec .hb-trauerdruck-leistungen__icon{
  margin: 0 auto 1.5rem;
}
.Trauerdruck_third_sec .hb-trauerdruck-leistungen__title {
    font-size: 18px !important;
    font-weight: 300;
    color: var(--fg);
    margin-bottom: .5rem;
    font-size: 1.05rem;
    line-height: 28px;
}
   .Trauerdruck_third_sec .hb-trauerdruck-leistungen__desc{ font-size: 14px;
    line-height: 23px;
    color: #1a1a1a;}
    .location_lists h2 {
    font-size: 36px;
    line-height: 40px;
}
.location_lists .hb-friedhoefe__grid {
    width: 64rem;
    margin: auto;
    grid-template-columns: repeat(3, 1fr);
}
.location_lists .hb-friedhoefe__card {
  border: none;
    background: #f2f2f2;
    padding: 24px;
    display: flex;
    gap: .75rem;
    align-items: flex-start;
}
.hb-friedhoefe__str, .hb-friedhoefe__ort {
    color: #1a1a1a;
    font-size: 14px;
    line-height: 20px;
}
.vorsorge_sec_sec .hb-divider {
    display: none;
}
.vorsorge_sec_sec h2 {
    display: none;
}
.vorsorge_sec_sec p {
    font-size: 18px;
    line-height: 28px;
    text-align: left;
    color: #1a1a1a;
}
.vorsorge_third_sec {
    background: #f7f7f7;
}
.vorsorge_third_sec .hb-features-cards__grid {
    width: 64rem;
    margin: 40px auto;
}
.vorsorge_third_sec .hb-features-cards__title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: .5rem;
    color: #1a1a1a;
    line-height: 28px;
}
.vorsorge_third_sec .hb-features-cards__desc {
    color: #1a1a1a;
    font-size: 18px;
    line-height: 28px;
}
.vorsorge_fourth_sec h2 {
    font-size: 30px !important;
    line-height: 36px;
}
.vorsorge_fourth_sec  p.hb-leistungen-liste__desc {
    margin-top: 30px;
    width: 46rem;
    margin: 30px auto;
        font-size: 18px;
}




/*  */

.hb-intro__desc .hb-intro-text__desc {
  color: #181818;
  line-height: 1.625;
  margin-top: 2rem;
  font-size: 1.125rem;
  text-align: justify;
  padding: 4rem 2rem;
}

/* vorsorgedokumente page CSS */

.hb-hero-bg_update_h1 .hb-hero-bg__h1{
  font-size: 48px;
}

.hb_updated__inner .hb-hero-bg__inner{
  max-width: 100%;
}


.text{
  font-size: 1.875rem;
        line-height: 2.25rem;
}


.title .hb-benefits-cards__title{
  font-size: 18px;
  color: #000;
}

.bh__desc .hb-benefits-cpxards__desc{
  font-size: 18px;
  color: black;
}

.cards__icon .hb-benefits-cards__icon{
  width: 1.5rem;
  height: 1.5rem;
}

.cards__icon-wrap .hb-benefits-cards__icon-wrap{
  width: 3rem;
  height: 3rem;
}

.cards__grid .hb-benefits-cards__grid{
  max-width: 100%;
  gap: 1.5rem;
}

.cards_padding .hb-benefits-cards{
  padding: 4rem 0rem;
}

.benefits__card .hb-benefits-cards__card {
  border: 1px solid rgba(127, 31, 125, 0.2);
}

.benefits__card .hb-benefits-cards__card:hover {
  border: 1px solid rgba(127, 31, 125, 0.473);
}

.konkat__cards_padding .hb-kontakt__cards{
  padding: 0rem !important;
}

.cards_padding 
.hb-benefits-cards{
  padding-bottom: 0px !important;
}

.hb-benefits-cards.bh__desc.cards__icon.cards__icon-wrap.cards__grid.cards_padding.benefits__card.cards_padding {
  padding-bottom: 0px;
}


.hb_updated_divider .hb-divider {
  width: 4rem !important;
  height: 0.125rem !important;
}

/* konkat form */

input#input_3_1, #input_3_2, #input_3_3, #input_3_4{
  background-color: #f7f7f7;
  border: 1px solid #e7e7e7;
  box-shadow: none;
  border-radius: 1px;
}

input#gform_submit_button_3, input#gform_submit_button_2 {
  background-color: #7d127e;
  width: 100%;
  border-radius: 0px;
}

input#gform_submit_button_3:hover, input#gform_submit_button_2:hover{
  transition: 0.3s ease;
  background-color: rgba(127, 31, 126, 0.992);
}

.cta_updated_heading .hb-cta-phone__heading {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: .75rem;
  line-height: 40px;
}

.divider_hide .hb-divider{
  display: none;
}

.cta-phone-btn .hb-cta-phone__btn {

  align-items: center;
  gap: .5rem;
  padding: 8px 16px !important;
  font-size: 14px;
  font-weight: 500;

}

.svg-icon .hb-cta-phone__btn svg {
  flex-shrink: 0;
  height: 18px;
  width: 20px;
}


.updated_container .container {
  background: #e5e7eb00;
}

p.gform_required_legend {
  display: none;
}

/* section one */
.hb-cta-phone.hb-cta-phone--light{
  padding: 60px !important;
  background: #ededed4d !important;

}


.color .hb-benefits-cards__desc{
  color: black;
}


.hb-trauerfall__desc .hb-cta-phone__desc{
  max-width: 100%;
}

#input-fields div#field_3_2 div#field_3_3 div#field_3_4{
  margin-top: -6px;
}

.display-text-heading .hb-intro-text__heading{
  display: none;
}

section.hb-intro-text.bg-white.hb-intro__desc.display-text-heading.hb-intro-text-padding {
    padding: 1px;
}

.hb-divider-margin .hb-divider{
  margin-top: 24px;
}

.hb-cta-padding .hb-cta-phone__inner{
  padding: 2px 0px;
}

.hb-updated-cts-heading .hb-cta-phone__heading{
  font-size: 24px;
}

.hb-updated-cta-desc .hb-cta-phone__desc{margin-top: 16px;}

.hb-vorsorge-cta-btn .hb-cta-phone__btn{padding: 6px 16px; font-size: 14px;}

.hb-vorsoge-outline-btn .hb-cta-phone__btn--outline {background: #f7f7f7; color: black; 
  border: 1px solid #d9d9d9;}

.svg-btn .hb-cta-phone__btn svg {flex-shrink: 0; height: 16px; width: 18px;
  color: #2c2b2b; font-weight: 200;}

.hb-btn-vorsogue .hb-cta-phone__btns {
    flex-wrap: wrap;
    margin-top: 16px;
}

.hb-vorsoge-title .hb-features-cards__title {
font-size: 18px; }

.hb-vorsoge-desc .hb-features-cards__desc {
  color: #060606;
  font-size: 14px;
  line-height: 1.65;
  margin-top: 16px;
}

.cards-grid .hb-features-cards__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}


.hb-icon-wrap .hb-features-cards__icon-wrap {
  background-color: white;
  padding: 0px;
  margin-bottom: 2px;
}

.cards-grid .hb-features-cards__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
  max-width: 964px;
  margin: auto;
}

.hb-bg-color .hb-features-cards {
  background-color: #ededed80 !important;
} 


.bh-border-color .hb-features-cards__card:hover {
  text-decoration: none;
  border-color: #dedede;
  box-shadow: none;
}


.hb-cards-features .hb-features-cards__card{
  padding: 1.5rem 1.25rem;
}


.hb-vorsoge-desc-cards .hb-features-cards__desc {
  color: #060606;
  font-size: 14px;
  line-height: 1.25rem;
}


.padding-cards .hb-features-cards {
  padding-top: 4rem !important;
  padding-bottom: 0px !important;
}


.kontact-banner .leistungen_banner{
  min-height: 400px !important;
}

@media (max-width: 576px) {
 .cards-grid .hb-features-cards__grid {
    grid-template-columns: 1fr;
  }
}



/* was it bet */

.hb-intro-text {
  padding-top: 20px;
  padding-bottom: 50px;
}

.text-desc .hb-intro-text__desc{
  padding: 0rem 1rem;
}

.hb-new-cards .hb-features-cards__card:hover {
  border-color: #dedede;
  text-decoration: none;
  box-shadow: none;
}


.hb__card .hb-leistungen-liste__card {
  max-width: 54rem;
  margin: 0 auto;
  border: none;
  padding: 0rem;
  background: #f2f2f200;
}


.hb-header-margin .hb-leistungen-liste__header{
  margin-bottom: 0rem;
}


section.hb-leistungen-liste.hb__card.hb-header-margin.hb-leistungen-margin {
  padding-bottom: 64px;
}

section#vorsorgeformular {
  padding-top: 64px;
  padding-bottom: 64px;
}

.cta-phone-btn .hb-cta-phone__btns {
  align-items: center;
  gap: .5rem;
  padding: 8px 32px;
  font-size: 14px;
  font-weight: 500;
}


.svg-icon .hb-cta-phone__btn svg {
  flex-shrink: 0;
  height: 18px;
  width: 20px;
}

.new-desc .hb-cta-phone__desc{
  max-width: 100%;
  color: #1a1a1a !important;
}

.hb--desc .hb-vorsorge-form__desc {
  color: #1A1A1A !important;  margin-top: 34px;
}


.vorsouge-form .hb-vorsorge-form__wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 4px;
  border: 0px solid var(--border);
  background: var(--card);
}

.vorgouse-subtitle h4 {
  font-size: 20px;
  font-weight: 600;
}

input#input_2_2, input#input_2_3, select#input_2_1, input#input_2_4,
input#input_2_5, input#input_2_6, input#input_2_7, input#input_2_8, input#input_2_12
,select#input_2_9, input#input_2_15, input#input_2_16,select#input_2_17, textarea#input_2_10 {
  border: 1px solid #dedede !important;
  border-radius: 0px;
  box-shadow: none;
}
.gform-theme--foundation .gform_fields {
  -moz-column-gap: var(--gf-form-gap-x);
  column-gap: 16px;
  row-gap: normal !important;
}

input#input_2_12 {
  max-width: 100%;
  width: 100%;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex {
  display: none;
}

.gform_wrapper .gfield {
  margin-bottom: 2.25rem;
}

#gform_submit_button_2 {
  display: block;
}

#gform_submit_button_2 + .form-note {
  margin-top: 10px;
}

p.form-note {
  text-align: center;
  margin: auto;
  font-size: 14px;
}

select#input_2_17, select#input_2_1, select#input_2_9 {
  padding: 8px 12px;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  border: 1px solid #7f1f7e !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgb(127, 31, 125) !important;
}

.footer-btn .gform-footer.gform_footer.top_label {
  margin-top: 0px;
}




/* Finanzielle Absicherung css */

.cta-heading .hb-cta-phone__heading{
  font-size: 24px;
}

.hb-new-desc .hb-cta-phone__desc{
  margin-top: 4px;
}

.btn-adjustment .hb-cta-phone__btns {
  margin-top: 1.5rem;
}


.updated_text_desc h2.hb-erinnerungen-cards__heading {
  font-size: 18px;
  color: #1a1a1a;
  font-weight: 400;
  max-width: 600px;
  margin: auto;
  line-height: 28px;
}


.hb__subheading p.hb-erinnerungen-cards__subheading {
  font-size: 30px;
  font-weight: 300;
  color: #1a1a1a;
  margin-bottom: 14px;
}


.h3_updated_subtitle h3.hb-erinnerungen-cards__title {
  font-size: 18px;
}

.hb__erinnerugen__grid .hb-erinnerungen-cards__grid {
  max-width: 710px;
  margin: 0 auto;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.custom-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1; 
  color: #333;
  background-color: #f7f7f7;
  border: 1px solid #ccc;
  cursor: pointer;
  transition: all 0.3s ease;
}

.custom-btn .icon {
  align-items: center;
  justify-content: center;
  display: inline-flex;
  line-height: 1;
  font-size: 14px;
}

.custom-btn:hover {
  color: #1a1a1a;
  background-color: rgb(237, 221,  237, 1);
}

.hb-erinnerungen-cards__card-updated .hb-erinnerungen-cards__card{
  padding: 24px;
}

.hb__border-color:hover .hb-erinnerungen-cards__card:hover {
  border-color : 0px;
}

.bg-changed .hb-erinnerungen-cards__icon-wrap {
  background-color: white;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  height: auto;
}


.bg-changed-icon .hb-erinnerungen-cards__icon-wrap {
  background-color: white;
  justify-content: flex-start;
  align-items: center;

}

.new-icon .hb-erinnerungen-cards__icon {
height: 40px;
width: 40px;

}



@media (max-width: 576px) {
  .hb-cta-phone.hb-cta-phone--light{
    background: #ededed4d !important;
  
  }
  .hb-hero-bg_update_h1 .hb-hero-bg__h1 {
    font-size: 36px;
    line-height: 44px;
}
 }
 


 /* verfugeneu */

 .erdbestattung_seventh_sec-new .hb-related-pages__grid {
  gap: 1.25rem;
  grid-template-columns: 1fr 1fr;
  max-width: 1100px;
  margin: 0 auto;
}

.hb-related-pages__title:hover {
  color:rgba(127, 31, 126, 0.992)
}

.vorsorge_sec_sec-block .vorsorge_sec_sec{
  display: block;
}

.hb-text-desc .hb-intro-text__desc {
  color: black;
  font-size: 18px;
  line-height: 28px;
  text-align: left;
  color: #1a1a1a;
}

.h2-intro-new h2.hb-intro-text__heading {
  font-size: 30px;
  color: #1a1a1a;
  text-align: left;
}

.hb-desc-padding .hb-intro-text__inner {

  padding-top: 64px !important;
  padding-bottom: 50px;
}


.hb-left-divider .hb-divider {
  width: 4rem;
  height: 0.125rem;
  background: var(--primary);
  margin: .85rem 0;
  margin-top: 40px;
}


.h2-cta-heading h2#cta-phone-heading {
  font-size: 30px;
}

.inner-page .hb-cta-phone__inner {
  max-width: 100%;
}

.cat-phone-desc p.hb-cta-phone__desc {
  max-width: 100%;
}

.hb-cta-phone--light.hb-cta-phone-updated {
  background-color: #f3edf333 !important;
}

.bg-plain-heading h1.hb-hero-plain__heading {
  display: none;
}

.new-plain-heading p.hb-hero-plain__tagline {
    font-size: 14px;
    line-height: 19px;
    text-align: left;
    padding: 24px;
    background-color: #f3edf333;
    border: 1px solid #dedede;
}


.hb-new-inner-container .hb-hero-plain__inner {
  max-width: 815px;
  margin: 0 auto;
}


section.hb-container-plainbox.hb-hero-plain {
  text-align: center;
  padding: 19px 0px 80px 0px !important;
}

.hb-intro-text .hb-intro-text {
  padding-top: 20px;
  padding-bottom: 50px;
  background-color: #d9d9d900 ! IMPORTANT;
}



/* testvorgoue*/

.hb-leistungen-liste-padding .hb-leistungen-liste__card {
  max-width: 960px;
  margin: 0 auto;
  padding: 3rem;
  background: #f2f2f200 !important;
}

.hb__updated_title .hb-related-pages__title {
  font-size: 20px;
  font-weight: 600;
  color: var(--fg);
  margin-bottom: .35rem;
}

.hb-related-pages__title:hover{
  color:rgba(127, 31, 126, 0.992);
}

.updated-grid .hb-related-pages__grid {
  max-width: 1020px;
  margin: 0 auto;
}


.related--pages-desc .hb-related-pages__desc {
  color: var(--muted);
  font-size: 14px;
  color: black;
}

.hb-related-pages {
  padding: 5rem 0;
  background: var(--background);
  background-color: #ffffff3b;
}

.list-box {
  border: 1px solid #dedede;
  padding: 2px 24px;
  margin: 0 !important;
  background-color: #fff;
}

.list-item {
  margin-bottom: 20px;
}

.list-item:last-child {
  margin-bottom: 0;
}

h2.list-heading {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #222;
  line-height: 1.4;
}

p.list-para {
  font-size: 18px !important;
  font-weight: 400;
  color: #555;
  line-height: 1.6;
  margin: 0;
}

.gerne-container {
  margin-top: 32px;
}

.new-section__inner .hb-intro-text__inner {
  max-width: 864px;
}

/* keldo */

.ul-list-block ul {
  list-style: disc;
  padding-left: 20px;
}

.new-list-style li{
  margin-bottom: 20px !important;
}


.h2-intro-new-heading h2.hb-intro-text__heading {
  font-size: 30px;
  color: #1a1a1a;
}
/* Intro text */
.intro-text {
  color: #161616;
  margin-bottom: 40px;
  font-size: 16px;
}

/* Wrapper spacing */
.content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
  text-align: left;
}

/* Section */
.section h3 {
  font-size: 20px;
  font-weight: 300;
  color: #111827;
  margin-bottom: 10px;
}

.section p {
  color: #1a1b1b;
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 1.6;
}

/* Special note */
p.note {
  font-size: 14px;
  font-style: italic;
  margin-top: 8px;
}

/* List styling */
.section ul {
  padding-left: 20px;
  margin: 0;
}

.section ul li {
  margin-bottom: 6px;
  color: #1a1a1a;
  line-height: 1.5;
  font-size: 18px;
}

/* Bottom box */
.info-box {
  background-color: rgb(129 17 130 / 2%);
  border: 1px solid rgba(129, 17, 130, 0.2);
  padding: 24px;
  margin-top: 40px;
  color: #1a1a1a;
  font-style: italic;
  text-align: left;
  font-size: 18px;
  line-height: 28px;
}


.info-updated .info-box {
  background-color: rgba(129 17 130 / 2%);
  border: 1px solid rgba(129, 17, 130, 0.2);
  padding: 24px;
  margin-top: 40px;
  color: #1a1a1a;
  font-style: italic;
  text-align: left;
  font-size: 14px;
  line-height: 22px;
}



section.hb-intro-text.new-bg-color.bg-white.h2-intro-new-heading.ul-list-block.intro-new-class.new-bg-color-class {
  background-color: #fffdff !important;
  padding-top: 70px;
}


/* online services */



.hb__erinnergue__grid_cards .hb-erinnerungen-cards__grid {
  gap: 1.5rem;
  max-width: 992px;
  margin: 0 auto;
  grid-template-columns: repeat(1fr, 1fr, 1fr);
}



.h3_updated_subtitle-erinnergue h3.hb-erinnerungen-cards__title {
  font-size: 18px;
}

.hb-erinner-text-left .hb-erinnerungen-cards__desc {
  color: #1c1c1c;
  font-size: .875rem;
  line-height: 1.75;
}


.hb__updated__desc .hb-intro-text__desc {
  color: #222222;
  line-height: 1.9;
  margin-top: 2rem;
  font-size: 18px;
  line-height: 28px;
}


/* inner spacing */


/* vorgouse page */
.hb__vorgouse-innebox .hb-intro-text__inner {
  max-width: 770px;
  margin: 0 auto;
}

.hb-features-cards__heading {
  font-size: 30px;
  text-align: center;
  margin-bottom: 14px;
}

p.hb-features-cards__subtitle {
  font-size: 24px;
  text-align: center;
  font-weight: 300;
  margin-bottom: 36px;
}


/* btn text Finanzielle */

a.hb-erinnerungen-cards__btn {
  border: 1px solid #d9d9d9 !important;
  background: #f7f7f7;
  margin-top: 10px;
  color: #1a1a1a;
  padding: 9px;
  text-decoration: none;
  border-radius: 0px;
}


.hb-btn-text{
  font-size: 14px;
  font-weight: 500;
}
.hb-erinnerungen-cards__btn {
  display: inline-flex;
  align-items: center; 
  justify-content: center;
  gap: 8px;
  background: #e9d9e9;
  padding: 10px 16px;
  text-decoration: none;
  color: #000;
  font-weight: 500;
  border-radius: 4px;
  line-height: 1; 
}

.hb-btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0; 
}

.hb-btn-icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

.hb-btn-text {
  display: flex;
  align-items: center;
}


a.hb-erinnerungen-cards__btn:hover {
  background-color: #eddeed8a;
  transition: 0.3s ease;
}


/* verfugene btn  */

.custom-link-btn-verfugene {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a !important; /* FIX: force dark text */
  text-decoration: none;
  border: 1px solid #e2e2e2;
  background-color: #ffffff;
  padding: 12px 16px 12px 38px;
  position: relative;

  line-height: 1.4;
}

/* remove purple link color from theme */
.custom-link-btn-verfugene:link,
.custom-link-btn-verfugene:visited {
  color: #1a1a1a !important;
}


/* add icon on verfugene page  */
.custom-link-btn-verfugene::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.custom-link-btn-verfugene:hover {
  background-color: #eddeed8a;
  border-color: #d0d0d0;
  color: #1a1a1a !important;
  text-decoration: none;
}


.icon-btn .hb-cta-phone__btn--primary {
  position: relative;
  padding-left: 38px !important; 
}

.icon-btn .hb-cta-phone__btn--primary::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* Organspendeausweis zum Download btb */

.custom-link-btn-verfugene-zum {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  color: white !important; 
  text-decoration: none;
  background-color: #831F82  ;
  padding: 12px 16px 12px 38px;
  position: relative;

  line-height: 1.4;
}

.custom-link-btn-verfugene-zum:link,
.custom-link-btn-verfugene-zum:visited {
  color: white !important;
}

.custom-link-btn-verfugene-zum:hover {
  background-color: #6d136b;
  color: white !important;
  text-decoration: none;
}

.icon-btn .custom-link-btn-verfugene-zum {
  position: relative;
  padding-left: 38px !important; 
}

.icon-btn .custom-link-btn-verfugene-zum::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  text-decoration: none;
}


/* erbloleste */

.hb-desc-erbloeste .hb-intro-text__inner{
  padding: 0px !important;
}

.updated-intor-text-erb p.intro-text {
  padding-bottom: 24px;
}

/* Wrapper */
.cta-btn-group {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.cta-btn-group a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 14px;
  font-weight: 500;
  text-decoration: none;

  padding: 10px 36px;
  line-height: 1.4;
  border-radius: 2px;
}

.btn-primary {
  background-color: #7a1b78; /* adjust if needed */
  color: #fff !important;
  position: relative;
  padding-left: 38px;
}

/* Phone icon (white) */
.btn-primary::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);

  width: 14px;
  height: 14px;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.72 19.72 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.72 19.72 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72c.12.89.32 1.76.59 2.59a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.49-1.49a2 2 0 0 1 2.11-.45c.83.27 1.7.47 2.59.59A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");

  background-size: contain;
  background-repeat: no-repeat;
}

/* SECONDARY (White Button) */
.btn-secondary {
  background-color: #ffffff;
  color: #1a1a1a !important;
  border: 1px solid #e2e2e2;
}

/* HOVER */
.btn-primary:hover {
  background-color: #651463;
}

.btn-secondary:hover {
  background-color: #f8f8f8;
  border-color: #d0d0d0;
}

.online-services-text .hb-cta-phone__heading{
  display: none;
}


.online-services-innerwidth .hb-intro-text__inner {
  max-width: 870px;
  margin: 0 auto;
}


.hb-leistungen-liste__desc-box {
  max-width: 864px;
  margin: auto;
  font-size: 18px;
  font-weight: 600;
  border: 1px solid #dedede;
  padding: 24px;
}



section.hb-leistungen-liste.hb-leistungen-liste-padding-new{
  padding-bottom: 64px !important;
}


.hb-online-services .hb-erinnerungen-cards__heading{
  color: #1a1a1a;
  font-size: 30px;
}

.hb-friedhoefe__subheading{
  color: #000;
}


/* ========================================================================
=========================================================================== */
/* mobile responsive */



@media (max-width: 600px) {

  .leistungen_banner{
   min-height: 400px;
  }

  .hb-cta-phone--light.hb-cta-phone-updated {
    background-color: #f3edf333 !important;
    padding-top: 64px !important;
    padding-bottom: 50px ! IMPORTANT;
}
.erdbestattung_seventh_sec-new .hb-related-pages__grid {
  gap: 1.25rem;
  grid-template-columns: 1fr;
  max-width: 1100px;
  margin: 0 auto;
}

.site-main{
  padding-bottom: 0px;
}
.hb-leistungen-liste__desc-box {
  font-size: 18px;
  font-weight: 600;
  border: 1px solid #dedede;
  padding: 24px;
  line-height: 26px;
}

.hb-leistungen-liste-padding .hb-leistungen-liste__card {
  max-width: 960px;
  margin: 0 auto;
  padding: 1rem;
  background: #f2f2f200 !important;
}
.hb-hero-bg .hb-divider {
  margin: 24px auto 1.25rem;
}

.leistungen_banner .hb-hero-bg__desc {
  margin: 1.75rem auto 0;
  line-height: 29px;
}
p.intro-text {
  font-size: 18px;
  line-height: 25px;
}
.content-wrapper {

  gap: 24px;
  text-align: left;
}


/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  width: 100%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.1);
}

/* Admin bar fix */
.admin-bar .site-header { top: 46px; }

/* Container */
.header-inner {
  padding: 10px 14px;
  position: relative;
}

/* ================= NAV ROW ================= */
.header-nav-row {
  display: flex;
  align-items: center;
  height: 64px;   /* perfect mobile height */
  gap: 26%;
}

/* ================= LOGO ================= */
.header-logo {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none;
}

.header-logo__img {
  max-height: 40px;
  width: auto;
}

.header-logo__claim {
  max-height: 10px;
  opacity: 0.7;
}

/* ================= HAMBURGER ================= */
.header-hamburger {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
}

.hamburger-line {
  width: 22px;
  height: 2px;
  background: var(--fg);
  border-radius: 2px;
  transition: .2s;
}

/* Hamburger animation */
.header-hamburger.is-open .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(4px,4px);
}
.header-hamburger.is-open .hamburger-line:nth-child(2) {
  opacity: 0;
}
.header-hamburger.is-open .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(4px,-4px);
}

/* ================= HIDE DESKTOP ELEMENTS ================= */
.header-nav-list,
.header-phone-btn,
.sticky-side {
  display: none !important;
}

/* ================= MOBILE NAV ================= */
.mobile-nav {
  display: none;
  background: #fff;
  border-top: 1px solid var(--border);
  max-height: 80vh;
  overflow-y: auto;
}

.mobile-nav.is-open {
  display: block;
}

.mobile-nav-inner {
  padding: 1rem 14px;
}

/* Links */
.mobile-nav-link {
  display: block;
  padding: 10px 0;
  font-size: 15px;
  color: var(--fg);
  border-bottom: 1px solid var(--border);
  text-decoration: none;
}

.mobile-nav-link:hover {
  color: var(--primary);
}

.mobile-nav-link--strong {
  font-weight: 600;
  margin-top: 10px;
}

/* Phone CTA */
.mobile-nav-phone {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 16px;
  padding: 12px;
  background: var(--primary);
  color: #fff;
  font-size: 14px;
  text-decoration: none;
}

/* ================= BOTTOM BAR ================= */
.mob-bar {
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 150;
  background: var(--primary);
}

.mob-bar__btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 6px;
  font-size: 11px;
  color: #fff;
  text-decoration: none;
  border-right: 1px solid rgba(255,255,255,.2);
}

.mob-bar__btn:last-child {
  border-right: none;
}

/* Avoid content overlap */
.site-main {
  padding-bottom: 60px;
}
.hb-related-pages__header {
  text-align: center;
  margin-bottom: 2.5rem !important;
}
.cta-btn-group {
  display: block;
}

.cta-btn-group a{
width: 100%;
}

.btn-primary::before {
  content: "";
  position: absolute;
  left: 120px;

}

/* Mobile → full width */
/* .hb-cta-phone__btns > * {
  width: 100%;
} */
.download_files_sec .hb-downloads__list {
  width: 25rem !important;
}

.hb-cta-phone.hb-cta-phone--light {
  padding: 50px 10px !important;
  background: #ededed4d !important;
}

.hb-hero-bg__h1 {
  font-size: 36px !important;
  line-height: 40px;
}
input#gform_submit_button_3, input#gform_submit_button_2 {
  background-color: #7d127e;
  width: 60%;
  margin: auto;
}

.vorsorge_fourth_sec p.hb-leistungen-liste__desc {
  margin-top: 30px;
  width: 24rem;
  
}
.vorsorge_third_sec .hb-features-cards__grid {
  width: 0;
  flex-wrap: column;
  grid-template-columns: 1fr;
}
.hb-erinnerungen-cards {
  padding-top: 40px;
  padding-bottom: 59px;
}
.hb-intro__desc .hb-intro-text__desc {
  color: #181818;
  line-height: 1.625;
  margin-top: 2rem;
  font-size: 1.125rem;
  text-align: justify;
  padding: 2rem 0rem;
}
.hb-features-cards__heading {
  font-size: 24px;
  line-height: 32px;
}
p.hb-features-cards__subtitle {
  font-size: 20px;
}
.mobile-heading .hb-hero-bg__h1 {
  font-size: 30px !important;
  line-height: 36px !important;
}

.cards-grid .hb-features-cards__grid {
  grid-template-columns: 1fr !important;
  max-width: 964px;
  margin: auto;
}
.online_third_sec .hb-erinnerungen-cards__grid {
  grid-template-columns: 1fr;
}

.Aktuelles_third_sec .hb-friedhoefe__header {
  margin: 0;
  width: 100%;
  margin: auto;
}
.Aktuelles_fifth_sec .hb-friedhoefe__header {
  margin: 0 auto;
  width: 100%;
}
.Aktuelles_fifth_sec p.hb-friedhoefe__subheading {
  font-size: 20px;
  line-height: 32px;
}
.hb-cta-phone__btn {
justify-content: center;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: .2s;
}

 .Aktuelles_fourth_sec .hb-erinnerungen-cards__desc {
  color: #1a1a1a;
  font-size: 14px;
  line-height: 20px;
  margin-top: 18px;
  margin-bottom: 16px;
}
 
.hb-cta-phone__btns {
  display: flex;
  flex-direction: column; /* ek k niche ek */
  gap: 10px;
}

.hb-cta-phone__btns a svg,
.hb-cta-phone__btns a i {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.icon-btn .hb-cta-phone__btn--primary {
  position: relative;
  padding-left: 0px !important; 

}
.hb-cta-phone__btns a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%; /* full width */
  text-align: center;
  position: relative;
}

/* Fix icon */
.icon-btn .hb-cta-phone__btn--primary::before {
  position: static; 
  transform: none;
  margin-right: 6px;
}
}

 /* +================================================================================
 ====================================================================================*/

 @media(max-width: 1024px) {


/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  width: 100%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.1);
}

/* Admin bar fix */
.admin-bar .site-header { top: 46px; }

/* Container */
.header-inner {
  padding: 10px 14px;
  position: relative;
}

/* ================= NAV ROW ================= */
.header-nav-row {
  display: flex;
  align-items: center;
  height: 64px;   /* perfect mobile height */
  gap: 26%;
}

/* ================= LOGO ================= */
.header-logo {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-decoration: none;
}

.header-logo__img {
  max-height: 40px;
  width: auto;
}

.header-logo__claim {
  max-height: 10px;
  opacity: 0.7;
}

/* ================= HAMBURGER ================= */
.header-hamburger {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
}

.hamburger-line {
  width: 22px;
  height: 2px;
  background: var(--fg);
  border-radius: 2px;
  transition: .2s;
}

/* Hamburger animation */
.header-hamburger.is-open .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(4px,4px);
}
.header-hamburger.is-open .hamburger-line:nth-child(2) {
  opacity: 0;
}
.header-hamburger.is-open .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(4px,-4px);
}

/* ================= HIDE DESKTOP ELEMENTS ================= */
.header-nav-list,
.header-phone-btn,
.sticky-side {
  display: none !important;
}

/* ================= MOBILE NAV ================= */
.mobile-nav {
  display: none;
  background: #fff;
  border-top: 1px solid var(--border);
  max-height: 80vh;
  overflow-y: auto;
}

.mobile-nav.is-open {
  display: block;
}

.mobile-nav-inner {
  padding: 1rem 14px;
}

/* Links */
.mobile-nav-link {
  display: block;
  padding: 10px 0;
  font-size: 15px;
  color: var(--fg);
  border-bottom: 1px solid var(--border);
  text-decoration: none;
}

.mobile-nav-link:hover {
  color: var(--primary);
}

.mobile-nav-link--strong {
  font-weight: 600;
  margin-top: 10px;
}

/* Phone CTA */
.mobile-nav-phone {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 16px;
  padding: 12px;
  background: var(--primary);
  color: #fff;
  font-size: 14px;
  text-decoration: none;
}

/* ================= BOTTOM BAR ================= */
.mob-bar {
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 150;
  background: var(--primary);
}

.mob-bar__btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 6px;
  font-size: 11px;
  color: #fff;
  text-decoration: none;
  border-right: 1px solid rgba(255,255,255,.2);
}

.mob-bar__btn:last-child {
  border-right: none;
}

/* Avoid content overlap */
.site-main {
  padding-bottom: 60px;
}

/* ipad */
.site-main {
  padding-bottom: 0px;
  min-height: 0vh;
}

.hb-intro-text {
  padding-top: 50px;
  padding-bottom: 50px;
}
.hb-intro-text__desc p {
  margin-bottom: 1rem;
  margin-top: 2rem;
}

.hb-related-pages__grid {
  display: grid
;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  max-width: 1100px;
  margin: 0 auto;
}
.hb-related-pages__header {
  text-align: center;
  margin-bottom: 3.5rem;
}
.cta-btn-group {

  margin-top: 40px;
}

.hb-intro-text__desc p {
  margin-bottom: 1rem;
  margin-top: 0rem;
}

.vorsorge_third_sec .hb-features-cards__grid {
  width: 100% !important;
  margin: 40px auto;
}
.hb-hero-bg__h1 {
  font-size: 48px;
}
input#gform_submit_button_3, input#gform_submit_button_2 {
  background-color: #7d127e;
  width: 60%;
  margin: auto;
}
.cards-grid .hb-features-cards__grid {

  grid-template-columns: repeat(2, 1fr);
  max-width: 964px;
  margin: auto;
}
.hb-presse__list{
  max-width: 44rem !important;
}

.Aktuelles_third_sec .hb-friedhoefe__header {
  margin: 0;
  width: 100%;
  margin: auto;
}
.Aktuelles_fifth_sec .hb-friedhoefe__header {
  margin: 0 auto;
  width: 100%;
}
.award-post-layout {
  max-width: 44rem;

}
.header-nav-row {
  display: flex
;
  align-items: center;
  height: 64px;
  justify-content: space-between;
  /* gap: 26%; */
}
}



