/*
 * Nexstory (nexstory.app) — ajouts du theme, charges APRES la feuille Tailwind de Zite
 * (assets/css/zite.css). Regles de Jason (01/10/2026), communes a tous ses sites :
 *  - couleurs alignees sur l application Nexstory (nexstory_school/lib/theme/app_theme.dart) :
 *    fond #080627, cartes #141234, texte attenue #93AFF5 ;
 *  - boutons d action = bouton « Accepter » de la boite de consentement = #3B60D4 (consigne du
 *    01/10 soir ; c est aussi l accent que Zite ecrit en dur : bouton de connexion, bordures
 *    rgba(59,96,212)). La primaire passe donc de #2C4196 a #3B60D4, texte blanc ;
 *  - aucun lien souligne, ni au repos ni au survol.
 */

/* ---------- Couleurs de l application ---------- */
:root, .dark {
	--background: 244 73% 9%;
	--card: 244 49% 14%;
	--muted-foreground: 223 83% 77%;
	--primary: 225.49 64.02% 53.14%; /* #3B60D4 exact */
	--ring: 225.49 64.02% 53.14%;
}
html, body { background: hsl(var(--background)); }

/* ---------- WordPress ---------- */
.wp-site-blocks { padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
[hidden] { display: none !important; }
.admin-bar header.sticky, .admin-bar header.fixed { top: 32px; }
@media (max-width: 782px) { .admin-bar header.sticky, .admin-bar header.fixed { top: 46px; } }

/* ---------- Aucun lien souligne ---------- */
.nxs a, .nxs a:hover, .nxs a:focus, .nxs .underline, .nxs .hover\:underline:hover { text-decoration: none !important; }
/* Les liens des pages de texte gardent la couleur primaire de Zite (text-primary) : distingues par la couleur, sans gras (le gras decalait la mise en page). */

/* ---------- Boutons d action = « Accepter » ---------- */
.nxs-consentement__boutons button[data-nxs-choix="oui"] {
	background: hsl(var(--primary)) !important;
	border-color: hsl(var(--primary)) !important;
	color: hsl(var(--primary-foreground)) !important;
}

/* ---------- Consentement a la mesure d audience (inc/consentement.php) ---------- */
.nxs-consentement { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9990; max-width: 820px; margin-inline: auto; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; padding: 16px; border-radius: 20px; border: 1px solid rgba(59, 96, 212, .22); background: rgba(8, 6, 39, .86); -webkit-backdrop-filter: blur(28px) saturate(180%); backdrop-filter: blur(28px) saturate(180%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 8px 32px rgba(0, 0, 0, .45); color: #fff; font-family: Poppins, Arial, sans-serif; }
.nxs-consentement__texte { flex: 1 1 260px; }
.nxs-consentement__texte strong { display: block; font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.nxs-consentement__texte p { margin: 0; font-size: 13px; line-height: 1.45; color: rgba(255, 255, 255, .8); }
.nxs-consentement__texte a { color: #93AFF5; font-weight: 600; white-space: nowrap; }
.nxs-consentement__boutons { display: flex; gap: 8px; flex: 0 0 auto; }
.nxs-consentement__boutons button { font-size: 13px; font-weight: 600; padding: 10px 18px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .05); color: #fff; cursor: pointer; white-space: nowrap; }
.nxs-consentement__boutons button:hover { opacity: .9; }
@media (max-width: 767px) { .nxs-consentement { bottom: calc(76px + env(safe-area-inset-bottom)); } }
@media (max-width: 480px) {
	.nxs-consentement { flex-direction: column; align-items: stretch; }
	.nxs-consentement__texte { flex: 0 0 auto; }
	.nxs-consentement__boutons button { flex: 1; }
}

/* ---------- Confirmation de remboursement (inc/sections/confirmation-remboursement.php) ---------- */
.nxs-conf-resultat { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .14); }
.nxs-conf-resultat[data-ton="ok"] { background: rgba(59, 96, 212, .12); border-color: rgba(59, 96, 212, .45); }
.nxs-conf-resultat[data-ton="refus"] { background: rgba(248, 113, 113, .06); border-color: rgba(248, 113, 113, .35); }
.nxs-conf-resultat ul { list-style: disc; padding-left: 1.25rem; }
@media (min-width: 640px) { .nxs-conf-bouton { width: auto; } }

/* ---------- Mes appareils (page compte, projet 58 tache 13) : ligne en colonne sur mobile ---------- */
.nx-appareil__actions button { min-height: 36px; }
@media (min-width: 640px) {
	.nx-appareil { flex-direction: row; align-items: center; }
	.nx-appareil__actions { justify-content: flex-end; flex-wrap: nowrap; }
}

/* ---------- Titre principal (H1) lu par les moteurs et les lecteurs d ecran, invisible a l ecran (projet 58, tache 14) ---------- */
.nxs-titre-cache { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Revue legale (02/10/2026) : le pied (liens legaux, « Gérer les cookies ») reste visible sous 768 px,
   et passe au-dessus de la barre de navigation fixe du bas quand la page en a une (mesure Playwright 375 px). */
@media (max-width: 767px) {
	.nxs footer.hidden { display: block; }
	body:has(nav.fixed.bottom-0) footer { padding-bottom: 88px; }
}
