/* ninecasino-it-1 — fascia.css
   TYPO-04 · SPACE-05 · CONT-04 · BP-04 · GEO-05 · MOTION-08
   HEAD-05 · FOOT-04 · HERO-06 · NAV(drawer) · STICKY-OFF */

/* ---------- tokens ---------- */
:root {
    --c-brand: #e5640b;
    --c-secondary: #f67325;
    --c-accent-dark: #ea520c;
    --c-canvas: #060f2b;
    --c-surface-raised: #0c1a3f;
    --c-grad-light: #fbbf9b;
    --c-gradient-mid: #f89758;
    --c-foreground: #ffffff;
    --c-muted: #bebebe;
    --c-notice-bg: #dc2626;

    --c-heading-font: 'Montserrat', system-ui, sans-serif;
    --c-font-text: 'Montserrat', system-ui, sans-serif;

    --c-type-h1: 38px; --c-fs-h2: 30px; --c-text-h3: 24px; --c-size-h4: 20px;
    --c-type-h5: 17px; --c-fs-h6: 15px; --c-size-body: 17px; --c-type-small: 15px; --c-size-xs: 13px;
    --c-line-tight: 1.25; --c-lh-base: 1.6; --c-leading-loose: 1.8;
    --c-tracking-wide: 0.01em;
    --c-font-normal: 400; --c-weight-medium: 500; --c-weight-bold: 600;

    --c-gutter-2xs: 3px; --c-gutter-xs: 10px; --c-spacing-sm: 18px; --c-gutter-md: 28px;
    --c-gutter-lg: 44px; --c-spacing-xl: 60px; --c-gutter-2xl: 88px; --c-gap-3xl: 128px;

    --c-max-width: 1320px;
    --c-prose-width: 720px;
    --c-gutter-desktop: 24px;

    --c-round-xs: 4px; --c-rounded-sm: 10px; --c-corner: 16px; --c-round-lg: 28px;
    --c-radius-pill: 9999px; --c-radius-circle: 50%;
    --c-shadow-sm: 0 4px 10px rgba(0,0,0,0.08);
    --c-elevation-2: 0 10px 28px rgba(0,0,0,0.12);
    --c-elevation-3: 0 20px 48px rgba(0,0,0,0.16);

    --c-transition-fast: 150ms; --c-duration-base: 220ms; --c-speed-slow: 450ms;
    --c-ease: cubic-bezier(0.25,0.46,0.45,0.94);
    --c-ease-spring: cubic-bezier(0.34,1.56,0.64,1);

    --c-sec-y: 44px;
    --c-header-h: 104px;
}

/* ---------- reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
body {
    margin: 0;
    font-family: var(--c-font-text);
    font-size: var(--c-size-body);
    line-height: var(--c-leading-loose);
    color: var(--c-foreground);
    background: var(--c-canvas);
    -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-secondary); text-decoration: none; }
a:hover { color: var(--c-accent-dark); }
h1, h2, h3 { font-family: var(--c-heading-font); font-weight: var(--c-weight-bold); line-height: var(--c-line-tight); margin: 0 0 var(--c-spacing-sm); }
h4, h5, h6 { font-family: var(--c-font-text); font-weight: var(--c-weight-medium); margin: 0 0 var(--c-gutter-xs); }
p { margin: 0 0 var(--c-spacing-sm); }
.main { display: block; }

.skip-link {
    position: absolute; left: var(--c-spacing-sm); top: var(--c-spacing-sm); z-index: 200;
    background: var(--c-secondary); color: var(--c-canvas); padding: 10px 16px;
    border-radius: var(--c-rounded-sm); font-weight: var(--c-weight-bold);
}
.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) {
    *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* shared section frame width */
.receptacle-lumineux-inner, .colonnade-robuste-inner, .autel-dore-inner,
.ciboire-voile-inner, .stalle-calme-inner, .ostensoir-robuste-inner,
.reliquaire-raffine-inner, .chasse-vaste-inner, .calice-fin-inner,
.enceinte-mince-inner, .bosquet-mince-inner, .colonnade-moderne-inner,
.page-media-inner {
    max-width: calc(var(--c-max-width) + 2 * var(--c-gutter-desktop));
    margin-inline: auto;
    padding-inline: var(--c-gutter-desktop);
    width: 100%;
}

