/* =========================================================
   Thème E — « Spécial mariage » : ivoire, lavande et or.
   ========================================================= */
:root {
    --bg: #fdfbf7;
    --bg-alt: #f6f1e8;
    --surface: #ffffff;
    --surface-2: #f3eefb;
    --text: #33293a;
    --text-soft: #675b6e;
    --heading: #33293a;
    --accent: #6e52b5;
    --accent-hover: #5b41a0;
    --on-accent: #ffffff;
    --accent-2: #9c7a3c;
    --border: #e8dcc4;
    --focus: #6e52b5;

    --font-display: "Cormorant Garamond", Georgia, serif;
    --font-script: "Pinyon Script", cursive;
    --font-body: "Montserrat", system-ui, sans-serif;
    --display-weight: 500;
    --title-size: clamp(2.3rem, 1.6rem + 3vw, 3.6rem);
    --hero-size: clamp(3rem, 1.8rem + 5vw, 5.4rem);

    --radius: 4px;
    --radius-lg: 6px;
    --shadow: 0 18px 40px rgba(51, 41, 58, .07);
    --header-bg: rgba(253, 251, 247, .9);
}
.theme-mariage .site-nav a, .theme-mariage .btn { text-transform: uppercase; letter-spacing: .16em; font-size: .75rem; }
.theme-mariage .hero-inner { text-align: center; }
.theme-mariage .hero-actions { justify-content: center; }
.theme-mariage .hero-subtitle { margin-inline: auto; }
.theme-mariage .hero-media .frame { outline: 1px solid #c9a86a; outline-offset: 12px; }
.theme-mariage .section-head::before { content: ""; display: block; width: 1px; height: 48px; margin: 0 auto 1.2rem; background: #c9a86a; }
.theme-mariage .packages, .theme-mariage .about { background: var(--bg-alt); }
.theme-mariage .card { box-shadow: var(--shadow); }
.theme-mariage .package-card.is-highlighted { border-color: #c9a86a; outline: 1px solid #c9a86a; outline-offset: 6px; }
.theme-mariage .badge { background: #c9a86a; color: #fff; }
.theme-mariage .field-error, .theme-mariage .form-error { color: #b42318; }
