/* ============================================================
   SpinCity Casino — slate.css
   ============================================================ */

/* :root tokens */
:root {
    --ui-brand-color: #0c0d0e;
    --ui-highlight: #ffde01;
    --ui-accent-pressed: #deb500;
    --ui-background: #0a0b0d;
    --ui-panel-bg: #131417;
    --ui-color-surface: #16171c;
    --ui-color-surface-2: #1d1e24;
    --ui-border-color: #2a2b31;
    --ui-grad-light: #f41e2c;
    --ui-gradient-to: #e81883;
    --ui-body-color: #ffffff;
    --ui-ink-soft: #bdbdbd;
    --ui-banner-bg: #dc2626;

    --ui-font-title: "Oswald", "Roboto", system-ui, sans-serif;
    --ui-font-sans: "Roboto", system-ui, -apple-system, Segoe UI, sans-serif;

    --ui-wrapper: 1360px;
    --ui-text-width: 720px;
    --ui-pad-desktop: 32px;
    --ui-pad-mobile: 20px;

    --ui-gap-xs: 8px;
    --ui-space-sm: 12px;
    --ui-gap-md: 20px;
    --ui-gap-lg: 32px;
    --ui-space-xl: 52px;
    --ui-space-2xl: 88px;

    --ui-round-sm: 6px;
    --ui-radius-md: 12px;
    --ui-rounded-lg: 20px;
    --ui-corner-pill: 999px;

    --ui-shadow-md: 0 12px 40px rgba(0, 0, 0, 0.45);
    --ui-grad-accent: linear-gradient(120deg, var(--ui-grad-light), var(--ui-gradient-to));

    --ui-header-h: 102px;
    --ui-header-h-mobile: 76px;
    --ui-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --ui-dur: 0.24s;
}

/* Reset / base */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--ui-font-sans);
    background: var(--ui-background);
    color: var(--ui-body-color);
    line-height: 1.6;
    font-size: 17px;
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; height: auto; }
h1, h2, h3 { font-family: var(--ui-font-title); font-weight: 700; line-height: 1.12; margin: 0 0 0.5em; letter-spacing: 0.4px; }
p { margin: 0 0 1em; }
a { color: var(--ui-highlight); text-decoration: none; }
a:hover { text-decoration: underline; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }

/* a11y */
.skip-link {
    position: absolute; left: 12px; top: 12px; z-index: 400;
    background: var(--ui-highlight); color: #0a0b0d; padding: 10px 18px;
    border-radius: var(--ui-round-sm); font-weight: 700;
}
.skip-link:not(:focus) { top: -200px !important; }
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
    * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

.site-main { display: block; }

/* Canonical section inner — ALL share one width (last selector validates) */
.parterre-lourd-inner,
.garde-corps-lourd-inner,
.ecrin-fluide-inner,
.dais-brut-inner,
.enceinte-dru-inner,
.guéridon-large-inner,
.amphitheatre-voile-inner,
.lampadaire-noble-inner,
.sentinelle-dense-inner,
.credence-lourd-inner,
.receptacle-vif-inner,
.veilleur-prime-inner,
.verriere-etroit-inner,
.ostensoir-classique-inner,
.dais-calme-inner,
.chapelle-dore-inner {
    width: 100%;
    margin-inline: auto;
    padding-inline: var(--ui-pad-desktop);
    max-width: calc(var(--ui-wrapper) + 2 * var(--ui-pad-desktop));
}

/* ============================================================
   RG BANNER
   ============================================================ */
.rg-banner {
    margin: 0;
    background: var(--ui-banner-bg);
    color: #fff;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 7px 12px;
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rg-banner-text { display: inline-block; }

/* ============================================================
   HEADER (HEAD-03, sticky STICKY-03, NAV-02)
   ============================================================ */
.parterre-lourd {
    position: sticky;
    top: 0;
    z-index: 200;
    background: rgba(10, 11, 13, 0.92);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--ui-border-color);
    transition: background var(--ui-dur) var(--ui-ease), box-shadow var(--ui-dur) var(--ui-ease);
}
.parterre-lourd.is-scrolled { background: rgba(10, 11, 13, 0.98); box-shadow: 0 6px 24px rgba(0, 0, 0, 0.5); }
.parterre-lourd-inner {
    display: flex;
    align-items: center;
    gap: var(--ui-gap-lg);
    height: var(--ui-header-h);
}
.parterre-lourd-logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.parterre-lourd-logo-img {
    height: 88px; width: auto; flex-shrink: 0;
    mix-blend-mode: screen;
    transition: height var(--ui-dur) var(--ui-ease);
}
.parterre-lourd.is-scrolled .parterre-lourd-logo-img { height: 74px; }

