/* Snatch Casino — polish.css | design system + components (dark teal + gold) */

/* ---- Design tokens ---- */
:root {
    --ui-primary: #fdc700;
    --ui-highlight: #2fd2ee;
    --ui-accent-pressed: #6aeaff;
    --ui-canvas: #03090e;
    --ui-panel-bg: #0b141c;
    --ui-color-surface: #101c26;
    --ui-gradient-from: #218097;
    --ui-grad-mid: #0e4d58;
    --ui-ink: #ffffff;
    --ui-text-secondary: #c9ccd1;
    --ui-border-color: rgba(255, 255, 255, 0.10);
    --ui-banner-bg: #dc2626;

    --ui-font-title: "Poppins", "Segoe UI", system-ui, sans-serif;
    --ui-font-sans: "Inter", system-ui, -apple-system, sans-serif;

    --ui-container: 1020px;
    --ui-text-width: 580px;
    --ui-pad-desktop: 24px;

    --ui-space-2xs: 4px;
    --ui-gap-xs: 8px;
    --ui-space-sm: 12px;
    --ui-gap-md: 16px;
    --ui-gap-lg: 24px;
    --ui-space-xl: 32px;
    --ui-gap-2xl: 48px;
    --ui-space-3xl: 64px;

    --ui-size-sm: 0.875rem;
    --ui-fs-base: 1rem;
    --ui-fs-lg: 1.125rem;
    --ui-size-h3: 1.375rem;
    --ui-type-h2: 1.875rem;
    --ui-fs-h1: 2.75rem;
    --ui-fw-normal: 400;
    --ui-font-medium: 500;
    --ui-fw-semibold: 600;
    --ui-fw-bold: 700;

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

    --ui-shadow-md: 0 10px 30px rgba(0, 0, 0, 0.45);
    --ui-elevation-1: 0 4px 14px rgba(0, 0, 0, 0.35);

    --ui-transition-fast: 150ms;
    --ui-duration-base: 260ms;
    --ui-timing: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---- 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);
    font-size: var(--ui-fs-base);
    line-height: 1.65;
    color: var(--ui-ink);
    background: var(--ui-canvas);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
h1, h2, h3 { font-family: var(--ui-font-title); line-height: 1.15; font-weight: var(--ui-fw-bold); margin: 0; }
p { margin: 0 0 var(--ui-gap-md); }
a { color: var(--ui-highlight); text-decoration: none; }
a:hover { color: var(--ui-accent-pressed); }
ul, ol { margin: 0 0 var(--ui-gap-md); padding-left: 1.35em; }
li { margin-bottom: var(--ui-gap-xs); }
strong { font-weight: var(--ui-fw-semibold); color: var(--ui-ink); }

.skip-link {
    position: absolute; left: var(--ui-gap-md); z-index: 999;
    background: var(--ui-primary); color: var(--ui-canvas);
    padding: var(--ui-gap-xs) var(--ui-gap-md); border-radius: var(--ui-round-sm);
    font-weight: var(--ui-fw-semibold);
}
.skip-link:not(:focus) { top: -200px !important; }
.skip-link:focus { top: var(--ui-gap-md); }
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

.site-main { display: block; }

/* ---- Canonical section width (single grid) ---- */
.stalle-austere-topbar-inner,
.stalle-austere-main-inner,
.support-prime-inner,
.support-prime-bar-inner,
.pavois-noble-inner,
.gradin-fluide-inner,
.dais-calme-inner,
.crucifix-mince-inner,
.piazzetta-fluide-inner,
.verriere-raffine-inner,
.amphitheatre-grand-inner,
.guéridon-secret-inner,
.chasse-fin-inner,
.sanctuaire-grand-inner,
.pavois-classique-inner,
.veilleur-calme-inner,
.pavois-secret-inner,
.baptistere-voile-inner {
    width: 100%;
    max-width: calc(var(--ui-container) + 2 * var(--ui-pad-desktop));
    margin-inline: auto;
    padding-inline: var(--ui-pad-desktop);
}