/* ---------- header (HEAD-05) ---------- */
.stalle-vaste { background: var(--c-canvas); }
.stalle-vaste-bar {
    min-height: var(--c-header-h);
    display: flex; align-items: center; justify-content: space-between;
    max-width: 1440px; margin-inline: auto;
    padding-inline: var(--c-gutter-md);
}
.stalle-vaste-logo { flex-shrink: 0; display: inline-flex; }
.stalle-vaste-logo, .stalle-vaste-logo-img { flex-shrink: 0; }
.stalle-vaste-logo img, .stalle-vaste-logo-img { height: 80px; width: auto; }
.stalle-vaste-toggle {
    margin-left: auto !important;
    background: none; border: 1px solid var(--c-muted); color: var(--c-foreground);
    font-family: var(--c-font-text); font-weight: var(--c-weight-medium); font-size: var(--c-type-small);
    text-transform: uppercase; letter-spacing: var(--c-tracking-wide);
    padding: 10px 20px; border-radius: var(--c-rounded-sm); cursor: pointer;
    transition: color var(--c-transition-fast) var(--c-ease), border-color var(--c-transition-fast) var(--c-ease);
}
.stalle-vaste-toggle:hover { color: var(--c-secondary); border-color: var(--c-secondary); }

.stalle-vaste-drawer {
    display: none;
    position: fixed; inset: 0; z-index: 150;
    background: rgba(6,15,43,0.97);
}
.stalle-vaste-drawer.is-open { display: flex; }
.stalle-vaste-drawer-panel {
    margin: auto; width: 100%; max-width: 520px; padding: var(--c-gutter-2xl) var(--c-gutter-lg);
    display: flex; flex-direction: column; align-items: center; position: relative;
}
.stalle-vaste-drawer-close {
    position: absolute; top: var(--c-gutter-md); right: var(--c-gutter-md);
    background: none; border: none; color: var(--c-foreground); font-size: 40px;
    line-height: 1; cursor: pointer;
}
.stalle-vaste-drawer-close:hover { color: var(--c-secondary); }
.stalle-vaste-drawer-list { list-style: none; margin: 0; padding: 0; text-align: center; width: 100%; }
.stalle-vaste-drawer-item { margin: var(--c-spacing-sm) 0; }
.stalle-vaste-drawer-link {
    font-family: var(--c-heading-font); font-size: var(--c-text-h3); font-weight: var(--c-weight-bold);
    color: var(--c-foreground);
}
.stalle-vaste-drawer-link:hover { color: var(--c-secondary); }

/* ---------- hero (HERO-06) ---------- */
.receptacle-lumineux { position: relative; overflow: hidden; padding-block: var(--c-sec-y); }
.receptacle-lumineux-inner { position: relative; min-height: 560px; display: flex; align-items: center; }
.receptacle-lumineux-content {
    position: relative; z-index: 2; width: 55%; max-width: 640px;
}
.receptacle-lumineux-eyebrow {
    color: var(--c-secondary); text-transform: uppercase; letter-spacing: var(--c-tracking-wide);
    font-size: var(--c-type-small); font-weight: var(--c-weight-bold); margin-bottom: var(--c-spacing-sm);
    animation: heroIn var(--c-duration-base) var(--c-ease-spring) both;
}
.receptacle-lumineux-title {
    font-size: var(--c-type-h1); color: var(--c-foreground);
    animation: heroIn var(--c-duration-base) var(--c-ease-spring) both;
}
.receptacle-lumineux-subtitle {
    font-size: var(--c-type-h5); color: var(--c-muted); max-width: 480px;
    margin-bottom: var(--c-gutter-lg);
    animation: heroIn var(--c-duration-base) 150ms var(--c-ease-spring) both;
}
.receptacle-lumineux-cta {
    display: inline-block; background: var(--c-secondary); color: var(--c-canvas);
    font-weight: var(--c-weight-bold); padding: 14px 30px; border-radius: var(--c-corner);
    animation: heroIn var(--c-duration-base) 300ms var(--c-ease-spring) both;
    transition: transform var(--c-duration-base) var(--c-ease), box-shadow var(--c-duration-base) var(--c-ease), background var(--c-transition-fast);
}
.receptacle-lumineux-cta:hover { background: var(--c-accent-dark); color: var(--c-canvas); transform: scale(1.04); box-shadow: var(--c-elevation-2); }
.receptacle-lumineux-figure {
    position: absolute; right: 0; top: -40px; width: 55%; height: calc(100% + 80px);
    margin: 0; overflow: visible; transform: rotate(2deg); box-shadow: var(--c-elevation-3);
    border-radius: var(--c-round-lg); transition: transform var(--c-speed-slow) var(--c-ease);
}
.receptacle-lumineux-figure:hover { transform: rotate(0deg) scale(1.02); }
.receptacle-lumineux-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--c-round-lg); }
@keyframes heroIn { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: none; } }