.parterre-lourd-nav { margin-left: auto; }
.parterre-lourd-nav-list { display: flex; align-items: center; gap: var(--ui-gap-xs); }
.parterre-lourd-nav-item { position: relative; }
.parterre-lourd-nav-link {
    display: inline-block; padding: 8px 12px; border-radius: var(--ui-round-sm);
    color: var(--ui-body-color); font-weight: 500; font-size: 15px;
    text-decoration: none; transition: color var(--ui-dur) var(--ui-ease), background var(--ui-dur) var(--ui-ease);
    white-space: nowrap;
}
.parterre-lourd-nav-link:hover { color: var(--ui-highlight); background: var(--ui-panel-bg); text-decoration: none; }
.parterre-lourd-nav-link.is-active { color: var(--ui-highlight); }

.parterre-lourd-more { position: relative; }
.parterre-lourd-more-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 12px; border-radius: var(--ui-round-sm);
    background: transparent; border: 0; color: var(--ui-body-color);
    font-weight: 500; font-size: 15px;
}
.parterre-lourd-more-toggle:hover { color: var(--ui-highlight); }
.parterre-lourd-more-caret {
    width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px); transition: transform var(--ui-dur) var(--ui-ease);
}
.parterre-lourd-more-toggle[aria-expanded="true"] .parterre-lourd-more-caret { transform: rotate(-135deg) translateY(-1px); }
.parterre-lourd-more-menu {
    position: absolute; right: 0; top: calc(100% + 10px);
    min-width: 210px; background: var(--ui-color-surface);
    border: 1px solid var(--ui-border-color); border-radius: var(--ui-radius-md);
    padding: 8px; box-shadow: var(--ui-shadow-md);
    display: none; flex-direction: column; gap: 2px; z-index: 50;
}
.parterre-lourd-more-menu.is-open { display: flex; }
.parterre-lourd-more-item { display: block; }
.parterre-lourd-more-link {
    display: block; padding: 10px 12px; border-radius: var(--ui-round-sm);
    color: var(--ui-body-color); font-size: 15px; font-weight: 500; white-space: nowrap;
}
.parterre-lourd-more-link:hover { background: var(--ui-panel-bg); color: var(--ui-highlight); text-decoration: none; }
.parterre-lourd-more-link.is-active { color: var(--ui-highlight); }

.parterre-lourd-actions { display: flex; align-items: center; gap: var(--ui-space-sm); flex-shrink: 0; }
.parterre-lourd-auth-btn {
    display: inline-flex; align-items: center; white-space: nowrap; flex-shrink: 0;
    padding: 11px 22px; border-radius: var(--ui-corner-pill);
    background: var(--ui-grad-accent); color: #fff; font-weight: 700; font-size: 15px;
    box-shadow: 0 6px 18px rgba(233, 24, 131, 0.28); transition: transform var(--ui-dur) var(--ui-ease), box-shadow var(--ui-dur) var(--ui-ease);
}
.parterre-lourd-auth-btn:hover { background: var(--ui-grad-accent); color: #fff; transform: translateY(-1px); box-shadow: 0 10px 26px rgba(233, 24, 131, 0.4); text-decoration: none; }

.parterre-lourd-toggle {
    display: none; flex-direction: column; gap: 5px; justify-content: center;
    width: 44px; height: 44px; border: 1px solid var(--ui-border-color); border-radius: var(--ui-round-sm);
    background: var(--ui-panel-bg); padding: 0 11px; margin-left: auto;
}
.parterre-lourd-toggle-bar { display: block; height: 2px; width: 100%; background: var(--ui-body-color); border-radius: 2px; transition: transform var(--ui-dur) var(--ui-ease), opacity var(--ui-dur) var(--ui-ease); }
.parterre-lourd-toggle[aria-expanded="true"] .parterre-lourd-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.parterre-lourd-toggle[aria-expanded="true"] .parterre-lourd-toggle-bar:nth-child(2) { opacity: 0; }
.parterre-lourd-toggle[aria-expanded="true"] .parterre-lourd-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.parterre-lourd-backdrop {
    position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6); z-index: 210;
    opacity: 0; transition: opacity var(--ui-dur) var(--ui-ease);
}
.parterre-lourd-backdrop.is-open { opacity: 1; }