/* ================= HEADER (HEAD-03 two-tier, STICKY-03, NAV-02, AUTH-BOTH) ================= */
.stalle-austere { position: relative; z-index: 100; }
.stalle-austere-topbar { background: var(--ui-panel-bg); border-bottom: 1px solid var(--ui-border-color); }
.stalle-austere-topbar-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--ui-gap-md); min-height: 36px; padding-block: 4px;
}
.stalle-austere-info { font-size: var(--ui-size-sm); color: var(--ui-text-secondary); letter-spacing: 0.01em; }
.stalle-austere-auth { display: inline-flex; align-items: center; gap: var(--ui-gap-xs); }
.stalle-austere-auth-btn {
    display: inline-flex; align-items: center; white-space: nowrap; flex-shrink: 0;
    font-size: var(--ui-size-sm); font-weight: var(--ui-fw-semibold);
    padding: 6px var(--ui-gap-lg); border-radius: var(--ui-corner-pill);
    transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing);
}
.stalle-austere-auth-login {
    background: transparent; color: var(--ui-ink);
    border: 1px solid var(--ui-border-color);
}
.stalle-austere-auth-login:hover { background: rgba(255,255,255,0.08); color: var(--ui-ink); }
.stalle-austere-auth-register { background: var(--ui-primary); color: var(--ui-canvas); }
.stalle-austere-auth-register:hover { background: var(--ui-highlight); color: var(--ui-canvas); }

.stalle-austere-main {
    position: sticky; top: 0; z-index: 100;
    background: var(--ui-canvas); border-bottom: 1px solid var(--ui-border-color);
    transition: background var(--ui-duration-base) var(--ui-timing), backdrop-filter var(--ui-duration-base) var(--ui-timing);
}
.stalle-austere-main.is-blurred {
    background: rgba(3, 9, 14, 0.85);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.stalle-austere-main-inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: var(--ui-gap-lg); min-height: 96px;
}
.stalle-austere-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.stalle-austere-logo-img { display: block; height: 88px; width: auto; flex-shrink: 0; }

.stalle-austere-nav { display: flex; }
.stalle-austere-nav-list {
    display: flex; flex-wrap: nowrap; align-items: center; gap: var(--ui-gap-xs);
    list-style: none; margin: 0; padding: 0;
}
.stalle-austere-nav-item { margin: 0; }
.stalle-austere-link {
    display: inline-flex; align-items: center; gap: var(--ui-space-2xs);
    font-size: var(--ui-size-sm); font-weight: var(--ui-font-medium);
    color: var(--ui-text-secondary); padding: var(--ui-gap-xs) var(--ui-space-sm);
    border-radius: var(--ui-round-sm); background: transparent; border: 0;
    font-family: var(--ui-font-sans); cursor: pointer;
    transition: color var(--ui-transition-fast) var(--ui-timing);
}
.stalle-austere-link:hover { color: var(--ui-ink); }
.stalle-austere-link[aria-current="page"] { color: var(--ui-primary); }
.stalle-austere-nav-item-more { position: relative; }
.stalle-austere-more-toggle { line-height: 1; }
.stalle-austere-more-chevron { transition: transform var(--ui-transition-fast) var(--ui-timing); font-size: 0.7em; }
.stalle-austere-more-toggle[aria-expanded="true"] .stalle-austere-more-chevron { transform: rotate(180deg); }
.stalle-austere-more-menu {
    position: absolute; top: calc(100% + 6px); right: 0; margin: 0;
    padding: var(--ui-gap-xs) 0; list-style: none; min-width: 210px;
    background: var(--ui-panel-bg); border: 1px solid var(--ui-border-color);
    border-radius: var(--ui-round-md); box-shadow: var(--ui-shadow-md); z-index: 110;
}
.stalle-austere-more-menu[hidden] { display: none; }
.stalle-austere-more-link {
    display: block; padding: var(--ui-gap-xs) var(--ui-gap-md);
    color: var(--ui-ink); font-size: var(--ui-size-sm); white-space: nowrap;
    transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing);
}
.stalle-austere-more-link:hover { background: rgba(255,255,255,0.06); color: var(--ui-primary); }