/* ---------- page-header (PHEAD-04) ---------- */
.colonnade-robuste { padding-block: var(--c-sec-y); }
.colonnade-robuste-inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--c-gutter-2xl); align-items: start; }
.colonnade-robuste-left { display: block; }
.colonnade-robuste-eyebrow {
    color: var(--c-secondary); text-transform: uppercase; letter-spacing: var(--c-tracking-wide);
    font-size: var(--c-type-small); font-weight: var(--c-weight-bold); margin-bottom: var(--c-gutter-xs);
}
.colonnade-robuste-title { font-size: var(--c-type-h1); color: var(--c-foreground); margin: 0; }
.colonnade-robuste-desc { color: var(--c-muted); font-size: var(--c-type-h5); margin: 0; align-self: center; }

/* ---------- breadcrumbs (BREAD-04) ---------- */
.colonnade-moderne { padding-block: var(--c-gutter-md); }
.colonnade-moderne-inner { display: flex; align-items: center; flex-wrap: wrap; gap: var(--c-gutter-2xs); }
.colonnade-moderne-item { display: inline-flex; align-items: center; gap: var(--c-gutter-2xs);
    text-transform: uppercase; letter-spacing: var(--c-tracking-wide); font-size: var(--c-type-small); }
.colonnade-moderne-num { font-family: var(--c-heading-font); font-weight: var(--c-weight-bold); font-size: var(--c-fs-h6); color: var(--c-secondary); }
.colonnade-moderne-link { color: var(--c-muted); }
.colonnade-moderne-link:hover { color: var(--c-secondary); }
.colonnade-moderne-current { color: var(--c-foreground); }
.colonnade-moderne-sep { color: var(--c-muted); margin-inline: var(--c-spacing-sm); }

/* ---------- prose (PROSE-06 centered quiet) ---------- */
.reliquaire-raffine { padding-block: var(--c-sec-y); }
.reliquaire-raffine-inner { text-align: center; }
.reliquaire-raffine-inner > * { max-width: var(--c-prose-width); margin-inline: auto; }
.reliquaire-raffine-h2 { font-size: var(--c-text-h3); color: var(--c-foreground); margin-top: var(--c-gutter-2xl); margin-bottom: var(--c-spacing-sm); }
.reliquaire-raffine-h2:first-child { margin-top: 0; }
.reliquaire-raffine-p { font-size: var(--c-size-body); line-height: var(--c-leading-loose); color: var(--c-muted); }
.reliquaire-raffine-list { text-align: left; color: var(--c-muted); padding-left: var(--c-gutter-md); }
.reliquaire-raffine-list li { margin-bottom: var(--c-gutter-xs); }

/* ---------- items-grid (GRID-08 top-border accent) ---------- */
.autel-dore { padding-block: var(--c-sec-y); }
.autel-dore-head { font-size: var(--c-fs-h2); text-align: center; margin-bottom: var(--c-gutter-lg); }
.autel-dore-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--c-gutter-md); }
.autel-dore-card {
    background: var(--c-surface-raised); border-top: 4px solid var(--c-secondary);
    border-radius: 0 0 var(--c-corner) var(--c-corner); padding: var(--c-gutter-lg);
    box-shadow: var(--c-shadow-sm); transition: box-shadow var(--c-duration-base) var(--c-ease);
}
.autel-dore-card:hover { box-shadow: var(--c-elevation-2); }
.autel-dore-card-title { font-size: var(--c-size-h4); color: var(--c-foreground); }
.autel-dore-card-text { font-size: var(--c-size-body); color: var(--c-muted); margin: 0; }