.parterre-lourd-drawer {
    position: fixed; top: 0; right: 0; bottom: 0; z-index: 220;
    width: min(86vw, 340px);
    background: var(--ui-color-surface);
    border-left: 1px solid var(--ui-border-color);
    padding: var(--ui-gap-md);
    transform: translateX(100%);
    transition: transform var(--ui-dur) var(--ui-ease);
    overflow-y: auto;
}
.parterre-lourd-drawer.is-open { transform: translateX(0); }
.parterre-lourd-drawer-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: var(--ui-gap-md); border-bottom: 1px solid var(--ui-border-color); margin-bottom: var(--ui-space-sm); }
.parterre-lourd-drawer-title { font-family: var(--ui-font-title); font-weight: 700; font-size: 19px; letter-spacing: 0.5px; }
.parterre-lourd-drawer-close { background: transparent; border: 0; color: var(--ui-body-color); font-size: 30px; line-height: 1; padding: 4px 10px; }
.parterre-lourd-drawer-close:hover { color: var(--ui-highlight); }
.parterre-lourd-drawer-list { display: flex; flex-direction: column; gap: 2px; }
.parterre-lourd-drawer-item { display: block; }
.parterre-lourd-drawer-link { display: block; padding: 14px 12px; border-radius: var(--ui-round-sm); color: var(--ui-body-color); font-weight: 500; font-size: 17px; border-bottom: 1px solid rgba(255, 255, 255, 0.04); }
.parterre-lourd-drawer-link:hover { background: var(--ui-panel-bg); color: var(--ui-highlight); text-decoration: none; }
.parterre-lourd-drawer-link.is-active { color: var(--ui-highlight); }

/* ============================================================
   BREADCRUMBS (BREAD-05)
   ============================================================ */
.chapelle-dore { padding-top: var(--ui-gap-lg); }
.chapelle-dore-list { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 14px; }
.chapelle-dore-item { display: inline-flex; align-items: center; }
.chapelle-dore-link { color: var(--ui-ink-soft); }
.chapelle-dore-link:hover { color: var(--ui-highlight); text-decoration: none; }
.chapelle-dore-sep { color: var(--ui-ink-soft); opacity: 0.5; }
.chapelle-dore-current { color: var(--ui-body-color); font-weight: 600; }

/* ============================================================
   HERO (HERO-09)
   ============================================================ */
