/* ==========================================================================
   UISZIIT — Custom CSS
   Design Tokens + Full-Width Section Layout
   Phase 7.2 — Native Gutenberg Block Support
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. @font-face — Lokale WOFF2-Fonts
   -------------------------------------------------------------------------- */

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/montserrat-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/montserrat-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/montserrat-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/montserrat-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/montserrat-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/montserrat-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/montserrat-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/montserrat-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

/* --------------------------------------------------------------------------
   2. Design Tokens — CSS Custom Properties
   -------------------------------------------------------------------------- */

:root {
  --uis-navy: #2E5373;
  --uis-navy-deep: #223F58;
  --uis-navy-ink: #1B3247;
  --uis-porcelain: #F7F4EF;
  --uis-sand: #E8DED1;
  --uis-taupe: #D5CBBF;
  --uis-clay: #C7BAA9;
  --uis-sage: #8C9884;
  --uis-sage-soft: #A9B4A2;
  --uis-gold: #B08A5E;
  --uis-gold-soft: #C6A883;

  --uis-ink-900: #23292B;
  --uis-ink-700: #454B4C;
  --uis-ink-500: #6E6F6A;
  --uis-ink-300: #9A9891;
  --uis-line: #E2DACE;
  --uis-line-warm: #D8CDBD;
  --uis-white: #FFFFFF;

  --surface-page: var(--uis-porcelain);
  --surface-raised: var(--uis-white);
  --surface-warm: var(--uis-sand);
  --surface-card: var(--uis-white);
  --surface-muted: var(--uis-taupe);
  --surface-inverse: var(--uis-navy);
  --text-display: var(--uis-navy);
  --text-heading: var(--uis-navy);
  --text-body: var(--uis-ink-700);
  --text-muted: var(--uis-ink-500);
  --text-caption: var(--uis-ink-300);
  --text-on-inverse: var(--uis-porcelain);
  --text-eyebrow: var(--uis-gold);
  --accent-primary: var(--uis-navy);
  --accent-secondary: var(--uis-sage);
  --accent-warm: var(--uis-gold);

  --border-hairline: var(--uis-line);
  --border-warm: var(--uis-line-warm);
  --border-on-inverse: rgba(247, 244, 239, 0.22);

  --btn-fill: var(--uis-navy);
  --btn-fill-hover: var(--uis-navy-deep);
  --btn-fill-active: var(--uis-navy-ink);
  --focus-ring: rgba(46, 83, 115, 0.35);
  --focus-ring-width: 2px;
  --focus-ring-offset: 2px;

  --font-display: 'Cormorant Garamond', Cormorant, Georgia, 'Times New Roman', serif;
  --font-sans: 'Montserrat', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --font-body: var(--font-sans);

  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;

  --fs-display: clamp(2.75rem, 5.2vw, 4.25rem);
  --fs-h1: clamp(2.25rem, 3.8vw, 3.25rem);
  --fs-h2: clamp(1.75rem, 2.6vw, 2.375rem);
  --fs-h3: 1.5rem;
  --fs-quote: clamp(1.5rem, 2.4vw, 2rem);
  --fs-lead: 1.125rem;
  --fs-body: 1rem;
  --fs-body-sm: 0.9375rem;
  --fs-caption: 0.8125rem;
  --fs-eyebrow: 0.75rem;
  --fs-nav: 0.8125rem;

  --lh-display: 1.12;
  --lh-heading: 1.18;
  --lh-body: 1.7;
  --lh-tight: 1.35;

  --ls-display: -0.01em;
  --ls-body: 0.005em;
  --ls-eyebrow: 0.24em;
  --ls-nav: 0.18em;
  --ls-wordmark: 0.42em;
  --ls-button: 0.18em;

  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-8: 48px;
  --space-10: 64px;
  --space-12: 80px;
  --space-16: 112px;
  --space-20: 160px;

  --gap-inline: var(--space-3);
  --gap-stack: var(--space-5);
  --gap-card: var(--space-6);
  --pad-card: var(--space-6);
  --pad-section-y: var(--space-16);
  --pad-section-x: clamp(24px, 6vw, 112px);

  --container-max: 1240px;
  --container-text: 640px;
  --container-wide: 1440px;

  --shadow-none: none;
  --shadow-xs: 0 1px 2px rgba(46, 55, 60, 0.05);
  --shadow-sm: 0 4px 14px rgba(46, 55, 60, 0.06);
  --shadow-card: 0 12px 34px rgba(40, 48, 54, 0.08);
  --shadow-raised: 0 22px 60px rgba(34, 44, 58, 0.14);

  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-pill: 999px;

  --border-width: 1px;
  --divider-short: 40px;

  --veil-warm: linear-gradient(180deg, rgba(28, 38, 44, 0.05) 0%, rgba(28, 38, 44, 0.22) 100%);
  --grad-navy: linear-gradient(160deg, #2E5373 0%, #223F58 55%, #1B3247 100%);
  --grad-protect: linear-gradient(90deg, rgba(27, 50, 71, 0.72) 0%, rgba(27, 50, 71, 0.20) 60%, rgba(27, 50, 71, 0) 100%);

  --ease-calm: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-inout: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: 160ms;
  --dur-base: 280ms;
  --dur-slow: 520ms;

  --transition-base: all var(--dur-base) var(--ease-calm);
  --transition-color: color var(--dur-fast) var(--ease-inout),
                      background-color var(--dur-fast) var(--ease-inout),
                      border-color var(--dur-fast) var(--ease-inout);
}

/* --------------------------------------------------------------------------
   3. Global Resets & Full-Width Homepage Layout
   -------------------------------------------------------------------------- */

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

body.home .site,
body.home .site-container,
body.home .site-inner,
body.home #inner-wrap,
body.home #wrapper,
body.home #content,
body.home .content-container,
body.home .content-area,
body.home .site-main,
body.home article.entry,
body.home .entry-content-wrap,
body.home .entry-content {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.home article.entry,
body.home .entry-content-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.home .entry-content {
  display: flex;
  flex-direction: column;
  gap: 0 !important;
}

body.home .wp-block-group.alignfull {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.home .entry-content > .wp-block-group.alignfull {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.home .entry-content > .wp-block-html {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
}

body.home .scroll-up-wrap,
body.home .kb-scroll-up-wrap,
body.home #kt-scroll-up {
  display: none !important;
}

/* Kadence fixed-header spacer — must not push content below hero */
body.home .kadence-header-spacer,
body.home .site-header-height-spacer,
body.home .header-height-placeholder {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
}

body.home #inner-wrap,
body.home #wrapper,
body.home #content,
body.home .content-container,
body.home .content-area,
body.home .site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

section[id] {
  scroll-margin-top: 78px;
}

/* #hero scroll-margin consolidated into Section 5 below */

/* --------------------------------------------------------------------------
   4. Focus — Accessible Focus Ring
   -------------------------------------------------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.wp-block-button__link:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring);
  outline-offset: var(--focus-ring-offset);
}

/* --------------------------------------------------------------------------
   5. Hero Section (native Cover block)
   -------------------------------------------------------------------------- */

#hero {
  position: relative;
  overflow: hidden;
  scroll-margin-top: 0;
  margin-top: 0 !important;
}

#hero .wp-block-cover {
  min-height: 100vh !important;
  min-height: 100dvh !important;
}

#hero .uis-scroll-hint {
  position: absolute;
  bottom: 38px;
  left: 50%;
  transform: translateX(-50%);
}

/* --------------------------------------------------------------------------
   6. Philosophie Section
   -------------------------------------------------------------------------- */

#philosophie {
  position: relative;
  overflow: hidden;
}

.uis-watermark-img {
  position: absolute !important;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(64vw, 620px) !important;
  max-width: none !important;
  opacity: 0.03;
  pointer-events: none;
  z-index: 0;
}

.uis-watermark-img + .wp-block-group {
  position: relative;
  z-index: 1;
}

#ueber .uis-watermark-img {
  width: min(50vw, 460px) !important;
  top: 46%;
}

/* --------------------------------------------------------------------------
   7. Two-Column Sections (native wp:columns)
   -------------------------------------------------------------------------- */

.uis-two-col.wp-block-columns,
.uis-two-col-reverse.wp-block-columns {
  flex-wrap: nowrap !important;
}

.uis-col-image-wrap {
  position: relative;
  min-height: 560px;
  overflow: hidden;
}