/* ---------- reviews (REV-08 avatar-initials) ---------- */
.stalle-calme { padding-block: var(--c-sec-y); }
.stalle-calme-head { font-size: var(--c-fs-h2); text-align: center; margin-bottom: var(--c-gutter-lg); }
.stalle-calme-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--c-gutter-md); }
.stalle-calme-card { background: var(--c-surface-raised); border-radius: var(--c-round-lg); padding: var(--c-gutter-lg); box-shadow: var(--c-shadow-sm); }
.stalle-calme-top { display: flex; align-items: center; gap: var(--c-spacing-sm); margin-bottom: var(--c-spacing-sm); }
.stalle-calme-avatar {
    width: 48px; height: 48px; border-radius: var(--c-radius-circle); flex-shrink: 0;
    background: var(--c-secondary); color: var(--c-canvas);
    display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--c-heading-font); font-weight: var(--c-weight-bold); font-size: var(--c-type-h5);
}
.stalle-calme-meta { display: flex; flex-direction: column; }
.stalle-calme-author { font-weight: var(--c-weight-bold); color: var(--c-foreground); }
.stalle-calme-stars { color: var(--c-secondary); font-size: var(--c-type-small); letter-spacing: 2px; }
.stalle-calme-text { font-size: var(--c-size-body); color: var(--c-muted); margin: 0; }

/* ---------- faq (FAQ-04 side-numbered accordion) ---------- */
.ciboire-voile { padding-block: var(--c-sec-y); }
.ciboire-voile-head { font-size: var(--c-fs-h2); text-align: center; margin-bottom: var(--c-gutter-lg); }
.ciboire-voile-list { max-width: 900px; margin-inline: auto; }
.ciboire-voile-item { display: grid; grid-template-columns: 60px 1fr; align-items: start;
    border-bottom: 1px solid rgba(255,255,255,0.08); padding-block: var(--c-spacing-sm); }
.ciboire-voile-num { grid-column: 1; font-family: var(--c-heading-font); font-weight: var(--c-weight-bold);
    font-size: var(--c-text-h3); color: var(--c-secondary); align-self: start; }
.ciboire-voile-q {
    grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: var(--c-spacing-sm);
    background: none; border: none; width: 100%; text-align: left; cursor: pointer; padding: 0;
    color: var(--c-foreground); font-family: var(--c-heading-font); font-weight: var(--c-weight-bold); font-size: var(--c-type-h5);
}
.ciboire-voile-q-text { display: inline-block; }
.ciboire-voile-icon { color: var(--c-secondary); transition: transform var(--c-duration-base) var(--c-ease); }
.ciboire-voile-q[aria-expanded='true'] .ciboire-voile-icon { transform: rotate(180deg); }
.ciboire-voile-a {
    grid-column: 2; overflow: hidden; max-height: 0; opacity: 0;
    transition: max-height var(--c-duration-base) var(--c-ease), opacity var(--c-duration-base) var(--c-ease);
}
.ciboire-voile-a.is-open { max-height: 600px; opacity: 1; margin-top: var(--c-gutter-xs); }
.ciboire-voile-a-inner { color: var(--c-muted); font-size: var(--c-size-body); margin: 0; }

/* ---------- cta (CTA-07 vertical card decorative number) ---------- */
.ostensoir-robuste { padding-block: var(--c-sec-y); }
.ostensoir-robuste-card {
    max-width: 720px; margin-inline: auto; text-align: center;
    background: var(--c-canvas); border: 2px solid var(--c-secondary);
    border-radius: var(--c-round-lg); padding: var(--c-spacing-xl) var(--c-gutter-lg);
}
.ostensoir-robuste-num { display: block; font-family: var(--c-heading-font); font-weight: var(--c-weight-bold);
    font-size: var(--c-type-h1); color: var(--c-secondary); margin-bottom: var(--c-spacing-sm); }
.ostensoir-robuste-title { font-size: var(--c-fs-h2); color: var(--c-foreground); }
.ostensoir-robuste-text { color: var(--c-muted); }
.ostensoir-robuste-btn {
    display: inline-block; margin-top: var(--c-spacing-sm); background: var(--c-secondary); color: var(--c-canvas);
    font-weight: var(--c-weight-bold); padding: 14px 30px; border-radius: var(--c-corner);
    transition: background var(--c-transition-fast), transform var(--c-duration-base) var(--c-ease);
}
.ostensoir-robuste-btn:hover { background: var(--c-accent-dark); color: var(--c-canvas); transform: scale(1.04); }