.ecrin-fluide {
    position: relative; overflow: hidden;
    background: radial-gradient(1100px 480px at 80% -10%, rgba(233, 24, 131, 0.16), transparent 60%),
                radial-gradient(900px 460px at 0% 110%, rgba(244, 30, 44, 0.14), transparent 55%),
                var(--ui-background);
    padding-block: var(--ui-space-2xl);
}
.ecrin-fluide-inner { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: var(--ui-space-2xl); align-items: center; }
.ecrin-fluide-content { max-width: 620px; }
.ecrin-fluide-eyebrow {
    display: inline-block; text-transform: uppercase; letter-spacing: 2px; font-size: 13px; font-weight: 700;
    color: var(--ui-highlight); margin-bottom: var(--ui-gap-md);
    border: 1px solid rgba(255, 222, 1, 0.35); border-radius: var(--ui-corner-pill); padding: 6px 16px;
}
.ecrin-fluide-title { font-size: clamp(2.4rem, 5vw, 4rem); margin-bottom: var(--ui-gap-md); text-transform: uppercase; }
.ecrin-fluide-subtitle { color: var(--ui-ink-soft); font-size: 1.12rem; max-width: 520px; margin-bottom: var(--ui-gap-lg); }
.ecrin-fluide-actions { display: flex; flex-wrap: wrap; gap: var(--ui-space-sm); margin-bottom: var(--ui-space-xl); }
.ecrin-fluide-cta {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 15px 34px; border-radius: var(--ui-corner-pill);
    background: var(--ui-highlight); color: #0a0b0d; font-weight: 700; font-size: 17px;
    box-shadow: 0 10px 28px rgba(255, 222, 1, 0.22); transition: transform var(--ui-dur) var(--ui-ease), box-shadow var(--ui-dur) var(--ui-ease);
}
.ecrin-fluide-cta:hover { background: var(--ui-accent-pressed); color: #0a0b0d; transform: translateY(-2px); box-shadow: 0 14px 34px rgba(255, 222, 1, 0.32); text-decoration: none; }
.ecrin-fluide-cta-secondary {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 15px 30px; border-radius: var(--ui-corner-pill);
    background: transparent; color: var(--ui-body-color); font-weight: 600; font-size: 17px;
    border: 1px solid var(--ui-border-color); transition: border-color var(--ui-dur) var(--ui-ease), color var(--ui-dur) var(--ui-ease);
}
.ecrin-fluide-cta-secondary:hover { border-color: var(--ui-highlight); color: var(--ui-highlight); text-decoration: none; }
.ecrin-fluide-stats { display: flex; gap: var(--ui-space-xl); }
.ecrin-fluide-stat { display: flex; flex-direction: column; }
.ecrin-fluide-stat-num { font-family: var(--ui-font-title); font-size: 1.9rem; font-weight: 700; color: var(--ui-highlight); }
.ecrin-fluide-stat-label { font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: var(--ui-ink-soft); }
.ecrin-fluide-media { position: relative; }
.ecrin-fluide-media-img { width: 100%; border-radius: var(--ui-rounded-lg); border: 1px solid var(--ui-border-color); box-shadow: var(--ui-shadow-md); object-fit: cover; }

/* ============================================================
   PAGE HEADER (PHEAD-05)
   ============================================================ */
.dais-brut {
    padding-block: var(--ui-space-xl);
    background: linear-gradient(180deg, var(--ui-panel-bg), var(--ui-background));
    border-bottom: 1px solid var(--ui-border-color);
}
.dais-brut-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: 2px; font-size: 12px; font-weight: 700; color: var(--ui-highlight); margin-bottom: 10px; }
.dais-brut-title { font-size: clamp(2rem, 4vw, 3rem); text-transform: uppercase; margin-bottom: var(--ui-space-sm); }
.dais-brut-lead { color: var(--ui-ink-soft); max-width: var(--ui-text-width); font-size: 1.08rem; }

/* ============================================================
   PROSE / BODY SECTIONS (PROSE-01)
   ============================================================ */
.sentinelle-dense { padding-block: var(--ui-space-xl); }
.sentinelle-dense-prose { max-width: var(--ui-text-width); }
.sentinelle-dense-title { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: var(--ui-gap-md); text-transform: uppercase; }
.sentinelle-dense-subtitle { font-size: 1.25rem; margin-top: var(--ui-gap-md); }
.sentinelle-dense-prose p { color: #e7e7ea; }
.sentinelle-dense-prose a { color: var(--ui-highlight); border-bottom: 1px solid rgba(255, 222, 1, 0.35); }
.sentinelle-dense-prose a:hover { color: var(--ui-accent-pressed); text-decoration: none; }
.sentinelle-dense-list { margin: 0 0 1em; padding-left: 22px; list-style: disc; color: #e7e7ea; }
.sentinelle-dense-list li { margin-bottom: 8px; }
.sentinelle-dense-figure { margin: 0; }
.sentinelle-dense-figure-img { width: 100%; border-radius: var(--ui-rounded-lg); border: 1px solid var(--ui-border-color); }

/* ============================================================
   ITEMS GRID (GRID-11)
   ============================================================ */
.enceinte-dru { padding-block: var(--ui-space-xl); }
.enceinte-dru-head { margin-bottom: var(--ui-space-xl); }
.enceinte-dru-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: 2px; font-size: 12px; font-weight: 700; color: var(--ui-highlight); margin-bottom: 10px; }
.enceinte-dru-title { font-size: clamp(1.8rem, 3.4vw, 2.6rem); text-transform: uppercase; }
.enceinte-dru-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--ui-gap-md); }
.enceinte-dru-card {
    position: relative; padding: var(--ui-gap-lg);
    background: var(--ui-color-surface); border: 1px solid var(--ui-border-color); border-radius: var(--ui-radius-md);
    transition: transform var(--ui-dur) var(--ui-ease), border-color var(--ui-dur) var(--ui-ease);
}
.enceinte-dru-card:hover { transform: translateY(-4px); border-color: var(--ui-highlight); }
.enceinte-dru-card-index { position: absolute; top: 18px; right: 22px; font-family: var(--ui-font-title); font-size: 2rem; font-weight: 700; color: var(--ui-highlight); opacity: 0.16; }
.enceinte-dru-card-title { font-size: 1.25rem; margin-bottom: 10px; padding-right: 44px; }
.enceinte-dru-card-text { color: var(--ui-ink-soft); font-size: 0.98rem; margin: 0; }

