/* NOTE 1-10 — UI « télécommande » de la fiche chaîne (arbitrages Lili 12/07 16h55,
   backend mu-plugin freeetv-rating). Pastilles CHIFFRÉES 1-10 dépliées au clic depuis
   l'infobar, remplissage progressif au survol. Tokens du thème partout → jour/nuit et
   ambiances gratuits. margin:0 EXPLICITE sur chaque bouton (piège margin:20px du thème
   hello-elementor sur les <button> génériques — 4e occurrence, cf freeetv.css).
   .ftv-rate-badge (tout en bas) = classe RÉSERVÉE cartes Pro V2, non câblée. */

.ftv-rate{position:relative}
.ftv-rate-btn{display:inline-flex;align-items:center;gap:7px;margin:0;padding:0;border:0;background:none;
  color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}
.ftv-rate-btn svg{color:var(--blue-glow);flex:0 0 auto}
.ftv-rate-btn:hover{color:var(--ink)}
.ftv-rate-btn b{color:var(--soft);font-variant-numeric:tabular-nums}
.ftv-rate-btn i{font-style:normal;color:var(--faint)}

.ftv-rate-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:30;display:flex;align-items:center;
  flex-wrap:wrap;gap:4px;width:max-content;max-width:calc(100vw - 40px);padding:8px 10px;
  background:var(--panel);border:1px solid var(--line);border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.35);white-space:nowrap}
/* mobile : le popover absolu déborderait du cadre → mini bottom-sheet fixe (même famille
   que la hdr-sheet), pastilles centrées, toujours refermé au tap hors zone / Escape */
@media(max-width:640px){.ftv-rate-pop{position:fixed;left:12px;right:12px;top:auto;bottom:14px;
  width:auto;max-width:none;justify-content:center;box-shadow:0 12px 40px rgba(0,0,0,.5)}}

.ftv-rate-n{width:26px;height:26px;margin:0;padding:0;border:1px solid var(--line);border-radius:7px;
  background:none;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;
  font-variant-numeric:tabular-nums;cursor:pointer;line-height:1;
  transition:background .12s ease,color .12s ease,border-color .12s ease}
/* remplissage progressif : le JS pose .fill sur 1..n au survol de n (et sur la note votée) */
.ftv-rate-n.fill{background:var(--blue-glow);border-color:var(--blue-glow);color:var(--panel)}
.ftv-rate-n:focus-visible{outline:2px solid var(--blue-glow);outline-offset:1px}

.ftv-rate-msg{display:inline-block;margin:0 0 0 6px;font-style:normal;font-size:.78rem;color:var(--muted)}
.ftv-rate[data-busy] .ftv-rate-n{pointer-events:none;opacity:.6}

@media(prefers-reduced-motion:reduce){.ftv-rate-n{transition:none}}

/* RÉSERVÉ Pro V2 (cartes de la grille — mémoire fondatrice vues+note sur vignettes) :
   à câbler avec le gating Pro, AUCUN usage tant que le compte Pro n'existe pas. */
.ftv-rate-badge{display:none}

@media(min-width:641px){.cl-infobar:has(.ftv-rate-pop:not([hidden])) ~ .ftv-share{margin-top:70px}}

@media(min-width:641px){.cl-infobar:has(.ftv-rate-pop:not([hidden])) ~ .ftv-share{margin-top:70px}}

/* ==== APPEND 15/07 soir — la rangée SHARE glisse en douceur quand la réglette pousse */
.ftv-share{transition:margin-top .22s ease}

/* ==== APPEND 15/07 soir — RATING-MOBILE : notation utilisable au doigt ====
   (retour Stéphane : sur iPhone la barre « Rate this channel » n'est ni cliquable
   ni bien placée — mesure labo : bouton 21 px de HAUT, pastilles 26 px.)
   ① zone tactile du bouton ≥ 44 px SANS grossir visuellement (marges négatives) ;
   ② réglette mobile : pastilles 40 px, 2 rangées centrées, décollée de la barre
   Safari (safe-area). Desktop inchangé. */
@media(max-width:640px){
	.ftv-rate-btn{display:inline-flex;align-items:center;min-height:44px;
		padding:12px 10px;margin:-12px -10px;position:relative;z-index:2}
	.ftv-rate-pop{flex-wrap:wrap;justify-content:center;gap:9px;
		padding:14px 12px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
	.ftv-rate-n{width:40px;height:40px;font-size:.95rem;border-radius:10px}
	.ftv-rate-msg{width:100%;text-align:center;margin:4px 0 0}
}

/* RATING-REPLI — apres le vote, le widget se replie en une ligne discrete (Stephane 16/07) */
.ftv-rate-done{display:inline-flex;align-items:center;gap:8px;margin-top:6px;
	background:rgba(55,211,155,.08);border:1px solid rgba(55,211,155,.35);color:var(--soft,#c3c9e8);
	border-radius:999px;padding:6px 13px;font:600 12px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
	animation:ftvRateDoneIn .35s ease}
.ftv-rate-done b{color:#ffce5c;font-variant-numeric:tabular-nums}
.ftv-rate-done .ok{color:#37d39b}
@keyframes ftvRateDoneIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* RATING-SHEET — sur mobile la reglette devient une bottom-sheet opaque au-dessus de tout
   (fini les chevauchements avec Pro/Admin/de/Barre — Stephane 16/07 soir). */
@media (max-width: 760px){
	.ftv-rate-backdrop{position:fixed;inset:0;background:rgba(4,6,14,.55);z-index:199;opacity:0;
		pointer-events:none;transition:opacity .22s}
	body.ftv-rate-open .ftv-rate-backdrop{opacity:1;pointer-events:auto}
	[data-rate-pad]:not([hidden]){position:fixed !important;left:0;right:0;bottom:0;z-index:200;
		margin:0 !important;background:#0d1226 !important;border:1px solid rgba(139,123,255,.35);border-bottom:none;
		border-radius:20px 20px 0 0 !important;padding:18px 16px calc(16px + env(safe-area-inset-bottom)) !important;
		box-shadow:0 -18px 50px -12px rgba(0,0,0,.85);animation:ftvRateUp .28s cubic-bezier(.2,.9,.3,1.15)}
	[data-rate-pad]:not([hidden])::before{content:"";position:absolute;top:7px;left:50%;width:40px;height:4px;
		margin-left:-20px;border-radius:99px;background:rgba(255,255,255,.22)}
	@keyframes ftvRateUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
}