/* ---------- data-table (TABLE-01) ---------- */
.chasse-vaste { padding-block: var(--c-sec-y); }
.chasse-vaste-wrap { overflow-x: auto; border-radius: var(--c-corner); }
.chasse-vaste-table { width: 100%; border-collapse: collapse; background: var(--c-surface-raised); min-width: 520px; }
.chasse-vaste-th {
    background: var(--c-brand); color: var(--c-canvas); text-align: left;
    font-family: var(--c-font-text); font-weight: var(--c-weight-medium); text-transform: uppercase;
    font-size: var(--c-fs-h6); letter-spacing: var(--c-tracking-wide); padding: var(--c-gutter-md);
}
.chasse-vaste-td { padding: var(--c-gutter-md); font-size: var(--c-size-body); color: var(--c-muted); }
.chasse-vaste-table tbody { display: table-row-group; }
.chasse-vaste-td:first-child { color: var(--c-foreground); font-weight: var(--c-weight-medium); }
.chasse-vaste-table tr:nth-child(even) .chasse-vaste-td { background: rgba(255,255,255,0.02); }
.chasse-vaste-table tbody tr:hover .chasse-vaste-td { background: rgba(255,255,255,0.05); transition: background var(--c-transition-fast); }

/* ---------- legal (LEGAL-07 magazine editorial) ---------- */
.calice-fin { padding-block: var(--c-sec-y); }
.calice-fin-body { max-width: var(--c-prose-width); margin-inline: auto; }
.calice-fin-eyebrow { font-size: var(--c-size-xs); text-transform: uppercase; letter-spacing: var(--c-tracking-wide); color: var(--c-secondary); }
.calice-fin-intro { font-size: var(--c-size-h4); font-style: italic; font-family: var(--c-heading-font); color: var(--c-foreground); line-height: var(--c-lh-base); }
.calice-fin-h3 { font-family: var(--c-heading-font); font-style: italic; font-size: var(--c-text-h3); color: var(--c-foreground); margin-top: var(--c-gutter-lg); }
.calice-fin-hr { width: 80px; height: 3px; border: none; background: var(--c-secondary); margin: var(--c-gutter-xs) 0 var(--c-gutter-md); }
.calice-fin-p { color: var(--c-muted); }
.calice-fin-p:first-of-type::first-letter { font-size: 3em; font-family: var(--c-heading-font); color: var(--c-secondary); float: left; line-height: 0.9; margin-right: 6px; }
.calice-fin-contacts { color: var(--c-muted); padding-left: var(--c-gutter-md); }
.calice-fin-contact-item { margin-bottom: var(--c-gutter-xs); }
.calice-fin-disclaimer { font-size: var(--c-type-small); color: var(--c-muted); border-top: 1px solid rgba(255,255,255,0.08); padding-top: var(--c-gutter-md); margin-top: var(--c-gutter-lg); }

/* ---------- contact-form (FORM-03) ---------- */
.enceinte-mince { padding-block: var(--c-spacing-xl); }
.enceinte-mince-intro { text-align: center; font-size: var(--c-size-body); color: var(--c-muted); max-width: 540px; margin: 0 auto var(--c-gutter-lg); }
.enceinte-mince-form { max-width: 540px; margin-inline: auto; display: flex; flex-direction: column; gap: var(--c-gutter-md); }
.enceinte-mince-field { display: flex; flex-direction: column; gap: var(--c-gutter-2xs); }
.enceinte-mince-label { font-size: var(--c-type-small); color: var(--c-foreground); font-weight: var(--c-weight-medium); }
.enceinte-mince-input, .enceinte-mince-textarea {
    width: 100%; background: var(--c-surface-raised); border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--c-corner); padding: 12px 14px; color: var(--c-foreground); font: inherit;
}
.enceinte-mince-input:focus, .enceinte-mince-textarea:focus { outline: 2px solid var(--c-secondary); border-color: var(--c-secondary); }
.enceinte-mince-textarea { resize: vertical; }
.enceinte-mince-submit { width: 100%; height: 52px; background: var(--c-secondary); color: var(--c-canvas); border: none; border-radius: var(--c-corner); font-weight: var(--c-weight-bold); font-size: var(--c-size-body); cursor: pointer; transition: background var(--c-transition-fast); }
.enceinte-mince-submit:hover { background: var(--c-accent-dark); color: var(--c-canvas); }
.enceinte-mince-success { text-align: center; color: var(--c-foreground); background: var(--c-surface-raised); border: 1px solid var(--c-secondary); border-radius: var(--c-corner); padding: var(--c-gutter-md); max-width: 540px; margin: var(--c-gutter-md) auto 0; }