.stalle-austere-toggle {
    display: none; flex-direction: column; gap: 5px; justify-content: center;
    width: 44px; height: 44px; padding: 10px; margin-left: auto;
    background: transparent; border: 1px solid var(--ui-border-color);
    border-radius: var(--ui-round-sm); cursor: pointer;
}
.stalle-austere-toggle-bar { display: block; height: 2px; width: 100%; background: var(--ui-primary); border-radius: 2px; }

.stalle-austere-drawer {
    display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 95;
    background: var(--ui-panel-bg); border-bottom: 1px solid var(--ui-border-color);
    box-shadow: var(--ui-shadow-md);
}
.stalle-austere-drawer.is-open { display: block; }
.stalle-austere-drawer-list { list-style: none; margin: 0; padding: var(--ui-gap-md); display: flex; flex-direction: column; gap: 2px; }
.stalle-austere-drawer-item { margin: 0; }
.stalle-austere-drawer-link {
    display: block; padding: var(--ui-space-sm) var(--ui-gap-md);
    color: var(--ui-ink); font-weight: var(--ui-font-medium); border-radius: var(--ui-round-sm);
}
.stalle-austere-drawer-link:hover { background: rgba(255,255,255,0.06); color: var(--ui-primary); }
.stalle-austere-drawer-link[aria-current="page"] { color: var(--ui-primary); }
.stalle-austere-drawer-cta {
    display: block; text-align: center; margin-top: var(--ui-gap-xs);
    padding: var(--ui-space-sm) var(--ui-gap-md); background: var(--ui-primary);
    color: var(--ui-canvas); font-weight: var(--ui-fw-semibold); border-radius: var(--ui-corner-pill);
}
.stalle-austere-drawer-cta:hover { background: var(--ui-highlight); color: var(--ui-canvas); }

/* ================= HERO (HERO-08) ================= */
.pavois-noble {
    padding-block: var(--ui-gap-2xl);
    background: var(--ui-grad-mid);
    background: radial-gradient(130% 150% at 88% -12%, var(--ui-gradient-from) 0%, var(--ui-grad-mid) 36%, var(--ui-canvas) 100%);
    border-bottom: 1px solid var(--ui-border-color);
}
.pavois-noble-inner { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--ui-gap-2xl); align-items: center; }
.pavois-noble-content { min-width: 0; }
.pavois-noble-eyebrow {
    text-transform: uppercase; letter-spacing: 0.16em; font-size: var(--ui-size-sm);
    font-weight: var(--ui-fw-semibold); color: var(--ui-primary); margin-bottom: var(--ui-space-sm);
}
.pavois-noble-title { font-size: var(--ui-fs-h1); color: var(--ui-ink); margin-bottom: var(--ui-gap-md); }
.pavois-noble-subtitle { font-size: var(--ui-fs-lg); color: var(--ui-text-secondary); max-width: 480px; margin-bottom: var(--ui-space-xl); }
.pavois-noble-actions { display: flex; flex-wrap: wrap; gap: var(--ui-space-sm); }
.pavois-noble-btn {
    display: inline-flex; align-items: center; padding: var(--ui-space-sm) var(--ui-space-xl);
    background: var(--ui-primary); color: var(--ui-canvas); font-weight: var(--ui-fw-bold);
    border-radius: var(--ui-corner-pill); box-shadow: var(--ui-elevation-1);
    transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing);
}
.pavois-noble-btn:hover { background: var(--ui-highlight); color: var(--ui-canvas); }
.pavois-noble-btn-alt {
    display: inline-flex; align-items: center; padding: var(--ui-space-sm) var(--ui-space-xl);
    background: transparent; color: var(--ui-ink); font-weight: var(--ui-fw-semibold);
    border: 1px solid rgba(255,255,255,0.28); border-radius: var(--ui-corner-pill);
    transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing);
}
.pavois-noble-btn-alt:hover { background: rgba(255,255,255,0.10); color: var(--ui-ink); }
.pavois-noble-media { display: flex; justify-content: center; }
.pavois-noble-img { width: 100%; height: auto; border-radius: var(--ui-rounded-lg); box-shadow: var(--ui-shadow-md); }

