/* ═══════════════════════════════════════════════════════════════════════════
   UN SEUL APLAT PLEIN = LE FOCUS  (recette LG simulateur du 11/10/2026, C-7)
   Chargée EN DERNIER : fait autorité sur les feuilles précédentes.

   Règle du projet : un seul aplat d'accent à l'écran, celui de l'élément
   focalisé. L'élément « choisi », « principal » ou « mémorisé » mais NON
   focalisé se signale par un trait, un contour ou la couleur du texte.
   Quatre écrans enfreignaient la règle :
     (a) accueil, sidebar ouverte : la tuile mémorisée gardait son aplat ;
     (b) écran sans playlist : « Actualiser » rouge, « Voir la démo »
         focalisé sans indicateur ;
     (c) boîte Quitter : « Quitter » rouge pendant que « Rester » a le focus ;
     (d) boîte Nouvelle playlist : type choisi ET « Enregistrer » rouges.
   Jetons de thème uniquement (--rsk-accent, --rsk-accent-rgb, --rsk-surface,
   --rsk-text) ; les fonds de boîte restent sombres dans les 7 thèmes, d'où le
   texte blanc dans les boîtes.
   M56 : pas de :focus-within, pas de gap ; :not() à sélecteur simple chaîné.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── (a) Accueil : sidebar focalisée -> la position mémorisée du hub ───────
   `dv-memo` est posé sur #dash-v2 par app.js (écouteur focusin) quand le focus
   natif est dans #sidebar-v2. */
#section-dashboard #dash-v2.dv-memo .dv-tile.dv-focused {
  background: var(--rsk-surface) !important;
  -webkit-box-shadow: inset 0 -4px 0 var(--rsk-accent) !important;
  box-shadow: inset 0 -4px 0 var(--rsk-accent) !important;
}
#section-dashboard #dash-v2.dv-memo .dv-tile.dv-focused b,
#section-dashboard #dash-v2.dv-memo .dv-tile.dv-focused small { color: var(--rsk-text) !important; }
#section-dashboard #dash-v2.dv-memo .dv-tile.dv-focused .dv-tic { color: var(--rsk-accent) !important; }
#section-dashboard #dash-v2.dv-memo .dv-card.dv-focused,
#section-dashboard #dash-v2.dv-memo .dv-poster.dv-focused,
#section-dashboard #dash-v2.dv-memo .dv-hero-x.dv-focused,
#section-dashboard #dash-v2.dv-memo .dv-hero.dv-focused {
  -webkit-box-shadow: 0 0 0 2px rgba(var(--rsk-accent-rgb), 0.45) !important;
  box-shadow: 0 0 0 2px rgba(var(--rsk-accent-rgb), 0.45) !important;
}
#section-dashboard #dash-v2.dv-memo .dv-hero.dv-focused .dv-cta {
  background: var(--rsk-surface-2) !important;
  color: var(--rsk-text) !important;
}
#section-dashboard #dash-v2.dv-memo .dv-hero.dv-focused .dv-cta .dv-cta-ic { color: var(--rsk-accent) !important; }

/* ── (b) Écran « sans playlist » (#npl-screen, construit par app.js) ─────── */
/* Le bloc d'en-tête portait 50 px de marge haute et basse en style en ligne. */
#npl-screen > div { padding-top: 24px !important; padding-bottom: 24px !important; }
#npl-screen .npl-ou {
  color: rgba(255, 255, 255, 0.55);
  font-size: 24px;
  margin-top: 12px;
}
#npl-screen .npl-actions {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-flex-direction: column; flex-direction: column;
  -webkit-box-align: center; -webkit-align-items: center; align-items: center;
}
#npl-screen .npl-btn {
  min-width: 640px;
  margin: 0 0 14px 0;     /* 3 boutons : le dernier reste dans la marge d'overscan (bas >= 60 px) */
  padding: 14px 56px;
  border-radius: 12px;
  font-family: inherit;
  font-size: 30px;
  font-weight: 700;
  cursor: pointer;
  outline: none;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  border: 3px solid rgba(255, 255, 255, 0.22);
  -webkit-transform: none !important; transform: none !important;
}
/* La démo garde son identité verte (« le bouton vert » des notes aux
   testeurs Samsung et LG) — en contour et en texte, jamais en aplat. */
#npl-screen .npl-btn-demo { color: #4ade80; border-color: #1db954; }
#npl-screen .npl-btn:focus {
  background: var(--rsk-accent);
  border-color: var(--rsk-accent);
  color: #fff;
  -webkit-box-shadow: 0 0 0 4px #fff;
  box-shadow: 0 0 0 4px #fff;
}