/* ============================================================
   REVIEWS (REV-06)
   ============================================================ */
.amphitheatre-voile { padding-block: var(--ui-space-xl); background: var(--ui-panel-bg); }
.amphitheatre-voile-head { margin-bottom: var(--ui-space-xl); }
.amphitheatre-voile-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: 2px; font-size: 12px; font-weight: 700; color: var(--ui-highlight); margin-bottom: 10px; }
.amphitheatre-voile-title { font-size: clamp(1.8rem, 3.4vw, 2.6rem); text-transform: uppercase; }
.amphitheatre-voile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: var(--ui-gap-md); }
.amphitheatre-voile-card { padding: var(--ui-gap-lg); background: var(--ui-color-surface); border: 1px solid var(--ui-border-color); border-radius: var(--ui-radius-md); }
.amphitheatre-voile-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--ui-space-sm); gap: var(--ui-space-sm); }
.amphitheatre-voile-card-author { font-weight: 700; color: var(--ui-body-color); }
.amphitheatre-voile-stars { display: inline-flex; gap: 2px; }
.amphitheatre-voile-star { color: var(--ui-highlight); opacity: 0.2; font-size: 15px; }
.amphitheatre-voile-star.is-on { color: var(--ui-highlight); opacity: 1; }
.amphitheatre-voile-card-text { color: var(--ui-ink-soft); font-size: 0.98rem; margin: 0; }

/* ============================================================
   FAQ (FAQ-05 accordion)
   ============================================================ */
.guéridon-large { padding-block: var(--ui-space-xl); }
.guéridon-large-head { margin-bottom: var(--ui-gap-lg); }
.guéridon-large-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: 2px; font-size: 12px; font-weight: 700; color: var(--ui-highlight); margin-bottom: 10px; }
.guéridon-large-title { font-size: clamp(1.8rem, 3.4vw, 2.6rem); text-transform: uppercase; }
.guéridon-large-list { display: flex; flex-direction: column; gap: 12px; max-width: 900px; }
.guéridon-large-item { border: 1px solid var(--ui-border-color); border-radius: var(--ui-radius-md); background: var(--ui-color-surface); overflow: hidden; }
.guéridon-large-question {
    width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--ui-gap-md);
    background: transparent; border: 0; color: var(--ui-body-color); text-align: left;
    padding: 20px 22px; font-size: 1.05rem; font-weight: 600; font-family: var(--ui-font-sans);
}
.guéridon-large-question:hover { color: var(--ui-highlight); }
.guéridon-large-q-text { flex: 1; }
.guéridon-large-icon { position: relative; width: 18px; height: 18px; flex-shrink: 0; }
.guéridon-large-icon::before, .guéridon-large-icon::after { content: ""; position: absolute; background: var(--ui-highlight); border-radius: 2px; }
.guéridon-large-icon::before { top: 8px; left: 0; width: 18px; height: 2px; }
.guéridon-large-icon::after { top: 0; left: 8px; width: 2px; height: 18px; transition: transform var(--ui-dur) var(--ui-ease); }
.guéridon-large-question[aria-expanded="true"] .guéridon-large-icon::after { transform: rotate(90deg); }
.guéridon-large-answer { padding: 0 22px 20px; color: var(--ui-ink-soft); }
.guéridon-large-answer p { margin: 0; }

/* ============================================================
   CTA (CTA-02)
   ============================================================ */