.uis-col-image-wrap .wp-block-image {
  position: absolute;
  inset: 0;
  margin: 0 !important;
}

.uis-col-image-wrap .wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.uis-placeholder-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--uis-taupe);
}

.uis-placeholder-image img[src=""] {
  min-height: 400px;
}

#geschichte .uis-col-image-wrap {
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: 620px;
  background-color: var(--uis-taupe);
}

#geschichte .uis-col-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#geschichte .uis-col-text > .wp-block-spacer:first-child {
  display: none;
}

#ein-tag .uis-col-image-wrap {
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: 620px;
  background-color: var(--uis-clay);
}

#tantra .uis-col-image-wrap {
  background-color: var(--uis-sage);
}

/* --------------------------------------------------------------------------
   8. Begegnung Section (native Cover block)
   -------------------------------------------------------------------------- */

#begegnung {
  position: relative;
  overflow: hidden;
}

#begegnung .wp-block-cover__background {
  background: var(--grad-protect) !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   9. Meditation Section (Navy gradient background)
   -------------------------------------------------------------------------- */

.uis-meditation-inner {
  background: var(--grad-navy);
}

/* --------------------------------------------------------------------------
   10. Reviews Section — WP Review Slider Pro Design-Overrides
       Angelehnt an Design-Spec (Komponenten 4.10, 4.11, 5.10)
   -------------------------------------------------------------------------- */

/* 10a. Section */
#reviews {
  padding-top: clamp(80px, 14vh, 180px) !important;
  padding-bottom: clamp(80px, 14vh, 180px) !important;
}

/* 10b. Shortcode-Wrapper */
.uis-reviews-shortcode-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
  overflow: visible !important;
}

.uis-reviews-shortcode-wrap > * {
  max-width: 100%;
}

/* 10c. Slider-Container: Höhe auto, Schatten sichtbar */
#reviews .wprs_unslider,
#reviews #wprev-slider-1,
#reviews .wprs_unslider-wrap {
  overflow: visible !important;
  height: auto !important;
}

#reviews #wprev-slider-1 {
  min-height: 380px;
}

/* 10d. Row: Flexbox statt Float-Grid */
#wprev-slider-1 .wprevpro_t1_outer_div {
  display: flex !important;
  flex-wrap: nowrap;
  gap: 28px;
  padding: 0 clamp(24px, 6vw, 112px) !important;
  justify-content: center;
}

#wprev-slider-1 .wprevpro_t1_outer_div::after {
  display: none !important;
}

/* 10e. Karten: Weisse Karten mit Schatten */
#wprev-slider-1 .wprevpro_t1_DIV_1 {
  float: none !important;
  width: auto !important;
  flex: 1 1 0;
  min-width: 280px;
  max-width: 420px;
  padding: 0 !important;
  background: #FFFFFF;
  border-radius: var(--radius-md, 6px);
  box-shadow: 0 4px 14px rgba(46, 55, 60, 0.06);
  display: flex !important;
  flex-direction: column;
  position: relative;
}

/* 10f. Innere Karte: Transparent, Flex-Column */
#wprev-slider-1 .indrevdiv {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-height: auto !important;
  box-shadow: none !important;
  border: none !important;
  position: relative;
  display: flex !important;
  flex-direction: column;
  flex: 1;
  text-align: left !important;
}

/* Anführungszeichen + Sprechblasen-Dreieck ausblenden */
#wprev-slider-1 .indrevdiv::before,
#wprev-slider-1 .indrevdiv::after,
#wprev-slider-1 .wprev_preview_bg1_T1::after {
  display: none !important;
}

#wprev-slider-1 .wprev_preview_bg1_T1 {
  background: transparent !important;
}

/* 10g. Sterne: Gold (#F6B93B), linksbündig wie Text, 20px Abstand zum Lauftext */
/* Sterne sind INNERHALB des P-Tags — P hat bereits padding-left: 36px */
#wprev-slider-1 .wprevpro_star_imgs_T1 {
  display: block !important;
  padding: 36px 0 20px 0 !important;
  text-align: left !important;
  float: none !important;
}

#wprev-slider-1 .wprevpro_star_imgs {
  display: inline-flex !important;
  gap: 2px;
  float: none !important;
}

#wprev-slider-1 .svg-wprsp-star {
  background: #F6B93B !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
}

#wprev-slider-1 .wprevpro_verified_svg {
  display: none !important;
}

/* 10h. Bewertungstext + Sterne-Container (Sterne sind im selben P-Tag) */
#wprev-slider-1 .wprevpro_t1_P_3 {
  font-family: var(--font-sans, 'Montserrat', sans-serif) !important;
  font-weight: var(--fw-light, 300) !important;
  font-size: var(--fs-body, 1rem) !important;
  line-height: 1.7 !important;
  color: var(--uis-ink-500, #6E6F6A) !important;
  padding: 0 36px 24px !important;
  margin: 0 !important;
  text-align: left !important;
  max-height: 320px;
  overflow-y: auto;
}

#wprev-slider-1 .wprevpro_t1_P_3::-webkit-scrollbar {
  width: 4px;
}
#wprev-slider-1 .wprevpro_t1_P_3::-webkit-scrollbar-thumb {
  background: var(--uis-sand, #E8DED1);
  border-radius: 4px;
}

#wprev-slider-1 .wprs_rd_more {
  color: var(--uis-ink-300, #9A9891) !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  cursor: pointer;
  transition: color 200ms var(--ease-calm, ease);
}

#wprev-slider-1 .wprs_rd_more:hover {
  color: var(--uis-gold, #B08A5E) !important;
}

/* 10i. Google-Logo: linksbündig, 50px Abstand zum Text */
#wprev-slider-1 .wprevpro_t1_site_logo_a {
  position: static !important;
  display: block !important;
  padding: 0 36px !important;
  margin: 0 !important;
  margin-top: auto;
  padding-top: 50px !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border-radius: 0 !important;
  text-align: left !important;
  float: none !important;
}

#wprev-slider-1 .indrevdiv .wprevpro_t1_site_logo_a {
  text-align: left !important;
  float: none !important;
}

#wprev-slider-1 .wprevpro_t1_site_logo,
#wprev-slider-1 img.wprevpro_t1_site_logo {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  width: 24px !important;
  height: 24px !important;
  display: block !important;
}

/* 10j. Avatar-Placeholder ausblenden */
#wprev-slider-1 .wprevpro_t1_A_8 {
  display: none !important;
}

/* 10k. Name + Datum */
#wprev-slider-1 .wprevpro_t1_SPAN_5 {
  display: block !important;
  padding: 20px 36px 24px 36px !important;
  border-top: 1px solid var(--uis-sand, #E8DED1);
  font-family: var(--font-sans, 'Montserrat', sans-serif) !important;
  font-weight: var(--fw-medium, 500) !important;
  font-size: var(--fs-body-sm, 0.9375rem) !important;
  color: var(--uis-ink-700, #454B4C) !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}

#wprev-slider-1 .wprev_showdate_T1 {
  font-weight: 400 !important;
  font-size: var(--fs-caption, 0.8125rem) !important;
  color: var(--uis-ink-300, #9A9891) !important;
  display: block;
  margin-top: 2px;
}

/* 10l. Navigations-Pfeile */
#reviews .wprs_unslider-arrow {
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: rgba(46, 83, 115, 0.08) !important;
  background-image: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 0 !important;
  text-indent: -9999px !important;
  transition: background 300ms var(--ease-calm, ease) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer;
  border: none !important;
  opacity: 1 !important;
}

#reviews .wprs_unslider-arrow:hover {
  background: rgba(46, 83, 115, 0.16) !important;
}

#reviews .wprs_unslider-arrow::after {
  content: '' !important;
  display: block !important;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--uis-navy, #2E5373);
  border-bottom: 2px solid var(--uis-navy, #2E5373);
  position: absolute;
}

#reviews .wprs_unslider-arrow.next::after {
  transform: rotate(-45deg);
  margin-left: -3px;
}

#reviews .wprs_unslider-arrow.prev::after {
  transform: rotate(135deg);
  margin-right: -3px;
}

#reviews .wprs_unslider-nav {
  display: none !important;
}

/* 10m. Responsive */
@media (max-width: 900px) {
  #wprev-slider-1 .wprevpro_t1_outer_div {
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 clamp(20px, 4vw, 48px) !important;
  }

  #wprev-slider-1 .wprevpro_t1_DIV_1 {
    min-width: 260px;
    max-width: none;
    flex: 1 1 calc(50% - 10px);
  }
}