/* ================= PAGE HEADER (PHEAD-02) ================= */
.gradin-fluide { padding-block: var(--ui-gap-2xl); background: linear-gradient(180deg, var(--ui-grad-mid) 0%, var(--ui-canvas) 100%); border-bottom: 1px solid var(--ui-border-color); }
.gradin-fluide-eyebrow { text-transform: uppercase; letter-spacing: 0.14em; font-size: var(--ui-size-sm); color: var(--ui-primary); font-weight: var(--ui-fw-semibold); margin-bottom: var(--ui-space-sm); }
.gradin-fluide-title { font-size: var(--ui-fs-h1); color: var(--ui-ink); margin-bottom: var(--ui-space-sm); }
.gradin-fluide-sub { font-size: var(--ui-fs-lg); color: var(--ui-text-secondary); max-width: 720px; margin: 0; }

/* ================= PROSE (PROSE-08) ================= */
.amphitheatre-grand { padding-block: var(--ui-gap-2xl); }
.amphitheatre-grand-heading { font-size: var(--ui-type-h2); color: var(--ui-ink); margin-bottom: var(--ui-gap-md); }
.amphitheatre-grand-body { color: var(--ui-ink); }
.amphitheatre-grand-body p { color: var(--ui-text-secondary); }
.amphitheatre-grand-body li { color: var(--ui-text-secondary); }
.amphitheatre-grand a { color: var(--ui-highlight); text-decoration: underline; text-underline-offset: 3px; }
.amphitheatre-grand a:hover { color: var(--ui-accent-pressed); }
.amphitheatre-grand-figure { margin: var(--ui-gap-lg) 0 0; }
.amphitheatre-grand-figure-img { display: block; width: 100%; height: auto; border-radius: var(--ui-rounded-lg); border: 1px solid var(--ui-border-color); }

/* ================= ITEMS GRID (GRID-09) ================= */
.dais-calme { padding-block: var(--ui-gap-2xl); }
.dais-calme-title { font-size: var(--ui-type-h2); color: var(--ui-ink); margin-bottom: var(--ui-gap-lg); }
.dais-calme-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--ui-gap-lg); }
.dais-calme-card {
    background: var(--ui-panel-bg); border: 1px solid var(--ui-border-color);
    border-radius: var(--ui-round-md); padding: var(--ui-gap-lg);
    transition: transform var(--ui-transition-fast) var(--ui-timing), border-color var(--ui-transition-fast) var(--ui-timing);
}
.dais-calme-card:hover { transform: translateY(-4px); border-color: rgba(253,199,0,0.4); }
.dais-calme-card-title { font-size: var(--ui-size-h3); color: var(--ui-ink); margin-bottom: var(--ui-gap-xs); }
.dais-calme-card-text { color: var(--ui-text-secondary); margin: 0; font-size: var(--ui-size-sm); line-height: 1.6; }

/* ================= REVIEWS (REV-09) ================= */
.piazzetta-fluide { padding-block: var(--ui-gap-2xl); }
.piazzetta-fluide-title { font-size: var(--ui-type-h2); color: var(--ui-ink); margin-bottom: var(--ui-gap-lg); }
.piazzetta-fluide-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--ui-gap-lg); }
.piazzetta-fluide-card { background: var(--ui-panel-bg); border: 1px solid var(--ui-border-color); border-radius: var(--ui-round-md); padding: var(--ui-gap-lg); }
.piazzetta-fluide-stars { color: var(--ui-primary); font-size: var(--ui-fs-lg); letter-spacing: 2px; }
.piazzetta-fluide-rating { color: var(--ui-text-secondary); font-size: var(--ui-size-sm); margin: var(--ui-space-2xs) 0 var(--ui-space-sm); }
.piazzetta-fluide-text { color: var(--ui-ink); margin-bottom: var(--ui-space-sm); }
.piazzetta-fluide-author { color: var(--ui-primary); font-weight: var(--ui-fw-semibold); margin: 0; }