/* ---------- author-card (AUTH-07 quote-style) ---------- */
.bosquet-mince { padding-block: var(--c-sec-y); }
.bosquet-mince-card {
    background: var(--c-surface-raised); border-left: 4px solid var(--c-secondary);
    border-radius: var(--c-corner); padding: var(--c-spacing-xl);
    display: grid; grid-template-columns: 100px 1fr; gap: var(--c-gutter-lg); align-items: start;
    max-width: 900px; margin-inline: auto;
}
.bosquet-mince-portrait { width: 100px; height: 100px; border-radius: var(--c-radius-circle); object-fit: cover; }
.bosquet-mince-body { display: flex; flex-direction: column; }
.bosquet-mince-quote-mark { font-family: var(--c-heading-font); font-size: var(--c-type-h1); color: var(--c-secondary); line-height: 0.6; }
.bosquet-mince-bio { font-style: italic; font-size: var(--c-type-h5); line-height: var(--c-lh-base); color: var(--c-foreground); margin: 0 0 var(--c-spacing-sm); }
.bosquet-mince-attr { font-size: var(--c-type-small); letter-spacing: var(--c-tracking-wide); color: var(--c-muted); margin: 0; }

/* ---------- author-byline (BYLINE-04 quote-style) ---------- */
.parure-large { padding-block: var(--c-spacing-xl); }
.parure-large-wrap { max-width: 600px; margin-inline: auto; text-align: center; }
.parure-large-quote { margin: 0; position: relative; }
.parure-large-quote::before { content: '\201C'; display: block; font-family: var(--c-heading-font); font-size: var(--c-type-h1); color: var(--c-secondary); line-height: 0.6; }
.parure-large-quote-text { font-size: var(--c-size-h4); font-style: italic; font-family: var(--c-heading-font); color: var(--c-foreground); }
.parure-large-attribution { display: inline-flex; align-items: center; justify-content: center; gap: var(--c-gutter-xs); flex-wrap: wrap; }
.parure-large-portrait { width: 32px; height: 32px; border-radius: var(--c-radius-circle); object-fit: cover; }
.parure-large-name a { color: var(--c-secondary); font-weight: var(--c-weight-bold); }
.parure-large-role { font-size: var(--c-type-small); font-style: italic; color: var(--c-muted); }

/* ---------- page media figures ---------- */
.page-media { padding-block: var(--c-sec-y); }
.page-media-inner { display: flex; flex-wrap: wrap; gap: var(--c-gutter-md); justify-content: center; }
.page-media-fig { margin: 0; flex: 1 1 320px; max-width: 640px; }
.page-media-fig img { width: 100%; border-radius: var(--c-round-lg); box-shadow: var(--c-elevation-2); }

/* ---------- error (ERR-03) ---------- */
.niche-fluide { padding-block: var(--c-sec-y); }
.niche-fluide-box { max-width: 600px; margin-inline: auto; text-align: center; padding-inline: var(--c-gutter-md); }
.niche-fluide-title { font-size: var(--c-fs-h2); color: var(--c-foreground); }
.niche-fluide-text { font-size: var(--c-size-body); line-height: var(--c-leading-loose); color: var(--c-muted); }
.niche-fluide-btn { display: inline-block; height: 44px; line-height: 44px; padding-inline: var(--c-gutter-lg); background: var(--c-secondary); color: var(--c-canvas); border-radius: var(--c-corner); font-weight: var(--c-weight-bold); }
.niche-fluide-btn:hover { background: var(--c-accent-dark); color: var(--c-canvas); }

/* ---------- footer (FOOT-04 sticky mini) ---------- */
.sentinelle-classique { position: sticky; bottom: 0; background: rgba(6,15,43,0.95); backdrop-filter: blur(8px); border-top: 1px solid rgba(255,255,255,0.08); z-index: 90; }
.sentinelle-classique-bar {
    min-height: 64px; max-width: calc(var(--c-max-width) + 2 * var(--c-gutter-desktop));
    margin-inline: auto; padding-inline: var(--c-gutter-desktop);
    display: flex; align-items: center; justify-content: space-between; gap: var(--c-gutter-md); flex-wrap: wrap;
}
.sentinelle-classique-copy { font-size: var(--c-size-xs); color: var(--c-muted); }
.sentinelle-classique-nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--c-spacing-sm); }
.sentinelle-classique-link {
    font-size: var(--c-size-xs); text-transform: uppercase; letter-spacing: var(--c-tracking-wide);
    color: var(--c-muted); padding-left: var(--c-spacing-sm); border-left: 1px solid rgba(255,255,255,0.15);
}
.sentinelle-classique-nav .sentinelle-classique-link:first-child { border-left: none; padding-left: 0; }
.sentinelle-classique-link:hover { color: var(--c-foreground); }

