/* ============================================================
   LES KORIA — Adaptation à l'identité visuelle de l'affiche
   Palette : bleu ciel lumineux + rouge profond + bleu nuit + or
   À coller À LA FIN de la feuille de style (après tout le reste)
   ============================================================ */

:root{
  /* Nouvelles couleurs inspirées de l'affiche */
  --poster-sky-1:#cfe9fb;      /* bleu ciel très clair (fond haut) */
  --poster-sky-2:#e0f2fe;      /* bleu ciel clair (fond milieu) */
  --poster-sky-3:#f0f9ff;      /* bleu ciel pâle (fond bas) */
  --poster-sky:#7dd3fc;        /* bleu ciel */
  --poster-sky-strong:#38bdf8; /* bleu ciel accent */
  --poster-red:#8b0000;        /* rouge profond (bandeau affiche) */
  --poster-red-bright:#b91c1c; /* rouge principal (boutons) */
  --poster-red-hover:#991b1b;  /* rouge survol */
  --poster-navy:#0b1727;       /* bleu nuit profond */
  --poster-navy-2:#142b45;     /* bleu nuit moyen */
}

/* ---------- HERO : reprendre les couleurs de l'affiche ---------- */
.hero{
  background:linear-gradient(180deg,var(--poster-sky-1) 0%,var(--poster-sky-2) 40%,var(--poster-sky-3) 100%) !important;
  background-attachment:scroll !important;
  color:var(--poster-navy) !important;
  position:relative;
  overflow:hidden;
}
.hero::before{
  background:
    radial-gradient(circle at 20% 20%, rgba(125,211,252,.55) 0%, transparent 45%),
    radial-gradient(circle at 80% 80%, rgba(186,230,253,.6) 0%, transparent 50%) !important;
  z-index:0 !important;
}
.hero::after{
  background:radial-gradient(circle,rgba(185,28,28,.08),transparent 65%) !important;
  z-index:0 !important;
}
.hero .container{ position:relative; z-index:2; }
.hero h1{ color:var(--poster-navy) !important; text-shadow:none !important; }
.hero h1 .l0{ color:var(--poster-navy-2) !important; }
.hero h1 .l1{ color:var(--poster-red-bright) !important; }
.hero h1 .l2{ color:var(--poster-navy) !important; text-shadow:0 2px 0 rgba(125,211,252,.4) !important; }
.hero h1 .l2 i{
  background:linear-gradient(180deg,var(--poster-navy) 30%,var(--poster-navy-2)) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
.hero-badge{
  background:var(--poster-red-bright) !important;
  border:none !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(185,28,28,.3) !important;
}
.hero-badge::before{ background:#fde047 !important; }
.hero .lead{ color:var(--poster-navy-2) !important; }
.eq span{ background:linear-gradient(180deg,#dc2626,#8b0000) !important; }

/* Stats du hero : cartes blanches translucides */
.hero-stats .stat{
  background:rgba(255,255,255,.7) !important;
  border:1px solid rgba(125,211,252,.5) !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}
.hero-stats .stat:hover{
  background:#fff !important;
  border-color:var(--poster-red-bright) !important;
}
.hero-stats .stat strong{ color:var(--poster-red-bright) !important; background:none !important; -webkit-text-fill-color:currentColor !important; }
.hero-stats .stat span{ color:var(--poster-navy-2) !important; }

/* ---------- BOUTONS : rouge profond (bandeau affiche) ---------- */
.btn-gold,
.btn-primary{
  background:linear-gradient(135deg,var(--poster-red-bright),var(--poster-red)) !important;
  color:#fff !important;
  box-shadow:0 10px 26px rgba(185,28,28,.35) !important;
}
.btn-gold:hover,
.btn-primary:hover{
  box-shadow:0 16px 38px rgba(185,28,28,.5) !important;
}
.btn-outline{
  background:#fff !important;
  border:1.5px solid var(--poster-navy) !important;
  color:var(--poster-navy) !important;
}
.btn-outline:hover{
  background:var(--poster-navy) !important;
  color:#fff !important;
}
.btn-ghost{
  background:#fff !important;
  border:1.5px solid var(--poster-navy) !important;
  color:var(--poster-navy) !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}
.btn-ghost:hover{
  background:var(--poster-navy) !important;
  color:#fff !important;
}

/* ---------- TOPBAR : bleu nuit + accent rouge ---------- */
.topbar{
  background:linear-gradient(90deg,var(--poster-navy) 0%,var(--poster-navy-2) 100%) !important;
  border-bottom:2px solid var(--poster-red-bright) !important;
}
.topbar::after{
  background:linear-gradient(90deg,transparent,var(--poster-red-bright),transparent) !important;
}
.topbar-brand img{
  border:1.5px solid rgba(185,28,28,.7) !important;
}
.topbar-brand strong{
  background:linear-gradient(135deg,#fca5a5,var(--poster-red-bright)) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
.topbar-brand small{
  background:linear-gradient(135deg,#fca5a5,var(--poster-red-bright)) !important;
  color:#fff !important;
}
.topbar-nav a::after{ background:var(--poster-red-bright) !important; }
.menu-toggle:hover,
.menu-toggle[aria-expanded="true"]{
  border-color:rgba(185,28,28,.55) !important;
}

/* ---------- SECTIONS : fonds bleu ciel doux ---------- */
.section{
  background:linear-gradient(180deg,#ffffff 0%,var(--poster-sky-3) 100%) !important;
}
.section-alt{
  background:linear-gradient(180deg,var(--poster-sky-2),#ffffff) !important;
}
.section-title h2{ color:var(--poster-navy) !important; }
.section-title h2::after{
  background:linear-gradient(90deg,var(--poster-red-bright),var(--poster-red)) !important;
}
.section-title .eyebrow{ color:var(--poster-red-bright) !important; }
.section-title p{ color:var(--poster-navy-2) !important; }

/* ---------- CARTES CHORALES : hover rouge + accents ---------- */
.choeur-card:hover{
  border-color:var(--poster-red-bright) !important;
  box-shadow:0 22px 50px rgba(185,28,28,.15) !important;
}
.choeur-rank{
  background:linear-gradient(135deg,var(--poster-red-bright),var(--poster-red)) !important;
  color:#fff !important;
  box-shadow:0 6px 18px rgba(185,28,28,.4) !important;
}
.choeur-rank.r1{
  background:linear-gradient(135deg,#f4d97a,#d4af37) !important;
  color:#172554 !important;
}
.choeur-rank.r2{
  background:linear-gradient(135deg,#e2e8f0,#94a3b8) !important;
  color:var(--poster-navy) !important;
}
.choeur-rank.r3{
  background:linear-gradient(135deg,#f0b27a,#b9773e) !important;
}
.choeur-body h3{ color:var(--poster-navy) !important; }
.choeur-desc{ color:var(--poster-navy-2) !important; }
.choeur-votes-badge{
  color:var(--poster-red-bright) !important;
}

/* ---------- ÉTAPES / FORMULES : accents rouges ---------- */
.formule-card::before{
  background:linear-gradient(90deg,var(--poster-red-bright),var(--poster-red)) !important;
}
.formule-card:hover{ border-color:var(--poster-red-bright) !important; }
.formule-num{
  background:linear-gradient(135deg,var(--poster-red-bright),var(--poster-red)) !important;
}
.formule-card h3{ color:var(--poster-navy) !important; }
.formule-card.selected{
  border-color:var(--poster-red-bright) !important;
  background:#fef2f2 !important;
  box-shadow:0 0 0 4px rgba(185,28,28,.12) !important;
}
.formule-prix{ color:var(--poster-red) !important; }

/* ---------- PODIUM / CLASSEMENT ---------- */
.rank-badge.gold{
  background:linear-gradient(135deg,#f4d97a,#d4af37) !important;
  color:#172554 !important;
}
.classement-table th{ background:var(--poster-navy) !important; }
.classement-table tr:hover td{ background:#fef2f2 !important; }

/* ---------- FOOTER : bleu nuit + accent rouge ---------- */
.site-footer{
  background:var(--poster-navy) !important;
}
.site-footer::before{
  background:linear-gradient(90deg,transparent,var(--poster-red-bright),transparent) !important;
}
.footer-brand img{ border:1.5px solid rgba(185,28,28,.6) !important; }
.footer-brand strong{ color:#fca5a5 !important; }
.footer-col h4{ color:#fca5a5 !important; }
.footer-col a:hover{ color:#fca5a5 !important; }

/* ---------- FORMULAIRES : focus rouge ---------- */
.form-control:focus{
  border-color:var(--poster-red-bright) !important;
  box-shadow:0 0 0 4px rgba(185,28,28,.12) !important;
}
.alert-success{
  border-color:var(--poster-red-bright) !important;
  background:#fef2f2 !important;
  color:var(--poster-red) !important;
}
.icon-btn:hover{ background:var(--poster-red-bright) !important; color:#fff !important; }

/* ---------- ADMIN : même langage visuel ---------- */
.admin-sidebar{
  background:linear-gradient(180deg,var(--poster-navy),var(--poster-navy-2)) !important;
}
.admin-sidebar .brand img{ border:1.5px solid rgba(185,28,28,.7) !important; }
.admin-nav a.active{ border-left:3px solid var(--poster-red-bright) !important; }
.admin-main{
  background:linear-gradient(180deg,#f8fafc 0%,var(--poster-sky-3) 100%) !important;
}
.admin-main .btn-primary{
  background:linear-gradient(135deg,var(--poster-red-bright),var(--poster-red)) !important;
}
.login-wrapper{
  background:radial-gradient(circle at 15% 15%,rgba(185,28,28,.28),transparent 32%),
             linear-gradient(135deg,var(--poster-navy),var(--poster-navy-2) 55%,var(--poster-sky-strong)) !important;
}
.stat-icon.green{
  background:#fee2e2 !important;
  color:var(--poster-red-bright) !important;
}

/* ---------- Barre mobile admin ---------- */
.admin-mobile-bar{ background:var(--poster-navy) !important; }
.admin-mobile-bar strong span{ color:#fca5a5 !important; }