/* ================= FAQ (FAQ-03 accordion) ================= */
.crucifix-mince { padding-block: var(--ui-gap-2xl); }
.crucifix-mince-title { font-size: var(--ui-type-h2); color: var(--ui-ink); margin-bottom: var(--ui-gap-lg); }
.crucifix-mince-list { display: flex; flex-direction: column; gap: var(--ui-space-sm); }
.crucifix-mince-item { background: var(--ui-panel-bg); border: 1px solid var(--ui-border-color); border-radius: var(--ui-round-md); padding: var(--ui-gap-md) var(--ui-gap-lg); }
.crucifix-mince-q { cursor: pointer; font-family: var(--ui-font-title); font-weight: var(--ui-fw-semibold); color: var(--ui-ink); list-style: none; position: relative; padding-right: var(--ui-space-xl); }
.crucifix-mince-q::-webkit-details-marker { display: none; }
.crucifix-mince-q::after { content: "+"; position: absolute; right: 0; top: 0; color: var(--ui-primary); font-size: 1.3em; line-height: 1; }
.crucifix-mince-item[open] .crucifix-mince-q::after { content: "\2212"; }
.crucifix-mince-a { color: var(--ui-text-secondary); padding-top: var(--ui-space-sm); }
.crucifix-mince-a p { color: var(--ui-text-secondary); margin: 0; }

/* ================= DATA TABLE (TABLE-04) ================= */
.guéridon-secret { padding-block: var(--ui-gap-2xl); }
.guéridon-secret-scroll { overflow-x: auto; border: 1px solid var(--ui-border-color); border-radius: var(--ui-round-md); }
.guéridon-secret-table { width: 100%; border-collapse: collapse; min-width: 520px; color: var(--ui-ink); }
.guéridon-secret-table th, .guéridon-secret-table td { padding: var(--ui-space-sm) var(--ui-gap-md); text-align: left; border-bottom: 1px solid var(--ui-border-color); font-size: var(--ui-size-sm); }
.guéridon-secret-table thead th { background: var(--ui-panel-bg); color: var(--ui-primary); font-family: var(--ui-font-title); }
.guéridon-secret-table tbody th { color: var(--ui-ink); font-weight: var(--ui-fw-semibold); }
.guéridon-secret-table tbody td { color: var(--ui-text-secondary); }
.guéridon-secret-table tbody tr:last-child th, .guéridon-secret-table tbody tr:last-child td { border-bottom: 0; }

/* ================= CTA BLOCK (CTA-09) ================= */
.verriere-raffine { padding-block: var(--ui-gap-2xl); }
.verriere-raffine-inner { text-align: center; }
.verriere-raffine-title { font-size: var(--ui-type-h2); color: var(--ui-ink); margin-bottom: var(--ui-space-sm); }
.verriere-raffine-text { color: var(--ui-text-secondary); max-width: 580px; margin: 0 auto var(--ui-gap-lg); }
.verriere-raffine-btn { display: inline-flex; padding: var(--ui-space-sm) var(--ui-space-3xl); background: var(--ui-primary); color: var(--ui-canvas); font-weight: var(--ui-fw-bold); border-radius: var(--ui-corner-pill); box-shadow: var(--ui-elevation-1); transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing); }
.verriere-raffine-btn:hover { background: var(--ui-highlight); color: var(--ui-canvas); }

/* ================= INLINE CTA (INLINE-CTA-06) ================= */
.baptistere-voile { padding-block: var(--ui-gap-lg); }
.baptistere-voile-inner {
    display: flex; align-items: center; justify-content: space-between; gap: var(--ui-gap-lg);
    flex-wrap: wrap; background: linear-gradient(90deg, var(--ui-grad-mid), var(--ui-color-surface));
    border: 1px solid rgba(253,199,0,0.35); border-radius: var(--ui-rounded-lg); padding: var(--ui-gap-lg) var(--ui-space-xl);
}
.baptistere-voile-text { color: var(--ui-ink); font-weight: var(--ui-fw-semibold); margin: 0; }
.baptistere-voile-btn { display: inline-flex; flex-shrink: 0; padding: var(--ui-space-sm) var(--ui-space-xl); background: var(--ui-primary); color: var(--ui-canvas); font-weight: var(--ui-fw-bold); border-radius: var(--ui-corner-pill); transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing); }
.baptistere-voile-btn:hover { background: var(--ui-highlight); color: var(--ui-canvas); }