/* ---------- cookie (COOK-06) ---------- */
.autel-austere { position: fixed; left: 0; right: 0; bottom: 0; z-index: 120; background: var(--c-surface-raised); border-top: 1px solid var(--c-secondary); box-shadow: var(--c-elevation-3); }
.autel-austere-bar { max-width: 1100px; margin-inline: auto; padding: 16px var(--c-gutter-md); display: flex; align-items: center; gap: var(--c-gutter-md); flex-wrap: wrap; }
.autel-austere-msg { flex: 1 1 320px; font-size: var(--c-type-small); color: var(--c-muted); margin: 0; }
.autel-austere-actions { display: flex; align-items: center; gap: var(--c-spacing-sm); flex-wrap: wrap; }
.autel-austere-custom { font-size: var(--c-type-small); color: var(--c-secondary); align-self: center; }
.autel-austere-custom:hover { color: var(--c-accent-dark); }
.autel-austere-decline {
    background: var(--c-canvas); color: var(--c-foreground); border: 1px solid var(--c-muted);
    padding: 10px 18px; border-radius: var(--c-corner); cursor: pointer; font: inherit; font-size: var(--c-type-small);
}
.autel-austere-decline:hover { background: var(--c-canvas); color: var(--c-secondary); border-color: var(--c-secondary); }
.autel-austere-accept {
    background: var(--c-secondary); color: var(--c-canvas); border: none;
    padding: 10px 20px; border-radius: var(--c-corner); cursor: pointer; font: inherit; font-weight: var(--c-weight-bold); font-size: var(--c-type-small);
}
.autel-austere-accept:hover { background: var(--c-accent-dark); color: var(--c-canvas); }

/* ---------- mobile ---------- */
@media (max-width: 880px) {
    :root {
        --c-type-h1: 28px; --c-fs-h2: 24px; --c-text-h3: 20px; --c-size-h4: 18px;
        --c-type-h5: 16px; --c-fs-h6: 14px; --c-size-body: 16px; --c-type-small: 14px; --c-size-xs: 12px;
        --c-header-h: 76px;
    }
    .stalle-vaste-logo img, .stalle-vaste-logo-img { height: 56px; }
    .receptacle-lumineux-inner { flex-direction: column; min-height: 0; gap: var(--c-gutter-lg); }
    .receptacle-lumineux-content { width: 100%; }
    .receptacle-lumineux-figure { position: relative; right: auto; top: 0; width: 100%; height: 260px; transform: none; margin-top: var(--c-gutter-lg); }
    .colonnade-robuste-inner { grid-template-columns: 1fr; gap: var(--c-gutter-md); }
    .autel-dore-grid, .stalle-calme-grid { grid-template-columns: 1fr; }
    .bosquet-mince-card { grid-template-columns: 1fr; }
    .bosquet-mince-portrait { margin-inline: auto; }
}
@media (min-width: 881px) and (max-width: 1120px) {
    .autel-dore-grid, .stalle-calme-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
    .sentinelle-classique-bar { flex-direction: column; align-items: flex-start; gap: var(--c-gutter-xs); min-height: 80px; }
    .autel-austere, .autel-austere-bar { padding: 12px 14px !important; gap: 8px !important; font-size: 13px !important; line-height: 1.35 !important; }
    .autel-austere-accept, .autel-austere-decline { padding: 8px 14px !important; font-size: 12px !important; min-height: 36px !important; }
    .autel-austere-actions { width: 100%; }
    .autel-austere-accept, .autel-austere-decline { flex: 1 1 auto; }
}

/* fix: кнопка бургера выходила за экран */
@media (max-width: 480px){
  .stalle-vaste-toggle{flex-shrink:0 !important;}
  .stalle-vaste-bar{padding-left:12px !important;padding-right:12px !important;gap:8px !important;min-width:0 !important;}
  .stalle-vaste-logo-img{max-width:48vw !important;height:auto !important;}
}
