/* Deux surfaces givrées ; la lentille reste dans la capsule des quatre accès. */
.sp-navigation-menu { border-radius:32px; }
.sp-bottom-selector { display:none; pointer-events:none; position:absolute; left:0; top:0; z-index:4; transform-origin:0 0; border-radius:25px; }
.sp-bottom-selector-glass { display:block; width:100%; height:100%; border-radius:inherit; position:relative; }
.sp-bottom-selector-clip { position:absolute; inset:0; border-radius:inherit; overflow:hidden; contain:paint; }
.sp-bottom-tint { position:absolute; left:0; top:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:5px; transform-origin:0 0; }
.sp-bottom-selector-reflection { position:absolute; inset:1px; border-radius:24px; overflow:hidden; pointer-events:none; }
.sp-bottom-selector-sheen { position:absolute; inset:-8px -20px; background:linear-gradient(112deg,transparent 22%,rgba(255,255,255,.23) 35%,rgba(255,255,255,.025) 48%,transparent 65%); opacity:.45; }
@media(max-width:1099px), (hover:none) and (pointer:coarse) {
    :root {
        --sp-bottom-bar-height:60px;
        --sp-bottom-bar-bottom:calc(14px + env(safe-area-inset-bottom));
        --sp-bottom-bar-clearance:calc(var(--sp-bottom-bar-height) + var(--sp-bottom-bar-bottom) + 10px);
    }
    body { padding-bottom:calc(var(--sp-bottom-bar-clearance) + 20px); }
    .sp-bottom-nav {
        display:grid; grid-template-columns:minmax(0,1fr) 60px; gap:8px; align-items:center;
        position:fixed; left:12px; right:12px; bottom:var(--sp-bottom-bar-bottom); z-index:111;
        padding:0; height:60px; min-height:60px; max-width:332px; margin-inline:auto;
        border:0; border-radius:0; isolation:isolate; background:transparent; box-shadow:none;
        backdrop-filter:none; -webkit-backdrop-filter:none;
        --sp-bottom-nav-suspended:0;
        opacity:0; visibility:hidden; pointer-events:none;
        transform:translate3d(0,24px,0) scale(.96);
        transition:opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1),visibility 0s .32s;
    }
    [data-theme=dark] .sp-bottom-nav { background:transparent; border:0; box-shadow:none; }
    .sp-bottom-nav.sp-bottom-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translate3d(0,0,0) scale(1); transition-delay:0s; }
    .sp-bottom-primary,.sp-bottom-nav>a[data-sp-view=detector] {
        position:relative; height:60px; border:0; border-radius:30px;
        background:transparent; box-shadow:0 9px 25px rgba(25,32,53,.16),0 2px 5px rgba(25,32,53,.07); backdrop-filter:none; -webkit-backdrop-filter:none;
    }
    .sp-bottom-primary::before,.sp-bottom-nav>a[data-sp-view=detector]::before {
        content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
        border:1px solid rgba(255,255,255,.76); border-radius:inherit;
        background:linear-gradient(165deg,rgba(255,255,255,.38),rgba(255,255,255,.06) 44%,rgba(196,205,225,.18)),rgba(241,244,251,.34);
        box-shadow:inset 0 2px 2px rgba(255,255,255,.58),inset 0 -2px 3px rgba(107,124,153,.16);
        backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
    }
    .sp-bottom-primary::after,.sp-bottom-nav>a[data-sp-view=detector]::after {
        content:""; position:absolute; inset:2px; z-index:1; border-radius:inherit; pointer-events:none;
        border-top:1px solid rgba(255,255,255,.48); border-bottom:1px solid rgba(255,255,255,.32);
        background:radial-gradient(ellipse at 12% 0%,rgba(255,255,255,.28),transparent 48%),radial-gradient(ellipse at 90% 100%,rgba(255,187,209,.1),transparent 52%);
    }
    .sp-bottom-primary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); min-width:0; padding:5px; overflow:hidden; touch-action:pan-y; user-select:none; -webkit-user-select:none; }
    .sp-selector-dragging .sp-bottom-primary { cursor:grabbing; }
    [data-theme=dark] .sp-bottom-primary::before,[data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector]::before {
        background:linear-gradient(165deg,rgba(169,183,215,.12),rgba(255,255,255,.025) 45%,rgba(10,15,29,.12)),rgba(31,36,49,.52); border-color:rgba(214,225,250,.26);
        box-shadow:inset 0 2px 2px rgba(231,240,255,.16),inset 0 -2px 3px rgba(0,0,0,.28);
    }
    [data-theme=dark] .sp-bottom-primary,[data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector] { box-shadow:0 9px 25px #0005,0 2px 5px #0003; }
    [data-theme=dark] .sp-bottom-primary::after,[data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector]::after { border-top-color:#e6efff25; border-bottom-color:#afc8ff16; background:radial-gradient(ellipse at 12% 0%,#d7e5ff16,transparent 48%),radial-gradient(ellipse at 90% 100%,#ff86b009,transparent 52%); }
    /* Rouge renforcé ; le flou et les couches de verre restent translucides. */
    .sp-bottom-nav>a[data-sp-view=detector]::before {
        background:linear-gradient(165deg,rgba(248,42,81,.38),rgba(220,43,79,.06) 44%,rgba(189,9,51,.18)),rgba(203,12,62,.68);
    }
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector]::before {
        background:linear-gradient(165deg,rgba(248,42,81,.12),rgba(220,43,79,.025) 45%,rgba(189,9,51,.12)),rgba(203,12,62,.76);
    }
    .sp-bottom-nav :is(a,button,.sp-bottom-tint-item) {
        display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0;
        color:#5e6369; text-decoration:none; position:relative; z-index:auto;
        min-height:50px; height:50px; padding:3px 0; gap:3px; border-radius:25px;
        border:0; font-family:inherit; font-weight:500; background:transparent; -webkit-tap-highlight-color:transparent;
        -webkit-user-drag:none;
    }
    [data-theme=dark] .sp-bottom-nav :is(a,button) { color:#bdc1ca; }
    .sp-bottom-more { cursor:pointer; }
    .sp-bottom-nav a[aria-current=page] { background:transparent; }
    .sp-bottom-nav .sp-bottom-primary>a[aria-current=page] { color:#5e6369; }
    [data-theme=dark] .sp-bottom-nav .sp-bottom-primary>a[aria-current=page] { color:#bdc1ca; }
    .sp-bottom-nav .sp-bottom-tint-item,.sp-bottom-nav>a[aria-current=page] { color:#b51240; }
    [data-theme=dark] .sp-bottom-nav .sp-bottom-tint-item,[data-theme=dark] .sp-bottom-nav>a[aria-current=page] { color:#ff91ae; }
    .sp-bottom-tint-item>svg,.sp-bottom-nav>a[aria-current=page] .sp-bottom-detector-mark { color:#e81d53; }
    [data-theme=dark] .sp-bottom-tint-item>svg,[data-theme=dark] .sp-bottom-nav>a[aria-current=page] .sp-bottom-detector-mark { color:#ff5c87; }
    .sp-bottom-nav .sp-nav-pro { display:none; }
    .sp-bottom-nav .sp-nav-label { position:relative; z-index:3; font-size:clamp(8px,2.25vw,9px); line-height:1.15; white-space:nowrap; }
    .sp-bottom-nav :is(a,button,.sp-bottom-tint-item)>svg { position:relative; z-index:3; width:24px; height:24px; stroke:none; }
    .sp-bottom-nav>a[data-sp-view=detector] { min-height:60px; padding:0; }
    .sp-bottom-detector-mark { position:relative; z-index:3; display:grid; place-items:center; width:26px; height:26px; flex:none; color:inherit; }
    .sp-bottom-nav .sp-bottom-detector-mark svg { width:26px; height:26px; }
    .sp-bottom-nav>a[data-sp-view=detector],
    .sp-bottom-nav>a[data-sp-view=detector][aria-current=page] { color:#fff5f7; }
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector],
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector][aria-current=page] { color:#fff5f7; }
    .sp-bottom-nav>a[data-sp-view=detector] .sp-bottom-detector-mark,
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector] .sp-bottom-detector-mark { color:#fff5f7; }
    .sp-bottom-nav .sp-bottom-detector-mark svg { stroke:rgba(101,17,41,.24); stroke-width:.65; }
    .sp-bottom-nav .sp-bottom-primary>:is(a,button)[data-sp-contrast],
    [data-theme=dark] .sp-bottom-nav .sp-bottom-primary>:is(a,button)[data-sp-contrast] { color:#202837; }
    .sp-bottom-nav .sp-bottom-primary>:is(a,button)[data-sp-contrast=light],
    [data-theme=dark] .sp-bottom-nav .sp-bottom-primary>:is(a,button)[data-sp-contrast=light] { color:#edf0f6; }
    .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast],
    [data-theme=dark] .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast] { color:#9e1039; }
    .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast]>svg,
    [data-theme=dark] .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast]>svg { color:#d10d45; }
    .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast=light],
    [data-theme=dark] .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast=light] { color:#fff0f5; }
    .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast=light]>svg,
    [data-theme=dark] .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast=light]>svg { color:#ffbfd3; }
    .sp-bottom-nav>a[data-sp-view=detector][data-sp-contrast],
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector][data-sp-contrast] { color:#fff5f7; }
    .sp-bottom-nav>a[data-sp-view=detector][data-sp-contrast=light],
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector][data-sp-contrast=light] { color:#fff5f7; }
    .sp-bottom-nav :is(a,button,.sp-bottom-tint-item),.sp-bottom-tint-item>svg { transition:color .6s linear; }
    .sp-bottom-selector { display:block; opacity:0; transition:opacity .15s ease; }
    .sp-selector-ready .sp-bottom-selector { opacity:1; }
    .sp-bottom-selector-glass {
        background:radial-gradient(ellipse at 25% 0%,rgba(255,255,255,.32),transparent 60%),linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.03) 50%,rgba(112,128,153,.08)),rgba(139,151,174,.28);
        border:.75px solid rgba(255,255,255,.46);
        box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 1px rgba(90,112,149,.1),0 1px 3px rgba(31,39,52,.05);
    }
    .sp-bottom-selector-glass::before,.sp-bottom-selector-glass::after { content:""; position:absolute; pointer-events:none; border-radius:inherit; }
    .sp-bottom-selector-glass::before { inset:1px 2px; border-top:1px solid rgba(255,255,255,.35); background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 42%); }
    .sp-bottom-selector-glass::after { inset:2px 4px; border-bottom:1px solid rgba(255,255,255,.24); }
    [data-theme=dark] .sp-bottom-selector-glass { background:radial-gradient(ellipse at 25% 0%,#e2edff1c,transparent 60%),linear-gradient(145deg,#c1d5ff0e,transparent 50%,#a2baff08),rgba(155,176,212,.18); border-color:rgba(224,235,255,.22); box-shadow:inset 0 1px 0 #ffffff14,inset 0 -1px 1px #0002,0 1px 3px #0002; }
    [data-theme=dark] .sp-bottom-selector-glass::before { border-top-color:#e8f1ff3d; background:linear-gradient(135deg,#ffffff0e,transparent 42%); }
    [data-theme=dark] .sp-bottom-selector-glass::after { border-bottom-color:#d8e7ff24; }
    [data-theme=dark] .sp-bottom-selector-sheen { opacity:.28; }
    .sp-bottom-nav :is(a,button):focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
    .bottom-filter-sheet { bottom:calc(var(--sp-bottom-bar-clearance) + 8px); max-height:calc(100dvh - var(--sp-bottom-bar-clearance) - 93px); }
    .back-to-top { bottom:calc(var(--sp-bottom-bar-clearance) + 8px); }
    body[data-view=detector] .sp-bottom-nav { bottom:calc(68px + env(safe-area-inset-bottom)); }
    body[data-view=detector]:has(.detector-keyboard-dock:not(.is-collapsed)) .sp-bottom-nav,
    body:has(#keyboardModal.is-visible) .sp-bottom-nav { --sp-bottom-nav-suspended:1; }
    body[data-view=detector] .detector-keyboard-dock.is-collapsed .detector-dock-tip { bottom:calc(100% + var(--sp-bottom-bar-height) + 32px + env(safe-area-inset-bottom)); }
    body[data-view=detector] .detector-keyboard-dock.is-collapsed .detector-dock-tip::after { display:none; }
}
@media(prefers-reduced-transparency:reduce) {
    .sp-bottom-primary::before,.sp-bottom-nav>a[data-sp-view=detector]::before { background:#f1f2f4; backdrop-filter:none; -webkit-backdrop-filter:none; }
    [data-theme=dark] .sp-bottom-primary::before,[data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector]::before { background:#292c33; }
    .sp-bottom-selector-glass { background:transparent; border:2px solid #b9c7dd; backdrop-filter:none; -webkit-backdrop-filter:none; }
    [data-theme=dark] .sp-bottom-selector-glass { background:transparent; border-color:#8ca0bc; }
    .sp-bottom-selector-glass::before,.sp-bottom-selector-glass::after { display:none; }
    .sp-bottom-primary::after,.sp-bottom-nav>a[data-sp-view=detector]::after,.sp-bottom-selector-reflection { display:none; }
}
@media(prefers-reduced-motion:reduce) { .sp-bottom-nav,.sp-bottom-nav :is(a,button,.sp-bottom-tint-item),.sp-bottom-nav :is(svg,.sp-nav-label),.sp-bottom-selector { transition:none; } }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .sp-bottom-primary::before,.sp-bottom-nav>a[data-sp-view=detector]::before { background:#eef0f7; }
    [data-theme=dark] .sp-bottom-primary::before,[data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector]::before { background:#252b39; }
}
@media(prefers-reduced-transparency:reduce) { .sp-bottom-nav>a[data-sp-view=detector]::before,[data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector]::before { background:#cb0c3e; } }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .sp-bottom-nav>a[data-sp-view=detector]::before,[data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector]::before { background:#cb0c3e; } }
@media(forced-colors:active) {
    .sp-bottom-primary::before,.sp-bottom-nav>a[data-sp-view=detector]::before { background:Canvas; border-color:CanvasText; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
    .sp-bottom-selector-glass { background:transparent; border:2px solid Highlight; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
    .sp-bottom-selector-glass::before,.sp-bottom-selector-glass::after { display:none; }
    .sp-bottom-primary::after,.sp-bottom-nav>a[data-sp-view=detector]::after,.sp-bottom-selector-reflection { display:none; }
    .sp-bottom-nav .sp-bottom-tint-item,.sp-bottom-tint-item>svg,.sp-bottom-nav>a[aria-current=page],.sp-bottom-nav>a[aria-current=page] .sp-bottom-detector-mark { color:Highlight; }
    .sp-bottom-nav .sp-bottom-primary>:is(a,button),.sp-bottom-nav .sp-bottom-primary>a[aria-current=page] { color:LinkText; }
    .sp-bottom-nav>a[data-sp-view=detector],
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector] { color:LinkText; }
    .sp-bottom-nav>a[data-sp-view=detector][aria-current=page],
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector][aria-current=page],
    .sp-bottom-nav>a[data-sp-view=detector] .sp-bottom-detector-mark,
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector] .sp-bottom-detector-mark { color:Highlight; }
    .sp-bottom-nav .sp-bottom-detector-mark svg { stroke:none; }
    .sp-bottom-nav [data-sp-contrast] { forced-color-adjust:auto; }
    .sp-bottom-nav .sp-bottom-primary>:is(a,button)[data-sp-contrast],
    [data-theme=dark] .sp-bottom-nav .sp-bottom-primary>:is(a,button)[data-sp-contrast] { color:LinkText; }
    .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast],
    [data-theme=dark] .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast],
    .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast]>svg,
    [data-theme=dark] .sp-bottom-nav .sp-bottom-tint-item[data-sp-contrast]>svg,
    .sp-bottom-nav>a[data-sp-view=detector][data-sp-contrast],
    [data-theme=dark] .sp-bottom-nav>a[data-sp-view=detector][data-sp-contrast] { color:Highlight; }
    .sp-bottom-nav .sp-bottom-primary :is(svg,.sp-nav-label) { filter:none; transition:none; }
}