/* ================= AUTHOR BYLINE (BYLINE-02) ================= */
.sentinelle-moderne {
    display: flex; align-items: center; gap: var(--ui-gap-md);
    width: 100%; max-width: calc(var(--ui-container) + 2 * var(--ui-pad-desktop));
    margin-inline: auto; padding: var(--ui-gap-lg) var(--ui-pad-desktop);
    padding-block: var(--ui-gap-lg);
}
.sentinelle-moderne-portrait { width: 56px; height: 56px; border-radius: var(--ui-corner-pill); object-fit: cover; border: 2px solid var(--ui-primary); flex-shrink: 0; }
.sentinelle-moderne-meta { display: flex; flex-direction: column; }
.sentinelle-moderne-label { font-size: var(--ui-size-sm); color: var(--ui-text-secondary); }
.sentinelle-moderne-name { font-weight: var(--ui-fw-semibold); color: var(--ui-primary); }
.sentinelle-moderne-name:hover { color: var(--ui-accent-pressed); }
.sentinelle-moderne-role { font-size: var(--ui-size-sm); color: var(--ui-text-secondary); }

/* ================= AUTHOR CARD (AUTH-07) ================= */
.pavois-classique { padding-block: var(--ui-gap-2xl); }
.pavois-classique-inner { background: var(--ui-panel-bg); border: 1px solid var(--ui-border-color); border-radius: var(--ui-rounded-lg); padding: var(--ui-gap-2xl); }
.pavois-classique-head { display: flex; align-items: center; gap: var(--ui-gap-lg); margin-bottom: var(--ui-gap-lg); }
.pavois-classique-portrait { width: 140px; height: 140px; border-radius: var(--ui-corner-pill); object-fit: cover; border: 3px solid var(--ui-primary); flex-shrink: 0; }
.pavois-classique-id { min-width: 0; }
.pavois-classique-name { font-family: var(--ui-font-title); font-size: var(--ui-type-h2); color: var(--ui-ink); margin: 0; }
.pavois-classique-role { color: var(--ui-primary); font-weight: var(--ui-font-medium); margin: var(--ui-space-2xs) 0 0; }
.pavois-classique-bio { color: var(--ui-text-secondary); margin-bottom: var(--ui-gap-lg); }
.pavois-classique-exp { display: flex; flex-wrap: wrap; gap: var(--ui-gap-xs); list-style: none; padding: 0; margin: 0 0 var(--ui-space-xl); }
.pavois-classique-exp-item { background: var(--ui-color-surface); border: 1px solid var(--ui-border-color); border-radius: var(--ui-corner-pill); padding: var(--ui-space-2xs) var(--ui-gap-md); font-size: var(--ui-size-sm); color: var(--ui-ink); }
.pavois-classique-articles { border-top: 1px solid var(--ui-border-color); padding-top: var(--ui-gap-lg); }
.pavois-classique-articles-heading { font-size: var(--ui-size-h3); color: var(--ui-ink); margin-bottom: var(--ui-space-sm); }
.pavois-classique-articles-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--ui-gap-xs); }
.pavois-classique-articles-item a { color: var(--ui-highlight); text-decoration: none; }
.pavois-classique-articles-item a:hover { color: var(--ui-accent-pressed); text-decoration: underline; }

