/* Neue LebensRichtung 7.0 — finale professionelle Designschicht */
:root {
  --pro-ink:#34251e;
  --pro-brown:#56372a;
  --pro-cognac:#8c5833;
  --pro-gold:#b98536;
  --pro-paper:#fffdf8;
  --pro-cream:#faf3e7;
  --pro-sand:#ead8bd;
  --pro-muted:#6d625b;
  --pro-line:rgba(86,55,42,.16);
  --pro-dark:#2b1c17;
}

/* Navigation und Footer: alte grüne Regeln werden vollständig abgelöst */
.site-shell .site-header,
.page-premium .site-shell .site-header {
  position:relative !important;
  inset:auto !important;
  min-height:92px !important;
  height:92px !important;
  border:0 !important;
  border-bottom:1px solid var(--pro-line) !important;
  background:rgba(255,253,248,.98) !important;
  box-shadow:0 8px 28px rgba(56,35,24,.06) !important;
}
.site-shell .site-header .navbar { min-height:92px !important; }
.site-shell .site-header .nav-link,
.page-premium .site-shell .site-header .nav-link {
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--pro-ink) !important;
  box-shadow:none !important;
}
.site-shell .site-header .nav-link.active,
.site-shell .site-header .nav-link:hover,
.page-premium .site-shell .site-header .nav-link.active,
.page-premium .site-shell .site-header .nav-link:hover {
  background:transparent !important;
  color:var(--pro-cognac) !important;
}
.site-shell .site-header .nav-link.active::before {
  right:14px !important;
  bottom:5px !important;
  left:14px !important;
  height:1px !important;
  background:var(--pro-gold) !important;
}
.site-shell .site-header .btn-nav,
.page-premium .site-shell .site-header .btn-nav {
  border:1px solid #4b3025 !important;
  border-radius:2px !important;
  background:#4b3025 !important;
  color:#fffaf1 !important;
  box-shadow:0 10px 24px rgba(58,35,25,.12) !important;
}
.site-shell .site-header .btn-nav:hover {
  border-color:#8c5833 !important;
  background:#8c5833 !important;
}
.site-shell .site-header .dropdown-menu {
  border:1px solid var(--pro-line) !important;
  border-radius:0 !important;
  background:#fffdf8 !important;
  box-shadow:0 20px 45px rgba(55,34,23,.11) !important;
}
.site-shell .site-header .dropdown-item {
  border-radius:0 !important;
  background:transparent !important;
  color:var(--pro-brown) !important;
}
.site-shell .site-header .dropdown-item:hover,
.site-shell .site-header .dropdown-item.active {
  background:#f1e3ce !important;
  color:var(--pro-ink) !important;
}

