/* Protected customer values. Original style approximation approved 01.10.2026.
 * Georgia is the deliberate local fallback for unavailable Playfair Display.
 * Shared wave geometry remains in signed framework sections.css.
 */
:root {
  --font-heading: Georgia, "Times New Roman", serif;
  --font-body: "Roboto", Arial, sans-serif;
  --sans: var(--font-body);
  --mv-heading-font: var(--font-heading);
  --mv-body-font: var(--font-body);
  --radius-sm: 4px;
  --radius-md: 4px;
  --radius-lg: 4px;
  --radius-xl: 4px;
  --mv-card-radius: 4px;
  --mv-button-radius: 4px;
  --mv-wave-height: 24px;
  --mv-section-space: clamp(3rem, 6vw, 5rem);
  --mv-wave-top-backdrop: var(--bg);
  --mv-wave-bottom-backdrop: var(--bg);
  --mv-soft-bg: var(--bg-2);
  --mv-soft-text: var(--text);
  --mv-soft-muted: var(--text-2);
  --mv-soft-link: var(--accent-text);
  --mv-soft-action: var(--accent);
  --mv-soft-action-text: var(--on-accent);
  --mv-soft-border: var(--line-strong);
  --mv-soft-card: var(--surface);
  --mv-soft-card-text: var(--text);
  --mv-soft-focus: var(--accent-text);
  --mv-card-link: var(--accent-text);
  --mv-card-muted: var(--text-2);
  --mv-card-focus: var(--accent-text);
  --mv-card-action: var(--accent);
  --mv-card-action-text: var(--on-accent);
  /* EPS-07: accent and inverse sections keep a white card in both themes (no
   * --mv-*-card set), so the card pair must not follow the theme tokens. The
   * light brand values are fixed hex on purpose: var() would switch to the pale
   * dark-mode green (1.6:1 on white). Matches the light block below. */
  --mv-accent-card-link: #47543C;
  --mv-accent-card-focus: #47543C;
  --mv-accent-card-action: #47543C;
  --mv-accent-card-action-text: #FFFFFF;
  --mv-accent-card-muted: #4B5743;
  --mv-inverse-card-link: #47543C;
  --mv-inverse-card-focus: #47543C;
  --mv-inverse-card-action: #47543C;
  --mv-inverse-card-action-text: #FFFFFF;
  --mv-inverse-card-muted: #4B5743;
}
:root, :root[data-theme="light"] {
  --bg: #FAF8F3;
  --bg-2: #F1ECE2;
  --surface: #FFFDF9;
  --surface-2: var(--bg-2);
  --text: #384631;
  --text-2: #4B5743;
  --text-3: #55614D;
  --accent: #47543C;
  --accent-text: var(--accent);
  --accent-2: #536249;
  --on-accent: #FFFFFF;
  --accent-soft: var(--bg-2);
  --line: #D8D0BE;
  --line-soft: #D8D0BE;
  --line-strong: #78816F;
  --btn-2-bg: var(--bg-2);
  --btn-2-text: var(--text);
  --btn-2-line: var(--line-strong);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #152019; --bg-2: #203027; --surface: #24362B; --surface-2: #203027;
    --text: #F5F1E8; --text-2: #D4DECE; --text-3: #B9CAB4;
    --accent: #B6D4A7; --accent-text: #B6D4A7; --accent-2: #C9DDBF;
    --on-accent: #152019; --accent-soft: #203027;
    --line: #52654F; --line-soft: #52654F; --line-strong: #91A689;
    --btn-2-bg: #344A38; --btn-2-text: #F5F1E8; --btn-2-line: #91A689;
  }
}
:root[data-theme="dark"] {
  --bg: #152019; --bg-2: #203027; --surface: #24362B; --surface-2: #203027;
  --text: #F5F1E8; --text-2: #D4DECE; --text-3: #B9CAB4;
  --accent: #B6D4A7; --accent-text: #B6D4A7; --accent-2: #C9DDBF;
  --on-accent: #152019; --accent-soft: #203027;
  --line: #52654F; --line-soft: #52654F; --line-strong: #91A689;
  --btn-2-bg: #344A38; --btn-2-text: #F5F1E8; --btn-2-line: #91A689;
}
body { font-family: var(--font-body); }
h1, h2, h3, h4 { font-family: var(--font-heading); font-weight: 400; }
.btn, input, textarea, select { border-radius: var(--radius-sm); }
.mv-hero { background: var(--accent); color: var(--on-accent); }
.mv-hero__copy, .mv-hero h1, .mv-hero__lead, .ch-home-quote { color: inherit; }
.mv-hero .mv-eyebrow { background: var(--accent-soft); color: var(--text); }
.mv-hero .btn-primary { background: var(--on-accent); color: var(--accent); }
.mv-cta-band { border-radius: var(--radius-md); }
.ch-card, .ch-activity-card, .mv-faq-list details { border-radius: var(--radius-md); }

/* CIQ-08: shared hero recipe for every page using .mv-hero (Home, Ueber mich,
 * Legacy-Trip, Team, Termine). Full-bleed colour band, no glow around the photo.
 * Generic, flows back into the framework. */
.mv-hero { box-shadow: 0 0 0 100vmax var(--accent); clip-path: inset(0 -100vmax); }
.mv-hero__media { box-shadow: none; }

/* CIQ-10 (Impeccable): reading measure for section intros and FAQ answers,
 * sentence-case eyebrows at the 15 px floor (long all-caps labels read as
 * body text in caps). Generic, flows back into the framework. */
.mv-section-head p,
.team-eindruecke-intro { max-width: 68ch; }
.mv-faq-list p,
.termine-faq-item p { max-width: 75ch; }
/* .ch-eyebrow stays for the Aktivitaeten hub, which is not migrated to mv-* yet. */
.mv-eyebrow,
.ch-eyebrow {
  text-transform: none;
  letter-spacing: .01em;
  font-size: 15px;
  font-weight: 600;
}

/* FWK-CH-01 B1: fork values that keep the look from before the move to the
 * shared mv-* components (components.css). Same radius as the old .ch-* rules
 * (the framework default is --radius-media, 9px). Drop a line to adopt the
 * framework default for that part. */
.mv-hero__media, .mv-story__media { border-radius: var(--radius-lg); }
/* The CTA copy keeps its tight stack (components.css adds a 12px gap) and the
 * slightly muted paragraph (components.css uses the full text colour). */
.mv-cta-band__copy { gap: 0; }
.mv-cta-band p { opacity: .92; }
