/* ==========================================================================
   Mentions du site : page mentions.html, bandeau cookies, bouton visiteur
   ========================================================================== */

/* ---------- Page ---------- */
.legal-main { max-width: 900px; }
.legal-title {
    margin: var(--nw-sp-2) 0 var(--nw-sp-2);
    font-family: var(--nw-font-display);
    font-size: clamp(32px, 5vw, 48px);
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.05;
}
.legal-updated { margin: 0 0 var(--nw-sp-6); font-family: var(--nw-font-mono); font-size: 12px; color: var(--nw-text-faint); }

.legal-tabs { flex-wrap: wrap; margin-bottom: var(--nw-sp-6); }
.legal-tabs .nw-tab { text-decoration: none; }

.legal-doc {
    padding: var(--nw-sp-6);
    background: var(--nw-glass);
    border: 1px solid var(--nw-border-soft);
    border-radius: var(--nw-radius-lg);
    color: var(--nw-text-dim);
    font-size: 15px;
    line-height: 1.7;
}
.legal-doc h2 {
    margin: 0 0 var(--nw-sp-4);
    font-family: var(--nw-font-display);
    font-size: 26px;
    font-weight: 800;
    color: var(--nw-text);
}
.legal-doc h3 {
    margin: var(--nw-sp-6) 0 var(--nw-sp-2);
    font-family: var(--nw-font-display);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--nw-primary-light);
}
.legal-doc p { margin: 0 0 var(--nw-sp-3); }
.legal-doc ul { margin: 0 0 var(--nw-sp-3); padding-left: 1.2em; }
.legal-doc li { margin-bottom: var(--nw-sp-1); }
.legal-doc b { color: var(--nw-text); }
.legal-doc a { color: var(--nw-primary-light); }
.legal-doc code {
    padding: 1px 6px;
    font-family: var(--nw-font-mono);
    font-size: 12.5px;
    color: var(--nw-text);
    background: var(--nw-bg-elev-2);
    border-radius: var(--nw-radius-xs);
}
.legal-todo {
    padding: 1px 6px;
    color: #1a0f00;
    background: var(--nw-warning);
    border-radius: var(--nw-radius-xs);
}

.legal-table-wrap { margin: var(--nw-sp-3) 0 var(--nw-sp-4); overflow-x: auto; border: 1px solid var(--nw-border-soft); border-radius: var(--nw-radius); }
.legal-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.legal-table th, .legal-table td { padding: 10px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--nw-border-soft); }
.legal-table tr:last-child td { border-bottom: 0; }
.legal-table th {
    font-family: var(--nw-font-display);
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--nw-text);
    background: var(--nw-bg-elev);
}

@media (max-width: 600px) {
    .legal-doc { padding: var(--nw-sp-4); font-size: 14.5px; }
    .legal-tabs { display: flex; }
    .legal-tabs .nw-tab { flex: 1 1 auto; padding: 9px 12px; text-align: center; }
}

/* ---------- Bandeau cookies ---------- */
.legal-cookie {
    position: fixed;
    left: 50%;
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 9000;
    display: flex;
    align-items: center;
    gap: var(--nw-sp-4);
    width: min(720px, calc(100% - 32px));
    padding: var(--nw-sp-4) var(--nw-sp-5);
    background: var(--nw-glass-strong);
    backdrop-filter: blur(var(--nw-blur));
    -webkit-backdrop-filter: blur(var(--nw-blur));
    border: 1px solid var(--nw-border-strong);
    border-radius: var(--nw-radius-lg);
    box-shadow: var(--nw-shadow-lg), var(--nw-inset);
    transform: translateX(-50%);
    animation: legal-cookie-in .45s var(--nw-ease) both;
}
.legal-cookie.is-leaving { animation: legal-cookie-out .3s var(--nw-ease) forwards; }
.legal-cookie-text { flex: 1; min-width: 0; }
.legal-cookie-text strong { display: block; font-family: var(--nw-font-display); font-size: 14px; color: var(--nw-text); }
.legal-cookie-text p { margin: 2px 0 0; font-size: 13px; line-height: 1.5; color: var(--nw-text-dim); }
.legal-cookie-actions { display: flex; gap: var(--nw-sp-2); flex: none; }

@keyframes legal-cookie-in { from { opacity: 0; transform: translate(-50%, 20px); } }
@keyframes legal-cookie-out { to { opacity: 0; transform: translate(-50%, 20px); } }

@media (max-width: 600px) {
    .legal-cookie { flex-direction: column; align-items: stretch; }
    .legal-cookie-actions .nw-btn { flex: 1; justify-content: center; }
}

/* ---------- Bouton visiteur ---------- */
.legal-guest { text-decoration: none; }
.legal-guest svg { width: 14px; height: 14px; }

.legal-guest--floating {
    position: fixed;
    left: 16px;
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 80;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    font-family: var(--nw-font-mono);
    font-size: 11px;
    color: var(--nw-text-dim);
    background: var(--nw-glass-strong);
    backdrop-filter: blur(var(--nw-blur));
    -webkit-backdrop-filter: blur(var(--nw-blur));
    border: 1px solid var(--nw-border-soft);
    border-radius: var(--nw-radius-pill);
    transition: color var(--nw-fast) var(--nw-ease), border-color var(--nw-fast) var(--nw-ease);
}
.legal-guest--floating:hover { color: var(--nw-text); border-color: var(--nw-border-strong); }

@media (prefers-reduced-motion: reduce) {
    .legal-cookie, .legal-cookie.is-leaving { animation: none; }
}