@media (max-width: 600px) {
  #wprev-slider-1 .wprevpro_t1_DIV_1 {
    flex: 1 1 100%;
  }

  #wprev-slider-1 .wprevpro_t1_site_logo_a {
    bottom: 16px;
    left: 28px;
    width: 36px !important;
    height: 36px !important;
  }

  #wprev-slider-1 .wprevpro_t1_site_logo {
    width: 18px !important;
    height: 18px !important;
  }

  #wprev-slider-1 .wprevpro_star_imgs_T1 {
    padding: 28px 28px 0;
  }

  #wprev-slider-1 .wprevpro_t1_P_3 {
    padding: 12px 28px 18px !important;
  }

  #wprev-slider-1 .wprevpro_t1_SPAN_5 {
    padding: 16px 28px 20px 76px !important;
  }

  #reviews .wprs_unslider-arrow {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   11. Dividers (native wp:separator)
   -------------------------------------------------------------------------- */

.uis-divider {
  display: block;
  height: 1px;
  border: none;
  margin: 0;
}

.uis-divider--40 {
  width: 40px !important;
  max-width: 40px;
}

.uis-divider--52 {
  width: 52px !important;
  max-width: 52px;
}

.uis-divider--52-soft {
  width: 52px !important;
  max-width: 52px;
}

.wp-block-separator.uis-divider--40,
.wp-block-separator.uis-divider--52 {
  border: none !important;
  opacity: 0.75;
}

.wp-block-separator.uis-divider--52-soft {
  border: none !important;
  opacity: 0.85;
}

/* --------------------------------------------------------------------------
   12. Buttons (native wp:button)
   -------------------------------------------------------------------------- */

.uis-cta-outlined .wp-block-button__link {
  background: transparent !important;
  color: var(--uis-navy) !important;
  border: 1px solid var(--uis-navy) !important;
  padding: 18px 34px !important;
  font-family: var(--font-sans) !important;
  font-weight: var(--fw-medium) !important;
  font-size: var(--fs-caption) !important;
  letter-spacing: var(--ls-button) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: var(--radius-xs) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px;
  transition: background 240ms var(--ease-calm),
              border-color 240ms var(--ease-calm),
              color 240ms var(--ease-calm);
}

.uis-cta-outlined .wp-block-button__link:hover {
  background: var(--uis-navy) !important;
  border-color: var(--uis-navy) !important;
  color: var(--uis-porcelain) !important;
}

.uis-event-btn .wp-block-button__link {
  padding: 10px 22px !important;
  font-family: var(--font-sans) !important;
  font-weight: 400 !important;
  font-size: 0.7rem !important;
  letter-spacing: var(--ls-button) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: var(--uis-porcelain) !important;
  background: transparent !important;
  border: 1px solid rgba(247, 244, 239, 0.4) !important;
  border-radius: var(--radius-xs) !important;
  transition: all 240ms var(--ease-calm);
  white-space: nowrap;
}

.uis-event-btn .wp-block-button__link:hover {
  background: rgba(247, 244, 239, 0.1) !important;
  border-color: var(--uis-porcelain) !important;
}

.uis-contact-submit-btn .wp-block-button__link {
  font-weight: 400;
}

.uis-contact-submit-btn .wp-block-button__link:hover {
  background: var(--uis-sand) !important;
  border-color: var(--uis-sand) !important;
}

/* --------------------------------------------------------------------------
   13. Native Details/Accordion (FAQ + Expand panels)
   -------------------------------------------------------------------------- */

.wp-block-details.uis-faq-item {
  border-top: 1px solid var(--uis-line);
  padding: 0;
  margin: 0;
}

.wp-block-details.uis-faq-item:last-of-type {
  border-bottom: 1px solid var(--uis-line);
}

.wp-block-details.uis-faq-item > summary {
  font-family: var(--font-display);
  font-weight: var(--fw-regular);
  font-size: 1.375rem;
  color: var(--uis-navy);
  cursor: pointer;
  padding: 26px 4px;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 44px;
  transition: color 240ms var(--ease-calm);
}

.wp-block-details.uis-faq-item > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details.uis-faq-item > summary::after {
  content: '+';
  font-family: var(--font-sans);
  font-weight: var(--fw-light);
  font-size: 1.4rem;
  color: var(--uis-gold);
  transition: transform 280ms var(--ease-calm);
  flex-shrink: 0;
  margin-left: 16px;
}

.wp-block-details.uis-faq-item[open] > summary::after {
  content: '−';
}

.wp-block-details.uis-faq-item > summary:hover {
  color: var(--uis-navy-deep);
}

.wp-block-details.uis-faq-item > :not(summary) {
  padding: 0 4px 28px;
  max-width: 60ch;
}

.wp-block-details.uis-expand-details > summary,
.wp-block-details.uis-expand-story > summary {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-eyebrow);
  letter-spacing: var(--ls-nav);
  text-transform: uppercase;
  color: var(--uis-navy);
  cursor: pointer;
  padding: 16px 0;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  transition: color 240ms var(--ease-calm);
}

.wp-block-details.uis-expand-events > summary {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-caption);
  letter-spacing: var(--ls-nav);
  text-transform: uppercase;
  color: rgba(247, 244, 239, 0.7);
  cursor: pointer;
  padding: 14px 0;
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  border-top: 1px solid rgba(247, 244, 239, 0.2);
  transition: color 240ms var(--ease-calm);
}

.wp-block-details.uis-expand-details > summary::-webkit-details-marker,
.wp-block-details.uis-expand-events > summary::-webkit-details-marker,
.wp-block-details.uis-expand-story > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details.uis-expand-details > summary::after,
.wp-block-details.uis-expand-events > summary::after,
.wp-block-details.uis-expand-story > summary::after {
  content: '▾';
  font-size: 0.75rem;
  transition: transform 280ms var(--ease-calm);
}

.wp-block-details.uis-expand-details[open] > summary::after,
.wp-block-details.uis-expand-events[open] > summary::after,
.wp-block-details.uis-expand-story[open] > summary::after {
  transform: rotate(180deg);
}

.wp-block-details.uis-expand-details > summary:hover,
.wp-block-details.uis-expand-story > summary:hover {
  color: var(--uis-navy-deep);
}

.wp-block-details.uis-expand-events > summary:hover {
  color: rgba(247, 244, 239, 0.9);
}

/* Event rows in dark context */
.uis-event-row {
  padding: 18px 0;
}

/* Process steps in meditation */
.uis-process-step {
  padding: 20px 0;
}

/* --------------------------------------------------------------------------
   13b. Expand Scroll Container — Shared Component
   Internal scroll area inside uis-expand-details / uis-expand-story.
   Constrains expanded content height, provides internal scrolling,
   prevents following sections from being pushed down.
   Used in: Geschichte, Ein-Tag (1:1-Programm)
   -------------------------------------------------------------------------- */

.uis-expand__scroll {
  max-height: clamp(340px, 50vh, 520px);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-right: 8px;
  scrollbar-width: thin;
  scrollbar-color: var(--uis-clay) transparent;
}

.uis-expand__scroll::-webkit-scrollbar {
  width: 4px;
}

.uis-expand__scroll::-webkit-scrollbar-track {
  background: transparent;
}

.uis-expand__scroll::-webkit-scrollbar-thumb {
  background: var(--uis-clay);
  border-radius: var(--radius-pill);
}

@media (max-width: 1024px) {
  .uis-expand__scroll {
    max-height: clamp(280px, 45vh, 440px);
  }
}

@media (max-width: 480px) {
  .uis-expand__scroll {
    max-height: clamp(240px, 40vh, 360px);
  }
}

/* --------------------------------------------------------------------------
   14. Kontakt Section
   -------------------------------------------------------------------------- */

.uis-section-kontakt .uis-kontakt-cols.wp-block-columns {
  flex-wrap: nowrap !important;
}

.uis-section-kontakt .uis-kontakt-cols.wp-block-columns > .wp-block-column:first-child {
  border-right: 1px solid rgba(198, 168, 131, 0.5);
  padding-right: clamp(36px, 5vw, 72px) !important;
}

.uis-section-kontakt .uis-kontakt-cols.wp-block-columns > .wp-block-column:last-child {
  padding-left: clamp(36px, 5vw, 72px) !important;
  padding-top: 0 !important;
}