.site-shell .site-footer {
  border:0 !important;
  background:#2b1c17 !important;
  color:rgba(255,248,238,.74) !important;
}
.site-shell .site-footer .footer-panel,
.site-shell .site-footer .footer-bottom {
  background:transparent !important;
}
.site-shell .site-footer .footer-title,
.site-shell .site-footer .footer-heading { color:#fff8ed !important; }
.site-shell .site-footer .footer-text,
.site-shell .site-footer .footer-note { color:rgba(255,248,238,.64) !important; }
.site-shell .site-footer .footer-links a,
.site-shell .site-footer .footer-bottom,
.site-shell .site-footer .footer-bottom a { color:rgba(255,248,238,.72) !important; }
.site-shell .site-footer .footer-links a:hover,
.site-shell .site-footer .footer-bottom a:hover { color:#e6bd72 !important; }
.site-shell .site-footer .social-link {
  border-color:rgba(255,248,238,.25) !important;
  background:transparent !important;
  color:#fff8ed !important;
}
.site-shell .site-footer .social-link:hover {
  border-color:var(--pro-gold) !important;
  background:var(--pro-gold) !important;
  color:var(--pro-dark) !important;
}

/* Grundaufbau der Unterseiten */
body:not(.page-premium) { background:var(--pro-paper) !important; color:var(--pro-ink) !important; }
body:not(.page-premium) .page-hero {
  min-height:0 !important;
  margin:0 !important;
  padding:clamp(92px,9vw,132px) 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:
    radial-gradient(circle at 82% 20%,rgba(214,164,79,.16),transparent 26%),
    linear-gradient(132deg,#fffdf8 0%,#f7ecda 64%,#ead5b5 100%) !important;
  box-shadow:none !important;
}
body:not(.page-premium) .page-hero::after {
  right:-12% !important;
  bottom:-45% !important;
  width:48vw !important;
  height:48vw !important;
  border:1px solid rgba(140,88,51,.12) !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:0 0 0 90px rgba(185,133,54,.025) !important;
}
body:not(.page-premium) .page-hero .container,
body:not(.page-premium) .section > .container {
  width:min(1180px,calc(100% - 80px)) !important;
  max-width:none !important;
}
body:not(.page-premium) .page-hero-shell,
body:not(.page-premium) .page-hero-shell-single {
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr) !important;
  gap:clamp(60px,8vw,112px) !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body:not(.page-premium) .page-hero-shell:has(> :only-child),
body:not(.page-premium) .page-hero-shell-single:has(> :only-child) {
  grid-template-columns:minmax(0,980px) !important;
  justify-content:start !important;
}
body:not(.page-premium) .page-hero-copy {
  max-width:760px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body:not(.page-premium) .page-hero .eyebrow {
  display:inline-block !important;
  padding:0 0 9px !important;
  border:0 !important;
  border-bottom:1px solid var(--pro-gold) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--pro-cognac) !important;
}
body:not(.page-premium) .page-hero h1,
body:not(.page-premium) .page-hero-title {
  max-width:17ch !important;
  margin:24px 0 28px !important;
  color:var(--pro-ink) !important;
  font:500 clamp(3.35rem,5vw,5.45rem)/.94 'Cormorant Garamond',serif !important;
  letter-spacing:-.04em !important;
  text-wrap:balance;
}
body:not(.page-premium) .page-hero-shell-single h1 { max-width:19ch !important; }
body:not(.page-premium) .page-hero p {
  max-width:68ch !important;
  margin:0 !important;
  color:var(--pro-muted) !important;
  font-size:1.02rem !important;
  line-height:1.78 !important;
}
body:not(.page-premium) .page-hero p + p { margin-top:14px !important; }
body:not(.page-premium) .page-hero-photo,
body:not(.page-premium) .page-hero-mark,
body:not(.page-premium) .page-inline-photo {
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:0 26px 55px rgba(59,37,23,.13) !important;
}
body:not(.page-premium) .page-hero-photo img,
body:not(.page-premium) .page-hero-mark img {
  width:100% !important;
  min-height:460px !important;
  max-height:600px !important;
  object-fit:cover !important;
}
body:not(.page-premium) .page-brand-logo {
  width:min(285px,80%) !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Inhaltskapitel statt kleiner, verstreuter Karten */
body:not(.page-premium) .section {
  margin:0 !important;
  padding:clamp(88px,8vw,126px) 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:var(--pro-paper) !important;
  box-shadow:none !important;
}
body:not(.page-premium) .section:nth-of-type(odd) { background:var(--pro-cream) !important; }
body:not(.page-premium) .section + .section { border-top:1px solid rgba(86,55,42,.08) !important; }
body:not(.page-premium) .section-title {
  max-width:820px !important;
  margin:0 0 62px !important;
}
body:not(.page-premium) .section .eyebrow {
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--pro-cognac) !important;
}
body:not(.page-premium) .section-title h2 {
  max-width:16ch !important;
  margin:18px 0 22px !important;
  color:var(--pro-ink) !important;
  font:500 clamp(3rem,4.6vw,5rem)/.96 'Cormorant Garamond',serif !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}
body:not(.page-premium) .section-title p {
  max-width:68ch !important;
  color:var(--pro-muted) !important;
  font-size:1rem !important;
  line-height:1.78 !important;
}
body:not(.page-premium) .story-grid,
body:not(.page-premium) .media-grid,
body:not(.page-premium) .page-reading-layout {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(54px,7vw,90px) !important;
  align-items:start !important;
  margin:0 !important;
}
body:not(.page-premium) .story-grid:has(> :only-child),
body:not(.page-premium) .media-grid:has(> :only-child),
body:not(.page-premium) .page-reading-layout:has(> :only-child),
body:not(.page-premium) .page-reading-layout:has(> .legal-card) {
  grid-template-columns:minmax(0,900px) !important;
  justify-content:center !important;
}
body:not(.page-premium) .section:nth-of-type(even) .story-grid > *,
body:not(.page-premium) .section:nth-of-type(even) .page-reading-layout > * { order:initial !important; }
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel,.legal-card) {
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:34px 0 0 !important;
  border:0 !important;
  border-top:2px solid var(--pro-gold) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel,.legal-card) h2,
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel,.legal-card) h3 {
  max-width:21ch !important;
  margin:0 0 22px !important;
  color:var(--pro-ink) !important;
  font:600 clamp(2rem,2.7vw,2.75rem)/1.07 'Cormorant Garamond',serif !important;
  letter-spacing:-.025em !important;
  text-wrap:balance;
}
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel,.legal-card) .eyebrow + h3 { margin-top:15px !important; }
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel,.legal-card) p {
  max-width:68ch !important;
  margin:0 !important;
  color:var(--pro-muted) !important;
  font-size:1rem !important;
  line-height:1.78 !important;
}
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel,.legal-card) p + p { margin-top:16px !important; }
body:not(.page-premium) .media-grid > .image-frame {
  position:sticky !important;
  top:122px !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 22px 48px rgba(55,34,22,.12) !important;
}
body:not(.page-premium) .image-frame img { width:100% !important; min-height:420px !important; object-fit:cover !important; }