/* ================= LEGAL SECTION (LEGAL-05) ================= */
.chasse-fin { padding-block: var(--ui-gap-2xl); }
.chasse-fin-intro { font-size: var(--ui-fs-lg); color: var(--ui-text-secondary); margin-bottom: var(--ui-space-xl); }
.chasse-fin-block { margin-bottom: var(--ui-space-xl); }
.chasse-fin-heading { font-size: var(--ui-size-h3); color: var(--ui-ink); margin-bottom: var(--ui-space-sm); }
.chasse-fin-block p { color: var(--ui-text-secondary); }
.chasse-fin-contacts { color: var(--ui-text-secondary); }
.chasse-fin-contacts li { color: var(--ui-text-secondary); }
.chasse-fin-disclaimer { color: var(--ui-text-secondary); font-size: var(--ui-size-sm); font-style: italic; border-top: 1px solid var(--ui-border-color); padding-top: var(--ui-gap-lg); }

/* ================= CONTACT FORM (FORM-08) ================= */
.sanctuaire-grand { padding-block: var(--ui-gap-2xl); }
.sanctuaire-grand-intro { color: var(--ui-text-secondary); max-width: 720px; margin-bottom: var(--ui-space-xl); }
.sanctuaire-grand-form { max-width: 620px; }
.sanctuaire-grand-field { margin-bottom: var(--ui-gap-md); display: flex; flex-direction: column; gap: var(--ui-space-2xs); }
.sanctuaire-grand-label { font-size: var(--ui-size-sm); font-weight: var(--ui-font-medium); color: var(--ui-text-secondary); }
.sanctuaire-grand-input {
    width: 100%; padding: var(--ui-space-sm) var(--ui-gap-md); font-family: var(--ui-font-sans); font-size: var(--ui-fs-base);
    background: var(--ui-panel-bg); color: var(--ui-ink);
    border: 1px solid var(--ui-border-color); border-radius: var(--ui-round-sm);
}
.sanctuaire-grand-input:focus { outline: 2px solid var(--ui-highlight); outline-offset: 1px; }
.sanctuaire-grand-textarea { resize: vertical; min-height: 130px; }
.sanctuaire-grand-submit { display: inline-flex; padding: var(--ui-space-sm) var(--ui-gap-2xl); background: var(--ui-primary); color: var(--ui-canvas); font-weight: var(--ui-fw-bold); border: 0; border-radius: var(--ui-corner-pill); cursor: pointer; transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing); }
.sanctuaire-grand-submit:hover { background: var(--ui-highlight); color: var(--ui-canvas); }
.sanctuaire-grand-success { margin-top: var(--ui-gap-md); padding: var(--ui-gap-md); background: rgba(47,210,238,0.12); border: 1px solid var(--ui-highlight); border-radius: var(--ui-round-sm); color: var(--ui-ink); }

/* ================= ERROR BLOCK (ERR-08) ================= */
.pavois-secret { padding-block: var(--ui-space-3xl); background: radial-gradient(120% 120% at 50% 0%, var(--ui-grad-mid) 0%, var(--ui-canvas) 60%); }
.pavois-secret-inner { text-align: center; }
.pavois-secret-code { font-family: var(--ui-font-title); font-size: 5rem; font-weight: var(--ui-fw-bold); color: var(--ui-primary); margin: 0; line-height: 1; }
.pavois-secret-title { font-size: var(--ui-type-h2); color: var(--ui-ink); margin: var(--ui-gap-md) 0 var(--ui-space-sm); }
.pavois-secret-text { color: var(--ui-text-secondary); max-width: 560px; margin: 0 auto var(--ui-gap-lg); }
.pavois-secret-btn { display: inline-flex; padding: var(--ui-space-sm) var(--ui-gap-2xl); background: var(--ui-primary); color: var(--ui-canvas); font-weight: var(--ui-fw-bold); border-radius: var(--ui-corner-pill); transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing); }
.pavois-secret-btn:hover { background: var(--ui-highlight); color: var(--ui-canvas); }