.uis-contact-item a {
  color: inherit !important;
  text-decoration: none !important;
}

.uis-contact-item a:hover {
  opacity: 0.8;
}

/* --- Fluent Forms Integration --- */

.uis-section-kontakt .fluentform,
.uis-section-kontakt .frm-fluent-form {
  --ff-bg: transparent;
  --ff-color: #F7F4EF;
  --ff-label: #C6A883;
  --ff-border: rgba(247, 244, 239, 0.28);
  --ff-border-focus: rgba(247, 244, 239, 0.6);
  --ff-placeholder: rgba(247, 244, 239, 0.4);
}

.uis-section-kontakt .ff-el-group {
  margin-bottom: 26px !important;
}

.uis-section-kontakt .ff-el-input--label label {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: var(--ff-label) !important;
  margin-bottom: 10px !important;
  line-height: 1.4 !important;
}

.uis-section-kontakt .ff-el-is-required label::after {
  color: var(--ff-label) !important;
}

.uis-section-kontakt .ff-el-form-control {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--ff-border) !important;
  border-radius: 0 !important;
  color: var(--ff-color) !important;
  font-family: var(--font-sans) !important;
  font-size: 1rem !important;
  font-weight: 300 !important;
  padding: 10px 0 12px !important;
  transition: border-color 280ms var(--ease-calm) !important;
  box-shadow: none !important;
  outline: none !important;
  height: auto !important;
  min-height: 0 !important;
}

.uis-section-kontakt .ff-el-form-control::placeholder {
  color: var(--ff-placeholder) !important;
  font-weight: 300 !important;
}

.uis-section-kontakt .ff-el-form-control:focus {
  border-bottom-color: var(--ff-border-focus) !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

.uis-section-kontakt textarea.ff-el-form-control {
  min-height: 100px !important;
  resize: vertical;
}

.uis-section-kontakt input[type="number"].ff-el-form-control {
  -moz-appearance: textfield !important;
}

.uis-section-kontakt input[type="number"].ff-el-form-control::-webkit-outer-spin-button,
.uis-section-kontakt input[type="number"].ff-el-form-control::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.uis-section-kontakt .ff-t-container {
  display: flex !important;
  gap: 24px !important;
}

.uis-section-kontakt .ff-t-cell {
  flex: 1 !important;
  padding: 0 !important;
}

.uis-section-kontakt .ff-btn-submit {
  background: #F7F4EF !important;
  color: #2E5373 !important;
  border: none !important;
  border-radius: 2px !important;
  padding: 16px 36px !important;
  font-family: var(--font-sans) !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  line-height: 1 !important;
  transition: background 240ms var(--ease-calm) !important;
}

.uis-section-kontakt .ff-btn-submit:hover {
  background: var(--uis-sand) !important;
}

.uis-section-kontakt .ff-btn-submit:focus-visible {
  outline: 2px solid var(--focus-ring) !important;
  outline-offset: 3px !important;
}

.uis-section-kontakt .ff_submit_btn_wrapper {
  margin-top: 32px !important;
}

.uis-section-kontakt .ff-message-success {
  background: rgba(247, 244, 239, 0.1) !important;
  border: 1px solid rgba(247, 244, 239, 0.2) !important;
  color: #F7F4EF !important;
  font-family: var(--font-sans) !important;
  border-radius: 2px !important;
  padding: 16px 20px !important;
}

.uis-section-kontakt .ff-el-is-error .ff-el-form-control {
  border-bottom-color: #e07c6a !important;
}

.uis-section-kontakt .ff-el-is-error .error,
.uis-section-kontakt .ff-el-is-error .text-danger {
  color: #e07c6a !important;
  font-family: var(--font-sans) !important;
  font-size: 0.8125rem !important;
  margin-top: 6px !important;
}

.uis-section-kontakt .ff-el-progress-bar {
  display: none !important;
}

.uis-section-kontakt > .wp-block-group {
  padding-bottom: var(--space-10) !important;
}

/* --------------------------------------------------------------------------
   15. Kadence Header — Premium Finishing
   Height: ~64px (17px padding-block + 30px content)
   -------------------------------------------------------------------------- */

/* Base: position, background, border, transition */
#masthead {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50 !important;
  background: rgba(247, 244, 239, 0) !important;
  border-bottom: 1px solid transparent !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background 600ms var(--ease-calm),
              border-color 600ms var(--ease-calm),
              box-shadow 600ms var(--ease-calm),
              backdrop-filter 600ms var(--ease-calm);
}

/* Padding applied once on .site-header-wrap */
#masthead .site-header-wrap {
  background: transparent !important;
  padding: 17px clamp(28px, 5vw, 72px) !important;
  max-width: none !important;
  border: none !important;
}

/* Reset ALL Kadence inner wrappers — prevent extra height/padding */
#masthead .site-header-inner-wrap,
#masthead .site-header-upper-wrap,
#masthead .site-header-upper-inner-wrap,
#masthead .site-header-main-section-wrap,
#masthead .site-header-row,
#masthead .site-header-row-container,
#masthead .site-header-row-container-inner,
#masthead .site-main-header-wrap {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
}

#masthead .site-main-header-inner-wrap {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#masthead .site-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Header sections: left (branding) + right (nav) */
#masthead .site-header-main-section-left,
#masthead .site-header-main-section-right {
  display: flex !important;
  align-items: center !important;
}

#masthead .site-header-main-section-right {
  justify-content: flex-end !important;
}

#masthead .site-header-item {
  display: flex !important;
  align-items: center !important;
}

/* Scrolled state — glass effect (triggered at scrollY > 40) */
#masthead.nav-scrolled {
  background: rgba(247, 244, 239, 0.85) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom-color: rgba(226, 218, 206, 0.6) !important;
  box-shadow: 0 1px 3px rgba(46, 55, 60, 0.04) !important;
}

/* --- Branding (Logo + Wordmark) --- */
#masthead .site-branding {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px;
  flex-shrink: 0;
  margin-left: 8px;
}

#masthead .site-branding .custom-logo,
#masthead .site-branding .site-logo img {
  width: 30px !important;
  height: 30px !important;
  object-fit: contain;
  display: block;
}

#masthead .site-branding .site-title {
  font-family: var(--font-display);
  font-weight: var(--fw-regular);
  font-size: 1.1rem;
  letter-spacing: 0.38em;
  color: var(--uis-navy);
  text-indent: 0.38em;
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
}

#masthead .site-branding .site-title a {
  color: inherit;
  text-decoration: none;
}

/* --- Navigation Links --- */
#masthead .main-navigation .menu > li > a,
#masthead .primary-navigation .menu > li > a,
#masthead .header-menu-container > ul > li > a {
  font-family: var(--font-sans) !important;
  font-size: 0.7rem !important;
  font-weight: var(--fw-regular) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: var(--uis-ink-500) !important;
  line-height: 1 !important;
  white-space: nowrap;
  transition: color 280ms var(--ease-calm) !important;
  padding: 0 !important;
}

#masthead .main-navigation .menu > li > a:hover,
#masthead .primary-navigation .menu > li > a:hover,
#masthead .header-menu-container > ul > li > a:hover {
  color: var(--uis-navy) !important;
}

#masthead .main-navigation .menu > li.uis-nav-active > a,
#masthead .primary-navigation .menu > li.uis-nav-active > a,
#masthead .main-navigation .menu > li.current-menu-item > a,
#masthead .primary-navigation .menu > li.current-menu-item > a,
#masthead .header-menu-container > ul > li.current-menu-item > a {
  color: var(--uis-navy) !important;
}

/* --- Navigation List (gap fix — targets actual .main-navigation class) --- */
#masthead .main-navigation .menu,
#masthead .primary-navigation .menu,
#masthead .header-menu-container > ul {
  display: flex !important;
  align-items: center !important;
  gap: 36px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}

#masthead .main-navigation .menu > li,
#masthead .primary-navigation .menu > li,
#masthead .header-menu-container > ul > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* --- Kontakt Button (last nav item) --- */
#masthead .main-navigation .menu > li:last-child > a,
#masthead .primary-navigation .menu > li:last-child > a,
#masthead .header-menu-container > ul > li:last-child > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 24px !important;
  font-family: var(--font-sans) !important;
  font-size: 0.7rem !important;
  font-weight: var(--fw-regular) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: var(--uis-porcelain) !important;
  background: var(--uis-navy) !important;
  border: 1px solid var(--uis-navy) !important;
  border-radius: var(--radius-xs) !important;
  transition: background 280ms var(--ease-calm),
              border-color 280ms var(--ease-calm),
              box-shadow 280ms var(--ease-calm) !important;
  line-height: 1 !important;
  white-space: nowrap;
}