.lampadaire-noble { padding-block: var(--ui-space-xl); }
.lampadaire-noble-inner {
    text-align: center;
    background: var(--ui-grad-accent);
    border-radius: var(--ui-rounded-lg);
    padding-block: var(--ui-space-2xl);
}
.lampadaire-noble-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: 2px; font-size: 12px; font-weight: 700; color: #fff; margin-bottom: 12px; opacity: 0.9; }
.lampadaire-noble-title { font-size: clamp(2rem, 4vw, 3rem); color: #fff; text-transform: uppercase; margin-bottom: var(--ui-space-sm); }
.lampadaire-noble-text { color: rgba(255, 255, 255, 0.92); max-width: 620px; margin: 0 auto var(--ui-gap-lg); }
.lampadaire-noble-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 16px 40px; border-radius: var(--ui-corner-pill);
    background: #0a0b0d; color: #fff; font-weight: 700; font-size: 17px;
    transition: transform var(--ui-dur) var(--ui-ease), background var(--ui-dur) var(--ui-ease);
}
.lampadaire-noble-btn:hover { background: #000; color: #fff; transform: translateY(-2px); text-decoration: none; }

/* ============================================================
   BYLINE (BYLINE-01)
   ============================================================ */
.verriere-etroit { padding-block: var(--ui-space-xl); }
.verriere-etroit-inner { display: flex; align-items: center; gap: var(--ui-gap-md); }
.verriere-etroit-portrait { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ui-highlight); flex-shrink: 0; }
.verriere-etroit-body { display: flex; flex-direction: column; gap: 2px; }
.verriere-etroit-label { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; color: var(--ui-ink-soft); }
.verriere-etroit-name { font-weight: 700; font-size: 1.05rem; color: var(--ui-body-color); }
.verriere-etroit-name:hover { color: var(--ui-highlight); text-decoration: none; }
.verriere-etroit-role { font-size: 14px; color: var(--ui-ink-soft); }

/* ============================================================
   LEGAL (LEGAL-03)
   ============================================================ */
