/* ============================================================
   LP-MODULES · Shared Styles
   Single-Source-of-Truth für alle LP-Module aus static/lp-modules/.
   CSS-Variablen erlauben Theme-Override pro Tenant.
   ============================================================ */

:root {
  /* Default Theme — wird per Tenant ggf. überschrieben in inline-style */
  --lpm-bg-dark: #0f0a1e;
  --lpm-bg-soft: #f8f5ee;
  --lpm-ink-light: #ffffff;
  --lpm-ink-light-2: rgba(255,255,255,.72);
  --lpm-ink-light-3: rgba(255,255,255,.50);
  --lpm-ink-dark: #1a1a1a;
  --lpm-ink-dark-2: #666;
  --lpm-accent: #c9a84c;
  --lpm-accent-soft: rgba(201,168,76,.10);
  --lpm-border: rgba(255,255,255,.10);
  --lpm-radius: 10px;
  --lpm-radius-lg: 14px;
  --lpm-pad-section: 80px 32px;
  --lpm-pad-section-mobile: 48px 20px;
  --lpm-maxw: 1180px;
  --lpm-shadow-sm: 0 1px 3px rgba(0,0,0,.05);
  --lpm-shadow-md: 0 8px 24px rgba(0,0,0,.10);
  --lpm-shadow-lg: 0 24px 64px rgba(0,0,0,.30);
  /* Apple-Easing aus DESIGN-TOKENS.md */
  --lpm-ease: cubic-bezier(0.32, 0.72, 0, 1);
}

/* Wrapper-Klasse pro Modul-Instanz */
.lp-mod { position: relative; box-sizing: border-box; }
.lp-mod *, .lp-mod *::before, .lp-mod *::after { box-sizing: border-box; }
.lp-mod img { max-width: 100%; display: block; }
.lp-mod a { color: inherit; text-decoration: none; }

/* Standard-Container in Modulen */
.lp-mod-inner { max-width: var(--lpm-maxw); margin: 0 auto; }

/* Generische Eyebrow / Heading / Body Typography */
.lp-eyebrow {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  font-weight: 600; opacity: .72; margin-bottom: 14px;
}
.lp-h2 {
  font-size: clamp(28px, 3.5vw, 40px); font-weight: 800; line-height: 1.05;
  letter-spacing: -.01em;
}

/* Mobile-Default */
@media (max-width: 900px) {
  .lp-mod { padding-left: 0; padding-right: 0; }
  .lp-mod > section, .lp-mod > div { padding: var(--lpm-pad-section-mobile); }
}