#masthead .main-navigation .menu > li:last-child > a:hover,
#masthead .primary-navigation .menu > li:last-child > a:hover,
#masthead .header-menu-container > ul > li:last-child > a:hover {
  background: var(--uis-navy-deep) !important;
  border-color: var(--uis-navy-deep) !important;
  color: var(--uis-porcelain) !important;
  box-shadow: 0 2px 8px rgba(46, 83, 115, 0.18) !important;
}

#masthead .main-navigation .menu > li:last-child > a:focus-visible,
#masthead .primary-navigation .menu > li:last-child > a:focus-visible,
#masthead .header-menu-container > ul > li:last-child > a:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}

/* Legacy button class support */
#masthead .header-button .kb-button,
#masthead .main-navigation .menu > li.menu-item-btn > a,
#masthead .primary-navigation .menu > li.menu-item-btn > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 24px !important;
  font-family: var(--font-sans) !important;
  font-size: 0.7rem !important;
  font-weight: var(--fw-regular) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: var(--uis-porcelain) !important;
  background: var(--uis-navy) !important;
  border: 1px solid var(--uis-navy) !important;
  border-radius: var(--radius-xs) !important;
  transition: background 280ms var(--ease-calm),
              border-color 280ms var(--ease-calm),
              box-shadow 280ms var(--ease-calm) !important;
  line-height: 1 !important;
  white-space: nowrap;
}

#masthead .header-button .kb-button:hover,
#masthead .main-navigation .menu > li.menu-item-btn > a:hover,
#masthead .primary-navigation .menu > li.menu-item-btn > a:hover {
  background: var(--uis-navy-deep) !important;
  border-color: var(--uis-navy-deep) !important;
  color: var(--uis-porcelain) !important;
  box-shadow: 0 2px 8px rgba(46, 83, 115, 0.18) !important;
}

/* Admin bar offset for fixed header */
.admin-bar #masthead {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar #masthead {
    top: 46px;
  }
}

/* --------------------------------------------------------------------------
   16. Mobile Header (≤1024px) — Phase 8.3
   Kadence switches to #mobile-header at ≤1024px
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
  #masthead .main-navigation,
  #masthead .primary-navigation,
  #masthead .header-button {
    display: none !important;
  }

  #masthead .site-header-wrap {
    padding: 18px 24px !important;
  }

  #mobile-header .site-main-header-inner-wrap {
    padding: 10px 24px !important;
  }

  #masthead .site-branding {
    margin-left: 0;
    gap: 7px !important;
  }

  #masthead .site-branding .custom-logo,
  #masthead .site-branding .site-logo img {
    width: 28px !important;
    height: 28px !important;
  }

  #masthead .site-branding .site-title {
    font-size: 0.95rem !important;
    letter-spacing: 0.32em;
    text-indent: 0.32em;
  }

  #masthead .mobile-toggle-open,
  #masthead .menu-toggle-open {
    color: var(--uis-navy) !important;
    padding: 8px !important;
    min-width: 44px;
    min-height: 44px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
}

/* Mobile Drawer — dark navy fullscreen overlay
   Selectors use #mobile-drawer for specificity over Kadence inline styles */

#mobile-drawer .drawer-inner {
  background: var(--uis-navy-ink) !important;
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
}

#mobile-drawer .drawer-overlay {
  background: rgba(27, 50, 71, 0.5) !important;
}

#mobile-drawer .drawer-header {
  padding: 20px 24px !important;
}

#mobile-drawer .drawer-header .drawer-toggle {
  color: var(--uis-porcelain) !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px !important;
  font-size: 22px !important;
  background: transparent !important;
  border: none !important;
}

#mobile-drawer .drawer-content {
  padding: 12px 36px 40px !important;
}

#mobile-drawer .mobile-navigation ul li:not(.menu-item-has-children) a,
#mobile-drawer .mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap {
  border-bottom: 1px solid rgba(247, 244, 239, 0.1) !important;
}

#mobile-drawer .mobile-navigation ul li:last-child:not(.menu-item-has-children) a {
  border-bottom: none !important;
}

#mobile-drawer .mobile-navigation ul li > a {
  font-family: var(--font-sans) !important;
  font-size: var(--fs-caption) !important;
  font-weight: var(--fw-regular) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(247, 244, 239, 0.78) !important;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  transition: color 280ms var(--ease-calm) !important;
}

#mobile-drawer .mobile-navigation ul li > a:hover,
#mobile-drawer .mobile-navigation ul li > a:focus {
  color: var(--uis-porcelain) !important;
}

#mobile-drawer .mobile-navigation ul li:last-child > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 32px !important;
  color: var(--uis-porcelain) !important;
  background: transparent !important;
  border: 1px solid rgba(247, 244, 239, 0.35) !important;
  border-radius: var(--radius-xs) !important;
  margin-top: 12px !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.18em !important;
}

#mobile-drawer .mobile-navigation ul li:last-child > a:hover {
  background: rgba(247, 244, 239, 0.08) !important;
  border-color: rgba(247, 244, 239, 0.6) !important;
}

/* --------------------------------------------------------------------------
   17. Footer — Minimalist 3-column bar
   -------------------------------------------------------------------------- */

.uis-footer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 24px 0;
  margin-top: 80px;
  border-top: 1px solid rgba(247, 244, 239, 0.14);
}

.uis-footer-left {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.uis-footer-enso {
  width: 26px;
  height: 26px;
  object-fit: contain;
  display: block;
}

.uis-footer-wordmark {
  font-family: var(--font-display);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-wordmark);
  color: var(--uis-porcelain);
  font-size: 1rem;
  line-height: 1;
  text-indent: var(--ls-wordmark);
}

.uis-footer-center {
  display: flex;
  align-items: center;
  gap: 12px;
}

.uis-footer-bar .uis-footer-center a {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.08em;
  color: rgba(247, 244, 239, 0.5) !important;
  text-decoration: none;
  transition: color 280ms var(--ease-calm);
}

.uis-footer-bar .uis-footer-center a:hover {
  color: rgba(247, 244, 239, 0.8) !important;
}

.uis-footer-sep {
  color: rgba(247, 244, 239, 0.25);
  font-size: 11px;
}

.uis-footer-right {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: var(--fw-regular);
  letter-spacing: 0.08em;
  color: rgba(247, 244, 239, 0.5);
  white-space: nowrap;
}

/* Kadence site-footer (subpages) */
.site-footer {
  background: var(--uis-navy-ink) !important;
}

.site-footer .footer-widget-area {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 clamp(24px, 5vw, 72px);
}

.home .site-footer,
.home .entry-hero-container-inner,
.home .entry-header {
  display: none !important;
}

/* Hide Kadence default footer content on subpages — our custom footer replaces it */
body:not(.home) .site-footer .footer-widget-area,
body:not(.home) .site-footer .site-footer-wrap,
body:not(.home) .site-footer .footer-wrap,
body:not(.home) .site-footer .site-bottom-footer-wrap {
  display: none !important;
}