.credence-lourd { padding-block: var(--ui-space-xl); }
.credence-lourd-prose { max-width: var(--ui-text-width); }
.credence-lourd-intro { font-size: 1.12rem; color: #e7e7ea; margin-bottom: var(--ui-gap-lg); }
.credence-lourd-section { margin-bottom: var(--ui-gap-lg); }
.credence-lourd-heading { font-size: 1.4rem; margin-bottom: 12px; }
.credence-lourd-section p { color: #d8d8dc; }
.credence-lourd-list { margin: 0 0 1em; padding-left: 22px; list-style: disc; color: #d8d8dc; }
.credence-lourd-list li { margin-bottom: 8px; }
.credence-lourd-support { margin: 0 0 1em; padding-left: 22px; list-style: disc; color: #d8d8dc; }
.credence-lourd-support li { margin-bottom: 8px; }
.credence-lourd-disclaimer { margin-top: var(--ui-gap-lg); padding-top: var(--ui-gap-md); border-top: 1px solid var(--ui-border-color); font-size: 0.92rem; color: var(--ui-ink-soft); }

/* ============================================================
   AUTHOR CARD (AUTH-02)
   ============================================================ */
.veilleur-prime { padding-block: var(--ui-space-xl); }
.veilleur-prime-inner { display: grid; grid-template-columns: 180px 1fr; gap: var(--ui-space-xl); align-items: start; }
.veilleur-prime-portrait { width: 160px; }
.veilleur-prime-portrait-img { width: 160px; height: 160px; border-radius: var(--ui-rounded-lg); object-fit: cover; border: 2px solid var(--ui-highlight); }
.veilleur-prime-body { min-width: 0; }
.veilleur-prime-name { font-size: 1.8rem; margin-bottom: 4px; }
.veilleur-prime-role { color: var(--ui-highlight); font-weight: 600; margin-bottom: var(--ui-space-sm); }
.veilleur-prime-bio { color: #e7e7ea; max-width: var(--ui-text-width); }
.veilleur-prime-expertise { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--ui-gap-md); }
.veilleur-prime-exp-item { padding: 7px 15px; border-radius: var(--ui-corner-pill); background: var(--ui-color-surface); border: 1px solid var(--ui-border-color); font-size: 14px; color: var(--ui-ink-soft); }

/* ============================================================
   CONTACT FORM (FORM-08)
   ============================================================ */
.receptacle-vif { padding-block: var(--ui-space-xl); }
.receptacle-vif-intro { max-width: 760px; color: var(--ui-ink-soft); font-size: 1.08rem; margin-bottom: var(--ui-gap-lg); }
.receptacle-vif-form { max-width: 760px; display: flex; flex-direction: column; gap: var(--ui-gap-md); background: var(--ui-color-surface); border: 1px solid var(--ui-border-color); border-radius: var(--ui-rounded-lg); padding: var(--ui-gap-lg); }
.receptacle-vif-field { display: flex; flex-direction: column; gap: 8px; }
.receptacle-vif-label { font-weight: 600; font-size: 15px; }
.receptacle-vif-input, .receptacle-vif-textarea {
    width: 100%; padding: 13px 16px; border-radius: var(--ui-round-sm);
    background: var(--ui-background); border: 1px solid var(--ui-border-color); color: var(--ui-body-color);
    font-family: inherit; font-size: 16px;
}
.receptacle-vif-input:focus, .receptacle-vif-textarea:focus { outline: 2px solid var(--ui-highlight); border-color: var(--ui-highlight); }
.receptacle-vif-textarea { resize: vertical; min-height: 130px; }
.receptacle-vif-submit {
    align-self: flex-start; padding: 14px 34px; border: 0; border-radius: var(--ui-corner-pill);
    background: var(--ui-highlight); color: #0a0b0d; font-weight: 700; font-size: 16px;
    transition: background var(--ui-dur) var(--ui-ease), transform var(--ui-dur) var(--ui-ease);
}
.receptacle-vif-submit:hover { background: var(--ui-accent-pressed); transform: translateY(-1px); }
.receptacle-vif-success { margin: 0; padding: 14px 18px; border-radius: var(--ui-round-sm); background: rgba(255, 222, 1, 0.12); border: 1px solid var(--ui-highlight); color: var(--ui-body-color); font-weight: 600; }

/* ============================================================
   ERROR (ERR-06)
   ============================================================ */
.dais-calme { min-height: 64vh; display: flex; align-items: center; padding-block: var(--ui-space-2xl); }
.dais-calme-inner { text-align: center; }
.dais-calme-code { display: block; font-family: var(--ui-font-title); font-size: clamp(5rem, 16vw, 9rem); font-weight: 700; line-height: 1; background: var(--ui-grad-accent); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.dais-calme-title { font-size: clamp(1.6rem, 4vw, 2.6rem); text-transform: uppercase; margin-bottom: var(--ui-space-sm); }
.dais-calme-text { color: var(--ui-ink-soft); max-width: 560px; margin: 0 auto var(--ui-gap-lg); }
.dais-calme-btn {
    display: inline-flex; padding: 15px 36px; border-radius: var(--ui-corner-pill);
    background: var(--ui-highlight); color: #0a0b0d; font-weight: 700;
    transition: background var(--ui-dur) var(--ui-ease), transform var(--ui-dur) var(--ui-ease);
}
.dais-calme-btn:hover { background: var(--ui-accent-pressed); color: #0a0b0d; transform: translateY(-2px); text-decoration: none; }

/* ============================================================
   COOKIE (COOK-04)
   ============================================================ */
.ostensoir-classique { position: fixed; left: 0; right: 0; bottom: 0; z-index: 300; padding: 0; }
.ostensoir-classique-inner {
    display: flex; align-items: center; gap: var(--ui-gap-lg);
    background: var(--ui-color-surface-2); border-top: 1px solid var(--ui-border-color);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.4);
    padding-block: var(--ui-gap-md);
    border-radius: 0;
}
.ostensoir-classique-text { margin: 0; font-size: 14px; color: var(--ui-ink-soft); flex: 1; }
.ostensoir-classique-title { color: var(--ui-body-color); font-weight: 700; margin-right: 6px; }
.ostensoir-classique-actions { display: flex; gap: var(--ui-space-sm); flex-shrink: 0; }
.ostensoir-classique-accept { padding: 11px 26px; border: 0; border-radius: var(--ui-corner-pill); background: var(--ui-highlight); color: #0a0b0d; font-weight: 700; }
.ostensoir-classique-accept:hover { background: var(--ui-accent-pressed); }
.ostensoir-classique-decline { padding: 11px 24px; border: 1px solid var(--ui-border-color); border-radius: var(--ui-corner-pill); background: transparent; color: var(--ui-body-color); font-weight: 600; }
.ostensoir-classique-decline:hover { border-color: var(--ui-highlight); color: var(--ui-highlight); }

/* ============================================================
   FOOTER (FOOT-10)
   ============================================================ */
.garde-corps-lourd { background: var(--ui-brand-color); border-top: 1px solid var(--ui-border-color); padding-block: var(--ui-space-2xl) var(--ui-gap-lg); margin-top: var(--ui-space-xl); }
.garde-corps-lourd-top { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: var(--ui-space-xl); padding-bottom: var(--ui-space-xl); border-bottom: 1px solid var(--ui-border-color); }
.garde-corps-lourd-brand { max-width: 380px; }
.garde-corps-lourd-logo { display: inline-flex; margin-bottom: var(--ui-gap-md); }
.garde-corps-lourd-logo-img { height: 52px; width: auto; mix-blend-mode: screen; }
.garde-corps-lourd-tagline { color: var(--ui-ink-soft); font-size: 0.95rem; }
.garde-corps-lourd-payments { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--ui-gap-md); }
.garde-corps-lourd-payment { padding: 6px 13px; border-radius: var(--ui-round-sm); background: var(--ui-color-surface); border: 1px solid var(--ui-border-color); font-size: 12px; font-weight: 600; color: var(--ui-ink-soft); }
.garde-corps-lourd-col { min-width: 0; }
.garde-corps-lourd-col-head { font-size: 1rem; text-transform: uppercase; letter-spacing: 1px; margin-bottom: var(--ui-gap-md); color: var(--ui-body-color); }
.garde-corps-lourd-nav, .garde-corps-lourd-legal { display: flex; flex-direction: column; gap: 10px; }
.garde-corps-lourd-nav-item, .garde-corps-lourd-legal-item { display: block; }
.garde-corps-lourd-nav-link, .garde-corps-lourd-legal-link { color: var(--ui-ink-soft); font-size: 0.95rem; }
.garde-corps-lourd-nav-link:hover, .garde-corps-lourd-legal-link:hover { color: var(--ui-highlight); text-decoration: none; }
.garde-corps-lourd-nav-link.is-active, .garde-corps-lourd-legal-link.is-active { color: var(--ui-highlight); }
.garde-corps-lourd-bottom { padding-top: var(--ui-gap-lg); display: flex; flex-direction: column; gap: 10px; }
.garde-corps-lourd-copy { margin: 0; font-size: 0.9rem; color: var(--ui-ink-soft); }
.garde-corps-lourd-disclaimer { margin: 0; font-size: 0.82rem; color: #8b8b90; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    .ecrin-fluide-inner { grid-template-columns: 1fr; gap: var(--ui-space-xl); }
    .ecrin-fluide-media { order: -1; }
    .veilleur-prime-inner { grid-template-columns: 1fr; gap: var(--ui-gap-lg); }
    .garde-corps-lourd-top { grid-template-columns: 1fr 1fr; }
    .garde-corps-lourd-brand { grid-column: 1 / -1; max-width: none; }
}

@media (max-width: 860px) {
    .parterre-lourd-nav { display: none; }
    .parterre-lourd-auth-btn { display: none; }
    .parterre-lourd-toggle { display: flex; }
}

@media (max-width: 720px) {
    body { font-size: 16px; }
    .parterre-lourd-inner,
    .garde-corps-lourd-inner,
    .ecrin-fluide-inner,
    .dais-brut-inner,
    .enceinte-dru-inner,
    .guéridon-large-inner,
    .amphitheatre-voile-inner,
    .lampadaire-noble-inner,
    .sentinelle-dense-inner,
    .credence-lourd-inner,
    .receptacle-vif-inner,
    .veilleur-prime-inner,
    .verriere-etroit-inner,
    .ostensoir-classique-inner,
    .dais-calme-inner,
    .chapelle-dore-inner { padding-inline: var(--ui-pad-mobile); }
    .parterre-lourd-inner { height: var(--ui-header-h-mobile); }
    .parterre-lourd-logo-img { height: 62px; }
    .ecrin-fluide { padding-block: var(--ui-space-xl); }
    .ecrin-fluide-stats { gap: var(--ui-gap-lg); flex-wrap: wrap; }
    .lampadaire-noble-inner { padding-block: var(--ui-space-xl); padding-inline: var(--ui-pad-mobile); }
    .garde-corps-lourd-top { grid-template-columns: 1fr; gap: var(--ui-gap-lg); }
    .enceinte-dru-grid, .amphitheatre-voile-grid { grid-template-columns: 1fr; }
    .ostensoir-classique-inner { flex-direction: column; align-items: stretch; gap: 10px !important; padding: 14px !important; font-size: 13px !important; }
    .ostensoir-classique-title { display: inline; }
    .ostensoir-classique-actions { justify-content: stretch; }
    .ostensoir-classique-accept, .ostensoir-classique-decline { flex: 1; padding: 10px 14px !important; min-height: 40px; }
}

/* fix: навигация не помещалась — бургер до 1099px */
@media (max-width: 1099px) {
  .parterre-lourd-nav,
  .parterre-lourd-nav-list,
  .parterre-lourd-nav-link,
  .parterre-lourd-auth-btn { display: none !important; }
  .parterre-lourd-toggle { display: flex !important; }
}