body:not(.page-premium) .story-list,
body:not(.page-premium) .clean-list { margin:25px 0 0 !important; padding:0 !important; list-style:none !important; }
body:not(.page-premium) .story-list li,
body:not(.page-premium) .clean-list li {
  position:relative !important;
  margin:0 !important;
  padding:12px 0 12px 23px !important;
  border-bottom:1px solid var(--pro-line) !important;
  color:var(--pro-muted) !important;
  line-height:1.6 !important;
}
body:not(.page-premium) .story-list li::before,
body:not(.page-premium) .clean-list li::before {
  content:"" !important;
  position:absolute !important;
  top:1.25rem !important;
  left:1px !important;
  width:7px !important;
  height:7px !important;
  border:1px solid var(--pro-cognac) !important;
  transform:rotate(45deg) !important;
}

/* Leistungen: großzügige, klare Module */
body:not(.page-premium) .service-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  background:transparent !important;
}
body:not(.page-premium) .service-card {
  min-height:330px !important;
  padding:38px !important;
  border:1px solid var(--pro-line) !important;
  border-top:3px solid var(--pro-gold) !important;
  border-radius:0 !important;
  background:#fffdf8 !important;
  color:var(--pro-ink) !important;
  box-shadow:none !important;
}
body:not(.page-premium) .service-card:hover {
  border-color:rgba(140,88,51,.34) !important;
  background:#fffaf2 !important;
  box-shadow:0 18px 40px rgba(55,34,22,.09) !important;
  transform:translateY(-4px) !important;
}
body:not(.page-premium) .service-card .service-number {
  margin:0 0 46px !important;
  color:var(--pro-cognac) !important;
}
body:not(.page-premium) .service-card h3 {
  max-width:18ch !important;
  margin:0 0 16px !important;
  color:var(--pro-ink) !important;
  font:600 clamp(1.8rem,2.25vw,2.4rem)/1.06 'Cormorant Garamond',serif !important;
}
body:not(.page-premium) .service-card p { color:var(--pro-muted) !important; line-height:1.7 !important; }
body:not(.page-premium) .service-card-more { color:var(--pro-cognac) !important; }

/* Übersichtskarten, Kontakt und Rechtliches */
body:not(.page-premium) .section > .container > .row {
  --bs-gutter-x:18px !important;
  --bs-gutter-y:18px !important;
  border:0 !important;
}
body:not(.page-premium) .section > .container > .row > [class*="col-"] { border:0 !important; }
body:not(.page-premium) .section > .container > .row .content-card {
  height:100% !important;
  min-height:220px !important;
  padding:34px !important;
  border:1px solid var(--pro-line) !important;
  border-top:3px solid var(--pro-gold) !important;
  background:#fffdf8 !important;
}
.contact-grid {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px !important;
  background:transparent !important;
}
.contact-grid .contact-panel {
  min-height:100% !important;
  padding:42px !important;
  border:1px solid var(--pro-line) !important;
  border-top:3px solid var(--pro-gold) !important;
  background:#fffdf8 !important;
}
.info-item { border-color:var(--pro-line) !important; color:var(--pro-muted) !important; }
.info-item strong,.contact-link { color:var(--pro-brown) !important; }
.form-panel { max-width:940px !important; margin-inline:auto !important; }
.form-field label { color:var(--pro-brown) !important; }
.form-field input,.form-field textarea,.form-field select {
  border-color:rgba(86,55,42,.35) !important;
  color:var(--pro-ink) !important;
}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus { border-color:var(--pro-cognac) !important; }
.legal-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
}
body:not(.page-premium) .legal-grid .legal-card,
body:not(.page-premium) .page-reading-layout .legal-card {
  padding:38px !important;
  border:1px solid var(--pro-line) !important;
  border-top:3px solid var(--pro-gold) !important;
  background:#fffdf8 !important;
}