/* Subpage footer: porcelain background instead of navy */
body:not(.home) .site-footer {
  background: var(--uis-porcelain, #F7F4EF) !important;
}

body:not(.home) .uis-footer-bar {
  border-top-color: var(--uis-line, #E2DACE);
  margin-top: 0;
  padding: 24px clamp(24px, 6vw, 112px);
  max-width: none;
}

body:not(.home) .uis-footer-wordmark {
  color: var(--uis-navy);
}

body:not(.home) .uis-footer-bar .uis-footer-center a {
  color: var(--uis-ink-500) !important;
}

body:not(.home) .uis-footer-bar .uis-footer-center a:hover {
  color: var(--uis-navy) !important;
}

body:not(.home) .uis-footer-sep {
  color: var(--uis-ink-300);
}

body:not(.home) .uis-footer-right {
  color: var(--uis-ink-300);
}

/* --------------------------------------------------------------------------
   18. Dot-Rail Navigation
   -------------------------------------------------------------------------- */

.uis-dot-rail,
[data-dotrail] {
  position: fixed;
  right: clamp(16px, 2.2vw, 34px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 45;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.uis-dot-rail a,
[data-dotrail] a {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(46, 83, 115, 0.28);
  background-clip: content-box !important;
  transition: all 400ms var(--ease-calm);
  display: block;
  padding: 5px;
  opacity: 0.65;
}

@media (max-width: 820px) {
  .uis-dot-rail,
  [data-dotrail] {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   19. Animations
   -------------------------------------------------------------------------- */

@keyframes uisBreathe {
  0%, 100% { transform: scale(1); opacity: 0.92; }
  50% { transform: scale(1.045); opacity: 1; }
}

@keyframes uisFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(9px); }
}

[data-breathe] {
  animation: uisBreathe 7s var(--ease-calm) infinite;
}

[data-float] {
  animation: uisFloat 2.6s var(--ease-calm) infinite;
}

@media (prefers-reduced-motion: reduce) {
  [data-breathe],
  [data-float] {
    animation: none !important;
  }
}

/* --------------------------------------------------------------------------
   20. Scroll Reveal
   -------------------------------------------------------------------------- */

[data-uis-reveal] {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 1100ms var(--ease-calm),
              transform 1100ms var(--ease-calm);
}

[data-uis-reveal].uis-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-uis-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* --------------------------------------------------------------------------
   22. Responsive — Tablet ≤1024px
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
  #geschichte .uis-col-image-wrap,
  #ein-tag .uis-col-image-wrap {
    position: relative;
    height: 60vh;
    min-height: auto;
  }
}

/* --------------------------------------------------------------------------
   23. Responsive — ≤820px (Single Column)
   -------------------------------------------------------------------------- */

@media (max-width: 820px) {
  .uis-two-col.wp-block-columns,
  .uis-two-col-reverse.wp-block-columns {
    flex-wrap: wrap !important;
    flex-direction: column !important;
  }

  .uis-section-kontakt .uis-kontakt-cols.wp-block-columns {
    flex-wrap: wrap !important;
    flex-direction: column !important;
  }

  .uis-section-kontakt .uis-kontakt-cols.wp-block-columns > .wp-block-column:first-child {
    border-right: none !important;
    padding-right: 0 !important;
    padding-bottom: 40px !important;
    margin-bottom: 40px !important;
    border-bottom: 1px solid rgba(247, 244, 239, 0.14) !important;
  }

  .uis-section-kontakt .uis-kontakt-cols.wp-block-columns > .wp-block-column:last-child {
    padding-left: 0 !important;
  }

  #geschichte .uis-col-image-wrap {
    position: relative;
    height: 50vh;
    min-height: 380px;
  }

  #ein-tag .uis-col-image-wrap,
  #tantra .uis-col-image-wrap {
    position: relative;
    height: 50vh;
    min-height: 380px;
  }

  #tantra .uis-col-image-wrap {
    order: -1;
  }

  #begegnung {
    min-height: auto;
  }

  .uis-footer-bar {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 14px;
    padding: 24px 0;
  }

  .uis-footer-left,
  .uis-footer-center,
  .uis-footer-right {
    justify-content: center;
  }
}

/* --------------------------------------------------------------------------
   24. Responsive — ≤480px (Mobile)
   -------------------------------------------------------------------------- */

@media (max-width: 480px) {
  #hero h1 {
    font-size: clamp(1.8rem, 6vw, 2.3rem) !important;
  }

  #philosophie h2 {
    font-size: clamp(2.2rem, 8vw, 3.1rem) !important;
  }

  #geschichte .uis-col-image-wrap {
    height: 40vh;
    min-height: 280px;
  }

  #ein-tag .uis-col-image-wrap,
  #tantra .uis-col-image-wrap {
    height: 40vh;
    min-height: 280px;
  }

  .uis-footer-bar {
    gap: 12px;
  }

  .uis-footer-center a,
  .uis-footer-right,
  .uis-footer-sep {
    font-size: 10px;
  }
}

/* --------------------------------------------------------------------------
   25. Legal Pages — Datenschutz / Impressum
   Styles the existing WP pages to match the UISZIIT design.
   -------------------------------------------------------------------------- */

body.page:not(.home) {
  background-color: var(--uis-porcelain, #F7F4EF) !important;
}

body.page:not(.home) .site,
body.page:not(.home) .content-area,
body.page:not(.home) .site-main,
body.page:not(.home) .entry-content-wrap,
body.page:not(.home) article.entry,
body.page:not(.home) article.content-bg {
  background-color: var(--uis-porcelain, #F7F4EF) !important;
}

body.page:not(.home) .entry-hero-container-inner {
  background: var(--uis-porcelain, #F7F4EF) !important;
  padding: clamp(120px, 14vh, 180px) clamp(24px, 6vw, 48px) var(--space-8) !important;
}

body.page:not(.home) .entry-hero-container-inner .hero-section-overlay {
  display: none !important;
}

body.page:not(.home) .entry-hero-container-inner .entry-title {
  font-family: var(--font-display) !important;
  font-weight: var(--fw-medium) !important;
  font-size: var(--fs-h1) !important;
  line-height: var(--lh-heading) !important;
  letter-spacing: var(--ls-display) !important;
  color: var(--uis-navy) !important;
  text-align: left !important;
  max-width: 720px;
  margin: 0 auto !important;
}

body.page:not(.home) .entry-content-wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--space-8) clamp(24px, 6vw, 48px) clamp(64px, 8vh, 120px);
}

body.page:not(.home) .entry-content h1,
body.page:not(.home) .entry-content .wp-block-heading:where(h1) {
  font-family: var(--font-display);
  font-weight: var(--fw-medium);
  font-size: var(--fs-h1);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-display);
  color: var(--uis-navy);
  margin: 0 0 var(--space-8);
}

body.page:not(.home) .entry-content h2,
body.page:not(.home) .entry-content .wp-block-heading:where(h2) {
  font-family: var(--font-display);
  font-weight: var(--fw-medium);
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-display);
  color: var(--uis-navy);
  margin: var(--space-8) 0 var(--space-5);
}

body.page:not(.home) .entry-content h3,
body.page:not(.home) .entry-content .wp-block-heading:where(h3) {
  font-family: var(--font-display);
  font-weight: var(--fw-medium);
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
  color: var(--uis-navy);
  margin: var(--space-6) 0 var(--space-4);
}

body.page:not(.home) .entry-content p {
  font-family: var(--font-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--uis-ink-700);
  margin: 0 0 var(--space-4);
}

body.page:not(.home) .entry-content ul,
body.page:not(.home) .entry-content ol {
  font-family: var(--font-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--uis-ink-700);
  margin: 0 0 var(--space-4);
  padding-left: 1.5em;
}

body.page:not(.home) .entry-content li {
  margin-bottom: var(--space-2);
}

body.page:not(.home) .entry-content a {
  color: var(--uis-navy);
  text-decoration: underline;
  text-decoration-color: var(--uis-sand);
  text-underline-offset: 3px;
  transition: var(--transition-color);
}

body.page:not(.home) .entry-content a:hover {
  color: var(--uis-navy-deep);
  text-decoration-color: var(--uis-navy);
}

body.page:not(.home) .entry-content table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: var(--fs-body-sm);
  font-weight: var(--fw-light);
  color: var(--uis-ink-700);
  margin: var(--space-5) 0;
}

body.page:not(.home) .entry-content th {
  font-weight: var(--fw-medium);
  color: var(--uis-navy);
  text-align: left;
  padding: var(--space-3) var(--space-4);
  border-bottom: 2px solid var(--uis-line);
}

body.page:not(.home) .entry-content td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--uis-line);
}

body.page:not(.home) .entry-content strong {
  font-weight: var(--fw-medium);
  color: var(--uis-ink-700);
}

body.page:not(.home) .entry-content blockquote {
  border-left: 3px solid var(--uis-sand);
  padding: var(--space-3) var(--space-5);
  margin: var(--space-5) 0;
  color: var(--uis-ink-500);
  font-style: italic;
}

