/* Collec — thème VIDÉO-CLUB (spec : docs/specs/2026-07-10-theme-videoclub-design.md)
   Toutes les couleurs du site se définissent ICI et uniquement ici.
   Les anciens noms grenier (--amber, --cream, --bg2…) sont conservés comme
   alias tant que la phase C n'a pas nettoyé les templates. Dark only. */

:root, [data-theme="dark"], [data-theme="light"] {
    /* fonds — nuit bleue */
    --bg-primary: #0a0a14;   --bg: #0a0a14;
    --bg-secondary: #0e0e1c; --bg2: #0e0e1c;
    --bg-card: #14142a;      --bg3: #14142a;
    --bg-lift: #1a1a36;
    /* textes */
    --text-primary: #f0ede4;   --cream: #f0ede4;
    --text-secondary: #8b8ba8; --cream-dim: #8b8ba8;
    --cream-faint: #55557a;
    /* néon rose : actions, titres */
    --accent: #ff2d78;       --amber: #ff2d78;
    --accent-hover: #ff5c96; --amber-hover: #ff5c96;
    --accent-soft: rgba(255, 45, 120, 0.14);
    --amber-dk: #8a1a44;     --amber-dim: #8a1a44;
    /* néon cyan : liens, info */
    --accent-2: #22d3ee;
    --accent-2-soft: rgba(34, 211, 238, 0.12);
    --rust: #0e7490;
    /* étiquette jaune : wishlist / RÉSERVÉ */
    --label: #f5d442;
    /* bordures + sémantiques */
    --border: #26264a;
    --border-strong: #42427a;
    --green: #3ddc97;
    --blue: #22d3ee;
    --success: #3ddc97;
    --warning: #f5d442;
    --danger: #ff2d78;
    /* typo */
    --font-display: 'Bebas Neue', 'Arial Narrow', sans-serif;
    --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: ui-monospace, 'SF Mono', Menlo, monospace;
}

/* Base typographique — les templates surchargent encore pendant la migration,
   ces règles gagnent au fur et à mesure que la phase C retire les styles locaux. */
body {
    font-family: var(--font-body);
}
h1, h2, h3 {
    font-family: var(--font-display);
    font-weight: 400;
    letter-spacing: 0.08em;
}

/* Écran « PAS DE SIGNAL » — états vides et aucun-résultat (phase C) */
.nosignal {
    position: relative;
    background: #0716a8;
    padding: 2.6rem 1.5rem;
    text-align: center;
    overflow: hidden;
    border-radius: 6px;
}
.nosignal::after {
    content: '';
    position: absolute; inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0, 0, 0, 0.16) 3px, rgba(0, 0, 0, 0.16) 5px);
    pointer-events: none;
}
.nosignal-title {
    font-family: var(--font-mono);
    font-size: clamp(1.1rem, 3.5vw, 1.6rem);
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.3em;
    text-shadow: 2px 0 0 rgba(255, 45, 120, 0.7), -2px 0 0 rgba(34, 211, 238, 0.7);
}
.nosignal-sub {
    font-family: var(--font-mono);
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 0.7rem;
}

/* Étiquettes de statut — vocabulaire du club (phase C) */
.tag-rayon, .tag-location, .tag-reserve {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 0.2rem 0.55rem;
    border-radius: 3px;
    display: inline-block;
}
.tag-rayon    { background: rgba(10, 10, 20, 0.85); color: var(--accent-2); border: 1px solid var(--accent-2); }
.tag-location { background: var(--accent); color: #fff; box-shadow: 0 0 12px rgba(255, 45, 120, 0.5); }
.tag-reserve  { background: var(--label); color: var(--bg-primary); }