/* ── (c) Boîte Quitter : les deux boutons sont neutres hors focus ───────── */
#exit-dialog .exit-btn-confirm:not(:focus),
#exit-dialog .exit-btn-cancel:not(:focus) {
  background: transparent !important;
  border: 2px solid rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.78) !important;
  -webkit-box-shadow: none !important; box-shadow: none !important;
}
#exit-dialog .exit-btn-confirm:focus,
#exit-dialog .exit-btn-cancel:focus {
  background: var(--rsk-accent) !important;
  border: 2px solid var(--rsk-accent) !important;
  color: #fff !important;
  -webkit-box-shadow: 0 0 0 3px #fff !important; box-shadow: 0 0 0 3px #fff !important;
}

/* ── (d) Boîte « Nouvelle playlist » ──────────────────────────────────────
   Type choisi = contour + trait d'accent ; « Enregistrer » = bouton neutre ;
   l'aplat n'appartient qu'à l'élément focalisé. */
#modal-add-playlist .modal-pl-type-btn:not(:focus),
#modal-add-playlist .modal-pl-btn:not(:focus) {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  -webkit-box-shadow: none !important; box-shadow: none !important;
}
#modal-add-playlist .modal-pl-type-btn.active:not(:focus) {
  border-color: var(--rsk-accent) !important;
  color: #fff !important;
  -webkit-box-shadow: inset 0 -4px 0 var(--rsk-accent) !important;
  box-shadow: inset 0 -4px 0 var(--rsk-accent) !important;
}
#modal-add-playlist .modal-pl-type-btn:focus,
#modal-add-playlist .modal-pl-btn:focus {
  background: var(--rsk-accent) !important;
  border-color: var(--rsk-accent) !important;
  color: #fff !important;
  -webkit-box-shadow: 0 0 0 3px #fff !important; box-shadow: 0 0 0 3px #fff !important;
  -webkit-transform: none !important; transform: none !important;
}

/* ── Radio sans station (C-6) : message focalisable, lisible en entier ──── */
#radio-cat-list .radio-vide {
  display: block;
  height: auto !important;
  min-height: 0 !important;
  white-space: normal !important;
  line-height: 1.35;
  padding: 22px 20px !important;
}
#radio-cat-list .radio-vide .radio-vide-titre { display: block; font-size: 24px; font-weight: 600; }
#radio-cat-list .radio-vide .radio-vide-aide { display: block; font-size: 22px; opacity: 0.75; margin-top: 10px; }

/* ── Météo (C-10) : pictogrammes vectoriels au lieu des emojis du serveur ──
   (🌫️ s'affichait en carré vide, faute de glyphe dans la police de la TV). */
.dv-wx-svg {
  display: inline-block;
  width: 1em; height: 1em;
  vertical-align: -0.12em;
}

/* ── (e) Barre du lecteur VOD (recette LG v582, réserve B4) ──────────────────
   Le bouton lecture/pause était un disque BLANC PLEIN (style.css, « Apple TV »),
   plus voyant que le bouton qui a réellement le focus (FORMAT, capture 33).
   Désormais : au repos, un disque translucide cerclé comme ses voisins ; au focus,
   l'aplat d'accent, comme tous les boutons de la barre. Un bouton « choisi »
   (piste/format actif) non focalisé garde un trait d'accent, sans aplat.
   Pas de scale() au focus (règle perf-nav). */
#screen-player .pl-play-btn {
  background: rgba(255, 255, 255, 0.14) !important;
  border: 2px solid rgba(255, 255, 255, 0.55) !important;
  color: #fff !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
#screen-player .pl-play-btn svg { fill: #fff !important; }
#screen-player .pl-ctrl-btn:focus,
#screen-player .pl-ctrl-btn.is-focused,
#screen-player .pl-play-btn:focus,
#screen-player .pl-play-btn.is-focused {
  background: var(--rsk-accent) !important;
  border-color: var(--rsk-accent) !important;
  color: #fff !important;
  -webkit-transform: none !important;
  transform: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
#screen-player .pl-ctrl-btn:focus .pl-ctrl-label,
#screen-player .pl-ctrl-btn.is-focused .pl-ctrl-label { opacity: 1; }
#screen-player .pl-track-btn.pl-track-active:not(:focus):not(.is-focused) {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--rsk-accent) !important;
}