body.page:not(.home) .entry-content hr,
body.page:not(.home) .entry-content .wp-block-separator {
  border: none;
  border-top: 1px solid var(--uis-line, #E2DACE);
  margin: var(--space-6) 0;
  opacity: 0.6;
}

@media (max-width: 480px) {
  body.page:not(.home) .entry-content-wrap {
    padding-top: 100px;
    padding-bottom: 48px;
  }
}

/* ==========================================================================
   PHASE 8.1 — VISUAL ALIGNMENT
   Global Background, Header, Hero Overlay, Content Centering
   ========================================================================== */

/* --------------------------------------------------------------------------
   26. Global Background — Enforce Porcelain (#F7F4EF)
   Prevents any Kadence or WordPress default from applying a brown/sand tone.
   -------------------------------------------------------------------------- */

html,
body,
body.home {
  background-color: var(--uis-porcelain, #F7F4EF) !important;
}

body.home .site,
body.home .site-container,
body.home .site-inner,
body.home #inner-wrap,
body.home #wrapper,
body.home #content,
body.home .content-container,
body.home .content-area,
body.home .site-main,
body.home article.entry,
body.home .entry-content-wrap {
  background-color: transparent !important;
}

/* Section 27 removed — consolidated into Section 15 (Phase 8.3) */

/* --------------------------------------------------------------------------
   28. Hero — Porcelain Gradient Overlay (DESIGN_SPEC §2.4.4)
   Overrides the dark navy overlay with the correct light porcelain gradient.
   Text colors corrected from porcelain→navy for light overlay readability.
   -------------------------------------------------------------------------- */

#hero .wp-block-cover__background,
#hero .uis-hero-cover > .wp-block-cover__background {
  background: linear-gradient(
    180deg,
    rgba(247, 244, 239, 0.46) 0%,
    rgba(247, 244, 239, 0.30) 38%,
    rgba(247, 244, 239, 0.58) 78%,
    rgba(247, 244, 239, 1) 100%
  ) !important;
  opacity: 1 !important;
}

#hero .wp-block-cover__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: inherit;
  width: 100%;
  padding: 0 24px;
}

#hero .uis-hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 860px;
  width: 100%;
  margin: 0 auto;
  gap: 24px;
}

#hero .wp-block-heading,
#hero h1 {
  color: var(--uis-navy, #2E5373) !important;
}

#hero .uis-hero-content > p:first-of-type {
  color: var(--uis-gold, #B08A5E) !important;
}

#hero .uis-hero-content > p:last-of-type {
  color: var(--uis-ink-700, #454B4C) !important;
  max-width: 40ch;
}

#hero .uis-scroll-hint,
#hero .uis-scroll-hint span {
  color: var(--uis-navy, #2E5373) !important;
}

#hero .uis-divider--52-soft {
  background-color: var(--uis-gold, #B08A5E) !important;
  color: var(--uis-gold, #B08A5E) !important;
  opacity: 0.75 !important;
}

/* --------------------------------------------------------------------------
   29. Gutenberg Constrained Layout — Centering Enforcement
   Ensures inner content containers center properly within full-width sections.
   -------------------------------------------------------------------------- */

body.home .entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home .entry-content .is-layout-constrained {
  width: 100%;
}

/* --------------------------------------------------------------------------
   30. Section Content Containers — Prevent Edge Sticking
   Full-width sections keep their backgrounds; inner content stays centered.
   -------------------------------------------------------------------------- */

.uis-section-philosophie .wp-block-group:not(.alignfull):not([class*="uis-watermark"]) {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.uis-section-faq > .wp-block-group {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

#ueber > .wp-block-group {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* Begegnung: vertical centering inside cover (horizontal padding is on the cover itself) */
#begegnung .wp-block-cover__inner-container {
  display: flex;
  align-items: center;
  width: 100%;
}

#begegnung .wp-block-cover__inner-container > .wp-block-group {
  max-width: var(--container-wide, 1440px);
  width: 100%;
  margin: 0 auto;
}

/* Geschichte, Ein-Tag, Tantra: Safety-net padding (inline styles in patterns take priority) */
#geschichte .wp-block-column:not(.uis-col-image-wrap) {
  padding: clamp(56px, 8vw, 110px) clamp(48px, 6vw, 100px);
}

#ein-tag .wp-block-column:not(.uis-col-image-wrap) {
  padding: clamp(100px, 14vh, 200px) clamp(48px, 6vw, 100px);
}

#tantra .wp-block-column:not(.uis-col-image-wrap) {
  padding: clamp(100px, 14vh, 200px) clamp(48px, 6vw, 100px);
}

/* Meditation: gradient wrapper stays full-width, only inner constrained group is centered */
.uis-meditation-inner > .wp-block-group {
  max-width: var(--container-max, 1240px);
  margin-left: auto;
  margin-right: auto;
}

/* Kontakt inner container */
.uis-section-kontakt .uis-kontakt-cols {
  max-width: var(--container-max, 1240px);
  margin-left: auto;
  margin-right: auto;
}

/* Reviews section heading container — now in Section 10 */

/* Section 31 removed — consolidated into Section 15 scrolled state (Phase 8.3) */

/* --------------------------------------------------------------------------
   32. Responsive Adjustments for Phase 8.1
   -------------------------------------------------------------------------- */

@media (max-width: 820px) {
  #hero .wp-block-cover__inner-container {
    min-height: inherit;
    padding: 0 24px;
  }

  #geschichte .wp-block-column:not(.uis-col-image-wrap) {
    padding: 48px 24px;
  }

  #ein-tag .wp-block-column:not(.uis-col-image-wrap),
  #tantra .wp-block-column:not(.uis-col-image-wrap) {
    padding: 64px 24px;
  }

  #begegnung .wp-block-cover__inner-container {
    min-height: auto;
  }
}

@media (max-width: 480px) {
  #hero .wp-block-cover__inner-container {
    padding: 0 16px;
  }

  #geschichte .wp-block-column:not(.uis-col-image-wrap),
  #ein-tag .wp-block-column:not(.uis-col-image-wrap),
  #tantra .wp-block-column:not(.uis-col-image-wrap) {
    padding: 40px 16px;
  }
}

/* ==========================================================================
   Phase 8.1.2 — Textfarben-Fix (A–D)

   Kadence setzt body { color: var(--global-palette4) } = Porzellan.
   Gutenberg-Farbklassen (.has-uis-*-color) fehlen im aktiven Theme.
   Lösung: Body-Farbe überschreiben + Utility-Klassen + Dunkle Sektionen.
   Hero-spezifische Overrides in Phase 8.1 Section 28 konsolidiert.
   ========================================================================== */

/* A. Body-Textfarbe korrigieren */
body {
  color: #454B4C !important;
}

/* B. Gutenberg-Farbklassen (fehlen komplett im aktiven Theme) */
.has-uis-navy-color {
  color: #2E5373 !important;
}

.has-uis-navy-deep-color {
  color: #223F58 !important;
}

.has-uis-navy-ink-color {
  color: #1B3247 !important;
}

.has-uis-ink-900-color {
  color: #23292B !important;
}

.has-uis-ink-700-color {
  color: #454B4C !important;
}

.has-uis-ink-500-color {
  color: #6E6F6A !important;
}

.has-uis-ink-300-color {
  color: #9A9891 !important;
}

.has-uis-gold-color {
  color: #B08A5E !important;
}

.has-uis-gold-soft-color {
  color: #C6A883 !important;
}

.has-uis-porcelain-color {
  color: #F7F4EF !important;
}

.has-uis-sand-color {
  color: #E8DED1 !important;
}

.has-uis-white-color {
  color: #FFFFFF !important;
}

/* C. Hintergrundklassen (fehlen ebenfalls) */
.has-uis-navy-background-color {
  background-color: #2E5373 !important;
}

.has-uis-navy-deep-background-color {
  background-color: #223F58 !important;
}

.has-uis-navy-ink-background-color {
  background-color: #1B3247 !important;
}

.has-uis-porcelain-background-color {
  background-color: #F7F4EF !important;
}

.has-uis-sand-background-color {
  background-color: #E8DED1 !important;
}

/* D. Dunkle Sektionen: helle Textfarbe beibehalten */
#kontakt,
#kontakt p,
#kontakt h2,
#kontakt h3,
#kontakt a,
.uis-section-kontakt,
.uis-section-kontakt p {
  color: #F7F4EF;
}

.uis-section-meditation,
.uis-section-meditation p,
.uis-section-begegnung .wp-block-cover__inner-container,
.uis-section-begegnung .wp-block-cover__inner-container p {
  color: #F7F4EF;
}

/* ==========================================================================
   PHASE 9 — UISZIIT Events Plugin · Homepage Integration
   Overrides neutral plugin defaults for dark event sections.
   Plugin CSS Custom Properties are redefined here so the plugin
   remains theme-independent while matching the UISZIIT design.
   ========================================================================== */