/* Musik, Auszeitoasen und Zitate */
.music-grid { gap:24px !important; padding:0 !important; }
.music-card {
  border:1px solid var(--pro-line) !important;
  border-radius:0 !important;
  background:#fffdf8 !important;
  box-shadow:none !important;
  transform:none !important;
}
.music-card:hover { box-shadow:0 20px 44px rgba(55,34,22,.11) !important; transform:translateY(-5px) !important; }
.music-card-copy h3 { color:var(--pro-ink) !important; }
.custom-song-card {
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(128deg,#32211b,#6a4430) !important;
}
.retreat-detail-grid { gap:54px !important; }
.retreat-detail-card,
.retreat-detail-card:nth-child(even) {
  grid-template-columns:1.08fr .92fr !important;
  border:0 !important;
  border-radius:0 !important;
  background:#f1e3ce !important;
  box-shadow:0 18px 42px rgba(55,34,22,.09) !important;
}
.retreat-detail-card:nth-child(even) { grid-template-columns:.92fr 1.08fr !important; background:#ead8bd !important; }
.retreat-detail-copy h2 { color:var(--pro-ink) !important; }
.quote-card {
  border:0 !important;
  border-left:3px solid var(--pro-gold) !important;
  border-radius:0 !important;
  background:#f1e3ce !important;
  color:var(--pro-ink) !important;
  box-shadow:none !important;
}
.quote-card blockquote,.quote-card p { color:var(--pro-ink) !important; }
.btn-accent,
body:not(.page-premium) .btn-accent {
  border-color:#4b3025 !important;
  background:#4b3025 !important;
  color:#fffaf1 !important;
}
.btn-accent:hover,
body:not(.page-premium) .btn-accent:hover {
  border-color:#8c5833 !important;
  background:#8c5833 !important;
}

@media (max-width:991.98px) {
  .site-shell .site-header,
  .page-premium .site-shell .site-header { height:auto !important; min-height:82px !important; }
  .site-shell .site-header .navbar { min-height:82px !important; }
  .site-shell .site-header .container {
    width:min(calc(100% - 32px),1440px) !important;
    max-width:none !important;
  }
  .site-shell .site-header .navbar-toggler {
    border:1px solid rgba(86,55,42,.28) !important;
    border-radius:0 !important;
    background:#fffaf2 !important;
    box-shadow:none !important;
  }
  .site-shell .site-header .navbar-collapse,
  .page-premium .site-shell .site-header .navbar-collapse {
    border-color:var(--pro-line) !important;
    background:#fffdf8 !important;
  }
  body:not(.page-premium) .page-hero .container,
  body:not(.page-premium) .section > .container { width:min(calc(100% - 48px),1180px) !important; }
  body:not(.page-premium) .page-hero-shell,
  body:not(.page-premium) .page-hero-shell-single,
  body:not(.page-premium) .story-grid,
  body:not(.page-premium) .media-grid,
  body:not(.page-premium) .page-reading-layout { grid-template-columns:1fr !important; }
  body:not(.page-premium) .media-grid > .image-frame { position:relative !important; top:auto !important; }
  body:not(.page-premium) .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .contact-grid { grid-template-columns:1fr !important; }
}

@media (max-width:767.98px) {
  html,body,.site-shell { max-width:100% !important; overflow-x:hidden !important; }
  body:not(.page-premium) .page-hero { padding:68px 0 !important; }
  body:not(.page-premium) .page-hero .container,
  body:not(.page-premium) .section > .container { width:min(calc(100% - 32px),1180px) !important; }
  body:not(.page-premium) .page-hero h1,
  body:not(.page-premium) .page-hero-title {
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(2.65rem,11.5vw,3.7rem) !important;
    overflow-wrap:anywhere !important;
    hyphens:auto;
  }
  body:not(.page-premium) .page-hero-copy,
  body:not(.page-premium) .page-hero p {
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }
  body:not(.page-premium) .section { padding:72px 0 !important; }
  body:not(.page-premium) .section-title h2 { max-width:100% !important; font-size:clamp(2.65rem,11vw,4rem) !important; }
  body:not(.page-premium) .service-grid,
  .legal-grid { grid-template-columns:1fr !important; }
  body:not(.page-premium) .service-card { min-height:0 !important; padding:32px 26px !important; }
  body:not(.page-premium) .service-card .service-number { margin-bottom:34px !important; }
  .contact-grid .contact-panel { padding:34px 26px !important; }
  body:not(.page-premium) .legal-grid .legal-card,
  body:not(.page-premium) .page-reading-layout .legal-card { padding:32px 25px !important; }
  .retreat-detail-card,
  .retreat-detail-card:nth-child(even) { grid-template-columns:1fr !important; }
}