/* ================= FOOTER (FOOT-01) ================= */
.support-prime { background: var(--ui-panel-bg); border-top: 1px solid var(--ui-border-color); }
.support-prime-inner { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--ui-gap-2xl); padding-block: var(--ui-space-3xl); }
.support-prime-brand { max-width: 360px; }
.support-prime-logo { display: inline-flex; }
.support-prime-logo-img { height: 64px; width: auto; }
.support-prime-tagline { color: var(--ui-text-secondary); font-size: var(--ui-size-sm); margin: var(--ui-gap-md) 0 var(--ui-space-sm); }
.support-prime-licence { color: var(--ui-text-secondary); font-size: var(--ui-size-sm); margin: 0; }
.support-prime-col { }
.support-prime-heading { font-size: var(--ui-size-h3); color: var(--ui-ink); margin-bottom: var(--ui-gap-md); }
.support-prime-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--ui-gap-xs); }
.support-prime-link { color: var(--ui-text-secondary); font-size: var(--ui-size-sm); }
.support-prime-link:hover { color: var(--ui-primary); }
.support-prime-bar { border-top: 1px solid var(--ui-border-color); }
.support-prime-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-gap-md); flex-wrap: wrap; padding-block: var(--ui-gap-lg); }
.support-prime-rg { color: var(--ui-text-secondary); font-size: var(--ui-size-sm); margin: 0; }
.support-prime-copy { color: var(--ui-text-secondary); font-size: var(--ui-size-sm); margin: 0; }

/* ================= COOKIE BANNER (COOK-04) ================= */
.veilleur-calme { position: fixed; left: 0; right: 0; bottom: 0; z-index: 200; background: var(--ui-panel-bg); border-top: 1px solid var(--ui-border-color); box-shadow: var(--ui-shadow-md); }
.veilleur-calme[hidden] { display: none; }
.veilleur-calme-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-gap-lg); flex-wrap: wrap; }
.veilleur-calme-text { color: var(--ui-text-secondary); font-size: var(--ui-size-sm); margin: 0; flex: 1 1 320px; }
.veilleur-calme-actions { display: flex; gap: var(--ui-gap-xs); flex-shrink: 0; }
.veilleur-calme-btn { padding: var(--ui-gap-xs) var(--ui-gap-lg); border-radius: var(--ui-corner-pill); font-weight: var(--ui-fw-semibold); font-size: var(--ui-size-sm); cursor: pointer; border: 1px solid var(--ui-border-color); transition: background var(--ui-transition-fast) var(--ui-timing), color var(--ui-transition-fast) var(--ui-timing); }
.veilleur-calme-accept { background: var(--ui-primary); color: var(--ui-canvas); border-color: var(--ui-primary); }
.veilleur-calme-accept:hover { background: var(--ui-highlight); color: var(--ui-canvas); border-color: var(--ui-highlight); }
.veilleur-calme-decline { background: transparent; color: var(--ui-ink); }
.veilleur-calme-decline:hover { background: rgba(255,255,255,0.08); color: var(--ui-ink); }

/* ================= RESPONSIVE ================= */
@media (max-width: 960px) {
    .stalle-austere-nav { display: none; }
    .stalle-austere-toggle { display: flex; }
    .pavois-noble-inner { grid-template-columns: 1fr; gap: var(--ui-space-xl); }
    .pavois-noble-media { order: -1; }
    .support-prime-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    :root { --ui-fs-h1: 2.1rem; --ui-type-h2: 1.6rem; }
    .stalle-austere-main-inner { min-height: 72px; }
    .stalle-austere-logo-img { height: 60px; }
    .stalle-austere-topbar-inner { flex-wrap: wrap; gap: var(--ui-gap-xs); }
    .stalle-austere-info { display: none; }
    .support-prime-logo-img { height: 56px; }
}
@media (max-width: 600px) {
    .support-prime-inner { grid-template-columns: 1fr; gap: var(--ui-space-xl); }
    .baptistere-voile-inner { flex-direction: column; align-items: flex-start; }
    .pavois-classique-head { flex-direction: column; text-align: center; align-items: center; }
    .pavois-classique-inner { padding: var(--ui-gap-lg); }
    .veilleur-calme-inner { flex-direction: column; align-items: stretch; }
    .veilleur-calme-actions { justify-content: stretch; }
    .veilleur-calme-btn { flex: 1; }
}