/* --------------------------------------------------------------------------
   33. Event Plugin — Dark Section Theme Overrides
   Targets: #meditation (navy gradient), #begegnung (cover overlay)
   -------------------------------------------------------------------------- */

#meditation .uisziit-events,
#begegnung .uisziit-events {
  --uisziit-events-font-family: var(--font-sans);
  --uisziit-events-color-text: var(--uis-porcelain);
  --uisziit-events-color-muted: rgba(247, 244, 239, 0.6);
  --uisziit-events-color-border: rgba(247, 244, 239, 0.2);
  --uisziit-events-color-bg: transparent;
  --uisziit-events-color-item-bg: transparent;
  --uisziit-events-color-button-bg: var(--uis-navy);
  --uisziit-events-color-button-text: var(--uis-porcelain);
  --uisziit-events-color-button-hover-bg: var(--uis-navy-deep);
  --uisziit-events-color-toggle-bg: transparent;
  --uisziit-events-color-toggle-text: rgba(247, 244, 239, 0.7);
  --uisziit-events-color-toggle-border: transparent;
  --uisziit-events-spacing: 0;
  --uisziit-events-radius: var(--radius-xs);
  --uisziit-events-scroll-max: clamp(340px, 50vh, 520px);
  --uisziit-events-transition: all 240ms var(--ease-calm);
}

/* --- Item rows: flat design, no card --- */

#meditation .uisziit-events__item,
#begegnung .uisziit-events__item {
  padding: 18px 0;
  border: none;
  border-top: 1px solid rgba(247, 244, 239, 0.2);
  border-radius: 0;
  margin-bottom: 0;
  background: transparent;
}

#meditation .uisziit-events__item:last-child,
#begegnung .uisziit-events__item:last-child {
  margin-bottom: 0;
}

/* --- Layout: title full-width row, meta + button second row --- */

#meditation .uisziit-events__item-content,
#begegnung .uisziit-events__item-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 20px;
}

/* Title: Cormorant Garamond italic, like "Dani" in Geschichte */
#meditation .uisziit-events__item-title,
#begegnung .uisziit-events__item-title {
  flex: 0 0 100%;
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--fw-regular);
  font-style: italic;
  line-height: 1.2;
  color: var(--uis-porcelain);
  margin: 0 0 2px;
}

#meditation .uisziit-events__item-meta,
#begegnung .uisziit-events__item-meta {
  flex: 1 1 auto;
  font-family: var(--font-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-caption);
  color: rgba(247, 244, 239, 0.6);
  gap: 2px;
}

#meditation .uisziit-events__item-date,
#begegnung .uisziit-events__item-date {
  font-family: var(--font-display);
  font-weight: var(--fw-medium);
  font-size: 1.15rem;
  color: var(--uis-porcelain);
  font-style: normal;
}

/* Push button to the right */
#meditation .uisziit-events__item-action,
#begegnung .uisziit-events__item-action {
  margin-top: 0;
  margin-left: auto;
  flex-shrink: 0;
}

/* --- Button: navy-blue filled, like KONTAKT header button --- */

#meditation .uisziit-events__button,
#begegnung .uisziit-events__button {
  padding: 10px 24px;
  font-family: var(--font-sans);
  font-weight: var(--fw-regular);
  font-size: 0.7rem;
  letter-spacing: var(--ls-button);
  text-transform: uppercase;
  color: var(--uis-porcelain);
  background: var(--uis-navy);
  border: 1px solid var(--uis-navy);
  border-radius: var(--radius-xs);
  transition: background 280ms var(--ease-calm),
              border-color 280ms var(--ease-calm),
              box-shadow 280ms var(--ease-calm);
  min-height: 44px;
  white-space: nowrap;
}

#meditation .uisziit-events__button:hover,
#begegnung .uisziit-events__button:hover {
  background: var(--uis-navy-deep);
  border-color: var(--uis-navy-deep);
  color: var(--uis-porcelain);
  box-shadow: 0 2px 8px rgba(46, 83, 115, 0.18);
}

#meditation .uisziit-events__button:focus-visible,
#begegnung .uisziit-events__button:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring);
  outline-offset: var(--focus-ring-offset);
  background: var(--uis-navy-deep);
  border-color: var(--uis-navy-deep);
  color: var(--uis-porcelain);
}

/* --- Toggle: left-aligned inline, matching uis-expand-events --- */

#meditation .uisziit-events__details,
#begegnung .uisziit-events__details {
  margin-top: 0;
}

#meditation .uisziit-events__toggle,
#begegnung .uisziit-events__toggle {
  font-family: var(--font-sans);
  font-weight: var(--fw-medium);
  font-size: var(--fs-caption);
  letter-spacing: var(--ls-nav);
  text-transform: uppercase;
  color: rgba(247, 244, 239, 0.7);
  padding: 14px 0;
  border: none;
  border-top: 1px solid rgba(247, 244, 239, 0.2);
  border-radius: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: auto;
  width: auto;
}

#meditation .uisziit-events__toggle:hover,
#begegnung .uisziit-events__toggle:hover {
  background: transparent;
  color: rgba(247, 244, 239, 0.9);
}

#meditation .uisziit-events__toggle-icon,
#begegnung .uisziit-events__toggle-icon {
  width: 6px;
  height: 6px;
  border-width: 1.5px;
}

/* --- Scroll container: fixed height, internal scroll --- */

#meditation .uisziit-events__additional-scroll,
#begegnung .uisziit-events__additional-scroll {
  max-height: clamp(340px, 50vh, 520px);
  padding: 0;
  scrollbar-width: thin;
  scrollbar-color: var(--uis-clay) transparent;
}

#meditation .uisziit-events__additional-scroll::-webkit-scrollbar,
#begegnung .uisziit-events__additional-scroll::-webkit-scrollbar {
  width: 4px;
}

#meditation .uisziit-events__additional-scroll::-webkit-scrollbar-track,
#begegnung .uisziit-events__additional-scroll::-webkit-scrollbar-track {
  background: transparent;
}

#meditation .uisziit-events__additional-scroll::-webkit-scrollbar-thumb,
#begegnung .uisziit-events__additional-scroll::-webkit-scrollbar-thumb {
  background: var(--uis-clay);
  border-radius: var(--radius-pill);
}

#meditation .uisziit-events__additional-scroll:focus-visible,
#begegnung .uisziit-events__additional-scroll:focus-visible {
  outline: var(--focus-ring-width) solid var(--focus-ring);
  outline-offset: -2px;
}

/* --- Empty state --- */

#meditation .uisziit-events__empty,
#begegnung .uisziit-events__empty {
  color: rgba(247, 244, 239, 0.6);
  font-family: var(--font-sans);
  font-weight: var(--fw-light);
  font-size: var(--fs-body);
  font-style: normal;
  padding: 18px 0;
  border-top: 1px solid rgba(247, 244, 239, 0.2);
}

/* --- Admin notice in dark context --- */

#meditation .uisziit-events__admin-notice,
#begegnung .uisziit-events__admin-notice {
  background: rgba(255, 185, 0, 0.15);
  border-left-color: var(--uis-gold);
  color: var(--uis-porcelain);
}

/* --------------------------------------------------------------------------
   33b. Event Plugin — Responsive Overrides (dark sections)
   -------------------------------------------------------------------------- */

@media (max-width: 820px) {
  #meditation .uisziit-events__item-content,
  #begegnung .uisziit-events__item-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  #meditation .uisziit-events__item-action,
  #begegnung .uisziit-events__item-action {
    margin-left: 0;
    margin-top: 4px;
  }
}

@media (max-width: 1024px) {
  #meditation .uisziit-events__additional-scroll,
  #begegnung .uisziit-events__additional-scroll {
    max-height: clamp(280px, 45vh, 440px);
  }
}

@media (max-width: 480px) {
  #meditation .uisziit-events__additional-scroll,
  #begegnung .uisziit-events__additional-scroll {
    max-height: clamp(240px, 40vh, 360px);
  }

  #meditation .uisziit-events__item,
  #begegnung .uisziit-events__item {
    padding: 14px 0;
  }

  #meditation .uisziit-events__item-date,
  #begegnung .uisziit-events__item-date {
    font-size: 1rem;
  }

  #meditation .uisziit-events__item-title,
  #begegnung .uisziit-events__item-title {
    font-size: 1.25rem;
  }

  #meditation .uisziit-events__button,
  #begegnung .uisziit-events__button {
    width: auto;
    display: inline-block;
  }
}

