
:root {
  /* WOZALI Palette — Or + Noir + Crème — ZÉRO VERT */
  --vert: #E8940A;           /* ALIAS → or (compat anciennes classes) */
  --vert-dark: #C47A08;      /* ALIAS → or foncé */
  --vert-mid: #F5B82E;       /* ALIAS → or clair */
  --vert-light: #fef3dc;     /* ALIAS → or très clair */
  --or: #E8940A;
  --or-light: #fef3dc;
  --or-dark: #C47A08;
  --noir: #14100A;
  --gris-fonce: #2d3430;
  --gris: #6b7a72;
  --gris-light: #f0f2f0;
  --blanc: #FCE0A8;
  --white: #ffffff;
  --r: 14px;
  --r-lg: 24px;
  --shadow: 0 2px 16px rgba(15,20,16,0.08);
  --shadow-lg: 0 8px 40px rgba(15,20,16,0.14);
  /* WOZALI specific */
  --wozali-black: #14100A;
  --wozali-cream: #FCE0A8;
  --wozali-gold: #E8940A;
  --wozali-gold-light: #F5B82E;
  --wozali-gold-dark: #C47A08;
  --wozali-white: #FFFFFF;
  --wozali-border: rgba(232, 148, 10, 0.15);
  --wozali-border-active: rgba(232, 148, 10, 0.5);
  --wozali-surface: rgba(255, 255, 255, 0.04);
  --wozali-surface-hover: rgba(232, 148, 10, 0.08);
  --wozali-text-primary: #FCE0A8;
  --wozali-text-secondary: rgba(252, 224, 168, 0.65);
  --wozali-text-muted: rgba(252, 224, 168, 0.35);

  /* WOZALI Nuit design tokens */
  --night-0: #0B0805;
  --night-1: #14100A;
  --night-2: #1E180E;
  --night-3: #2A2014;
  --night-4: #382A1C;
  --cream: #FCE0A8;
  --cream-soft: #EFCF90;
  --cream-muted: rgba(252, 224, 168, 0.65);
  --cream-disabled: rgba(252, 224, 168, 0.35);
  --ink-on-orange: #1A1208;
  --line: rgba(252, 224, 168, 0.08);
  --line-strong: rgba(252, 224, 168, 0.16);
  --line-focus: var(--wozali-gold);
  --wozali-orange: #E8940A;
  --wozali-orange-hover: #FFA722;
  --wozali-orange-pressed: #C77E08;
  --glow-orange: 0 0 24px rgba(232, 148, 10, 0.35);
  --glow-orange-strong: 0 0 0 1px rgba(232, 148, 10, 0.5), 0 12px 32px -8px rgba(232, 148, 10, 0.55);
  --font-serif: "DM Serif Display", "Times New Roman", Georgia, serif;
  --font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-mono: "Geist Mono", "SF Mono", "JetBrains Mono", ui-monospace, monospace;
  --r-xs: 4px; --r-sm: 8px; --r-md: 14px; --r-lg: 20px; --r-xl: 28px; --r-full: 9999px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.35);
  --shadow-lg-new: 0 12px 32px rgba(0,0,0,0.4);
  --t-fast: 120ms; --t-base: 240ms; --t-slow: 600ms;
}

* { margin:0; padding:0; box-sizing:border-box; }
button, select { color: inherit; }

html {
  scroll-behavior: smooth;
  background: #14100A;
  overflow-x: hidden; /* bloque le blanc sur les rebords */
  max-width: 100%;
}

body {
  font-family: 'Geist', sans-serif;
  background: #14100A;
  color: #FCE0A8;
  overflow-x: hidden;
  min-height: 100vh;
  max-width: 100%;
}

/* ══ UTILS ══ */
.page { display:none; }
.page.active { display:block; animation: fadeIn 0.3s ease; }
@keyframes fadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes popIn { from { opacity:0; transform:scale(0.7); } to { opacity:1; transform:scale(1); } }
@keyframes bounce { 0%,100% { transform:translateY(0); } 40% { transform:translateY(-12px); } 70% { transform:translateY(-6px); } }

.container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.section { padding: 72px 0; }

.badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 14px; border-radius:100px; font-size:12px; font-weight:700;
  letter-spacing:0.5px; text-transform:uppercase;
}
.badge-vert { background:rgba(232,148,10,0.12); color:var(--vert); }
.badge-or { background:rgba(232,148,10,0.12); color:var(--or); }
.badge-gris { background:rgba(255,255,255,0.08); color:rgba(252, 224, 168,0.6); }

.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 24px; border-radius:100px; border:none;
  font-family:'Geist',sans-serif; font-weight:700; font-size:15px;
  cursor:pointer; transition:all 0.2s; text-decoration:none; white-space:nowrap;
}
.btn-primary { background:var(--vert); color:white; }
.btn-primary:hover { background:var(--vert-dark); transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.btn-secondary { background:transparent; color:var(--vert); border:2px solid var(--vert); }
.btn-secondary:hover { background:var(--vert-light); }
.btn-or { background:var(--or); color:white; }
.btn-or:hover { background:#c47a08; transform:translateY(-2px); }
.btn-ghost { background:transparent; color:var(--gris); }
.btn-ghost:hover { color:var(--vert); background:var(--vert-light); }
.btn-dark { background:var(--noir); color:white; }
.btn-dark:hover { background:var(--gris-fonce); }
.btn-sm { padding:8px 16px; font-size:13px; }
.btn-lg { padding:16px 32px; font-size:17px; }
.btn-wa { background:#25D366; color:white; }
.btn-wa:hover { background:#C47A08; }


/* ══ RDV / CALENDRIER COMPLET ══ */
.dispo-day-row { border-bottom:1px solid #f0f0f0; padding:14px 0; display:flex; align-items:flex-start; gap:16px; flex-wrap:wrap; }
.dispo-day-row:last-child { border-bottom:none; }
.dispo-day-header { display:flex; align-items:center; gap:10px; min-width:80px; }
.dispo-day-toggle { display:flex; align-items:center; gap:8px; cursor:pointer; }
.dispo-day-toggle input[type=checkbox] { width:18px; height:18px; accent-color:var(--vert); cursor:pointer; }
.dispo-day-name { font-weight:800; font-size:14px; min-width:30px; }
.dispo-slots-container { flex:1; display:flex; flex-direction:column; gap:8px; }
.dispo-slot-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.time-sel { border:1.5px solid #e5e7eb; border-radius:8px; padding:7px 10px; font-size:14px; font-weight:600; background:white; cursor:pointer; color:var(--gris-fonce); }
.time-sel:focus { border-color:var(--vert); outline:none; }
.add-slot-btn { border:1.5px dashed var(--vert); background:none; color:var(--vert); font-size:13px; font-weight:700; padding:6px 14px; border-radius:8px; cursor:pointer; width:fit-content; }
.remove-slot-btn { width:28px; height:28px; border-radius:50%; border:none; background:#fee2e2; color:#dc2626; font-size:18px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; line-height:1; }
.rdv-cal-wrap { user-select:none; }
.rdv-cal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.rdv-nav-btn { width:36px; height:36px; border-radius:50%; border:1.5px solid #e5e7eb; background:white; font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--gris-fonce); transition:.15s; }
.rdv-nav-btn:hover { border-color:var(--vert); color:var(--vert); }
.rdv-cal-dow { display:grid; grid-template-columns:repeat(7,1fr); margin-bottom:4px; }
.rdv-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.rdv-cal-day { aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; border-radius:8px; color:#d1d5db; }
.rdv-cal-day.past { color:#d1d5db; }
.rdv-cal-day.available { color:var(--gris-fonce); background:var(--vert-light); cursor:pointer; font-weight:700; transition:.15s; }
.rdv-cal-day.available:hover { background:var(--vert); color:white; }
.rdv-cal-day.today { border:2px solid var(--vert); }
.rdv-cal-day.selected { background:var(--vert) !important; color:white !important; }
.rdv-slot-btn { padding:10px 8px; border:2px solid var(--vert); background:white; color:var(--vert); font-size:13px; font-weight:700; border-radius:10px; cursor:pointer; transition:.15s; text-align:center; }
.rdv-slot-btn:hover { background:var(--vert); color:white; }
.rdv-card { background:white; border-radius:16px; padding:18px; box-shadow:var(--shadow); margin-bottom:12px; }
.rdv-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.rdv-card-body { font-size:14px; color:var(--gris-fonce); }
.rdv-card-actions { display:flex; gap:10px; margin-top:14px; }
.rdv-tab { padding:8px 20px; border-radius:20px; border:2px solid #e5e7eb; background:white; font-size:13px; font-weight:700; cursor:pointer; transition:.15s; color:var(--gris-fonce); }
.rdv-tab.active { background:var(--vert); color:white; border-color:var(--vert); }
.rdv-form-wrap { max-width:480px; }

/* ══ PONT MANIFESTE ══ */
.pont-manifeste {
  background: #0d1117;
  color: #f0f0f0;
  padding: 80px 40px;
  text-align: center;
}
.pont-manifeste .pont-ligne {
  display: block;
  font-size: 1.4rem;
  line-height: 2.2;
  opacity: 0.7;
}
.pont-manifeste .pont-ligne.bold {
  font-size: 1.8rem;
  font-weight: 800;
  opacity: 1;
  color: #fff;
}
.pont-manifeste .pont-ligne.accent {
  font-size: 2.2rem;
  font-weight: 900;
  color: #E8940A;
  opacity: 1;
  margin-top: 20px;
}

/* ══ SPINNER ══ */
.spinner { width:22px; height:22px; border-radius:50%; border:3px solid var(--vert-light); border-top-color:var(--vert); animation:spin 0.8s linear infinite; display:inline-block; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes wozali-pulse { 0% { opacity:0.8; transform:translate(-50%,-50%) scale(0.5); } 100% { opacity:0; transform:translate(-50%,-50%) scale(2); } }
.loading { display:flex; align-items:center; justify-content:center; gap:12px; padding:60px; color:var(--gris); font-size:15px; }

/* ══ TOAST ══ */
.toast {
  position:fixed; bottom:24px; right:24px; z-index:999999;
  padding:14px 20px; border-radius:12px; font-size:14px; font-weight:600;
  display:flex; align-items:center; gap:10px;
  transform:translateY(80px); opacity:0; transition:all 0.3s;
  max-width:360px; box-shadow:var(--shadow-lg);
}
.toast.show { transform:translateY(0); opacity:1; }
.toast-success { background:var(--vert); color:white; }
.toast-error { background:#dc2626; color:white; }
.toast-info { background:var(--noir); color:white; }

/* ══ NAV ══ */
nav {
  position:sticky; top:0; z-index:200;
  background:rgba(15,20,16,0.92); backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(232,148,10,0.15);
  height:68px; display:flex; align-items:center;
}
.nav-inner { display:flex; align-items:center; justify-content:space-between; width:100%; }
.nav-logo {
  font-family:'DM Serif Display',serif; font-weight:900; font-size:24px;
  color:#FCE0A8; text-decoration:none; display:flex; align-items:center; gap:4px;
}
.nav-logo sup { font-size:11px; color:#FCE0A8; font-family:'Geist',sans-serif; font-weight:700; margin-top:-8px; }
.nav-links { display:flex; align-items:center; gap:4px; flex-wrap:nowrap; }
.nav-link { font-weight:600; font-size:13px; color:rgba(252, 224, 168,0.7); text-decoration:none; padding:8px 10px; border-radius:100px; transition:all 0.2s; cursor:pointer; background:none; border:none; font-family:inherit; white-space:nowrap; }
.nav-link:hover { color:#E8940A; background:rgba(232,148,10,0.08); }

/* ── HAMBURGER MOBILE ── */
.nav-burger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px; z-index:300; }
.nav-burger span { display:block; width:22px; height:2px; background:var(--vert); border-radius:2px; transition:all 0.3s; }
.nav-burger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity:0; }
.nav-burger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

@media (max-width:700px) {
  .nav-burger { display:flex; }
  #nav-links-desktop { display:none !important; }
}

/* ══════════════════════════════════════
   PAGE ACCUEIL
══════════════════════════════════════ */
.hero {
  padding: 100px 0 80px;
  position:relative; overflow:visible;
  background: #14100A;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}

.hero-bg {
  position:absolute; inset:0; z-index:0; overflow:hidden;
  background:
    radial-gradient(ellipse 70% 60% at 80% 30%, rgba(232,148,10,0.10) 0%, transparent 65%),
    radial-gradient(ellipse 50% 40% at 10% 80%, rgba(232,148,10,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 50% 50%, rgba(232,148,10,0.04) 0%, transparent 70%);
  animation: heroBgPulse 8s ease-in-out infinite alternate;
}
@keyframes heroBgPulse {
  0%   { opacity: 0.8; transform: scale(1); }
  100% { opacity: 1;   transform: scale(1.04); }
}

/* Particules décoratives flottantes */
.hero-particles { position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.hero-particle {
  position:absolute; border-radius:50%;
  background:linear-gradient(135deg,rgba(232,148,10,0.15),rgba(232,148,10,0.10));
  animation: particleFloat linear infinite;
}
.hp1 { width:180px; height:180px; top:-40px; right:8%; animation-duration:18s; animation-delay:-3s; }
.hp2 { width:90px;  height:90px;  top:30%;  left:2%;  animation-duration:14s; animation-delay:-7s; opacity:0.7; }
.hp3 { width:140px; height:140px; bottom:-20px; right:25%; animation-duration:20s; animation-delay:-1s; opacity:0.5; }
.hp4 { width:60px;  height:60px;  top:10%;  left:30%; animation-duration:11s; animation-delay:-5s; opacity:0.6; }
.hp5 { width:200px; height:200px; bottom:-60px; left:-40px; background:linear-gradient(135deg,rgba(232,148,10,0.08),rgba(232,148,10,0.06)); animation-duration:22s; animation-delay:-9s; }
@keyframes particleFloat {
  0%   { transform: translateY(0) rotate(0deg); }
  50%  { transform: translateY(-30px) rotate(180deg); }
  100% { transform: translateY(0) rotate(360deg); }
}

/* Points décoratifs grille */
.hero-dots {
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image: radial-gradient(rgba(232,148,10,0.12) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse 60% 80% at 70% 40%, black 0%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse 60% 80% at 70% 40%, black 0%, transparent 70%);
}

/* Animations d'entrée staggered */
.hero-eyebrow { animation: heroSlideUp 0.6s cubic-bezier(0.22,1,0.36,1) both; }
h1.hero-title  { animation: heroSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.1s both; }
.hero-sub      { animation: heroSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.2s both; }
.hero-actions  { animation: heroSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.3s both; }
.hero-proof    { animation: heroSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.4s both; }
.hero-visual   { animation: heroFadeIn  0.9s cubic-bezier(0.22,1,0.36,1) 0.2s both; }
@keyframes heroSlideUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes heroFadeIn {
  from { opacity:0; transform:translateX(20px); }
  to   { opacity:1; transform:translateX(0); }
}

/* Badge eyebrow amélioré */
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg, var(--or-light), rgba(232,148,10,0.08));
  color:var(--or); border:1px solid rgba(232,148,10,0.25);
  padding:7px 18px; border-radius:100px;
  font-size:12px; font-weight:700; letter-spacing:1px;
  text-transform:uppercase; margin-bottom:28px;
  box-shadow: 0 2px 12px rgba(232,148,10,0.15);
}

/* Glow sur le mot "trouvé" */
h1 .gold {
  color:var(--or);
  text-shadow: 0 0 40px rgba(232,148,10,0.25);
}
h1 em {
  color:var(--vert);
  position:relative;
}
h1 em::after {
  content:'';
  position:absolute; bottom:-4px; left:0; right:0;
  height:3px; border-radius:2px;
  background:linear-gradient(90deg, var(--vert), var(--or));
  animation: underlineGrow 0.8s cubic-bezier(0.22,1,0.36,1) 0.5s both;
  transform-origin: left;
}
@keyframes underlineGrow {
  from { transform: scaleX(0); opacity:0; }
  to   { transform: scaleX(1); opacity:1; }
}

/* Marqueur "live" animé */
.hero-live-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:rgba(232,148,10,0.1); color:#E8940A;
  border:1px solid rgba(232,148,10,0.25);
  padding:4px 12px; border-radius:100px; font-size:11px; font-weight:700;
  margin-left:10px;
}
.hero-live-dot {
  width:6px; height:6px; border-radius:50%; background:#E8940A;
  animation:pulse 2s infinite;
}

.hero-content { position:relative; z-index:1; }

.hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; padding-top:20px; }

.hero-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--or-light); color:var(--or);
  padding:6px 16px; border-radius:100px;
  font-size:12px; font-weight:700; letter-spacing:1px;
  text-transform:uppercase; margin-bottom:28px;
}

h1 {
  font-family:'DM Serif Display',serif;
  font-size:clamp(40px,5vw,62px);
  font-weight:900; line-height:1.05;
  color:#FCE0A8; margin-bottom:24px;
}
h1 em { color:var(--vert); font-style:italic; }
h1 .gold { color:var(--or); }

.hero-sub { font-size:17px; line-height:1.7; color:rgba(252, 224, 168,0.7); margin-bottom:36px; max-width:480px; }
.hero-title { color:#FCE0A8; }

.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:44px; }

.hero-proof {
  display:flex; align-items:center; gap:16px;
  padding:16px 20px; background:rgba(255,255,255,0.04); border-radius:14px;
  box-shadow:var(--shadow); border:1px solid rgba(232,148,10,0.15);
  width:fit-content;
}
.proof-avatars { display:flex; }
.proof-avatar {
  width:32px; height:32px; border-radius:50%; border:2px solid rgba(252, 224, 168,0.3);
  background:linear-gradient(135deg,var(--vert),var(--or));
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; color:white; margin-left:-8px;
}
.proof-avatar:first-child { margin-left:0; }
.proof-text { font-size:13px; }
.proof-text strong { color:var(--vert); }

/* Hero visual */
.hero-visual { position:relative; }

.hero-card-main {
  background:rgba(255,255,255,0.04); border-radius:24px; padding:24px;
  box-shadow:var(--shadow-lg); border:1px solid rgba(232,148,10,0.15);
}

.hc-header { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.hc-avatar {
  width:56px; height:56px; border-radius:50%;
  background:linear-gradient(135deg,#E8940A,#E8940A);
  display:flex; align-items:center; justify-content:center;
  font-family:'DM Serif Display',serif; font-weight:900; font-size:22px; color:white;
}
.hc-name { font-weight:800; font-size:16px; margin-bottom:3px; }
.hc-meta { font-size:13px; color:var(--gris); }
.hc-badges { display:flex; gap:6px; margin-top:6px; }

.hc-photos { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:16px 0; }
.hc-photo {
  aspect-ratio:1; border-radius:10px;
  background:linear-gradient(135deg,var(--vert-light),var(--or-light));
  display:flex; align-items:center; justify-content:center; font-size:28px;
}

.hc-stars { color:var(--or); font-size:14px; margin-bottom:12px; }

.hc-footer { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--gris-light); }
.hc-price { font-family:'DM Serif Display',serif; font-weight:700; font-size:20px; color:var(--vert); }
.hc-price span { font-family:'Geist',sans-serif; font-size:12px; color:var(--gris); font-weight:500; }

.float-notif {
  position:absolute; background:var(--vert); color:white;
  padding:10px 16px; border-radius:12px; font-size:13px; font-weight:700;
  box-shadow:var(--shadow-lg); white-space:nowrap;
  animation:float 3s ease-in-out infinite;
}
.float-notif.top { top:-16px; right:20px; }
.float-notif.bottom { bottom:-16px; left:20px; background:rgba(15,20,16,0.95); color:#FCE0A8; border:1px solid rgba(232,148,10,0.2); }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

/* Métriques hero */
.hero-metrics { display:flex; gap:0; margin-top:48px; border-top:1px solid rgba(232,148,10,0.1); padding-top:32px; }
.metric { flex:1; text-align:center; padding:0 20px; border-right:1px solid rgba(232,148,10,0.1); }
.metric:last-child { border-right:none; }
.metric-num { font-family:'DM Serif Display',serif; font-size:32px; font-weight:900; color:var(--vert); }
.metric-label { font-size:13px; color:var(--gris); margin-top:4px; }

/* ══ HERO ORBIT SCENE ══ */
.hero-orbit-scene {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 460px;
  overflow: visible;
}

.orbit-container {
  position: relative;
  width: 460px;
  height: 460px;
}

/* Anneaux orbitaux tournants */
.orbit-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid transparent;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  animation: orbitSpin linear infinite;
}
.orbit-ring-1 {
  width: 260px; height: 260px;
  border-color: rgba(232,148,10,0.15);
  border-style: dashed;
  animation-duration: 30s;
}
.orbit-ring-2 {
  width: 340px; height: 340px;
  border-color: rgba(232,148,10,0.08);
  animation-duration: 45s;
  animation-direction: reverse;
}
.orbit-ring-3 {
  width: 420px; height: 420px;
  border-color: rgba(232,148,10,0.05);
  border-style: dotted;
  animation-duration: 60s;
}
@keyframes orbitSpin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Centre logo pulsant */
.orbit-center {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  text-align: center;
}
.orbit-center-glow {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 120px; height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,148,10,0.4) 0%, rgba(232,148,10,0.1) 40%, transparent 70%);
  animation: centerPulse 3s ease-in-out infinite;
}
@keyframes centerPulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
  50%      { transform: translate(-50%, -50%) scale(1.4); opacity: 0.4; }
}
.orbit-center-logo {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: linear-gradient(145deg, #14100A, #1a1f1c);
  border: 2.5px solid #E8940A;
  display: flex; align-items: center; justify-content: center;
  font-family: Georgia, serif;
  font-size: 36px; font-weight: 700;
  color: #E8940A;
  box-shadow: 0 0 40px rgba(232,148,10,0.35), 0 0 80px rgba(232,148,10,0.15), inset 0 0 20px rgba(232,148,10,0.1);
  position: relative;
  z-index: 2;
  margin: 0 auto;
}
.orbit-center-label {
  font-family: Georgia, serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 4px;
  color: #E8940A;
  margin-top: 6px;
  opacity: 0.8;
}

/* Profils orbitaux */
.orbit-card {
  position: absolute;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px);
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 0 0 1px rgba(232,148,10,0.1);
  z-index: 5;
  white-space: nowrap;
  animation: cardFloat 6s ease-in-out infinite, cardAppear 0.8s cubic-bezier(0.22,1,0.36,1) both;
}
.orbit-card:hover {
  transform: scale(1.08) !important;
  box-shadow: 0 12px 40px rgba(232,148,10,0.25), 0 0 0 2px rgba(232,148,10,0.3);
  z-index: 20;
  transition: all 0.3s cubic-bezier(0.22,1,0.36,1);
}
.oc-avatar {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.oc-info { min-width: 0; }
.oc-name {
  font-weight: 800;
  font-size: 12px;
  color: #14100A;
  line-height: 1.2;
}
.oc-job {
  font-size: 10px;
  color: #6b7a72;
  margin-top: 1px;
}
.oc-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 100px;
  background: rgba(232,148,10,0.12);
  color: #C47A08;
  flex-shrink: 0;
}

/* Positions des cartes sur l'orbite */
.oc-1 { top: 20px; left: 50%; transform: translateX(-50%); }
.oc-2 { top: 22%; right: 5px; }
.oc-3 { bottom: 22%; right: 5px; }
.oc-4 { bottom: 20px; left: 50%; transform: translateX(-50%); }
.oc-5 { bottom: 22%; left: 5px; }
.oc-6 { top: 22%; left: 5px; }

@keyframes cardFloat {
  0%, 100% { transform: translateY(0); }
  33%      { transform: translateY(-8px); }
  66%      { transform: translateY(4px); }
}
.oc-1 { animation: cardFloat1 6s ease-in-out infinite, cardAppear 0.8s cubic-bezier(0.22,1,0.36,1) both; }
.oc-2 { animation: cardFloat2 7s ease-in-out infinite, cardAppear 0.8s cubic-bezier(0.22,1,0.36,1) 0.15s both; }
.oc-3 { animation: cardFloat3 5.5s ease-in-out infinite, cardAppear 0.8s cubic-bezier(0.22,1,0.36,1) 0.3s both; }
.oc-4 { animation: cardFloat4 6.5s ease-in-out infinite, cardAppear 0.8s cubic-bezier(0.22,1,0.36,1) 0.45s both; }
.oc-5 { animation: cardFloat5 7.5s ease-in-out infinite, cardAppear 0.8s cubic-bezier(0.22,1,0.36,1) 0.6s both; }
.oc-6 { animation: cardFloat6 5s ease-in-out infinite, cardAppear 0.8s cubic-bezier(0.22,1,0.36,1) 0.75s both; }

@keyframes cardFloat1 { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(-12px)} }
@keyframes cardFloat2 { 0%,100%{transform:translateY(0)} 40%{transform:translateY(-10px)} 70%{transform:translateY(5px)} }
@keyframes cardFloat3 { 0%,100%{transform:translateY(0)} 30%{transform:translateY(8px)} 60%{transform:translateY(-6px)} }
@keyframes cardFloat4 { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(10px)} }
@keyframes cardFloat5 { 0%,100%{transform:translateY(0)} 35%{transform:translateY(-14px)} 65%{transform:translateY(4px)} }
@keyframes cardFloat6 { 0%,100%{transform:translateY(0)} 45%{transform:translateY(6px)} 80%{transform:translateY(-8px)} }

@keyframes cardAppear {
  from { opacity: 0; transform: scale(0.5); }
  to   { opacity: 1; transform: scale(1); }
}

/* Lignes de connexion SVG */
.orbit-connections {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 1;
  pointer-events: none;
}
.conn-line {
  stroke: rgba(232,148,10,0.12);
  stroke-width: 1;
  stroke-dasharray: 6 4;
  animation: linePulse 3s ease-in-out infinite;
}
.cl-1 { animation-delay: 0s; }
.cl-2 { animation-delay: 0.5s; }
.cl-3 { animation-delay: 1s; }
.cl-4 { animation-delay: 1.5s; }
.cl-5 { animation-delay: 2s; }
.cl-6 { animation-delay: 2.5s; }
@keyframes linePulse {
  0%, 100% { stroke: rgba(232,148,10,0.08); }
  50%      { stroke: rgba(232,148,10,0.25); }
}
.conn-dot {
  opacity: 0.8;
  filter: blur(0.5px);
}

/* Notifications live popup */
.orbit-notif {
  position: absolute;
  background: rgba(15,20,16,0.92);
  backdrop-filter: blur(12px);
  color: white;
  font-size: 11px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid rgba(232,148,10,0.25);
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
  z-index: 15;
  opacity: 0;
  white-space: nowrap;
  pointer-events: none;
}
.on-1 { top: 8%; right: 5%; animation: notifCycle 12s ease-in-out infinite 0s; }
.on-2 { bottom: 25%; left: 2%; animation: notifCycle 12s ease-in-out infinite 2.4s; }
.on-3 { top: 35%; right: 0%; animation: notifCycle 12s ease-in-out infinite 4.8s; }
.on-4 { bottom: 8%; right: 15%; animation: notifCycle 12s ease-in-out infinite 7.2s; }
.on-5 { top: 60%; left: 0%; animation: notifCycle 12s ease-in-out infinite 9.6s; }

@keyframes notifCycle {
  0%, 15%, 100% { opacity: 0; transform: translateY(8px) scale(0.9); }
  3%, 12%       { opacity: 1; transform: translateY(0) scale(1); }
}

/* Sparkles / particules */
.orbit-sparkle {
  position: absolute;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: #E8940A;
  z-index: 0;
  animation: sparkleFloat 4s ease-in-out infinite;
}
.os-1 { top: 20%; left: 15%; animation-delay: 0s; animation-duration: 3.5s; }
.os-2 { top: 45%; right: 8%; animation-delay: 0.8s; animation-duration: 4.2s; }
.os-3 { bottom: 30%; left: 25%; animation-delay: 1.6s; animation-duration: 3.8s; }
.os-4 { top: 10%; right: 30%; animation-delay: 2.4s; width: 3px; height: 3px; }
.os-5 { bottom: 10%; right: 20%; animation-delay: 0.4s; animation-duration: 5s; }
.os-6 { top: 55%; left: 8%; animation-delay: 1.2s; width: 5px; height: 5px; }
.os-7 { bottom: 45%; right: 35%; animation-delay: 2s; width: 3px; height: 3px; }
.os-8 { top: 70%; left: 40%; animation-delay: 3s; animation-duration: 4.5s; }

@keyframes sparkleFloat {
  0%   { opacity: 0; transform: translateY(0) scale(0); }
  20%  { opacity: 1; transform: translateY(-5px) scale(1); }
  80%  { opacity: 0.6; transform: translateY(-20px) scale(0.8); }
  100% { opacity: 0; transform: translateY(-30px) scale(0); }
}

/* ══ Section Vedette ══ */
.vedette-section { background:#14100A; padding:72px 0 64px; border-top:1px solid rgba(232,148,10,0.08); position:relative; overflow:hidden; }
.vedette-section::before { content:''; position:absolute; top:-60px; right:-80px; width:300px; height:300px; background:radial-gradient(circle,rgba(232,148,10,0.06) 0%,transparent 70%); pointer-events:none; }
.vedette-eyebrow { font-family:'Geist Mono','Geist Mono',monospace; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:#E8940A; margin-bottom:10px; }
.vedette-title { font-family:'DM Serif Display',serif; font-size:32px; font-weight:700; font-style:italic; color:#FCE0A8; margin-bottom:40px; }
.vedette-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.vedette-card { background:rgba(252, 224, 168,0.04); border:1px solid rgba(232,148,10,0.10); border-radius:16px; padding:24px 20px; cursor:pointer; transition:transform 0.2s,border-color 0.2s,box-shadow 0.2s; display:flex; flex-direction:column; align-items:center; text-align:center; }
.vedette-card:hover { transform:translateY(-4px); border-color:rgba(232,148,10,0.30); box-shadow:0 8px 32px rgba(232,148,10,0.10); }
.vedette-avatar { width:72px; height:72px; border-radius:50%; overflow:hidden; margin-bottom:14px; border:2px solid rgba(232,148,10,0.25); background:rgba(232,148,10,0.08); display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:700; color:#E8940A; }
.vedette-avatar img { width:100%; height:100%; object-fit:cover; }
.vedette-nom { font-family:'Geist',sans-serif; font-weight:700; font-size:15px; color:#FCE0A8; margin-bottom:4px; }
.vedette-metier { font-size:13px; color:rgba(252, 224, 168,0.6); margin-bottom:4px; }
.vedette-ville { font-size:12px; color:rgba(252, 224, 168,0.45); margin-bottom:8px; }
.vedette-stars { font-size:13px; color:#E8940A; }
.vedette-cta { text-align:center; margin-top:36px; }
.vedette-cta a { font-family:'Geist',sans-serif; font-weight:700; font-size:15px; color:#E8940A; text-decoration:none; cursor:pointer; transition:opacity 0.2s; }
.vedette-cta a:hover { opacity:0.8; }
.vedette-loading { text-align:center; color:rgba(252, 224, 168,0.4); font-size:14px; padding:40px 0; }
@media(max-width:900px){ .vedette-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .vedette-grid{grid-template-columns:1fr 1fr;gap:14px;} .vedette-title{font-size:24px;} .vedette-card{padding:18px 14px;} .vedette-avatar{width:56px;height:56px;} }

/* ══ SECTION LOCALISATION ══ */
.wozali-loc-section {
  background:#14100A; padding:96px 0 80px;
  border-top:1px solid rgba(232,148,10,0.1);
  border-bottom:1px solid rgba(232,148,10,0.1);
  overflow:hidden; position:relative;
}
.wozali-loc-section::before {
  content:''; position:absolute; top:-120px; left:-120px;
  width:480px; height:480px; border-radius:50%;
  background:radial-gradient(circle, rgba(232,148,10,0.06) 0%, transparent 70%);
  pointer-events:none;
}
.wozali-loc-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;
}
.wozali-loc-eyebrow {
  font-family:'Geist Mono',monospace; font-size:11px; letter-spacing:3px;
  color:#E8940A; margin-bottom:20px; display:block;
}
.wozali-loc-title {
  font-family:'DM Serif Display',serif; font-size:clamp(32px,4vw,52px);
  font-weight:900; color:#FCE0A8; line-height:1.1; margin:0 0 20px;
}
.wozali-loc-title span { color:#E8940A; }
.wozali-loc-desc {
  font-family:'Geist',sans-serif; font-size:16px; line-height:1.75;
  color:rgba(252,224,168,0.65); margin:0 0 36px; max-width:480px;
}
.wozali-loc-cities { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
.wozali-loc-city {
  display:flex; align-items:center; gap:16px;
  background:rgba(232,148,10,0.05); border:1px solid rgba(232,148,10,0.18);
  border-radius:14px; padding:16px 20px;
  transition:border-color 0.2s, background 0.2s;
}
.wozali-loc-city:hover { border-color:rgba(232,148,10,0.4); background:rgba(232,148,10,0.08); }
.wozali-loc-flag { font-size:28px; flex-shrink:0; }
.wozali-loc-city-name {
  font-family:'DM Serif Display',serif; font-weight:900; font-size:17px; color:#FCE0A8; margin-bottom:3px;
}
.wozali-loc-city-sub { font-size:12px; color:rgba(252,224,168,0.45); font-family:'Geist Mono',monospace; }
.wozali-loc-city-badge {
  margin-left:auto; flex-shrink:0;
  background:rgba(232,148,10,0.15); color:#E8940A; border:1px solid rgba(232,148,10,0.3);
  font-family:'Geist Mono',monospace; font-size:10px; font-weight:700; letter-spacing:1.5px;
  padding:4px 10px; border-radius:999px;
}
.wozali-loc-expansion {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:12px; color:rgba(252,224,168,0.4); font-family:'Geist Mono',monospace;
}
.wozali-loc-soon { color:rgba(232,148,10,0.5); }

/* ── MAP UI VISUAL ── */
.wozali-loc-visual {
  position:relative; display:flex; align-items:center; justify-content:center;
}
.wloc-map-ui {
  width:100%; max-width:480px;
  background:#0f110d; border:1px solid rgba(232,148,10,0.2);
  border-radius:20px; overflow:hidden;
  box-shadow:0 24px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(232,148,10,0.08);
}
.wloc-searchbar {
  display:flex; align-items:center; gap:10px;
  padding:12px 16px; background:#14100A;
  border-bottom:1px solid rgba(232,148,10,0.12);
}
.wloc-map-bg {
  position:relative; height:310px; overflow:hidden;
  background:linear-gradient(145deg,#0d1210 0%,#111509 40%,#0e1108 100%);
}
.wloc-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(232,148,10,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,148,10,0.07) 1px, transparent 1px);
  background-size:44px 44px;
}
/* Pins */
.wloc-pin {
  position:absolute; transform:translate(-50%,-50%);
  display:flex; align-items:center; justify-content:center;
  z-index:2;
}
@keyframes wlocPulse {
  0%   { transform:translate(-50%,-50%) scale(1); opacity:0.7; }
  100% { transform:translate(-50%,-50%) scale(3.5); opacity:0; }
}
.wloc-pin-ring {
  position:absolute; top:50%; left:50%;
  width:14px; height:14px; border-radius:50%;
  border:1.5px solid #E8940A;
  animation:wlocPulse 2.4s ease-out infinite;
  pointer-events:none;
}
.wloc-pin-dot {
  width:12px; height:12px; border-radius:50%;
  background:#E8940A; box-shadow:0 0 10px rgba(232,148,10,0.6);
  position:relative; z-index:3; flex-shrink:0;
}
.wloc-pin-active .wloc-pin-dot {
  width:16px; height:16px;
  box-shadow:0 0 20px rgba(232,148,10,0.8), 0 0 0 3px rgba(232,148,10,0.25);
}
/* Card popup au-dessus du pin */
.wloc-pin-card {
  position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%);
  background:#1E180E; border:1px solid rgba(232,148,10,0.35);
  border-radius:12px; padding:10px 12px;
  display:flex; align-items:center; gap:10px;
  white-space:nowrap; box-shadow:0 8px 32px rgba(0,0,0,0.5);
  pointer-events:none; min-width:180px;
}
.wloc-pin-card-top { bottom:calc(100% + 8px); }
.wloc-card-avatar {
  width:32px; height:32px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'DM Serif Display',serif; font-weight:900; font-size:14px;
  flex-shrink:0;
}
.wloc-card-name {
  font-family:'Geist',sans-serif; font-weight:700; font-size:12px; color:#FCE0A8; margin-bottom:1px;
}
.wloc-card-meta { font-size:11px; color:rgba(252,224,168,0.5); margin-bottom:1px; }
.wloc-card-dist { font-size:10px; color:rgba(252,224,168,0.4); font-family:'Geist Mono',monospace; }
/* Barre résultat bas */
.wloc-result-bar {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; background:#14100A;
  border-top:1px solid rgba(232,148,10,0.12);
}

/* Mobile responsive orbit */
@media (max-width: 900px) {
  .orbit-container { width: 340px; height: 340px; }
  .orbit-ring-1 { width: 220px; height: 220px; }
  .orbit-ring-2 { width: 280px; height: 280px; }
  .orbit-ring-3 { width: 320px; height: 320px; }
  .orbit-card { padding: 7px 10px; border-radius: 10px; }
  .oc-avatar { width: 28px; height: 28px; font-size: 14px; border-radius: 8px; }
  .oc-name { font-size: 11px; }
  .oc-job { font-size: 9px; }
  .oc-badge { font-size: 9px; padding: 2px 6px; }
  .orbit-center-logo { width: 60px; height: 60px; font-size: 28px; }
  .orbit-notif { font-size: 10px; padding: 6px 10px; }
  .oc-2, .oc-3 { right: -15px; }
  .oc-5, .oc-6 { left: -15px; }
}
@media (max-width: 600px) {
  .hero-orbit-scene { min-height: 360px; }
  .orbit-container { width: 300px; height: 300px; }
  .orbit-ring-1 { width: 180px; height: 180px; }
  .orbit-ring-2 { width: 240px; height: 240px; }
  .orbit-ring-3 { width: 280px; height: 280px; }
  .orbit-card { padding: 5px 8px; gap: 6px; }
  .oc-info { display: none; }
  .oc-badge { display: none; }
  .oc-avatar { width: 32px; height: 32px; font-size: 16px; border-radius: 50%; }
  .orbit-notif { display: none; }
  .orbit-center-logo { width: 52px; height: 52px; font-size: 24px; }
  .orbit-center-label { font-size: 9px; letter-spacing: 3px; }
}

/* ══ BARRE DE RECHERCHE ══ */
.search-bar-section {
  background:#14100A; padding:32px 0;
  border-bottom:1px solid rgba(232,148,10,0.15);
  box-shadow:0 4px 24px rgba(0,0,0,0.2);
}
.search-bar {
  display:flex; gap:0; background:rgba(255,255,255,0.06);
  border-radius:16px; overflow:hidden;
  border:2px solid rgba(232,148,10,0.15); transition:border-color 0.2s;
}
.search-bar:focus-within { border-color:var(--vert); }
.search-bar select, .search-bar input {
  flex:1; border:none; background:transparent;
  padding:16px 20px; font-family:'Geist',sans-serif;
  font-size:15px; font-weight:500; color:#FCE0A8; outline:none;
}
.search-bar select { border-right:1px solid rgba(0,0,0,0.08); max-width:220px; }
.search-bar-btn {
  background:var(--vert); color:white; border:none;
  padding:16px 28px; font-family:'Geist',sans-serif;
  font-weight:700; font-size:15px; cursor:pointer; transition:background 0.2s;
  white-space:nowrap;
}
.search-bar-btn:hover { background:var(--vert-dark); }

.quick-filters { display:flex; gap:8px; margin-top:16px; flex-wrap:wrap; }
.qf-chip {
  padding:7px 16px; border-radius:100px; border:1.5px solid rgba(232,148,10,0.2);
  background:rgba(255,255,255,0.06); font-size:13px; font-weight:600; cursor:pointer;
  transition:all 0.2s; color:#FCE0A8;
}
.qf-chip:hover, .qf-chip.active { background:var(--vert); color:white; border-color:var(--vert); }
/* Chips Talents Digitaux — couleur indigo */
.qf-chip-digital { border-color:rgba(99,102,241,0.3); color:#4f46e5; }
.qf-chip-digital:hover { background:#6366f1; color:white; border-color:#6366f1; }
/* Cartes catégories digitales sur la home */
.digital-cat-card {
  cursor:pointer; background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08); border-radius:14px;
  padding:16px 12px; text-align:center; transition:all 0.2s;
}
.digital-cat-card:hover {
  background:rgba(99,102,241,0.12); border-color:rgba(99,102,241,0.3);
  transform:translateY(-2px);
}
.dcc-icon { font-size:26px; margin-bottom:8px; }
.dcc-label { font-size:12px; font-weight:700; color:rgba(255,255,255,0.8); line-height:1.35; }

/* ══ CARDS PRESTATAIRES ══ */
.cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:20px; }

.pcard {
  background:rgba(255,255,255,0.04); border-radius:20px; overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,0.3); border:1.5px solid rgba(232,148,10,0.1);
  transition:all 0.3s; cursor:pointer;
  border-top:4px solid #E8940A;
}
.pcard:hover { transform:translateY(-4px); box-shadow:0 8px 32px rgba(0,0,0,0.4); border-color:rgba(232,148,10,0.3); border-top-color:#E8940A; }

.pcard-dispo {
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(232,148,10,0.1); padding:4px 10px; border-radius:100px;
  font-size:11px; font-weight:700; color:#E8940A;
  border:1px solid rgba(232,148,10,0.3);
}
.dispo-dot { width:7px; height:7px; border-radius:50%; background:#E8940A; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }

.pcard-body { padding:18px 20px; }
.pcard-top { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:10px; }
.pcard-avatar {
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--vert),var(--or));
  display:flex; align-items:center; justify-content:center;
  font-family:'DM Serif Display',serif; font-weight:900; font-size:18px; color:white;
  border:2px solid white; box-shadow:0 2px 8px rgba(0,0,0,0.1);
  overflow:hidden;
}
.pcard-avatar img { width:100%; height:100%; object-fit:cover; }
.pcard-name { font-weight:800; font-size:16px; margin-bottom:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pcard-meta { font-size:13px; color:var(--gris); display:flex; align-items:center; gap:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pcard-badges { display:flex; gap:6px; margin:8px 0; flex-wrap:wrap; }
.pcard-rating { display:flex; align-items:center; gap:6px; font-size:13px; color:var(--gris); margin-top:6px; }
.stars { color:var(--or); letter-spacing:1px; }

.pcard-footer {
  padding:14px 20px; border-top:1px solid var(--gris-light);
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  flex-wrap:wrap;
}
.pcard-price { font-family:'DM Serif Display',serif; font-weight:700; font-size:17px; color:var(--vert); min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pcard-price span { font-family:'Geist',sans-serif; font-size:12px; color:var(--gris); font-weight:500; }
.pcard-footer .btn { white-space:nowrap; flex-shrink:0; max-width:100%; font-size:12px !important; padding:8px 14px !important; }

/* ══ EMPTY STATE ══ */
.empty-state { text-align:center; padding:80px 24px; color:var(--gris); }
.empty-icon { font-size:56px; margin-bottom:16px; }
.empty-state h3 { font-family:'DM Serif Display',serif; font-size:22px; color:#FCE0A8; margin-bottom:8px; }

/* ══════════════════════════════════════
   PAGE RECHERCHE
══════════════════════════════════════ */
.search-page-header {
  background:#14100A; padding:32px 0;
  border-bottom:1px solid rgba(232,148,10,0.08);
}
.search-filters {
  display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:20px;
}
.filter-select {
  padding:10px 16px; border:2px solid rgba(232,148,10,0.2);
  border-radius:100px; font-family:'Geist',sans-serif;
  font-size:14px; font-weight:600; background:rgba(255,255,255,0.06); outline:none;
  cursor:pointer; transition:border-color 0.2s; color:#FCE0A8;
}
.filter-select:focus { border-color:var(--vert); }
.filter-dispo {
  display:flex; align-items:center; gap:8px;
  padding:10px 16px; border:2px solid rgba(232,148,10,0.2);
  border-radius:100px; font-size:14px; font-weight:600;
  cursor:pointer; background:rgba(255,255,255,0.06); transition:all 0.2s; color:#FCE0A8;
}
.filter-dispo.active { background:var(--vert); color:#14100A !important; border-color:var(--vert); }
/* Bouton filtre digital actif */
#digital-btn.active { background:#6366f1; color:white !important; border-color:#6366f1; }
.results-meta { font-size:14px; color:var(--gris); margin-top:20px; font-weight:500; }
.pcard-distance { display:inline-flex; align-items:center; gap:3px; font-size:11px; font-weight:600; color:var(--vert); background:#FCE0A8; border-radius:20px; padding:2px 8px; margin-top:4px; }
#search-map { width:100%; height:580px; border-radius:18px; overflow:hidden; display:none; box-shadow:0 4px 24px rgba(0,0,0,0.10); margin-top:0; }
#search-map .leaflet-popup-content-wrapper { border-radius:14px; box-shadow:0 8px 32px rgba(0,0,0,.18); padding:14px 20px; border:none; }
#search-map .leaflet-popup-tip-container { display:none; }
#search-map .leaflet-popup-content { margin:0; }
.map-toggle-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }
.map-toggle-btn { display:flex; align-items:center; gap:7px; background:white; border:1.5px solid #e2e8f0; border-radius:100px; padding:8px 18px; font-size:13px; font-weight:700; cursor:pointer; color:#111; transition:background .15s,border-color .15s; }
.map-toggle-btn:hover, .map-toggle-btn.active { background:#111; color:white; border-color:#111; }
.leaflet-popup-content { font-family:inherit; min-width:200px; }
.map-popup-name { font-weight:800; font-size:15px; margin-bottom:2px; }
.map-popup-meta { font-size:12px; color:#64748b; margin-bottom:6px; }
.map-popup-btn { display:block; width:100%; background:#111; color:white; border:none; border-radius:8px; padding:8px 0; font-size:13px; font-weight:700; cursor:pointer; margin-top:8px; }

/* ══════════════════════════════════════
   PAGE PROFIL
══════════════════════════════════════ */
/* ══════════════════════════════════════
   PAGE PROFIL — DARK PREMIUM REDESIGN
══════════════════════════════════════ */


/* Animations d'entrée profil */
@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.profil-animate {
  opacity: 0;
  animation: fadeSlideUp 0.5s ease forwards;
}
.profil-animate:nth-child(1) { animation-delay: 0.05s; }
.profil-animate:nth-child(2) { animation-delay: 0.12s; }
.profil-animate:nth-child(3) { animation-delay: 0.19s; }
.profil-animate:nth-child(4) { animation-delay: 0.26s; }
.profil-animate:nth-child(5) { animation-delay: 0.33s; }
.profil-animate:nth-child(6) { animation-delay: 0.40s; }

/* Hero section dark */
.profil-hero-section {
  background:#111; padding:0 0 0;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.profil-hero-inner {
  max-width:1160px; margin:0 auto; padding:0 24px;
}

/* Avatar flottant sur la bannière */
.profil-avatar-wrap {
  position:relative; display:inline-block;
  margin-top:-54px; margin-bottom:16px;
}
.profil-avatar-lg {
  width:108px; height:108px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--vert),var(--or));
  display:flex; align-items:center; justify-content:center;
  font-family:'DM Serif Display',serif; font-weight:900; font-size:40px; color:white;
  box-shadow:0 0 0 4px #111, 0 0 0 6px var(--vert); overflow:hidden;
  border:3px solid #111;
}
.profil-avatar-lg img { width:100%; height:100%; object-fit:cover; }
.profil-avatar-lg.premium { box-shadow:0 0 0 4px #111, 0 0 0 6px var(--or); }

/* Badge statut en ligne */
.profil-online-badge {
  position:absolute; bottom:6px; right:6px;
  width:22px; height:22px; border-radius:50%;
  background:#E8940A; border:3px solid #111;
}
.profil-online-badge.offline { background:#6b7a72; }

/* Top section */
.profil-top {
  display:flex; align-items:flex-start; gap:24px;
  flex-wrap:wrap; padding:0 0 24px;
}
.profil-info { flex:1; min-width:260px; padding-top:4px; }
.profil-name {
  font-family:'DM Serif Display',serif; font-size:30px; font-weight:900;
  margin-bottom:6px; color:white; display:flex; align-items:center; gap:10px;
}
.profil-verified-icon {
  width:24px; height:24px; border-radius:50%; background:var(--vert);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:12px; color:white; flex-shrink:0;
}
.profil-sub {
  font-size:15px; color:rgba(255,255,255,0.6); margin-bottom:12px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.profil-sub span { display:flex; align-items:center; gap:4px; }
.profil-badges { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.profil-badges .badge-vert { background:rgba(232,148,10,0.2); color:#F5B82E; border:1px solid rgba(232,148,10,0.4); }
.profil-badges .badge-or { background:rgba(232,148,10,0.2); color:#fbbf24; border:1px solid rgba(232,148,10,0.4); }

/* Statut en ligne texte */
.profil-status-text {
  font-size:13px; font-weight:600; display:flex; align-items:center; gap:6px; margin-bottom:14px;
}
.profil-status-dot { width:9px; height:9px; border-radius:50%; background:#E8940A; display:inline-block; box-shadow:0 0 6px #E8940A; }
.profil-status-dot.offline { background:#6b7a72; box-shadow:none; }

/* Boutons d'action */
.profil-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.btn-rdv {
  background:linear-gradient(135deg,var(--vert),#E8940A);
  color:white; padding:13px 26px; border-radius:100px; border:none;
  font-family:'Geist',sans-serif; font-weight:800; font-size:15px;
  cursor:pointer; transition:all 0.2s; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 4px 16px rgba(232,148,10,0.4);
}
.btn-rdv:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,148,10,0.5); }
.btn-dark-outline {
  background:rgba(255,255,255,0.06); color:white; padding:12px 20px;
  border-radius:100px; border:1px solid rgba(255,255,255,0.15);
  font-family:'Geist',sans-serif; font-weight:700; font-size:14px;
  cursor:pointer; transition:all 0.2s; text-decoration:none;
  display:inline-flex; align-items:center; gap:7px;
}
.btn-dark-outline:hover { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.3); }

/* Stats bar dark */
.profil-stats-bar {
  display:flex; gap:0; padding:20px 0;
  border-top:1px solid rgba(255,255,255,0.08);
}
.pstat {
  flex:1; text-align:center; padding:0 12px;
  border-right:1px solid rgba(255,255,255,0.08);
}
.pstat:last-child { border-right:none; }
.pstat-num { font-family:'DM Serif Display',serif; font-size:24px; font-weight:900; color:var(--vert); }
.pstat-label { font-size:11px; color:rgba(255,255,255,0.45); margin-top:2px; text-transform:uppercase; letter-spacing:0.5px; }

/* Body dark */
.profil-page-bg { background:#0f0f0f; min-height:60vh; }
.profil-body { display:grid; grid-template-columns:2fr 1fr; gap:24px; padding:32px 0; }

/* Sections dark */
.profil-section {
  background:#1a1a1a; border-radius:20px; padding:26px;
  box-shadow:0 2px 16px rgba(0,0,0,0.3);
  border:1px solid rgba(255,255,255,0.06);
  margin-bottom:18px;
  animation: fadeInUp 0.5s ease both;
}
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(20px); }
  to { opacity:1; transform:translateY(0); }
}
.profil-section:nth-child(1) { animation-delay:0.05s; }
.profil-section:nth-child(2) { animation-delay:0.12s; }
.profil-section:nth-child(3) { animation-delay:0.19s; }
.profil-section:nth-child(4) { animation-delay:0.26s; }
.profil-section h3 {
  font-family:'DM Serif Display',serif; font-size:18px; font-weight:700;
  margin-bottom:16px; color:white;
}
.profil-section p { color:rgba(255,255,255,0.7); font-size:15px; line-height:1.8; }

/* Albums grille Instagram */
.album-grid-ig { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; border-radius:12px; overflow:hidden; }
.album-item-ig {
  aspect-ratio:1; overflow:hidden; cursor:pointer; position:relative;
  background:#2a2a2a;
}
.album-item-ig img { width:100%; height:100%; object-fit:cover; transition:transform 0.3s; }
.album-item-ig:hover img { transform:scale(1.08); }
.album-item-ig .album-overlay {
  position:absolute; inset:0; background:rgba(0,0,0,0); display:flex;
  align-items:center; justify-content:center; transition:all 0.2s;
}
.album-item-ig:hover .album-overlay { background:rgba(0,0,0,0.35); }
.album-item-ig .album-overlay-icon { color:white; font-size:24px; opacity:0; transition:opacity 0.2s; }
.album-item-ig:hover .album-overlay-icon { opacity:1; }
.album-empty-slot {
  aspect-ratio:1; background:#1e1e1e; border:1.5px dashed rgba(255,255,255,0.1);
  border-radius:4px; display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.2); font-size:22px;
}

/* Lightbox dark premium */
.lightbox-dark {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,0.95); z-index:9999;
  align-items:center; justify-content:center;
  backdrop-filter:blur(4px);
}
.lightbox-dark.open { display:flex; animation:fadeIn 0.2s ease; }
.lightbox-dark-inner {
  position:relative; width:94vw; height:90vh; max-width:900px;
  display:flex; align-items:center; justify-content:center;
}
.lightbox-dark-img {
  max-width:100%; max-height:100%; object-fit:contain;
  border-radius:12px; box-shadow:0 8px 60px rgba(0,0,0,0.8);
}
.lightbox-close {
  position:absolute; top:-14px; right:-14px;
  width:40px; height:40px; border-radius:50%;
  background:#fff; color:#111; border:none; font-size:20px; font-weight:700;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 12px rgba(0,0,0,0.4);
  transition:all 0.2s;
}
.lightbox-close:hover { background:#f3f4f6; transform:scale(1.1); }
.lightbox-nav {
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,0.12); backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,0.2); color:white; font-size:22px;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all 0.2s;
}
.lightbox-nav:hover { background:rgba(255,255,255,0.25); }
.lightbox-prev { left:-58px; }
.lightbox-next { right:-58px; }
.lightbox-counter {
  position:absolute; bottom:-36px; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,0.5); font-size:13px; font-weight:600;
}

/* Avis dark */
.avis-item {
  padding:18px 0; border-bottom:1px solid rgba(255,255,255,0.07);
}
.avis-item:last-child { border-bottom:none; }
.avis-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.avis-author { font-weight:700; font-size:14px; color:white; }
.avis-date { font-size:12px; color:rgba(255,255,255,0.4); }
.avis-text { font-size:14px; color:rgba(255,255,255,0.65); line-height:1.6; }

/* Sidebar dark */
.profil-page-bg .sidebar-card {
  background:#1a1a1a; border-radius:20px; padding:24px;
  box-shadow:0 2px 16px rgba(0,0,0,0.3);
  border:1px solid rgba(255,255,255,0.07);
  margin-bottom:18px; animation: fadeInUp 0.5s ease both;
}
.profil-page-bg .sidebar-card h4 { font-weight:800; font-size:15px; margin-bottom:16px; color:white; }

.tarif-box {
  background:rgba(232,148,10,0.15); border-radius:14px; padding:20px;
  text-align:center; margin-bottom:16px;
  border:1px solid rgba(232,148,10,0.3);
}
.tarif-range { font-family:'DM Serif Display',serif; font-size:24px; font-weight:900; color:#F5B82E; }
.tarif-label { font-size:13px; color:rgba(255,255,255,0.5); margin-top:4px; font-weight:600; }

/* Sidebar card hors profil dark (contexte normal) */
.sidebar-card { background:rgba(255,255,255,0.04); border-radius:20px; padding:24px; box-shadow:var(--shadow); margin-bottom:20px; border:1px solid rgba(232,148,10,0.1); }
.sidebar-card h4 { font-weight:800; font-size:15px; margin-bottom:16px; }

/* À propos - voir plus */
.description-text { color:rgba(255,255,255,0.7); font-size:15px; line-height:1.8; }
.voir-plus-btn {
  background:none; border:none; color:var(--vert); font-weight:700; font-size:14px;
  cursor:pointer; margin-top:8px; padding:0; display:flex; align-items:center; gap:4px;
}
.voir-plus-btn:hover { color:#F5B82E; }

/* Gallery grid classic */
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.gallery-item {
  aspect-ratio:1; border-radius:10px; overflow:hidden;
  background:linear-gradient(135deg,var(--vert-light),var(--or-light));
  display:flex; align-items:center; justify-content:center; font-size:28px;
}
.gallery-item img { width:100%; height:100%; object-fit:cover; }

/* ══════════════════════════════════════
   PAGE INSCRIPTION
══════════════════════════════════════ */
.form-page { max-width:680px; margin:0 auto; padding:60px 24px; }
#page-inscription, #page-login {
  background:#14100A;
  color:#FCE0A8;
  padding:80px 0 60px;
  border-bottom:1px solid rgba(232,148,10,0.15);
  min-height:100vh;
}
#page-inscription .form-header h2,
#page-login h2 { color:#FCE0A8; }
#page-inscription .form-header p,
#page-login > .auth-page > p { color:rgba(252, 224, 168,0.65); }
.form-header { margin-bottom:40px; }
.form-header h2 { font-family:'DM Serif Display',serif; font-size:36px; font-weight:900; margin-bottom:8px; }
.form-header p { font-size:16px; color:var(--gris); }

.progress-bar { display:flex; gap:6px; margin-bottom:36px; }
.progress-step { flex:1; height:5px; border-radius:5px; background:var(--gris-light); transition:all 0.4s; }
.progress-step.active { background:var(--vert); }
.progress-step.done { background:var(--or); }

.step-label { font-size:13px; color:var(--gris); margin-bottom:24px; font-weight:600; }
.step-title { font-family:'DM Serif Display',serif; font-size:24px; font-weight:700; margin-bottom:24px; }

.form-step { display:none; }
.form-step.active { display:block; animation:fadeIn 0.3s ease; }

.form-group { margin-bottom:20px; }
label { display:block; font-weight:700; font-size:14px; margin-bottom:8px; color:var(--gris-fonce); }
label .req { color:var(--or); }

input[type=text],input[type=tel],input[type=email],input[type=url],input[type=number],input[type=date],input[type=password],select,textarea {
  width:100%; padding:14px 18px;
  border:2px solid rgba(232,148,10,0.15); border-radius:12px;
  font-family:'Geist',sans-serif; font-size:15px;
  color:#FCE0A8; background:rgba(255,255,255,0.06); outline:none; transition:all 0.2s;
}
input:focus,select:focus,textarea:focus {
  border-color:var(--vert);
  box-shadow:0 0 0 4px rgba(232,148,10,0.08);
}
textarea { resize:vertical; min-height:110px; }

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* Upload photo */
.upload-zone {
  border:2px dashed rgba(232,148,10,0.3); border-radius:16px;
  padding:32px; text-align:center; cursor:pointer; transition:all 0.2s;
  background:var(--vert-light);
}
.upload-zone:hover { border-color:var(--vert); background:rgba(232,148,10,0.1); }
.upload-zone.has-file { border-style:solid; border-color:var(--vert); }
.upload-icon { font-size:36px; margin-bottom:12px; }
.upload-text { font-size:14px; color:var(--gris); }
.upload-text strong { color:var(--vert); }
.upload-preview { width:80px; height:80px; border-radius:50%; object-fit:cover; margin:0 auto 12px; display:block; border:3px solid var(--vert); }

.form-nav { display:flex; justify-content:space-between; margin-top:36px; gap:12px; }

.form-success { text-align:center; padding:48px 24px; display:none; }
.form-success.form-visible { display:block; }
@keyframes spin { to { transform: rotate(360deg); } }
.form-hidden { display:none !important; }

.tiktok-tip {
  background: linear-gradient(135deg, #010101, #1a1a2e);
  border-radius: 14px; padding: 16px 20px;
  display: flex; align-items: flex-start; gap: 14px;
  margin-top: 8px;
}
.tiktok-tip-icon { font-size: 28px; flex-shrink:0; }
.tiktok-tip-text { font-size: 13px; color: rgba(255,255,255,0.85); line-height:1.6; }
.tiktok-tip-text strong { color: white; font-size:14px; display:block; margin-bottom:4px; }
.tiktok-tip-boost { display:inline-block; background:#fe2c55; color:white; font-size:11px; font-weight:700; padding:3px 10px; border-radius:100px; margin-top:6px; }
.success-icon { width:80px; height:80px; border-radius:50%; background:var(--vert); color:white; font-size:36px; display:flex; align-items:center; justify-content:center; margin:0 auto 24px; }

/* ══════════════════════════════════════
   PAGE LAISSER UN AVIS
══════════════════════════════════════ */
.avis-page { max-width:560px; margin:0 auto; padding:60px 24px; }
.star-selector { display:flex; gap:8px; margin:12px 0; }
.star-btn {
  font-size:32px; cursor:pointer; transition:transform 0.1s;
  background:none; border:none; color:#d1d5db; line-height:1;
}
.star-btn.active { color:var(--or); transform:scale(1.1); }
.star-labels { display:flex; justify-content:space-between; font-size:11px; color:var(--gris); margin-top:4px; }

/* ══ FOOTER ══ */
footer {
  background:var(--noir); color:rgba(255,255,255,0.6);
  padding:56px 0 32px; margin-top:80px;
}
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.footer-logo { font-family:'DM Serif Display',serif; font-weight:900; font-size:28px; color:white; margin-bottom:12px; }
.footer-logo span { color:var(--or); }
.footer-desc { font-size:14px; line-height:1.7; }
.footer-col h4 { color:white; font-size:14px; font-weight:700; margin-bottom:16px; letter-spacing:0.5px; text-transform:uppercase; }
.footer-col a { display:block; font-size:14px; color:rgba(255,255,255,0.5); text-decoration:none; margin-bottom:10px; cursor:pointer; transition:color 0.2s; }
.footer-col a:hover { color:var(--or); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:24px; display:flex; justify-content:space-between; align-items:center; font-size:13px; flex-wrap:wrap; gap:12px; }

/* ══ MODAL AVIS ══ */
.modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:500;
  display:none; align-items:center; justify-content:center; padding:24px;
}
.modal-overlay.active { display:flex; animation:fadeIn 0.2s ease; }
.modal {
  background:#14100A; border-radius:24px; padding:36px; max-width:520px; width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,0.4); position:relative; border:1px solid rgba(232,148,10,0.2); color:#FCE0A8;
}
.modal-close { position:absolute; top:16px; right:16px; background:var(--gris-light); border:none; border-radius:100px; width:32px; height:32px; cursor:pointer; font-size:18px; display:flex; align-items:center; justify-content:center; color:var(--gris); transition:all 0.2s; }
.modal-close:hover { background:var(--gris-fonce); color:white; }

/* ══ RESPONSIVE ══ */
@media (max-width: 768px) {
  .hero-grid { grid-template-columns:1fr; gap:32px; }
  .hero-visual { display:flex; margin:0 auto; max-width:100%; justify-content:center; }
  .profil-body { grid-template-columns:1fr; }
  /* Sur mobile : sidebar (Informations, Réseaux sociaux) avant la colonne principale */
  .profil-body > *:first-child { order:2; }
  .profil-body > *:last-child  { order:1; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .form-row { grid-template-columns:1fr; }
  .nav-links .btn-ghost { display:none; }
  .hero-metrics { gap:0; }
  .metric { padding:0 10px; }
  .metric-num { font-size:24px; }
  .profil-avatar-lg { width:86px; height:86px; font-size:32px; }
  .profil-name { font-size:22px; }
  .profil-actions { gap:8px; }
  .btn-rdv { padding:11px 18px; font-size:14px; }
  .btn-dark-outline { padding:10px 14px; font-size:13px; }
  .pstat-num { font-size:20px; }
  .profil-stats-bar { flex-wrap:wrap; }
  .pstat { min-width:50%; }
  .album-grid-ig { grid-template-columns:repeat(3,1fr); }
  .lightbox-prev { left:-14px; }
  .lightbox-next { right:-14px; }
}

/* ══ AUTH ══ */
.auth-page { max-width:460px; margin:0 auto; padding:60px 24px; }
.auth-page h2 { font-family:'DM Serif Display',serif; font-size:32px; font-weight:900; margin-bottom:6px; }
.auth-page p { color:var(--gris); font-size:15px; margin-bottom:32px; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:20px 0; color:var(--gris); font-size:13px; }
.auth-divider::before, .auth-divider::after { content:''; flex:1; height:1px; background:var(--gris-light); }
.auth-switch { text-align:center; margin-top:20px; font-size:14px; color:var(--gris); }
.auth-switch a { color:var(--vert); font-weight:700; cursor:pointer; text-decoration:none; }
.pw-toggle { position:relative; width:100%; display:block; }
.pw-toggle input { padding-right:48px; width:100%; box-sizing:border-box; }
.pw-toggle-btn { position:absolute; right:16px; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; font-size:18px; color:var(--gris); }

/* ══ NAV CONNECTÉ ══ */
.nav-user {
  display:flex; align-items:center; gap:8px;
  padding:6px 6px 6px 14px; border-radius:100px;
  background:var(--vert-light); border:1.5px solid rgba(232,148,10,0.2);
  cursor:pointer; transition:all 0.2s;
}
.nav-user:hover { background:rgba(232,148,10,0.15); }
.nav-user-avatar {
  width:28px; height:28px; border-radius:50%;
  background:linear-gradient(135deg,var(--vert),var(--or));
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800; color:white;
}
.nav-user-name { font-size:13px; font-weight:700; color:var(--vert); max-width:100px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ══ DASHBOARD ══ */
.dashboard-layout { display:grid; grid-template-columns:260px 1fr; min-height:calc(100vh - 68px); }
.dashboard-sidebar {
  background:#0a0e0c; border-right:1px solid rgba(232,148,10,0.1);
  padding:32px 20px; position:sticky; top:68px; height:calc(100vh - 68px); overflow-y:auto;
}
.dashboard-sidebar h3 { font-size:11px; font-weight:700; color:rgba(252, 224, 168,0.4); letter-spacing:1px; text-transform:uppercase; margin-bottom:12px; margin-top:24px; padding-left:12px; }
.dashboard-sidebar h3:first-child { margin-top:0; }
.dash-link {
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-radius:10px; font-size:14px; font-weight:600; color:rgba(252, 224, 168,0.7);
  cursor:pointer; transition:all 0.2s; border:none; background:none; width:100%; text-align:left;
  font-family:'Geist',sans-serif;
}
.dash-link:hover { background:var(--vert-light); color:var(--vert); }
.dash-link.active { background:var(--vert); color:white; }
.dash-link .icon { font-size:16px; width:20px; text-align:center; }

.dashboard-main { padding:36px; background:#14100A; }
.dash-section { display:none; }
.dash-section.active { display:block; animation:fadeIn 0.3s ease; }
.dash-header { margin-bottom:28px; }
.dash-header h2 { font-family:'DM Serif Display',serif; font-size:26px; font-weight:900; }
.dash-header p { color:var(--gris); font-size:14px; margin-top:4px; }

.dash-explainer {
  background: rgba(232,148,10,0.06);
  border-left: 4px solid #E8940A;
  border-radius: 0 12px 12px 0;
  padding: 14px 16px;
  margin-bottom: 24px;
  font-size: 13px;
  line-height: 1.7;
  color: #FCE0A8;
}

.stat-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; margin-bottom:28px; }
.stat-card { background:rgba(255,255,255,0.04); border-radius:16px; padding:20px; box-shadow:var(--shadow); border:1px solid rgba(232,148,10,0.1); }
.stat-card-num { font-family:'DM Serif Display',serif; font-size:32px; font-weight:900; color:var(--vert); }
.stat-card-label { font-size:13px; color:var(--gris); margin-top:4px; }
.stat-card-trend { font-size:12px; font-weight:700; margin-top:8px; }
.trend-up { color:#E8940A; }
.trend-neutral { color:var(--gris); }

/* ══ INFO TIPS DASHBOARD ══ */
.info-tip {
  background:linear-gradient(135deg,#fffbeb,#fef3dc);
  border:1.5px solid rgba(232,148,10,0.25);
  border-radius:14px; padding:16px 20px;
  font-size:13px; color:#92400e; line-height:1.7;
  margin-top:14px; display:flex; gap:10px; align-items:flex-start;
}
.info-tip-icon { font-size:20px; flex-shrink:0; margin-top:1px; }

.dispo-toggle {
  display:flex; align-items:center; gap:16px;
  padding:20px 24px; background:rgba(255,255,255,0.04); border-radius:16px;
  box-shadow:var(--shadow); margin-bottom:20px; border:1px solid rgba(232,148,10,0.12);
}
.toggle-switch {
  position:relative; width:52px; height:28px; flex-shrink:0;
}
.toggle-switch input { opacity:0; width:0; height:0; }
.toggle-slider {
  position:absolute; inset:0; border-radius:28px;
  background:#d1d5db; cursor:pointer; transition:0.3s;
}
.toggle-slider:before {
  content:''; position:absolute; width:22px; height:22px;
  left:3px; top:3px; background:white; border-radius:50%; transition:0.3s;
  box-shadow:0 1px 4px rgba(0,0,0,0.2);
}
input:checked + .toggle-slider { background:var(--vert); }
input:checked + .toggle-slider:before { transform:translateX(24px); }
.dispo-info h4 { font-weight:800; font-size:15px; margin-bottom:2px; }
.dispo-info p { font-size:13px; color:var(--gris); }

.edit-form-section { background:rgba(255,255,255,0.04); border-radius:20px; padding:28px; box-shadow:var(--shadow); border:1px solid rgba(232,148,10,0.1); }
.edit-form-section h3 { font-family:'DM Serif Display',serif; font-size:18px; font-weight:700; margin-bottom:20px; }

.avis-dash-item { padding:16px; background:var(--gris-light); border-radius:12px; margin-bottom:12px; }
.avis-dash-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.avis-dash-author { font-weight:700; font-size:14px; }

@media (max-width:900px) {
  .dashboard-layout { grid-template-columns:1fr; }
  .dashboard-sidebar { position:static; height:auto; padding:16px; display:flex; gap:8px; flex-wrap:wrap; border-right:none; border-bottom:1px solid var(--gris-light); }
  .dashboard-sidebar h3 { display:none; }
  .dash-link { padding:8px 12px; font-size:13px; }
  .dashboard-main { padding:20px; }
}

/* ══ MOBILE GLOBAL ══ */
@media (max-width:600px) {
  .container { padding:0 16px; }
  .section { padding:48px 0; }
  h1 { font-size:36px !important; }
  h2 { font-size:26px !important; }
  /* Section localisation homepage responsive */
  .wozali-loc-grid { grid-template-columns:1fr !important; gap:40px !important; }
  .wozali-loc-visual { display:none !important; }

  /* NAV MOBILE */
  nav { height:56px; }
  .nav-links { gap:4px; }
  .nav-link { font-size:12px; padding:6px 10px; }
  .nav-logo { font-size:20px; }

  /* HERO MOBILE */
  .hero { padding:48px 0 36px; overflow-x:hidden; }
  .hero-grid { grid-template-columns:1fr !important; gap:24px !important; }
  .hero-visual { display:flex !important; margin:0 auto; max-width:100%; justify-content:center; overflow:hidden; }
  .hero-sub { font-size:15px; word-break:break-word; }
  .hero h1 { word-break:break-word; overflow-wrap:break-word; }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; justify-content:center; }
  .hero-metrics { grid-template-columns:repeat(2,1fr) !important; gap:12px !important; }
  .hero-proof { flex-wrap:wrap; gap:8px; }
  .btn-lg { padding:14px 24px; font-size:15px; }

  /* SEARCH BAR MOBILE */
  .search-bar { flex-direction:column; border-radius:12px; }
  .search-bar select, .search-bar input { border-right:none !important; border-bottom:1px solid rgba(0,0,0,0.08); padding:14px 16px; max-width:100% !important; }
  .search-bar-btn { border-radius:0 0 10px 10px; padding:14px; }
  .quick-filters { gap:6px; }
  .qf-chip { padding:6px 12px; font-size:12px; }

  /* CARDS MOBILE */
  .cards-grid { grid-template-columns:1fr !important; gap:14px !important; }

  /* INSCRIPTION MOBILE */
  .form-row { flex-direction:column !important; gap:0 !important; }
  .form-step { padding:20px 16px !important; }
  .progress-bar { padding:16px !important; gap:6px !important; }
  .pb-step-label { display:none; }

  /* PROFIL PAGE MOBILE */
  .profil-grid { grid-template-columns:1fr !important; gap:16px !important; }
  .profil-photos { grid-template-columns:repeat(2,1fr) !important; }
  .profil-header { flex-direction:column; text-align:center; }

  /* DASHBOARD MOBILE */
  .dashboard-layout { grid-template-columns:1fr !important; }
  .dashboard-sidebar { padding:12px !important; gap:4px !important; flex-wrap:nowrap !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .dashboard-sidebar::-webkit-scrollbar { display:none; }
  .dash-link { padding:8px 10px !important; font-size:12px !important; flex:0 0 auto; white-space:nowrap; }
  .dashboard-main { padding:16px !important; }
  .stat-cards { grid-template-columns:repeat(2,1fr) !important; gap:10px !important; }
  .stat-card { padding:14px !important; }
  .stat-card-num { font-size:22px !important; }
  .edit-form-section { padding:16px !important; }

  /* ENCAISSER SECTION MOBILE */
  .form-input { font-size:16px !important; padding:12px !important; }

  /* MES POSTS STATS MOBILE */
  #posts-count, #comments-count, #likes-count { font-size:24px !important; }

  /* KPI CARDS MOBILE (Vue d'ensemble) */
  .kpi-card { padding:12px !important; }
  .kpi-value { font-size:24px !important; }

  /* MODALS MOBILE */
  .modal-overlay { padding:16px; }
  .modal { padding:20px !important; max-width:95vw !important; }
  .modal h2 { font-size:20px !important; }

  /* TABLES/GRIDS MOBILE */
  .render-grid, .render-list { grid-template-columns:1fr !important; }

  /* BUTTONS MOBILE */
  .btn { padding:12px 16px !important; font-size:14px !important; }
  .btn-sm { padding:8px 12px !important; }

  /* INPUTS MOBILE */
  input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea, select {
    font-size:16px !important; padding:12px !important;
  }

  /* FLEX COLS MOBILE */
  [style*="flex:1"], .flex-row { flex-direction:column !important; width:100% !important; }

  /* SPACING MOBILE */
  .dash-header { gap:12px !important; }
  .dash-header h2 { font-size:22px !important; }
  .dash-header p { font-size:13px !important; }

  /* FONCTIONNEMENT MOBILE */
  .how-steps { grid-template-columns:1fr !important; }
  .plans-grid { grid-template-columns:1fr !important; }

  /* À PROPOS MOBILE */
  .apropos-photo-grid { grid-template-columns:1fr 2fr !important; gap:20px !important; }

  /* PROFIL PUBLIC MOBILE */
  .profil-page-bg { padding:0; }
  .profil-grid { grid-template-columns:1fr !important; gap:12px !important; padding:16px; }
  .profil-section { padding:16px !important; }
  .profil-avatar-lg { width:72px !important; height:72px !important; font-size:28px !important; }
  .profil-name { font-size:20px !important; }
  .profil-photo { max-height:280px !important; }


  /* RDV CONFIRMATION */
  .rdv-confir-modal { max-width:95vw !important; }
  .rdv-confir-modal h2 { font-size:18px !important; }

  /* GENERAL */
  .btn-sm { padding:7px 14px; font-size:12px; }
  .footer-grid { grid-template-columns:1fr !important; gap:24px !important; }
  .toast { right:12px; left:12px; max-width:100%; font-size:13px; }

  /* CATÉGORIES GRID MOBILE */
  .wv2-cats-grid { grid-template-columns:repeat(2,1fr) !important; gap:8px !important; }
  .wv2-cat { padding:12px 8px !important; }
  .wv2-cat-lbl { font-size:11px !important; }

  /* AWARDS HOMEPAGE MOBILE */
  .wozali-awards-section { padding:48px 0 !important; }
  .wozali-awards-section [style*="grid-template-columns:repeat(auto-fit,minmax(220px"] { grid-template-columns:repeat(2,1fr) !important; gap:10px !important; }

  /* BOURSE COUNTDOWN MOBILE */
  .wv2-bourse-h2 { font-size:22px !important; }
  .wv2-bourse-sub { font-size:12px !important; }
  .wv2-bcd-num { font-size:22px !important; min-width:44px !important; }

  /* TOP 50 MOBILE */
  .top50-grid { grid-template-columns:1fr !important; }
  .top50-header { flex-direction:column !important; gap:12px !important; }

  /* HIDE NAV DESKTOP ON MOBILE */
  #nav-links-desktop { display:none !important; }
}

/* ══ TABLET (601–900px) ══ */
@media (min-width:601px) and (max-width:900px) {
  .hero-grid { grid-template-columns:1fr !important; }
  .hero-visual { display:flex !important; margin:0 auto; max-width:100%; justify-content:center; }
  .cards-grid { grid-template-columns:repeat(2,1fr) !important; }
  .stat-cards { grid-template-columns:repeat(2,1fr) !important; }
  .plans-grid { grid-template-columns:repeat(2,1fr) !important; }
  .search-bar select { max-width:160px !important; }
  .dashboard-sidebar { flex-wrap:wrap; }
  .profil-grid { grid-template-columns:1fr 1fr !important; gap:12px !important; }
}

/* ══ PARRAINAGE SECTION ══ */
.parrain-calc-row { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-radius:12px; margin-bottom:8px; }
.parrain-calc-row:nth-child(odd) { background:rgba(232,148,10,0.08); }
.parrain-calc-row:nth-child(even) { background:rgba(232,148,10,0.08); }
.parrain-comm-badge { background:var(--vert); color:white; padding:4px 14px; border-radius:100px; font-weight:800; font-size:14px; }
@media (max-width:600px) {
  .parrain-calc-row { flex-direction:column; gap:8px; text-align:center; }
  .plans-grid-parrain { grid-template-columns:1fr !important; }
}

/* Parrainage lock pour plan Base */
.parrainage-locked {
  position: relative;
  filter: blur(4px);
  pointer-events: none;
  user-select: none;
}
.parrainage-lock-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,0.85);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  z-index: 10;
  gap: 12px;
  padding: 24px;
  text-align: center;
}

/* ══ WOZALI TICKER ══ */
.wozali-ticker {
  background: #E8940A;
  color: #14100A;
  font-family: 'Geist Mono', monospace;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.08em;
  white-space: nowrap;
  overflow: hidden;
  height: 44px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(15, 20, 16, 0.2);
}
.wozali-ticker-inner {
  display: inline-flex;
  align-items: center;
  gap: 32px;
  animation: wozali-ticker 35s linear infinite;
  will-change: transform;
}
.wozali-ticker-inner span { flex-shrink: 0; }
@keyframes wozali-ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.wozali-ticker:hover .wozali-ticker-inner { animation-play-state: paused; }

/* ══ WOZALI ANIMATIONS ══ */
.wozali-fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.wozali-fade-up.wozali-visible {
  opacity: 1;
  transform: translateY(0);
}
.wozali-fade-up:nth-child(1) { transition-delay: 0ms; }
.wozali-fade-up:nth-child(2) { transition-delay: 80ms; }
.wozali-fade-up:nth-child(3) { transition-delay: 160ms; }
.wozali-fade-up:nth-child(4) { transition-delay: 240ms; }

/* ══ WOZALI BUTTONS ══ */
.wozali-btn-primary {
  background: #E8940A;
  color: #14100A;
  font-family: Georgia, serif;
  font-weight: 700;
  font-size: 16px;
  border: none;
  border-radius: 4px;
  padding: 16px 40px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: background 0.2s ease, transform 0.15s ease;
}
.wozali-btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.15);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.wozali-btn-primary:hover::before { transform: scaleX(1); }
.wozali-btn-primary:active { transform: scale(0.98); }
.wozali-btn-hero { animation: wozali-cta-pulse 3s ease-in-out infinite; }
@keyframes wozali-cta-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(232, 148, 10, 0.4); }
  50% { box-shadow: 0 0 0 12px rgba(232, 148, 10, 0); }
}

/* ══ WOZALI CARD PRESTATAIRE ══ */
.wozali-card-prestataire {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(232, 148, 10, 0.15);
  border-radius: 12px;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  will-change: transform;
}
.wozali-card-prestataire:hover {
  transform: translateY(-6px);
  border-color: rgba(232, 148, 10, 0.5);
  box-shadow: 0 12px 40px rgba(232, 148, 10, 0.12);
}

/* ══ WOZALI SCORE BAR ══ */
.wozali-score-track {
  height: 4px;
  background: rgba(252, 224, 168, 0.1);
  border-radius: 2px;
  overflow: hidden;
}
.wozali-score-fill {
  height: 100%;
  background: linear-gradient(90deg, #C47A08, #E8940A, #F5B82E);
  border-radius: 2px;
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.wozali-score-value {
  font-family: 'Geist Mono', monospace;
  color: #E8940A;
  font-size: 18px;
  font-weight: 400;
}

/* ══ WOZALI AWARD CARD ══ */
.wozali-award-card {
  background: linear-gradient(160deg, #1a2018 0%, #14100A 100%);
  border: 1px solid rgba(232, 148, 10, 0.3);
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.wozali-award-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #E8940A, #F5B82E, #E8940A);
  background-size: 200% 100%;
  animation: wozali-shimmer 2.5s linear infinite;
}
@keyframes wozali-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.wozali-award-card:hover {
  transform: translateY(-8px);
  border-color: rgba(232, 148, 10, 0.7);
}

/* ══ WOZALI TOP 50 ══ */
.wozali-top50 { padding: 80px 0; background: #14100A; }
.wozali-top50-header {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 48px; flex-wrap: wrap; gap: 24px;
}
.wozali-eyebrow {
  font-family: 'Geist Mono', monospace;
  font-size: 10px; color: #E8940A; letter-spacing: 5px; margin-bottom: 8px;
}
.wozali-top50-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px;
}
.wozali-filter-btn {
  background: transparent;
  border: 1px solid rgba(232, 148, 10, 0.25);
  color: rgba(252, 224, 168, 0.6);
  font-family: 'Geist Mono', monospace;
  font-size: 11px; padding: 8px 16px; border-radius: 2px;
  cursor: pointer; transition: all 0.2s ease;
}
.wozali-filter-btn.active, .wozali-filter-btn:hover {
  background: rgba(232, 148, 10, 0.1);
  border-color: #E8940A; color: #E8940A;
}
.badge-top10 {
  background: #E8940A; color: #14100A;
  font-size: 9px; font-weight: 700; letter-spacing: 2px;
  padding: 3px 8px; border-radius: 2px;
}
.badge-elite {
  background: transparent; border: 1px solid #E8940A; color: #E8940A;
  font-size: 9px; letter-spacing: 2px; padding: 3px 8px; border-radius: 2px;
}

/* ══ WOZALI FOOTER ══ */
.wozali-footer {
  background: #14100A;
  border-top: 1px solid rgba(232, 148, 10, 0.15);
  padding: 60px 0 32px;
}
.wozali-footer-bottom {
  border-top: 1px solid rgba(252, 224, 168, 0.08);
  margin-top: 48px; padding-top: 24px;
  display: flex; justify-content: space-between;
  font-family: 'Geist Mono', monospace;
  font-size: 11px; color: rgba(252, 224, 168, 0.3);
}

/* ══ WOZALI NAV LINK UNDERLINE ══ */
.nav-link { position: relative; }
.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px; left: 0; right: 0;
  height: 1.5px;
  background: #E8940A;
  transform: scaleX(0);
  transition: transform 0.2s ease;
}
.nav-link:hover::after { transform: scaleX(1); }





/* ══ EMPLOI BADGES & CARDS ══ */
.offre-card {
  background:rgba(255,255,255,0.04);border-radius:16px;padding:20px;box-shadow:var(--shadow);
  border:1.5px solid rgba(232,148,10,0.12);transition:all 0.2s;cursor:pointer;color:#FCE0A8;
  overflow:hidden;
}
.offre-card:hover { transform:translateY(-2px);box-shadow:var(--shadow-lg); }
.offre-card .offre-actions { display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-start; }
.offre-card .offre-actions .btn { white-space:nowrap;font-size:12px;padding:8px 14px; }
@media(max-width:600px) {
  .offre-card .offre-actions { flex-direction:column; }
  .offre-card .offre-actions .btn { width:100%;justify-content:center;text-align:center; }
}
.badge-urgente {
  display:inline-flex;align-items:center;gap:4px;
  background:#fef2f2;color:#dc2626;border:1px solid #fca5a5;
  padding:3px 10px;border-radius:100px;font-size:11px;font-weight:800;
  text-transform:uppercase;letter-spacing:0.5px;
  animation:pulse-urgente 2s infinite;
}
@keyframes pulse-urgente {
  0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,0.3);}
  50%{box-shadow:0 0 0 4px rgba(220,38,38,0);}
}
.badge-cdi { background:rgba(232,148,10,0.1);color:#E8940A; }
.badge-cdd { background:#fed7aa;color:#9a3412; }
.badge-stage { background:#dbeafe;color:#1e40af; }
.badge-mission { background:#fef3c7;color:#92400e; }
.badge-benevole { background:#f3e8ff;color:#6b21a8; }
.badge-freelance { background:#fef3dc;color:#b45309; }
.badge-alternance { background:#e0f2fe;color:#0369a1; }
.statut-badge { display:inline-block;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:700; }
.statut-attente { background:#f3f4f6;color:#6b7280; }
.statut-vue { background:#dbeafe;color:#1e40af; }
.statut-retenue { background:rgba(232,148,10,0.1);color:#E8940A; }
.statut-refusee { background:#fef2f2;color:#dc2626; }

/* ══════════════════════════════════════════════
   WOZALI 2.0 — HERO FOND SOMBRE + PREMIUM ANIMS
   ══════════════════════════════════════════════ */

/* Hero dark override */
#page-home .hero {
  background: #14100A !important;
  color: #FCE0A8;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(232,148,10,0.15);
}
#page-home .hero::before {
  content: '';
  position: absolute;
  top: -120px; right: -80px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(232,148,10,0.12) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  inset: auto;
  overflow: visible;
  border-radius: 50%;
}
#page-home .hero::after {
  content: '';
  position: absolute;
  bottom: -100px; left: -60px;
  width: 350px; height: 350px;
  background: radial-gradient(circle, rgba(232,148,10,0.06) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
}
#page-home .hero .hero-bg { display: none; }
#page-home .hero .hero-bg-grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(232,148,10,0.08) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
}
#page-home .hero .hero-dots { opacity: 0.35; }

#page-home .hero h1,
#page-home .hero .hero-title { color: #FCE0A8; }
#page-home .hero h1 em,
#page-home .hero h1 i,
#page-home .hero .hero-title em { color: #E8940A; font-style: italic; }
#page-home .hero h1 em::after { display: none; }
#page-home .hero .hero-sub,
#page-home .hero p { color: rgba(252, 224, 168,0.75); }
#page-home .hero .hero-sub strong { color: #E8940A !important; }
#page-home .hero .hero-eyebrow {
  background: rgba(232,148,10,0.12);
  border: 1px solid rgba(232,148,10,0.3);
  color: #E8940A;
  box-shadow: none;
}
#page-home .hero .hero-proof {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(232,148,10,0.18);
  color: #FCE0A8;
}
#page-home .hero .proof-text { color: rgba(252, 224, 168,0.8); }
#page-home .hero .proof-text strong { color: #E8940A; }
#page-home .hero .proof-avatar { border-color: #14100A; }

#page-home .hero .hero-metrics {
  border-top: 1px solid rgba(232,148,10,0.18);
  color: #FCE0A8;
}
#page-home .hero .metric {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(232,148,10,0.12);
  border-right: 1px solid rgba(232,148,10,0.12);
  border-radius: 12px;
  padding: 28px 24px;
  margin: 0 6px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.3s ease, background 0.3s ease;
}
#page-home .hero .metric::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, #C47A08, #E8940A, #F5B82E);
  opacity: 0;
  transition: opacity 0.3s ease;
}
#page-home .hero .metric:hover {
  border-color: rgba(232,148,10,0.35);
  background: rgba(232,148,10,0.04);
}
#page-home .hero .metric:hover::before { opacity: 1; }
#page-home .hero .metric-num {
  font-family: 'Geist Mono', monospace;
  font-size: clamp(36px, 5vw, 64px);
  color: #E8940A !important;
}
#page-home .hero .metric-label {
  font-family: 'Geist Mono', monospace;
  font-size: 13px;
  color: rgba(252, 224, 168,0.5);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 8px;
}

/* Nav dark premium */
nav {
  background: rgba(15,20,16,0.85) !important;
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border-bottom: 1px solid rgba(232,148,10,0.1) !important;
  transition: background 0.3s ease, border-color 0.3s ease;
}
nav.scrolled {
  background: rgba(15,20,16,0.97) !important;
  border-bottom-color: rgba(232,148,10,0.2) !important;
}
nav .nav-link { color: #FCE0A8; }
nav .nav-link:hover { color: #E8940A; background: rgba(232,148,10,0.1); }
nav .nav-link.active { color: #E8940A; font-weight: 800; }
nav .nav-link.active::after { transform: scaleX(1) !important; background: #E8940A !important; }
nav .nav-burger span { background: #E8940A; }
nav .btn.btn-primary { background: #E8940A; color: #14100A; }
nav .nav-logo text[fill="#14100A"] { fill: #FCE0A8; }
nav .nav-logo circle[fill="#14100A"] { fill: #14100A; stroke: #E8940A; }

/* ══ DATA-ANIM UNIFIED SYSTEM ══ */
[data-anim] {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1),
              transform 0.7s cubic-bezier(0.16,1,0.3,1),
              filter 0.7s cubic-bezier(0.16,1,0.3,1);
  will-change: opacity, transform, filter;
}
[data-anim="up"]    { transform: translateY(32px); }
[data-anim="left"]  { transform: translateX(-24px); }
[data-anim="right"] { transform: translateX(24px); }
[data-anim="scale"] { transform: scale(0.94); filter: blur(2px); }
[data-anim="fade"]  { transform: none; }
[data-anim].is-visible {
  opacity: 1;
  transform: none;
  filter: none;
}
[data-anim-delay="1"] { transition-delay: 60ms; }
[data-anim-delay="2"] { transition-delay: 120ms; }
[data-anim-delay="3"] { transition-delay: 180ms; }
[data-anim-delay="4"] { transition-delay: 240ms; }
[data-anim-delay="5"] { transition-delay: 300ms; }
[data-anim-delay="6"] { transition-delay: 360ms; }

/* ══ CARD PRESTATAIRE PREMIUM HOVER ══ */
.wozali-card-prestataire {
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1),
              border-color 0.3s ease,
              box-shadow 0.3s ease;
  cursor: pointer;
}
.wozali-card-prestataire:hover {
  transform: translateY(-8px) scale(1.01);
  border-color: rgba(232,148,10,0.5);
  box-shadow: 0 16px 48px rgba(0,0,0,0.3), 0 0 0 1px rgba(232,148,10,0.2);
}
.wozali-card-prestataire .card-photo { overflow: hidden; }
.wozali-card-prestataire .card-photo img {
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
.wozali-card-prestataire:hover .card-photo img { transform: scale(1.08); }

.badge-disponible { position: relative; }
.badge-disponible::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: currentColor;
  opacity: 0.6;
  animation: wozali-badge-pulse 2s ease-out infinite;
  pointer-events: none;
}
@keyframes wozali-badge-pulse {
  0%   { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.4); opacity: 0; }
}

/* ══ SCORE BAR UPGRADE ══ */
.wozali-score-track,
.score-track {
  height: 6px;
  background: rgba(252, 224, 168,0.08);
  border-radius: 3px;
  overflow: hidden;
}
.wozali-score-fill,
.score-fill {
  height: 100%;
  background: linear-gradient(90deg, #C47A08, #E8940A, #F5B82E);
  background-size: 200% 100%;
  border-radius: 3px;
  animation: wozali-score-shimmer 2s linear infinite, wozali-score-grow 1.2s cubic-bezier(0.16,1,0.3,1);
}
@keyframes wozali-score-grow { from { width: 0%; } }
@keyframes wozali-score-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}

/* ══ RIPPLE ══ */
.wozali-btn-primary { position: relative; overflow: hidden; }
.wozali-btn-primary .ripple,
.btn .ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
  transform: scale(0);
  animation: wozali-ripple 0.6s linear;
  pointer-events: none;
}
@keyframes wozali-ripple {
  to { transform: scale(4); opacity: 0; }
}

/* ══ AWARD CARD SHIMMER UPGRADE ══ */
.wozali-award-card { position: relative; overflow: hidden; }
.wozali-award-card::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent, #E8940A, #F5B82E, #E8940A, transparent);
  animation: wozali-shimmer-line 3s ease-in-out infinite;
}
@keyframes wozali-shimmer-line {
  0%   { left: -100%; }
  50%  { left: 100%; }
  100% { left: 100%; }
}
.wozali-award-card:hover {
  box-shadow: 0 20px 60px rgba(0,0,0,0.4),
              0 0 30px rgba(232,148,10,0.15),
              inset 0 1px 0 rgba(232,148,10,0.3);
}

/* ══ TICKER UPGRADE ══ */
.wozali-ticker-inner span {
  padding: 0 24px;
  position: relative;
}
.wozali-ticker-inner span:not(:last-child)::after {
  content: '·';
  position: absolute;
  right: -4px;
  color: rgba(15,20,16,0.4);
}

/* ══ TYPING CURSOR ══ */
.wozali-typing-cursor::after {
  content: '|';
  color: #E8940A;
  animation: wozali-blink 1s step-end infinite;
  margin-left: 2px;
}
@keyframes wozali-blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0; }
}

/* ══ SKELETON LOADING ══ */
.wozali-avatar.loading,
.card-photo img.loading {
  opacity: 0;
  background: linear-gradient(90deg, rgba(252, 224, 168,0.04) 0%, rgba(232,148,10,0.08) 50%, rgba(252, 224, 168,0.04) 100%);
  background-size: 200% 100%;
  animation: wozali-skeleton 1.5s ease infinite;
}
@keyframes wozali-skeleton {
  0%   { background-position: -200% 0; opacity: 0.6; }
  100% { background-position:  200% 0; opacity: 0.6; }
}

/* ══ SCROLL PROGRESS BAR ══ */
#wozali-scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  background: #E8940A;
  z-index: 9999;
  width: 0%;
  transition: width 0.1s linear;
  pointer-events: none;
}

/* ══ MOBILE ══ */
@media (max-width: 768px) {
  body { font-size: 16px; line-height: 1.7; }
  .hero h1, .hero .hero-title { font-size: clamp(32px, 8vw, 48px); }
  .wozali-cards-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 16px;
    scrollbar-width: none;
  }
  .wozali-cards-grid::-webkit-scrollbar { display: none; }
  .wozali-cards-grid > * {
    width: 85vw;
    flex-shrink: 0;
    scroll-snap-align: start;
  }
  .wozali-btn-primary {
    width: 100%;
    padding: 18px 24px;
    font-size: 17px;
  }
  .wozali-ticker { font-size: 11px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  [data-anim] { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; }
  .wozali-award-card::before,
  .wozali-score-fill,
  .score-fill,
  .badge-disponible::before { animation: none !important; }
}

/* ════════════════════════════════════════════════════════════
   PLAN PRO REFONTE — Lancement Juillet 2026
   ════════════════════════════════════════════════════════════ */

/* --- Bloc gains lancement juillet --- */
.wozali-pro-gains-bloc{
  position:relative;
  background:linear-gradient(135deg,rgba(232,148,10,0.18),rgba(232,148,10,0.06));
  border:1.5px solid #E8940A;
  border-radius:18px;
  padding:24px;
  margin-bottom:24px;
  overflow:hidden;
}
.wozali-pro-gains-bloc::before{
  content:"";
  position:absolute;top:0;left:-100%;
  width:100%;height:3px;
  background:linear-gradient(90deg,transparent,#E8940A,transparent);
  animation:wozali-shimmer-top 3s ease-in-out infinite;
}
@keyframes wozali-shimmer-top{
  0%{left:-100%} 50%{left:100%} 100%{left:100%}
}
.wozali-pro-gains-eyebrow{
  font-family:'Geist Mono',monospace;
  font-size:11px;letter-spacing:1.5px;
  color:#E8940A;font-weight:700;
  text-transform:uppercase;
  margin-bottom:14px;text-align:center;
}
.wozali-pro-gains-grid{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;gap:12px;
  margin-bottom:18px;
}
.wozali-pro-gains-item{
  background:rgba(0,0,0,0.35);
  border:1px solid rgba(232,148,10,0.35);
  border-radius:12px;
  padding:16px 12px;
  text-align:center;
}
.wozali-pro-gains-item .icon{font-size:26px;margin-bottom:6px;}
.wozali-pro-gains-item .label{
  font-size:11px;color:#FCE0A8;opacity:0.75;
  text-transform:uppercase;letter-spacing:0.5px;
  margin-bottom:6px;font-weight:700;
}
.wozali-pro-gains-item .montant{
  font-family:'Geist Mono',monospace;
  font-size:22px;color:#E8940A;font-weight:700;
  margin-bottom:4px;
}
.wozali-pro-gains-item .desc{
  font-size:10px;color:#FCE0A8;opacity:0.5;
  font-style:italic;
}
.wozali-pro-gains-plus{
  font-family:'Geist Mono',monospace;
  font-size:28px;color:#E8940A;font-weight:700;
}
.wozali-pro-gains-total{
  text-align:center;
  border-top:1px dashed rgba(232,148,10,0.5);
  padding-top:14px;margin-bottom:14px;
}
.wozali-pro-gains-total .total-label{
  font-family:'Geist Mono',monospace;
  font-size:11px;color:#E8940A;letter-spacing:1.5px;
  text-transform:uppercase;
}
.wozali-pro-gains-total .total-amount{
  font-family:'Geist Mono',monospace;
  font-size:34px;color:#E8940A;font-weight:700;
  margin:4px 0;
}
.wozali-pro-gains-total .total-sub{
  font-size:12px;color:#FCE0A8;opacity:0.6;
  font-style:italic;
}
.wozali-pro-gains-warning{
  background:rgba(232,148,10,0.1);
  border-left:3px solid #E8940A;
  border-radius:6px;
  padding:10px 14px;
  font-size:12px;color:#FCE0A8;
  line-height:1.6;
}
.wozali-pro-gains-warning strong{color:#E8940A;}

/* --- Liste features Pro --- */
.wozali-pro-features-list{
  display:flex;flex-direction:column;gap:10px;
  margin:20px 0;
}
.wozali-pro-feature-item{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:14px 16px;
  display:flex;align-items:flex-start;gap:12px;
  transition:all 0.2s;
}
.wozali-pro-feature-item:hover{
  border-color:rgba(232,148,10,0.5);
  background:rgba(232,148,10,0.05);
}
.wozali-pro-feature-item .icon{font-size:22px;flex-shrink:0;}
.wozali-pro-feature-item .body{flex:1;}
.wozali-pro-feature-item .titre{
  color:#FCE0A8;font-weight:800;font-size:14px;
  margin-bottom:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.wozali-pro-feature-item .sous{
  color:rgba(252, 224, 168,0.6);font-size:12px;line-height:1.55;
}
.wozali-feature-highlight{
  border-color:#E8940A !important;
  background:rgba(232,148,10,0.07) !important;
}
.wozali-feature-montant{
  font-family:'Geist Mono',monospace;
  color:#E8940A;font-weight:700;
}
.wozali-feature-montant-normal{
  font-family:'Geist Mono',monospace;
  color:rgba(252, 224, 168,0.4);
  text-decoration:line-through;
  margin-left:6px;font-size:11px;
}
.wozali-badge-juillet{
  background:#E8940A;color:#14100A;
  font-size:9px;font-weight:900;
  padding:2px 7px;border-radius:100px;
  letter-spacing:0.5px;
}

/* --- CTA Pro --- */
.wozali-btn-pro-principal{
  display:block;width:100%;
  background:#E8940A;color:#14100A;
  border:none;border-radius:14px;
  padding:20px 32px;
  font-family:'Geist',sans-serif;
  font-weight:900;font-size:16px;
  text-align:center;text-decoration:none;
  cursor:pointer;
  transition:all 0.2s;
  margin-top:20px;
}
.wozali-btn-pro-principal:hover{
  background:#F5B82E;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(232,148,10,0.35);
}
.wozali-btn-pro-sub{
  font-family:'Geist Mono',monospace;
  font-size:11px;
  color:rgba(252, 224, 168,0.4);
  text-align:center;margin-top:10px;
}
.wozali-btn-pro-urgence{
  font-style:italic;color:#E8940A;
  font-size:12px;text-align:center;
  margin-top:8px;line-height:1.5;
}

/* --- Countdown section --- */
.wozali-countdown-section{
  position:relative;
  background:#14100A;
  border:1px solid rgba(232,148,10,0.3);
  border-radius:20px;
  padding:48px 32px;
  margin:48px auto;
  max-width:780px;
  text-align:center;
  overflow:hidden;
}
.wozali-countdown-section::before{
  content:"";
  position:absolute;top:0;left:-100%;
  width:100%;height:3px;
  background:linear-gradient(90deg,transparent,#E8940A,transparent);
  animation:wozali-shimmer-top 2s ease-in-out infinite;
}
.wozali-countdown-eyebrow{
  font-family:'Geist Mono',monospace;
  font-size:11px;color:#E8940A;
  letter-spacing:2px;text-transform:uppercase;
  margin-bottom:14px;
}
.wozali-countdown-title{
  font-family:Georgia,serif;
  font-size:clamp(22px,3.5vw,30px);
  color:#FCE0A8;font-weight:700;margin-bottom:8px;
}
.wozali-countdown-sub{
  color:rgba(252, 224, 168,0.55);
  font-size:14px;margin-bottom:32px;
}
.wozali-countdown-timer{
  display:flex;justify-content:center;align-items:center;
  gap:8px;margin-bottom:32px;flex-wrap:wrap;
}
.wozali-countdown-bloc{
  display:flex;flex-direction:column;align-items:center;
  min-width:80px;
}
.wozali-countdown-num{
  font-family:'Geist Mono',monospace;
  font-size:clamp(36px,6vw,56px);
  color:#E8940A;font-weight:700;line-height:1;
}
.wozali-countdown-lbl{
  font-family:'Geist Mono',monospace;
  font-size:10px;color:rgba(252, 224, 168,0.5);
  letter-spacing:1.5px;text-transform:uppercase;
  margin-top:6px;
}
.wozali-countdown-sep{
  font-family:'Geist Mono',monospace;
  font-size:clamp(36px,6vw,56px);
  color:rgba(232,148,10,0.4);font-weight:700;
}
.wozali-countdown-fomo{
  font-family:'Geist Mono',monospace;
  font-size:12px;color:rgba(252, 224, 168,0.55);
  margin-bottom:24px;line-height:1.8;
}
.wozali-countdown-fomo strong{color:#E8940A;}
.wozali-countdown-cta{
  color:#FCE0A8;font-size:14px;
  line-height:1.7;margin-bottom:18px;
}
.wozali-countdown-cta strong{color:#E8940A;}

/* --- Mur des gagnants --- */
.wozali-gagnants-section{
  background:#14100A;
  padding:56px 24px;
  border-top:1px solid rgba(232,148,10,0.15);
  border-bottom:1px solid rgba(232,148,10,0.15);
}
.wozali-gagnants-section .container{max-width:960px;margin:0 auto;}
.wozali-gagnants-eyebrow{
  font-family:'Geist Mono',monospace;
  font-size:11px;color:#E8940A;
  letter-spacing:2px;text-transform:uppercase;
  text-align:center;margin-bottom:10px;
}
.wozali-gagnants-sub{
  text-align:center;color:rgba(252, 224, 168,0.55);
  font-size:14px;margin-bottom:36px;font-style:italic;
}
.wozali-gagnants-liste{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
}
.wozali-gagnant-card{
  background:rgba(232,148,10,0.04);
  border:1px solid rgba(232,148,10,0.25);
  border-radius:16px;
  padding:24px;
}
.wozali-gagnant-placeholder{
  border:2px dashed rgba(232,148,10,0.5);
  background:rgba(232,148,10,0.03);
  text-align:center;
  grid-column:1/-1;
  max-width:560px;margin:0 auto;
}
.wozali-gagnant-placeholder .icon{font-size:42px;margin-bottom:10px;}
.wozali-gagnant-placeholder h4{
  font-family:Georgia,serif;color:#E8940A;
  font-size:18px;margin-bottom:14px;
}
.wozali-gagnant-placeholder p{
  color:rgba(252, 224, 168,0.65);font-size:14px;
  line-height:1.7;margin-bottom:14px;
}
.wozali-gagnant-placeholder .montant{
  font-family:'Geist Mono',monospace;
  font-size:36px;color:#E8940A;font-weight:700;
  margin:14px 0 8px;
}
.wozali-gagnant-placeholder .question{
  color:#E8940A;font-style:italic;font-size:15px;
}
.wozali-gagnant-card .head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.wozali-gagnant-avatar{
  width:54px;height:54px;border-radius:50%;
  border:2px solid #E8940A;
  background:rgba(232,148,10,0.15);
  display:flex;align-items:center;justify-content:center;
  font-family:Georgia,serif;font-size:22px;color:#E8940A;
  background-size:cover;background-position:center;
  flex-shrink:0;
}
.wozali-gagnant-card .nom{color:#FCE0A8;font-weight:800;font-size:15px;}
.wozali-gagnant-card .meta{color:rgba(252, 224, 168,0.5);font-size:12px;}
.wozali-gagnant-card .score{
  font-family:'Geist Mono',monospace;
  color:#E8940A;font-size:11px;margin:8px 0 12px;
}
.wozali-gagnant-card .temoignage{
  color:rgba(252, 224, 168,0.7);
  font-size:13px;font-style:italic;
  line-height:1.6;margin-bottom:12px;
}
.wozali-gagnant-card .montant-gagne{
  font-family:'Geist Mono',monospace;
  color:#E8940A;font-size:20px;font-weight:700;
}
.wozali-gagnant-card .mois{color:rgba(252, 224, 168,0.4);font-size:11px;}

/* --- FAQ Pro accordéon --- */
.wozali-faq-pro{
  max-width:780px;margin:48px auto;
  display:flex;flex-direction:column;gap:10px;
  padding:0 16px;
}
.wozali-faq-pro h2{
  font-family:Georgia,serif;color:#FCE0A8;
  font-size:clamp(22px,3vw,30px);
  text-align:center;margin-bottom:24px;
}
.wozali-faq-item{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(232,148,10,0.2);
  border-radius:12px;
  overflow:hidden;
}
.wozali-faq-question{
  width:100%;background:none;border:none;
  padding:18px 22px;
  text-align:left;cursor:pointer;
  font-family:Georgia,serif;font-size:15px;
  color:#FCE0A8;
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;
}
.wozali-faq-question::after{
  content:"+";
  color:#E8940A;font-size:22px;
  transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
  flex-shrink:0;
}
.wozali-faq-item.open .wozali-faq-question::after{
  transform:rotate(45deg);
}
.wozali-faq-reponse{
  max-height:0;overflow:hidden;
  transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1);
  padding:0 22px;
  color:rgba(252, 224, 168,0.7);font-size:14px;line-height:1.7;
}
.wozali-faq-item.open .wozali-faq-reponse{
  max-height:400px;padding:0 22px 20px;
}

/* --- Section Juillet home --- */
.wozali-juillet-section{
  position:relative;
  background:#14100A;
  padding:80px 24px;
  overflow:hidden;
}
.wozali-juillet-section::before{
  content:"";
  position:absolute;top:50%;left:50%;
  width:600px;height:600px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(232,148,10,0.18),transparent 70%);
  pointer-events:none;
}
.wozali-juillet-section .container{
  position:relative;max-width:920px;margin:0 auto;text-align:center;
}
.wozali-juillet-eyebrow{
  font-family:'Geist Mono',monospace;
  font-size:11px;color:#E8940A;
  letter-spacing:2px;text-transform:uppercase;
  margin-bottom:18px;
}
.wozali-juillet-titre{
  font-family:Georgia,serif;
  font-size:clamp(28px,4vw,48px);
  color:#FCE0A8;line-height:1.25;
  margin-bottom:14px;
}
.wozali-juillet-montant-hero{
  font-family:'Geist Mono',monospace;
  font-size:clamp(48px,8vw,80px);
  color:#E8940A;font-weight:700;
  display:block;line-height:1;margin:8px 0;
}
.wozali-juillet-sub{
  color:rgba(252, 224, 168,0.6);
  font-size:15px;font-style:italic;
  margin-bottom:40px;
}
.wozali-juillet-grid{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:18px;align-items:center;
  margin-bottom:32px;
}
.wozali-juillet-bloc{
  background:rgba(232,148,10,0.08);
  border:1px solid rgba(232,148,10,0.4);
  border-radius:16px;
  padding:32px 24px;
  text-align:center;
}
.wozali-juillet-bloc .icon{font-size:38px;margin-bottom:10px;}
.wozali-juillet-bloc .montant{
  font-family:'Geist Mono',monospace;
  font-size:32px;color:#E8940A;font-weight:700;margin:6px 0;
}
.wozali-juillet-bloc .label{
  color:#FCE0A8;font-weight:800;font-size:14px;margin-bottom:8px;
}
.wozali-juillet-bloc .desc{
  color:rgba(252, 224, 168,0.55);font-size:12px;line-height:1.6;
}
.wozali-juillet-plus{
  font-family:'Geist Mono',monospace;
  font-size:36px;color:#E8940A;font-weight:700;
}
.wozali-juillet-condition{
  border:1px solid #E8940A;
  border-radius:12px;
  padding:18px 24px;
  background:rgba(232,148,10,0.06);
  color:#FCE0A8;font-size:14px;line-height:1.7;
  max-width:680px;margin:0 auto 20px;
}
.wozali-juillet-condition strong{color:#E8940A;}
.wozali-juillet-smig{
  font-family:'Geist Mono',monospace;
  font-size:13px;color:rgba(252, 224, 168,0.3);
  margin-bottom:32px;
}
.wozali-btn-hero{
  display:inline-block;
  background:#E8940A;color:#14100A;
  padding:20px 40px;border-radius:100px;
  font-weight:900;font-size:16px;
  text-decoration:none;cursor:pointer;border:none;
  font-family:'Geist',sans-serif;
}
.wozali-btn-hero:hover{background:#F5B82E;transform:translateY(-2px);}
.wozali-juillet-note{
  margin-top:24px;
  font-size:12px;color:rgba(252, 224, 168,0.4);
  font-style:italic;
}

@media(max-width:680px){
  .wozali-pro-gains-grid,.wozali-juillet-grid{grid-template-columns:1fr;}
  .wozali-pro-gains-plus,.wozali-juillet-plus{font-size:24px;}
}
/* Sprint 3 — Bourse de Croissance */
.widget-bourse-wrap{margin:24px 0}
.widget-bourse{background:#14100A;color:#FCE0A8;border:1px solid rgba(232,148,10,.25);border-radius:20px;padding:24px;position:relative;overflow:hidden}
.widget-bourse .widget-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.widget-bourse .widget-icon{font-size:1.5rem}
.widget-bourse .widget-titre{font-weight:700;letter-spacing:.05em;color:#E8940A;flex:1}
.widget-bourse .badge-statut{font-size:.75rem;padding:4px 10px;border-radius:999px;font-weight:600}
.widget-bourse .badge-statut.rouge{background:rgba(220,80,60,.15);color:#ff8c7a}
.widget-bourse .badge-statut.orange{background:rgba(232,148,10,.15);color:#E8940A}
.widget-bourse .badge-statut.or{background:#E8940A;color:#14100A}
.widget-bourse .widget-montant-preview{display:flex;flex-direction:column;margin:12px 0}
.widget-bourse .montant-juillet{font-size:1.8rem;font-weight:800;color:#E8940A}
.widget-bourse .montant-label{font-size:.75rem;opacity:.65;text-transform:uppercase;letter-spacing:.1em}
.widget-bourse .widget-cta{display:inline-block;margin-top:12px;padding:10px 18px;background:#E8940A;color:#14100A;border-radius:999px;font-weight:700;text-decoration:none}
.widget-bourse .widget-progression{height:6px;background:rgba(232,148,10,.15);border-radius:3px;overflow:hidden;margin:12px 0}
.widget-bourse .widget-progression .prog-bar{height:100%;background:#E8940A;transition:width .6s}
.widget-bourse .widget-sub{font-size:.85rem;opacity:.75;margin-top:6px}
.widget-bourse .widget-manque{margin:12px 0;padding-left:18px}
.widget-bourse .widget-manque li{margin:4px 0;color:#E8940A}
.widget-bourse .widget-urgence{margin-top:12px;font-weight:700}
.widget-bourse .widget-eligible-checks{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:.9rem}
.widget-bourse .widget-eligible-checks span{color:#E8940A}
.widget-bourse .widget-countdown-mini{font-size:1.1rem;font-weight:700;color:#E8940A;margin-top:8px}

/* Sprint 4 — WOZALI Awards / Top 50 / Match */
.wozali-awards-section,.wozali-top50-section{padding:64px 0;background:#14100A;color:#FCE0A8}
.wozali-awards-section .wozali-container,.wozali-top50-section .wozali-container{max-width:1200px;margin:0 auto;padding:0 24px}
.awards-header,.top50-header{text-align:center;margin-bottom:32px}
.awards-titre,.top50-header h2{color:#E8940A;font-size:2rem}
.awards-filtres-pays,.top50-filtres{display:flex;gap:8px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}
.awards-filtre,.top50-filtre{padding:8px 16px;border-radius:999px;border:1px solid rgba(232,148,10,.3);background:transparent;color:#FCE0A8;cursor:pointer;font-weight:600}
.awards-filtre.active,.top50-filtre.active{background:#E8940A;color:#14100A;border-color:#E8940A}
.awards-liste,.top50-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:1200px;margin:0 auto}
.award-card,.top50-card{background:rgba(255,255,255,.04);border:1px solid rgba(232,148,10,.2);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px}
.award-card-leader{border-color:#E8940A;box-shadow:0 0 30px rgba(232,148,10,.25)}
.award-card-header{display:flex;align-items:center;gap:10px;font-size:.85rem}
.award-rang{font-weight:800;color:#E8940A}
.award-pays-badge,.award-champion-badge{padding:3px 10px;border-radius:999px;background:rgba(232,148,10,.15);color:#E8940A;font-weight:600}
.award-video,.award-photo{width:100%;border-radius:12px;aspect-ratio:16/10;object-fit:cover;background:#14100A}
.award-info{display:flex;flex-direction:column}
.award-nom{color:#E8940A}
.award-metier{font-size:.85rem;opacity:.7}
.award-votes{display:flex;align-items:baseline;gap:6px}
.award-nb-votes{font-size:1.6rem;font-weight:800;color:#E8940A}
.award-votes-label{font-size:.8rem;opacity:.7}
.award-vote-btn{margin-top:4px}
.awards-fomo{margin-top:32px;text-align:center;opacity:.75;font-size:.9rem}
.awards-vide{text-align:center;padding:32px;opacity:.7}
.top50-card{flex-direction:row;align-items:center;gap:14px}
.top50-rang-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:48px}
.top50-rang{font-size:1.4rem;font-weight:800;color:#E8940A}
.top50-rang.rang-1,.top50-rang.rang-2,.top50-rang.rang-3{font-size:1.8rem}
.badge-top10{font-size:.65rem;padding:2px 8px;background:#E8940A;color:#14100A;border-radius:999px;font-weight:800}
.top50-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #E8940A}
.top50-info{flex:1;display:flex;flex-direction:column;gap:2px;font-size:.85rem}
.top50-nom{color:#E8940A;font-size:1rem}
.top50-score-bar{height:4px;background:rgba(232,148,10,.15);border-radius:2px;margin-top:6px;overflow:hidden}
.top50-score-fill{height:100%;background:#E8940A}
.top50-voir{color:#E8940A;text-decoration:none;font-weight:700;white-space:nowrap}
.widget-awards{background:#14100A;color:#FCE0A8;border:1px solid rgba(232,148,10,.25);border-radius:20px;padding:24px;margin:24px 0}
.widget-awards h4{color:#E8940A;margin:8px 0}
.widget-awards .widget-cta{display:inline-block;margin-top:12px;padding:10px 18px;background:#E8940A;color:#14100A;border-radius:999px;font-weight:700;text-decoration:none}
.widget-awards .votes-recus{color:#E8940A;font-weight:600}
.section-matchs{margin:32px 0;padding:24px;background:#14100A;color:#FCE0A8;border:1px solid rgba(232,148,10,.25);border-radius:20px}
.matchs-header h4{color:#E8940A;margin:6px 0}
.matchs-liste{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.match-card{display:flex;align-items:center;gap:14px;padding:14px;background:rgba(255,255,255,.04);border-radius:14px}
.match-score-badge{font-weight:800;color:#14100A;background:#E8940A;padding:8px 12px;border-radius:12px;min-width:56px;text-align:center}
.match-info{flex:1;display:flex;flex-direction:column;font-size:.85rem}
.match-info strong{color:#E8940A}
.match-btn{padding:8px 14px;border-radius:999px;background:#E8940A;color:#14100A;border:none;font-weight:700;cursor:pointer}
.matchs-vide{text-align:center;opacity:.8}
.voir-toutes-offres{display:inline-block;margin-top:14px;color:#E8940A;font-weight:700}
.talent-card{display:flex;gap:14px;padding:14px;background:rgba(255,255,255,.04);border-radius:14px;align-items:center;margin-bottom:10px}
.talent-photo{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid #E8940A}
.talent-info{flex:1;display:flex;flex-direction:column;font-size:.85rem}
.talent-info strong{color:#E8940A}
.talent-match-score{color:#E8940A;font-weight:700}
.talent-contact-btn{padding:8px 14px;border-radius:999px;background:#E8940A;color:#14100A;text-decoration:none;font-weight:700}
.wozali-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}
.wozali-popup{background:#14100A;color:#FCE0A8;border:1px solid rgba(232,148,10,.3);border-radius:20px;padding:32px;max-width:420px;width:100%;position:relative;text-align:center}
.wozali-popup h3{color:#E8940A;margin-top:0}
.popup-close{position:absolute;top:12px;right:14px;background:none;border:none;color:#FCE0A8;font-size:1.4rem;cursor:pointer}
.popup-sub{opacity:.7;font-size:.85rem}
.popup-login{margin-top:14px;font-size:.85rem;opacity:.85}
.popup-login a{color:#E8940A}

/* ═══════════════════════════════════════════════════════════
   THEME PREMIUM 2.0 — DARK OVERRIDE (mobile nav + dashboard)
   Palette : #14100A / #E8940A / #FCE0A8
   ═══════════════════════════════════════════════════════════ */

/* ---------- MOBILE NAV OVERLAY ---------- */
#mobile-nav-overlay{
  background:#14100A !important;
  color:#FCE0A8;
  background-image:
    radial-gradient(circle at 20% 0%, rgba(232,148,10,.08), transparent 50%),
    radial-gradient(circle at 100% 100%, rgba(232,148,10,.05), transparent 50%);
}
#mobile-nav-overlay > div:first-child{
  border-bottom:1px solid rgba(232,148,10,.15) !important;
}
/* Rewrite logo text couleurs pour dark */
#mobile-nav-overlay svg text[fill="#14100A"]{ fill:#FCE0A8 !important; }
#mobile-nav-overlay svg circle[fill="#14100A"]{ fill:#14100A !important; stroke:#E8940A !important; }
#mobile-nav-overlay button[onclick*="closeMobileNav"]{
  color:#FCE0A8 !important;
}
#mobile-nav-overlay > div:nth-child(2) > button{
  color:#FCE0A8 !important;
  border-bottom:1px solid rgba(232,148,10,.15) !important;
  transition:background .2s, color .2s, transform .2s;
}
#mobile-nav-overlay > div:nth-child(2) > button:hover,
#mobile-nav-overlay > div:nth-child(2) > button:active{
  background:rgba(232,148,10,.08) !important;
  color:#E8940A !important;
}
/* Boutons auth du menu mobile */
#mobile-nav-auth button[onclick*="login"]{
  background:transparent !important;
  border:2px solid #E8940A !important;
  color:#E8940A !important;
}
#mobile-nav-auth button[onclick*="inscription"],
#mobile-nav-auth button[onclick*="dashboard"]{
  background:#E8940A !important;
  color:#14100A !important;
  border:none !important;
  box-shadow:0 8px 24px rgba(232,148,10,.25);
}

/* ---------- DASHBOARD — FOND SOMBRE ---------- */
#page-dashboard{
  background:#14100A !important;
  color:#FCE0A8 !important;
  min-height:100vh;
}
#page-dashboard .dashboard-main,
#page-dashboard .dashboard-main *{
  background-color:transparent;
}
#page-dashboard .dashboard-main{
  background:#14100A !important;
  color:#FCE0A8 !important;
}
#page-dashboard .dash-section,
#page-dashboard .dash-section *{
  color:#FCE0A8;
}
#page-dashboard .dash-section [style*="color:var(--gris-fonce)"],
#page-dashboard .dash-section [style*="color: var(--gris-fonce)"],
#page-dashboard .dash-section [style*="color:var(--noir)"],
#page-dashboard .dash-section [style*="color: var(--noir)"],
#page-dashboard .dash-section [style*="color:#14100A"],
#page-dashboard .dash-section [style*="color:#1a1f1c"],
#page-dashboard .dash-section [style*="color:#2d3748"],
#page-dashboard .dash-section [style*="color:#4a5568"],
#page-dashboard .dash-section [style*="color:#555"],
#page-dashboard .dash-section [style*="color:#444"]{
  color:#FCE0A8 !important;
}
#page-dashboard .dash-section [style*="background:var(--blanc)"],
#page-dashboard .dash-section [style*="background: var(--blanc)"],
#page-dashboard .dash-section [style*="background:var(--creme)"],
#page-dashboard .dash-section [style*="background: var(--creme)"],
#page-dashboard .dash-section [style*="background-color:#fff"],
#page-dashboard .dash-section [style*="background-color: #fff"],
#page-dashboard .dash-section [style*="background-color:white"],
#page-dashboard .dash-section [style*="background:#fff"],
#page-dashboard .dash-section [style*="background: #fff"],
#page-dashboard .dash-section [style*="background:#FCE0A8"],
#page-dashboard .dash-section [style*="background: #FCE0A8"],
#page-dashboard .dash-section [style*="background:#fefce8"],
#page-dashboard .dash-section [style*="background:#fffbeb"],
#page-dashboard .dash-section [style*="background:#fff8e1"],
#page-dashboard .dash-section [style*="background:linear-gradient(135deg,#FCE0A8"],
#page-dashboard .dash-section [style*="background:linear-gradient(135deg,#fffbeb"],
#page-dashboard .dash-section [style*="background:linear-gradient(135deg,#fff"],
#page-dashboard .dash-section [style*="background:linear-gradient(135deg, #FCE0A8"],
#page-dashboard .dash-section [style*="background:linear-gradient(135deg, #fff"]{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(232,148,10,.2) !important;
  color:#FCE0A8 !important;
}
/* Exceptions — sections qui doivent garder un fond clair */
#page-dashboard .edit-form-section,
#page-dashboard .dash-card,
#page-dashboard .card{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(232,148,10,.2) !important;
  border-radius:18px !important;
  color:#FCE0A8 !important;
}
#page-dashboard,
#page-dashboard *:not(svg):not(path):not(circle):not(rect):not(text):not(line):not(polygon){
  border-color:rgba(232,148,10,.2);
}
/* Textes par défaut */
#page-dashboard h1,
#page-dashboard h2,
#page-dashboard h3,
#page-dashboard h4{
  color:#E8940A !important;
}
#page-dashboard p,
#page-dashboard span,
#page-dashboard label,
#page-dashboard li,
#page-dashboard td,
#page-dashboard th,
#page-dashboard div{
  color:inherit;
}
#page-dashboard .gris,
#page-dashboard [style*="color:var(--gris)"],
#page-dashboard [style*="color: var(--gris)"]{
  color:rgba(252, 224, 168,.6) !important;
}

/* Sidebar */
#page-dashboard .dashboard-sidebar{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(232,148,10,.2) !important;
  border-radius:20px;
  backdrop-filter:blur(8px);
}
#page-dashboard .dashboard-sidebar h3{
  color:rgba(232,148,10,.7) !important;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#page-dashboard .dash-link{
  background:transparent !important;
  color:#FCE0A8 !important;
  border:1px solid transparent !important;
  transition:all .25s;
}
#page-dashboard .dash-link:hover{
  background:rgba(232,148,10,.08) !important;
  color:#E8940A !important;
  border-color:rgba(232,148,10,.25) !important;
  transform:translateX(2px);
}
#page-dashboard .dash-link.active{
  background:linear-gradient(135deg, rgba(232,148,10,.15), rgba(232,148,10,.05)) !important;
  color:#E8940A !important;
  border:1px solid rgba(232,148,10,.4) !important;
  box-shadow:0 0 20px rgba(232,148,10,.15);
  border-left:3px solid #E8940A !important;
}

/* ══ Dashboard sidebar — groupes collapsibles (pattern wv2) ══ */
.dash-group { display:flex; flex-direction:column; margin-bottom:4px; }
.dash-group-head {
  display:flex; align-items:center; gap:10px;
  padding:11px 12px; border-radius:10px;
  background:transparent; border:1px solid transparent;
  color:#FCE0A8; font-family:'Geist',sans-serif;
  font-size:13px; font-weight:700; letter-spacing:.02em;
  cursor:pointer; text-align:left; width:100%;
  transition:all .2s;
}
.dash-group-head:hover { background:rgba(232,148,10,.08); color:#E8940A; border-color:rgba(232,148,10,.2); }
.dash-group-head i.lucide, .dash-group-head svg { width:16px; height:16px; flex-shrink:0; }
.dash-group-head .dash-group-lbl { flex:1; }
.dash-group-head .dash-chev { width:14px; height:14px; transition:transform .25s; opacity:.7; }
.dash-group.open > .dash-group-head .dash-chev { transform:rotate(90deg); }
.dash-group.open > .dash-group-head { color:#E8940A; }
.dash-group-body {
  display:none; flex-direction:column; gap:2px;
  padding:4px 0 8px 14px; margin-left:10px;
  border-left:1px solid rgba(232,148,10,.15);
}
.dash-group.open > .dash-group-body { display:flex; }
.dash-group-body .dash-link { font-size:13px; padding:8px 12px; }
.dash-subgroup { margin-top:6px; }
.dash-subgroup-lbl {
  font-family:'Geist Mono',monospace;
  font-size:9px; font-weight:700; letter-spacing:1.2px;
  text-transform:uppercase;
  color:rgba(232,148,10,.6);
  padding:6px 12px 4px;
}

/* Mobile : sidebar dashboard en accordéon, groupes restent collapsibles */
@media (max-width:768px){
  #page-dashboard .dashboard-sidebar { display:block !important; flex-wrap:initial !important; }
  #page-dashboard .dash-group-body { padding-left:10px; }
  #page-dashboard .dash-link { padding:10px 12px !important; font-size:13px !important; flex:initial !important; }
}

/* ══ Fonds clairs → thème nuit (dashboard + modals + toutes pages) ══ */
#page-dashboard [style*="background:white"],
#page-dashboard [style*="background:#fff"],
#page-dashboard [style*="background: #fff"],
#page-dashboard [style*="background:#FFF"],
#page-dashboard [style*="background:#f9fafb"],
#page-dashboard [style*="background:#f3f4f6"],
#page-dashboard [style*="background:#f8f9fa"],
#page-dashboard [style*="background:#fef"],
#page-dashboard [style*="background:#fff5"],
#page-dashboard [style*="background:#f0f9ff"],
#page-dashboard [style*="background:#eff6ff"],
#page-dashboard [style*="background:#f5f5f5"],
#page-dashboard [style*="background:#fafafa"],
#page-dashboard [style*="background:#fdf"],
#page-dashboard [style*="background:#fef3c7"],
#page-dashboard [style*="background:#FCE0A8"],
#page-dashboard [style*="background:#FCE0A8"]{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(232,148,10,.2) !important;
  border-radius:18px !important;
  color:#FCE0A8 !important;
  transition:box-shadow .3s, border-color .3s, transform .3s;
}
#page-dashboard [style*="background:white"]:hover,
#page-dashboard [style*="background:#fff"]:hover{
  box-shadow:0 0 20px rgba(232,148,10,.15);
  border-color:rgba(232,148,10,.35) !important;
}

/* Fonds clairs dans les modals (hors dashboard) */
.modal [style*="background:white"],
.modal [style*="background:#fff"],
.modal [style*="background: #fff"],
.modal [style*="background:#f9fafb"],
.modal [style*="background:#f3f4f6"],
.modal [style*="background:#f8f9fa"],
.modal [style*="background:#fafafa"],
.modal [style*="background:#f5f5f5"],
.modal [style*="background:#fef9c3"],
.modal [style*="background:#fffbeb"],
.modal [style*="background:#fef2f2"],
.modal [style*="background:#fef3c7"] {
  background:rgba(255,255,255,.06) !important;
  color:#FCE0A8 !important;
}
/* Fonds clairs dans les pages inscription / login / récompenses */
#page-inscription [style*="background:white"],
#page-inscription [style*="background:#fff"],
#page-inscription [style*="background:#fffbeb"],
#page-inscription [style*="background:#fef9c3"],
#page-inscription [style*="background:#fef3c7"] {
  background:rgba(232,148,10,.1) !important;
  border-color:rgba(232,148,10,.35) !important;
  color:#FCE0A8 !important;
}
/* Couleurs de texte sombres rendues illisibles sur fond nuit */
[style*="color:var(--noir)"] { color:#FCE0A8 !important; }
[style*="color:#713f12"],
[style*="color:#92400e"],
[style*="color:#b45309"],
[style*="color:#1e40af"],
[style*="color:#1d4ed8"] { color:#FCE0A8 !important; }
[style*="color:var(--gris-fonce)"] { color:rgba(252,224,168,.8) !important; }

/* Inputs / textarea / select */
#page-dashboard input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
#page-dashboard textarea,
#page-dashboard select{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(232,148,10,.25) !important;
  color:#FCE0A8 !important;
  border-radius:12px !important;
}
#page-dashboard input:focus,
#page-dashboard textarea:focus,
#page-dashboard select:focus{
  border-color:#E8940A !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(232,148,10,.15) !important;
}
#page-dashboard input::placeholder,
#page-dashboard textarea::placeholder{
  color:rgba(252, 224, 168,.4) !important;
}
#page-dashboard label{
  color:rgba(252, 224, 168,.85) !important;
}

/* Boutons primaires / secondaires */
#page-dashboard .btn-primary,
#page-dashboard button[class*="primary"]{
  background:#E8940A !important;
  color:#14100A !important;
  border:none !important;
  box-shadow:0 6px 20px rgba(232,148,10,.25);
}
#page-dashboard .btn-primary:hover{
  box-shadow:0 10px 30px rgba(232,148,10,.4);
  transform:translateY(-1px);
}
#page-dashboard .btn-ghost,
#page-dashboard .btn-outline,
#page-dashboard button[class*="ghost"]{
  background:transparent !important;
  color:#E8940A !important;
  border:1.5px solid rgba(232,148,10,.5) !important;
}
#page-dashboard .btn-ghost:hover{
  background:rgba(232,148,10,.1) !important;
  border-color:#E8940A !important;
}

/* Score WOZALI & barres de progression */
#page-dashboard .score,
#page-dashboard [class*="score-wozali"],
#page-dashboard [class*="wozali-score"]{
  color:#E8940A !important;
}
#page-dashboard progress,
#page-dashboard [role="progressbar"]{
  accent-color:#E8940A;
}
#page-dashboard [style*="background:linear-gradient"][style*="#E8940A"],
#page-dashboard [style*="background:linear-gradient"][style*="22c55e"]{
  background:linear-gradient(90deg,#E8940A,#FFB84D) !important;
}
/* Barres de progression internes (div avec width:%) */
#page-dashboard [style*="height:8px"][style*="background:"],
#page-dashboard [style*="height:6px"][style*="background:"],
#page-dashboard [style*="height:10px"][style*="background:"]{
  background:rgba(232,148,10,.15) !important;
}
#page-dashboard [style*="height:8px"][style*="background:"] > div,
#page-dashboard [style*="height:6px"][style*="background:"] > div,
#page-dashboard [style*="height:10px"][style*="background:"] > div{
  background:linear-gradient(90deg,#E8940A,#FFB84D) !important;
}

/* Tooltips / info */
#page-dashboard .tooltip,
#page-dashboard [class*="tooltip"],
#page-dashboard [role="tooltip"]{
  background:#14100A !important;
  color:#FCE0A8 !important;
  border:1px solid rgba(232,148,10,.3) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}

/* Séparateurs */
#page-dashboard hr,
#page-dashboard [style*="border-bottom:1px solid"],
#page-dashboard [style*="border-top:1px solid"]{
  border-color:rgba(232,148,10,.15) !important;
}

/* Liens */
#page-dashboard a{ color:#E8940A; }
#page-dashboard a:hover{ color:#FFB84D; }

/* Tables */
#page-dashboard table{
  background:rgba(255,255,255,.03) !important;
  color:#FCE0A8 !important;
}
#page-dashboard thead{
  background:rgba(232,148,10,.08) !important;
}
#page-dashboard th{ color:#E8940A !important; }
#page-dashboard tr{ border-color:rgba(232,148,10,.1) !important; }

/* Textes inline forcés noirs/gris foncés → crème */
#page-dashboard [style*="color:#14100A"],
#page-dashboard [style*="color:#111"],
#page-dashboard [style*="color:#000"],
#page-dashboard [style*="color:#1f2937"],
#page-dashboard [style*="color:#374151"],
#page-dashboard [style*="color:#222"],
#page-dashboard [style*="color:#333"]{
  color:#FCE0A8 !important;
}
#page-dashboard [style*="color:#6b7280"],
#page-dashboard [style*="color:#9ca3af"],
#page-dashboard [style*="color:#666"],
#page-dashboard [style*="color:#777"],
#page-dashboard [style*="color:#888"]{
  color:rgba(252, 224, 168,.6) !important;
}
/* Mais préserver le vert (déjà re-mappé or) et l'or */
#page-dashboard [style*="color:#E8940A"],
#page-dashboard [style*="color:var(--vert)"],
#page-dashboard [style*="color: var(--vert)"]{
  color:#E8940A !important;
}

/* ══ FIX CONTRASTE ROBUSTE : toute card à fond clair inline → dark glass + texte crème ══ */
#page-dashboard [style*="background:white"],
#page-dashboard [style*="background: white"],
#page-dashboard [style*="background:#fff"],
#page-dashboard [style*="background: #fff"],
#page-dashboard [style*="background:#FFF"],
#page-dashboard [style*="background: #FFF"],
#page-dashboard [style*="background:#ffffff"],
#page-dashboard [style*="background: #ffffff"],
#page-dashboard [style*="background:#FFFFFF"],
#page-dashboard [style*="background-color:white"],
#page-dashboard [style*="background-color: white"],
#page-dashboard [style*="background-color:#fff"],
#page-dashboard [style*="background-color: #fff"],
#page-dashboard [style*="background-color:#ffffff"],
#page-dashboard [style*="background-color: #ffffff"],
#page-dashboard [style*="background:var(--blanc)"],
#page-dashboard [style*="background: var(--blanc)"],
#page-dashboard [style*="background:var(--creme)"],
#page-dashboard [style*="background: var(--creme)"],
#page-dashboard [style*="background:#FCE0A8"],
#page-dashboard [style*="background: #FCE0A8"],
#page-dashboard [style*="background:#FCE0A8"],
#page-dashboard [style*="background: #FCE0A8"],
#page-dashboard [style*="background:#fef3dc"],
#page-dashboard [style*="background: #fef3dc"],
#page-dashboard [style*="background:#fffbeb"],
#page-dashboard [style*="background: #fffbeb"]{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(232,148,10,.2) !important;
  color:#FCE0A8 !important;
}
/* Force tous les descendants directs/indirects de ces cards à hériter en crème lisible */
#page-dashboard [style*="background:white"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background: white"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background:#fff"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background:#ffffff"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background-color:#fff"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background-color:white"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background:var(--blanc)"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background:var(--creme)"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background:#FCE0A8"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background:#fef3dc"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost),
#page-dashboard [style*="background:#fffbeb"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button):not(.btn):not(.btn-primary):not(.btn-or):not(.btn-ghost){
  color:#FCE0A8 !important;
}
/* Les textes explicitement gris foncé / noir à l'intérieur de ces cards → crème atténuée */
#page-dashboard [style*="background:white"] [style*="color:var(--gris)"],
#page-dashboard [style*="background: white"] [style*="color:var(--gris)"],
#page-dashboard [style*="background:#fff"] [style*="color:var(--gris)"],
#page-dashboard [style*="background:white"] [style*="color:#92400e"],
#page-dashboard [style*="background:white"] [style*="color:#374151"],
#page-dashboard [style*="background:white"] [style*="color:#111827"],
#page-dashboard [style*="background:white"] [style*="color:#1f2937"]{
  color:rgba(252, 224, 168,.75) !important;
}
/* Titres dans ces cards restent or */
#page-dashboard [style*="background:white"] h1,
#page-dashboard [style*="background:white"] h2,
#page-dashboard [style*="background:white"] h3,
#page-dashboard [style*="background:white"] h4,
#page-dashboard [style*="background:#fff"] h1,
#page-dashboard [style*="background:#fff"] h2,
#page-dashboard [style*="background:#fff"] h3,
#page-dashboard [style*="background:#fff"] h4,
#page-dashboard [style*="background:var(--blanc)"] h1,
#page-dashboard [style*="background:var(--blanc)"] h2,
#page-dashboard [style*="background:var(--blanc)"] h3,
#page-dashboard [style*="background:var(--blanc)"] h4{
  color:#E8940A !important;
}
/* Cas spécifique emploi-mode toggle : pastille track + thumb visibles sur dark */
#page-dashboard #emploi-mode-toggle-wrap{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(232,148,10,.25) !important;
  box-shadow:0 0 20px rgba(232,148,10,.08) !important;
}
#page-dashboard #emploi-mode-toggle-wrap #emploi-mode-track{
  background:rgba(255,255,255,.18) !important;
}
#page-dashboard #emploi-mode-toggle-wrap #emploi-mode-thumb{
  background:#FCE0A8 !important;
}
#page-dashboard #emploi-mode-toggle-wrap #emploi-mode-label-off,
#page-dashboard #emploi-mode-toggle-wrap #emploi-mode-label-on,
#page-dashboard #emploi-mode-toggle-wrap #emploi-mode-status-text{
  color:#FCE0A8 !important;
}
#page-dashboard #emploi-mode-toggle-wrap.is-on #emploi-mode-label-on,
#page-dashboard #emploi-mode-toggle-wrap [id="emploi-mode-label-on"]{
  color:#E8940A !important;
}

/* Dernier filet de sécurité : tout texte direct dans une .dash-section reste crème lisible */
#page-dashboard .dash-section > *,
#page-dashboard .dash-section p,
#page-dashboard .dash-section span:not([class*="badge"]):not(.parrain-comm-badge),
#page-dashboard .dash-section label,
#page-dashboard .dash-section li{
  color:#FCE0A8;
}

/* ════════════════ SPRINT 8 — OVERRIDE GLOBAL DARK THEME ════════════════ */
/* Force le dark theme sur TOUT le site, pas seulement le dashboard */

/* Hero accueil */
.hero { background:#14100A !important; }
.hero::before { display:none !important; }
.hero-bg { background:#14100A !important; }

/* ══ HERO CINÉMATIQUE — séquence animée 55s ══ */
.hero-cine {
  position:relative;
  border-radius:20px;
  overflow:hidden;
  aspect-ratio:4/5;
  max-width:420px;
  margin:0 auto;
  background:#0a0d0b;
  box-shadow:0 12px 60px rgba(0,0,0,0.6),0 0 0 1px rgba(232,148,10,0.12);
  cursor:pointer;
}
.hc-scene {
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:32px 24px;text-align:center;
  opacity:0;transform:scale(0.97);
  transition:opacity 0.8s cubic-bezier(0.22,1,0.36,1),transform 0.8s cubic-bezier(0.22,1,0.36,1);
  pointer-events:none;z-index:1;
}
.hc-scene.hc-active {
  opacity:1;transform:scale(1);pointer-events:auto;z-index:2;
}
.hc-bg {
  position:absolute;inset:0;z-index:0;pointer-events:none;
  animation:hcBgPulse 4s ease-in-out infinite alternate;
}
@keyframes hcBgPulse { 0%{opacity:0.6;} 100%{opacity:1;} }
.hc-eyebrow {
  position:relative;z-index:1;
  font-family:'Geist Mono',monospace;font-size:10px;font-weight:700;letter-spacing:3px;
  color:rgba(252, 224, 168,0.45);text-transform:uppercase;margin-bottom:16px;
  animation:hcSlideUp 0.6s cubic-bezier(0.22,1,0.36,1) both;
}
.hc-big {
  position:relative;z-index:1;
  font-family:'DM Serif Display',Georgia,serif;font-size:clamp(22px,5vw,32px);font-weight:900;
  color:#FCE0A8;line-height:1.2;margin-bottom:14px;
  animation:hcSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.1s both;
}
.hc-big em { color:#E8940A;font-style:italic; }
.hc-sub {
  position:relative;z-index:1;
  font-size:14px;color:rgba(252, 224, 168,0.6);line-height:1.6;max-width:320px;
  animation:hcSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.2s both;
}
.hc-stat {
  position:relative;z-index:1;
  margin-top:20px;padding:12px 20px;border-radius:12px;
  background:rgba(248,113,113,0.08);border:1px solid rgba(248,113,113,0.15);
  font-size:13px;color:rgba(252, 224, 168,0.7);
  animation:hcSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.3s both;
}
.hc-stat-num { font-family:'Geist Mono',monospace;font-size:28px;font-weight:900;color:#f87171;display:block;margin-bottom:4px; }
.hc-logo-reveal {
  position:relative;z-index:1;
  width:80px;height:80px;border-radius:50%;
  background:#14100A;border:2px solid #E8940A;
  display:flex;align-items:center;justify-content:center;
  font-family:'DM Serif Display',serif;font-size:42px;font-weight:900;color:#E8940A;
  margin-bottom:20px;
  box-shadow:0 0 60px rgba(232,148,10,0.4);
  animation:hcLogoIn 0.8s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes hcLogoIn { 0%{transform:scale(0) rotate(-20deg);opacity:0;} 100%{transform:scale(1) rotate(0);opacity:1;} }
.hc-features { position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;margin-top:16px;width:100%;max-width:300px; }
.hc-feat {
  display:flex;align-items:center;gap:10px;text-align:left;
  padding:10px 14px;border-radius:10px;
  background:rgba(232,148,10,0.06);border:1px solid rgba(232,148,10,0.12);
  font-size:12px;color:rgba(252, 224, 168,0.75);line-height:1.4;
  opacity:0;transform:translateX(-20px);
}
.hc-feat span { font-size:18px;flex-shrink:0; }
.hc-scene.hc-active .hc-feat-1 { animation:hcFeatIn 0.5s 0.3s cubic-bezier(0.22,1,0.36,1) forwards; }
.hc-scene.hc-active .hc-feat-2 { animation:hcFeatIn 0.5s 0.5s cubic-bezier(0.22,1,0.36,1) forwards; }
.hc-scene.hc-active .hc-feat-3 { animation:hcFeatIn 0.5s 0.7s cubic-bezier(0.22,1,0.36,1) forwards; }
@keyframes hcFeatIn { to { opacity:1;transform:translateX(0); } }
@keyframes hcSlideUp { 0%{transform:translateY(20px);opacity:0;} 100%{transform:translateY(0);opacity:1;} }
.hc-real-grid {
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;width:100%;max-width:320px;
  animation:hcSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.15s both;
}
.hc-real-card {
  border-radius:10px;overflow:hidden;background:#1a1f1b;
  border:1px solid rgba(232,148,10,0.1);position:relative;
}
.hc-real-card img { width:100%;aspect-ratio:1;object-fit:cover;display:block; }
.hc-real-card .hc-rc-info {
  position:absolute;bottom:0;left:0;right:0;padding:6px 8px;
  background:linear-gradient(transparent,rgba(0,0,0,0.85));
}
.hc-real-card .hc-rc-name { font-size:11px;font-weight:700;color:#FCE0A8; }
.hc-real-card .hc-rc-job { font-size:9px;color:rgba(252, 224, 168,0.5); }
.hc-cta {
  position:relative;z-index:1;
  margin-top:20px;padding:14px 28px;border:none;border-radius:100px;
  background:linear-gradient(135deg,#E8940A,#d97706);color:#14100A;
  font-size:15px;font-weight:800;font-family:inherit;cursor:pointer;
  box-shadow:0 4px 24px rgba(232,148,10,0.4);
  animation:hcSlideUp 0.7s cubic-bezier(0.22,1,0.36,1) 0.3s both,hcCtaPulse 2s ease-in-out infinite 1s;
}
@keyframes hcCtaPulse { 0%,100%{box-shadow:0 4px 24px rgba(232,148,10,0.4);} 50%{box-shadow:0 4px 36px rgba(232,148,10,0.6);} }
.hc-cta:hover { transform:translateY(-2px);box-shadow:0 6px 32px rgba(232,148,10,0.5); }
.hc-progress {
  position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(252, 224, 168,0.06);z-index:10;
}
.hc-progress-bar {
  height:100%;width:0;background:linear-gradient(90deg,#E8940A,#f59e0b);
  transition:width 0.3s linear;
}
.hc-dots {
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:10;
  display:flex;gap:6px;
}
.hc-dot {
  width:6px;height:6px;border-radius:50%;background:rgba(252, 224, 168,0.2);
  cursor:pointer;transition:all 0.3s;border:none;padding:0;
}
.hc-dot.hc-dot-active { background:#E8940A;transform:scale(1.3); }
@media(max-width:600px){
  .hero-cine { aspect-ratio:3/4;border-radius:16px; }
  .hc-scene { padding:24px 18px; }
  .hc-big { font-size:clamp(18px,5vw,26px); }
  .hc-real-grid { grid-template-columns:1fr 1fr;gap:6px; }
}

/* Section douleur, map notice, fondateur, etc. */
#search-map-notice { background:rgba(232,148,10,.08) !important; border-color:rgba(232,148,10,.25) !important; color:#FCE0A8 !important; }
#fondateur-banner { background:rgba(232,148,10,.08) !important; border-color:#E8940A !important; color:#FCE0A8 !important; }

/* Mobile nav overlay */
#mobile-nav-overlay { background:#14100A !important; }
#mobile-nav-overlay * { color:#FCE0A8 !important; }

/* Panneau aperçu paiement (encaissement) */
#enca-preview,
#payment-link-preview { background:rgba(232,148,10,.06) !important; border-color:rgba(232,148,10,.3) !important; color:#FCE0A8 !important; }

/* Timeline section — transition douce (pas de bande noire brutale) */
.wozali-timeline-section {
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding:80px 0 60px;
  background:linear-gradient(180deg, rgba(15,20,16,0) 0%, #14100A 6%, #14100A 94%, rgba(15,20,16,0) 100%) !important;
}

/* Override global : tout bloc inline à fond clair hors dashboard → dark */
[style*="background:#fffbeb"]:not(#cv-wozali-preview):not(#cv-wozali-preview *):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:#fef3dc"]:not(#cv-wozali-preview):not(#wozali-pancarte *),
[style*="background:#fefce8"]:not(#cv-wozali-preview):not(#wozali-pancarte *),
[style*="background:#fff8e1"]:not(#cv-wozali-preview):not(#wozali-pancarte *),
[style*="background:linear-gradient(135deg,#fffbeb"]:not(#wozali-pancarte *),
[style*="background:linear-gradient(135deg,#fef3dc"]:not(#wozali-pancarte *),
[style*="background:linear-gradient(135deg,#fefce8"]:not(#wozali-pancarte *),
[style*="background:linear-gradient(135deg,#FCE0A8"]:not(#wozali-pancarte *),
[style*="background:linear-gradient(135deg,#fff8e6"]:not(#wozali-pancarte *) {
  background:rgba(232,148,10,.06) !important;
  border-color:rgba(232,148,10,.25) !important;
  color:#FCE0A8 !important;
}
/* Textes noirs/gris foncés dans ces blocs → crème */
[style*="background:#fffbeb"] [style*="color:#92400e"],
[style*="background:#fef3dc"] [style*="color:#92400e"],
[style*="background:linear-gradient(135deg,#fffbeb"] [style*="color:#92400e"],
[style*="background:linear-gradient(135deg,#fef3dc"] [style*="color:#92400e"] {
  color:rgba(252, 224, 168,.7) !important;
}

/* Section "Comment ça marche" et "À propos" : fonds clairs restants */
#page-fonctionnement,
#page-a-propos-contenu { background:#14100A !important; color:#FCE0A8 !important; }

/* Badges petits (vérifié, TOP, champion) — garder lisibles sur dark */
.badge[style*="background:#fef3dc"],
.badge[style*="background:#FCE0A8"],
span[style*="background:#fef3dc"],
span[style*="background:#FCE0A8"] {
  background:rgba(232,148,10,.12) !important;
  color:#E8940A !important;
  border-color:rgba(232,148,10,.3) !important;
}

/* Parrainage upsell banner */
#parrain-upsell-banner {
  background:rgba(232,148,10,.06) !important;
  border-color:rgba(232,148,10,.25) !important;
  color:#FCE0A8 !important;
}
#parrain-upsell-banner * { color:#FCE0A8 !important; }

/* Emploi mode / recruteur lock */
#emploi-mode-individuel-only,
#recrut-pro-lock {
  background:rgba(232,148,10,.06) !important;
  border-color:rgba(232,148,10,.3) !important;
  color:#FCE0A8 !important;
}
#emploi-mode-individuel-only *, #recrut-pro-lock * { color:#FCE0A8 !important; }

/* Barre recherche rapide — fond sombre */
.search-bar-section { background:#14100A !important; }

/* ── SPRINT 8 — Global dark: toutes les classes CSS à fond blanc/clair ── */
.rdv-card { background:rgba(255,255,255,0.04) !important; border:1px solid rgba(232,148,10,0.1); color:#FCE0A8; }
.rdv-slot-btn { background:rgba(255,255,255,0.04) !important; color:#E8940A !important; border-color:rgba(232,148,10,0.3) !important; }
.rdv-tab { background:rgba(255,255,255,0.04) !important; color:#FCE0A8 !important; border-color:rgba(232,148,10,0.15) !important; }
.rdv-tab.active { background:var(--vert) !important; color:white !important; }
.time-sel { background:rgba(255,255,255,0.06) !important; color:#FCE0A8 !important; border-color:rgba(232,148,10,0.2) !important; }
.rdv-nav-btn { background:rgba(255,255,255,0.06) !important; color:#FCE0A8 !important; border-color:rgba(232,148,10,0.2) !important; }
.sidebar-card { background:rgba(255,255,255,0.04) !important; border:1px solid rgba(232,148,10,0.12) !important; color:#FCE0A8 !important; }
.edit-form-section { background:rgba(255,255,255,0.04) !important; border:1px solid rgba(232,148,10,0.12) !important; color:#FCE0A8 !important; }
.map-toggle-btn { background:rgba(255,255,255,0.06) !important; color:#FCE0A8 !important; border-color:rgba(232,148,10,0.2) !important; }
.search-bar select, .search-bar input { color:#FCE0A8 !important; }
.qf-chip { background:rgba(255,255,255,0.06) !important; color:#FCE0A8 !important; border-color:rgba(232,148,10,0.2) !important; }
.qf-chip:hover, .qf-chip.active { background:var(--vert) !important; color:white !important; }

/* Profil cards (prestataires récents, search) sur fond dark */
.pcard { background:rgba(255,255,255,0.04) !important; border:1px solid rgba(232,148,10,0.1) !important; }
.pcard-distance { background:rgba(232,148,10,0.1) !important; color:#E8940A !important; }

/* Login modal */
.login-card { background:#14100A !important; border:1px solid rgba(232,148,10,0.2) !important; color:#FCE0A8 !important; }
.login-card input { background:rgba(255,255,255,0.06) !important; color:#FCE0A8 !important; border-color:rgba(232,148,10,0.2) !important; }

/* Pages sans fond explicite */
#page-search { background:#14100A; }
#page-login { background:#14100A; }
#page-inscription { background:#14100A; }
#page-profil { background:#14100A; }
#page-emploi { background:#14100A; }
#page-cgu { background:#14100A; color:#FCE0A8; }
#page-fil { background:#14100A; }

/* Loading overlay dark */
.loading-overlay, #loading-overlay { background:#14100A !important; }

/* Avantages texte sombre → crème */
.avantage-item { color:#FCE0A8 !important; }

/* ── SPRINT 8 — Remaining base CSS white→dark overrides ── */
/* Search page filter bar */
.search-results-bar, .search-filters-sticky { background:#14100A !important; border-color:rgba(232,148,10,0.15) !important; }
.filter-chip, .filter-select { background:rgba(255,255,255,0.06) !important; color:#FCE0A8 !important; border-color:rgba(232,148,10,0.15) !important; }
/* Toggle + dispo */
.dispo-wrap { background:rgba(255,255,255,0.04) !important; border-color:rgba(232,148,10,0.1) !important; }
.toggle-slider { background:rgba(255,255,255,0.15) !important; }
.toggle-slider:before { background:#FCE0A8 !important; }
input:checked + .toggle-slider { background:#E8940A !important; }
/* Score profil page */
.profil-score-bar { background:rgba(255,255,255,0.08) !important; }
/* Pages globales */
#page-search, #page-emploi, #page-feed, #page-match, #page-login, #page-forgot, #page-inscription, #page-fonctionnement, #page-apropos, #page-cgu, #page-fil, #page-tutoriels, #page-recompenses, #page-awards, #page-home, #page-a-propos, #page-agent-wozali, #page-influenceurs { background:#14100A !important; color:#FCE0A8 !important; }
/* Fonctionnement page sections */
#page-fonctionnement section { background:#14100A !important; }
#page-fonctionnement h2, #page-fonctionnement h3 { color:#FCE0A8 !important; }
#page-fonctionnement p { color:rgba(252, 224, 168,0.65) !important; }

/* ════ GLOBAL DARK — Override ALL inline white/cream backgrounds site-wide ════ */
/* Catch-all: any element with inline background:white/cream → dark glass */
/* Exclude: a (CTA links), #wozali-pancarte descendants (print), toggle thumbs, lightbox close */
[style*="background:white"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *):not(.lightbox-close):not(#emploi-mode-thumb),
[style*="background: white"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *):not(.lightbox-close):not(#emploi-mode-thumb),
[style*="background:#fff"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *):not(.lightbox-close):not(#qr-canvas),
[style*="background: #fff"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *):not(.lightbox-close),
[style*="background:#FFF"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *):not(.lightbox-close),
[style*="background: #FFF"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:#ffffff"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background: #ffffff"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:#FFFFFF"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:var(--blanc)"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background: var(--blanc)"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:#FCE0A8"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background: #FCE0A8"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:#FCE0A8"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background: #FCE0A8"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:#fdf8f0"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:#fff8ed"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:var(--gris-light)"]:not(a):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:var(--vert-light)"]:not(a):not(.badge):not(#wozali-pancarte):not(#wozali-pancarte *),
[style*="background:var(--or-light)"]:not(a):not(.badge):not(#wozali-pancarte):not(#wozali-pancarte *) {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(232,148,10,0.12) !important;
  color: #FCE0A8 !important;
}

/* Children of overridden containers: ensure text is cream */
[style*="background:white"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button.btn-primary):not(.btn-or),
[style*="background: white"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button.btn-primary):not(.btn-or),
[style*="background:#fff"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button.btn-primary):not(.btn-or),
[style*="background:#ffffff"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button.btn-primary):not(.btn-or),
[style*="background:var(--blanc)"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button.btn-primary):not(.btn-or),
[style*="background:#FCE0A8"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button.btn-primary):not(.btn-or),
[style*="background:#FCE0A8"] *:not(svg):not(path):not(circle):not(rect):not(line):not(polygon):not(button.btn-primary):not(.btn-or) {
  color: #FCE0A8 !important;
}

/* Headings in overridden containers */
[style*="background:white"] h1, [style*="background:white"] h2, [style*="background:white"] h3, [style*="background:white"] h4,
[style*="background:#fff"] h1, [style*="background:#fff"] h2, [style*="background:#fff"] h3, [style*="background:#fff"] h4,
[style*="background:var(--blanc)"] h1, [style*="background:var(--blanc)"] h2, [style*="background:var(--blanc)"] h3,
[style*="background:#FCE0A8"] h1, [style*="background:#FCE0A8"] h2, [style*="background:#FCE0A8"] h3 {
  color: #FCE0A8 !important;
}

/* Buttons inside overridden containers — keep readable */
[style*="background:white"] button:not(.btn-primary):not(.btn-or),
[style*="background:#fff"] button:not(.btn-primary):not(.btn-or),
[style*="background:var(--blanc)"] button:not(.btn-primary):not(.btn-or) {
  color: #FCE0A8 !important;
}

/* Selects inside overridden containers */
[style*="background:white"] select,
[style*="background:#fff"] select,
[style*="background:var(--blanc)"] select {
  background: rgba(255,255,255,0.06) !important;
  color: #FCE0A8 !important;
  border-color: rgba(232,148,10,0.2) !important;
}

/* Inputs inside overridden containers */
[style*="background:white"] input,
[style*="background:#fff"] input,
[style*="background:var(--blanc)"] input {
  background: rgba(255,255,255,0.06) !important;
  color: #FCE0A8 !important;
  border-color: rgba(232,148,10,0.2) !important;
}

/* Fonctionnement page: sections and tabs */
#page-fonctionnement section,
#tab-client, #tab-emploi, #tab-recrut, #tab-presta {
  background: #14100A !important;
  color: #FCE0A8 !important;
}
#page-fonctionnement button,
#tab-client button, #tab-emploi button, #tab-recrut button, #tab-presta button {
  background: rgba(255,255,255,0.04) !important;
  color: #FCE0A8 !important;
  border-color: rgba(232,148,10,0.15) !important;
}
#page-fonctionnement button:hover,
#tab-client button:hover, #tab-emploi button:hover, #tab-recrut button:hover, #tab-presta button:hover {
  border-color: #E8940A !important;
}

/* À propos page sections */
#page-apropos section {
  background: #14100A !important;
  color: #FCE0A8 !important;
}
#page-apropos h1, #page-apropos h2, #page-apropos h3, #page-apropos h4 { color: #FCE0A8 !important; }
#page-apropos p { color: rgba(252, 224, 168,0.7) !important; }
#page-apropos a[style*="background:white"],
#page-apropos a[style*="background: white"] {
  background: rgba(255,255,255,0.04) !important;
  color: #FCE0A8 !important;
}
#page-apropos blockquote {
  background: rgba(255,255,255,0.04) !important;
  border-color: #E8940A !important;
  color: rgba(252, 224, 168,0.8) !important;
}

/* Tutoriels page */
#page-tutoriels { background:#14100A !important; }
#page-tutoriels h2, #page-tutoriels h3 { color:#FCE0A8 !important; }
#page-tutoriels p { color:rgba(252, 224, 168,0.65) !important; }

/* KPI cards in dashboard */
.kpi-card, [class*="kpi-card"] {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(232,148,10,0.15) !important;
  color: #FCE0A8 !important;
}
.kpi-card *, [class*="kpi-card"] * { color: #FCE0A8 !important; }

/* Emploi filter selects */
#page-emploi select,
#page-search select {
  background: rgba(255,255,255,0.06) !important;
  color: #FCE0A8 !important;
  border-color: rgba(232,148,10,0.2) !important;
}

/* Modal overlays dark */
.modal-content, .modal-body, [class*="modal"] > div:not(.modal-backdrop) {
  color: #FCE0A8 !important;
}

/* Retrait method cards */
.retrait-method-card {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(232,148,10,0.15) !important;
  color: #FCE0A8 !important;
}

/* Plan card */
[id*="plan-card"] {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(232,148,10,0.2) !important;
  color: #FCE0A8 !important;
}
[id*="plan-card"] * { color: #FCE0A8 !important; }

/* Float notifs */
.float-notif { background: rgba(15,20,16,0.95) !important; color: #FCE0A8 !important; border-color: rgba(232,148,10,0.2) !important; }

/* Badge cream → dark gold */
.badge-cdi, .statut-retenue { background: rgba(232,148,10,0.1) !important; color: #E8940A !important; }

/* Pancarte QR — keep light for print purposes (intentional light bg) */
#wozali-pancarte, #wozali-pancarte * { /* keep as-is for printing */ }

/* Homepage sections that may have inline light bg */
.section[style*="background:white"],
.section[style*="background:var(--blanc)"],
section[style*="background:white"],
section[style*="background:var(--blanc)"] {
  background: #14100A !important;
  color: #FCE0A8 !important;
}
section[style*="background:white"] h1, section[style*="background:white"] h2, section[style*="background:white"] h3,
section[style*="background:var(--blanc)"] h1, section[style*="background:var(--blanc)"] h2, section[style*="background:var(--blanc)"] h3 {
  color: #FCE0A8 !important;
}
section[style*="background:white"] p, section[style*="background:var(--blanc)"] p {
  color: rgba(252, 224, 168,0.7) !important;
}

/* Emploi mode toggle */
#emploi-mode-toggle-wrap {
  background: rgba(255,255,255,0.04) !important;
  color: #FCE0A8 !important;
}

/* Admin panel items */
.admin-card, [id*="admin"] div[style*="background:white"] {
  background: rgba(255,255,255,0.04) !important;
  color: #FCE0A8 !important;
}

/* Fix sticky headers (page-fil, etc) */
[style*="background:white"][style*="sticky"],
div[style*="position:sticky"][style*="background:white"],
div[style*="position:sticky"][style*="background:#fff"] {
  background: #14100A !important;
  border-color: rgba(232,148,10,0.1) !important;
}

/* Light gray backgrounds → dark */
[style*="background:#f3f4f6"]:not(.lightbox-close):not(#wozali-pancarte *),
[style*="background:#f5f5f5"]:not(#wozali-pancarte *) {
  background: rgba(255,255,255,0.06) !important;
  color: #FCE0A8 !important;
}

/* À propos page — light colored cards → dark */
#page-apropos [style*="background:#fff5f5"],
#page-apropos [style*="background:var(--vert-light)"] {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(232,148,10,0.12) !important;
}
#page-apropos [style*="background:#fff5f5"] h3 { color: #f87171 !important; }
#page-apropos [style*="background:var(--vert-light)"] h3 { color: #E8940A !important; }
#page-apropos li { color: rgba(252, 224, 168,0.75) !important; }

/* Global dark text override — catch inline dark text colors */
[style*="color:var(--noir)"]:not(#wozali-pancarte *) { color: #FCE0A8 !important; }
[style*="color:#111827"]:not(#wozali-pancarte *) { color: #FCE0A8 !important; }
[style*="color:#1f2937"]:not(#wozali-pancarte *) { color: rgba(252, 224, 168,0.85) !important; }
[style*="color:#374151"]:not(#wozali-pancarte *) { color: rgba(252, 224, 168,0.7) !important; }
[style*="color:var(--gris-fonce)"]:not(#wozali-pancarte *) { color: rgba(252, 224, 168,0.7) !important; }
[style*="color:#333"]:not(#wozali-pancarte *) { color: #FCE0A8 !important; }
[style*="color:#111"]:not(a):not(#wozali-pancarte *) { color: #FCE0A8 !important; }

/* Fonctionnement — Ce que WOZALI est/n'est pas + stat cards */
#page-fonctionnement [style*="background:var(--vert-light)"],
#page-fonctionnement [style*="background:var(--or-light)"],
#page-fonctionnement [style*="background:#fff5f5"] {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(232,148,10,0.12) !important;
}
#page-fonctionnement li { color: rgba(252, 224, 168,0.75) !important; }

/* Guarantee section cards */
[style*="background:var(--vert-light)"][style*="border-radius:16px"],
[style*="background:var(--or-light)"][style*="border-radius:16px"] {
  background: rgba(255,255,255,0.04) !important;
}

/* Emploi page cards generated via JS */
.offre-card h3, .offre-card h4 { color: #FCE0A8 !important; }
.offre-card p, .offre-card span { color: rgba(252, 224, 168,0.7) !important; }

/* Info tip → dark */
.info-tip { background: rgba(232,148,10,0.06) !important; color: rgba(252, 224, 168,0.8) !important; border-color: rgba(232,148,10,0.25) !important; }

/* ════════════════ SPRINT 5 — Plan Pro Juillet, Countdown, Mur gagnants ════════════════ */
.wozali-gains-juillet{background:linear-gradient(160deg,#14100A,#1a1f1c);border:1px solid rgba(232,148,10,0.35);border-radius:20px;padding:28px 26px;margin-bottom:24px;color:#FCE0A8;position:relative;overflow:hidden;}
.wozali-gains-juillet::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(232,148,10,0.12),transparent 60%);pointer-events:none;}
.gains-eyebrow{display:inline-block;background:linear-gradient(90deg,#E8940A,#f59e0b);color:#14100A;font-size:11px;font-weight:900;padding:5px 14px;border-radius:100px;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;}
.gains-grille{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:18px 0;}
.gain-bloc{background:rgba(232,148,10,0.06);border:1px solid rgba(232,148,10,0.25);border-radius:14px;padding:18px 14px;text-align:center;}
.gain-label{font-size:11px;font-weight:800;color:rgba(252, 224, 168,0.7);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:6px;}
.gain-montant{font-family:'DM Serif Display',serif;font-size:32px;font-weight:900;color:#E8940A;line-height:1;}
.gain-devise{font-size:14px;color:rgba(232,148,10,0.7);margin-left:4px;}
.gain-sub{font-size:11px;color:rgba(252, 224, 168,0.55);margin-top:6px;}
.gain-apres{font-size:10px;color:rgba(252, 224, 168,0.4);margin-top:4px;font-style:italic;}
.gains-plus{font-family:'DM Serif Display',serif;font-size:34px;color:#E8940A;font-weight:900;}
.gains-total{margin-top:18px;text-align:center;padding:18px;background:linear-gradient(135deg,rgba(232,148,10,0.18),rgba(245,158,11,0.08));border-radius:14px;border:1px solid rgba(232,148,10,0.45);}
.gains-total-label{font-size:12px;font-weight:800;color:#E8940A;text-transform:uppercase;letter-spacing:1px;}
.gains-total-montant{font-family:'DM Serif Display',serif;font-size:44px;font-weight:900;color:#E8940A;line-height:1.1;margin:6px 0;}
.gains-total-context{font-size:13px;color:rgba(252, 224, 168,0.7);}
.gains-condition{font-size:12px;color:rgba(252, 224, 168,0.55);margin-top:14px;text-align:center;font-style:italic;}

.wozali-avantages-pro{list-style:none;padding:0;margin:0 0 18px 0;display:flex;flex-direction:column;gap:9px;}
.avantage-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#FCE0A8;line-height:1.5;}
.avantage-star{color:#E8940A;font-weight:900;flex-shrink:0;}
.avantage-icon{flex-shrink:0;}
.avantage-texte{flex:1;}
.badge-juillet{display:inline-block;background:linear-gradient(90deg,#E8940A,#f59e0b);color:#14100A;font-size:10px;font-weight:900;padding:2px 8px;border-radius:100px;margin-left:6px;letter-spacing:0.5px;}
.montant-or{color:#E8940A;font-weight:900;}
.montant-barre{text-decoration:line-through;color:rgba(0,0,0,0.4);}

.wozali-btn-pro-cta{display:block;width:100%;background:linear-gradient(135deg,#E8940A,#f59e0b);color:#14100A;text-align:center;padding:18px 20px;border-radius:14px;font-weight:900;font-size:16px;text-decoration:none;box-shadow:0 6px 20px rgba(232,148,10,0.4);transition:transform 0.2s;}
.wozali-btn-pro-cta:hover{transform:translateY(-2px);}
.btn-pro-sub{font-size:12px;color:rgba(0,0,0,0.65);text-align:center;margin-top:10px;font-weight:600;}
.btn-pro-urgence{font-size:12px;color:#E8940A;text-align:center;margin-top:6px;font-weight:800;font-style:italic;}

.wozali-faq-pro{background:#14100A;border:1px solid rgba(232,148,10,0.25);border-radius:18px;padding:28px;margin-top:32px;color:#FCE0A8;}
.wozali-faq-pro h3{font-family:'DM Serif Display',serif;color:#E8940A;font-size:22px;font-weight:900;margin-bottom:18px;}
.faq-item{border-bottom:1px solid rgba(232,148,10,0.15);padding:14px 0;}
.faq-item:last-child{border-bottom:none;}
.faq-q{cursor:pointer;font-weight:800;font-size:15px;color:#FCE0A8;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-q::after{content:"+";color:#E8940A;font-size:22px;font-weight:900;transition:transform 0.2s;}
.faq-item.open .faq-q::after{transform:rotate(45deg);}
.faq-r{display:none;font-size:14px;color:rgba(252, 224, 168,0.75);line-height:1.7;margin-top:10px;}
.faq-item.open .faq-r{display:block;}

.wozali-countdown-bloc{background:linear-gradient(160deg,#14100A,#1a1f1c);border:2px solid rgba(232,148,10,0.5);border-radius:20px;padding:32px 24px;margin:24px 0;color:#FCE0A8;text-align:center;position:relative;overflow:hidden;}
.wozali-countdown-bloc::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(232,148,10,0.18),transparent 70%);pointer-events:none;}
.countdown-eyebrow{display:inline-block;background:linear-gradient(90deg,#E8940A,#f59e0b);color:#14100A;font-size:11px;font-weight:900;padding:5px 14px;border-radius:100px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;position:relative;}
.countdown-titre{font-family:'DM Serif Display',serif;font-size:26px;font-weight:900;color:#E8940A;margin-bottom:8px;position:relative;}
.countdown-sub{font-size:14px;color:rgba(252, 224, 168,0.7);margin-bottom:22px;position:relative;}
.countdown-timer{display:flex;justify-content:center;align-items:center;gap:10px;margin:20px 0;position:relative;flex-wrap:wrap;}
.count-unit{background:rgba(232,148,10,0.1);border:1px solid rgba(232,148,10,0.4);border-radius:14px;padding:14px 16px;min-width:78px;}
.count-num{font-family:'DM Serif Display',serif;font-size:42px;font-weight:900;color:#E8940A;line-height:1;}
.count-label{font-size:10px;font-weight:800;color:rgba(252, 224, 168,0.6);text-transform:uppercase;letter-spacing:1px;margin-top:4px;}
.count-sep{font-family:'DM Serif Display',serif;font-size:36px;color:rgba(232,148,10,0.5);font-weight:900;}
.countdown-stats{display:flex;justify-content:center;gap:20px;margin-top:18px;flex-wrap:wrap;position:relative;}
.countdown-stat{font-size:13px;color:rgba(252, 224, 168,0.75);}
.countdown-stat strong{color:#E8940A;font-weight:900;}
.countdown-cta{display:inline-block;margin-top:18px;background:linear-gradient(135deg,#E8940A,#f59e0b);color:#14100A;padding:14px 28px;border-radius:12px;font-weight:900;text-decoration:none;position:relative;}
.countdown-termine{font-size:18px;color:#E8940A;font-weight:900;padding:20px;}

.wozali-section-juillet{background:linear-gradient(180deg,#14100A,#1a1f1c);padding:80px 0;color:#FCE0A8;}
.wozali-section-juillet .container{max-width:980px;margin:0 auto;padding:0 20px;text-align:center;}
.section-juillet-titre{font-family:'DM Serif Display',serif;font-size:clamp(28px,4vw,44px);font-weight:900;color:#FCE0A8;margin-bottom:18px;line-height:1.2;}
.montant-geant{display:block;font-family:'DM Serif Display',serif;font-size:clamp(56px,9vw,110px);font-weight:900;color:#E8940A;line-height:1;margin:14px 0;text-shadow:0 4px 30px rgba(232,148,10,0.3);}
.section-juillet-jamais{font-size:18px;color:rgba(252, 224, 168,0.65);font-style:italic;margin-bottom:42px;}
.juillet-deux-blocs{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin:38px 0;}
.juillet-bloc{background:rgba(232,148,10,0.07);border:1.5px solid rgba(232,148,10,0.35);border-radius:18px;padding:28px 22px;text-align:center;}
.bloc-icon{font-size:36px;margin-bottom:10px;}
.bloc-montant{font-family:'DM Serif Display',serif;font-size:34px;font-weight:900;color:#E8940A;margin-bottom:6px;}
.bloc-titre{font-size:14px;font-weight:800;color:#FCE0A8;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;}
.bloc-desc{font-size:13px;color:rgba(252, 224, 168,0.65);line-height:1.6;}
.juillet-plus{font-family:'DM Serif Display',serif;font-size:42px;color:#E8940A;font-weight:900;}
.juillet-fomo{font-size:15px;color:#FCE0A8;margin:24px auto;max-width:680px;line-height:1.7;}
.juillet-fomo strong{color:#E8940A;}
.juillet-smig{font-size:14px;color:rgba(232,148,10,0.85);font-weight:800;margin-bottom:24px;}
.juillet-note-apres{font-size:12px;color:rgba(252, 224, 168,0.5);margin-top:18px;font-style:italic;}

#mur-gagnants{margin-top:32px;}
.gagnant-placeholder{background:#14100A;border:1.5px dashed rgba(232,148,10,0.4);border-radius:18px;padding:36px 24px;text-align:center;color:#FCE0A8;}
.placeholder-icon{font-size:42px;margin-bottom:10px;}
.placeholder-montant{font-family:'DM Serif Display',serif;font-size:30px;font-weight:900;color:#E8940A;margin-bottom:6px;}
.placeholder-question{font-size:14px;color:rgba(252, 224, 168,0.65);}
.gagnants-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.gagnant-card{background:#14100A;border:1px solid rgba(232,148,10,0.3);border-radius:16px;padding:20px;color:#FCE0A8;display:flex;flex-direction:column;gap:10px;}
.gagnant-photo{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#E8940A,#f59e0b);display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:26px;font-weight:900;color:#14100A;}
.gagnant-initiale{font-family:'DM Serif Display',serif;font-weight:900;}
.gagnant-info{font-size:14px;font-weight:800;}
.gagnant-temoignage{font-size:13px;color:rgba(252, 224, 168,0.7);font-style:italic;line-height:1.5;}
.gagnant-montant{font-family:'DM Serif Display',serif;font-size:22px;color:#E8940A;font-weight:900;}

@media (max-width:720px){
  .gains-grille{grid-template-columns:1fr;}
  .juillet-deux-blocs{grid-template-columns:1fr;}
  .gains-plus,.juillet-plus{transform:rotate(90deg);}
  .count-unit{min-width:64px;padding:10px 12px;}
  .count-num{font-size:32px;}
}



      body{font-family:sans-serif;text-align:center;padding:40px;background:#fff;}
      img{width:300px;height:300px;border-radius:16px;}
      h2{font-size:22px;margin:20px 0 6px;color:#E8940A;}
      p{font-size:14px;color:#555;margin:0;}
      .logo{font-size:28px;font-weight:900;color:#E8940A;margin-bottom:20px;}
    


/* ====== TIMELINE EXPANSION ====== */
@keyframes wozali-tl-pulse { 0%{transform:scale(1);opacity:.6} 100%{transform:scale(2.4);opacity:0} }
@keyframes wozali-tl-dash { from{stroke-dashoffset:600} to{stroke-dashoffset:0} }
@keyframes wozali-tl-shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
@keyframes wozali-tl-fade-up { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }
.wozali-timeline-section { padding:80px 0 60px; position:relative; background:#14100A; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); margin-top:60px; margin-bottom:60px; }
.wozali-timeline-inner { max-width:1100px; }
.wozali-timeline-inner { max-width:720px; margin:0 auto; padding:0 24px; }
.tl-header { text-align:center; margin-bottom:48px; }
.tl-eyebrow { display:block; font-family:'Geist Mono',monospace; font-size:10px; letter-spacing:4px; color:#E8940A; margin-bottom:12px; }
.tl-title { font-family:'DM Serif Display',Georgia,serif; font-size:clamp(22px,3vw,32px); font-weight:700; color:#FCE0A8; margin:0; }
.tl-track-wrap { position:relative; padding:0 8px; margin-bottom:8px; }
.tl-line-svg { width:100%; height:12px; display:block; overflow:visible; }
.tl-line-bg { stroke:rgba(252, 224, 168,.1); stroke-width:2; fill:none; }
.tl-line-fill { stroke:#E8940A; stroke-width:2.5; fill:none; stroke-dasharray:600; stroke-dashoffset:0; animation:wozali-tl-dash 1.8s cubic-bezier(.4,0,.2,1) .4s both; }
.tl-nodes { display:flex; justify-content:space-between; position:relative; margin-top:-30px; }
.tl-node { display:flex; flex-direction:column; align-items:center; cursor:pointer; flex:1; position:relative; transition:opacity .2s ease; }
.tl-node:hover { opacity:1!important; }
.tl-dot-wrap { position:relative; width:52px; height:52px; display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.tl-dot-ring { position:absolute; inset:0; border-radius:50%; background:#E8940A; opacity:0; }
.tl-node.tl-active .tl-dot-ring { animation:wozali-tl-pulse 1.8s ease-out infinite; }
.tl-dot { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; z-index:2; border:2px solid; transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease; }
.tl-flag { font-size:18px; line-height:1; }
.tl-node:hover .tl-dot { transform:scale(1.18); }
.tl-node.tl-active .tl-dot { border-color:#E8940A; background:rgba(232,148,10,.12); box-shadow:0 0 0 5px rgba(232,148,10,.15); }
.tl-node.tl-upcoming .tl-dot { border-color:rgba(252, 224, 168,.25); background:rgba(252, 224, 168,.05); opacity:.75; }
.tl-node.tl-future .tl-dot { border-color:rgba(252, 224, 168,.12); background:rgba(252, 224, 168,.03); opacity:.45; }
.tl-label { text-align:center; display:flex; flex-direction:column; align-items:center; gap:3px; }
.tl-node-title { font-family:Georgia,serif; font-size:13px; font-weight:700; color:#FCE0A8; white-space:nowrap; }
.tl-node.tl-upcoming .tl-node-title, .tl-node.tl-future .tl-node-title { color:rgba(252, 224, 168,.55); }
.tl-node-date { font-family:'Geist Mono',monospace; font-size:10px; color:rgba(252, 224, 168,.35); }
.tl-badge { display:inline-block; font-family:'Geist Mono',monospace; font-size:9px; letter-spacing:1.5px; padding:2px 8px; border-radius:4px; margin-top:2px; }
.tl-badge-live { background:rgba(232,148,10,.15); color:#E8940A; border:1px solid rgba(232,148,10,.35); }
.tl-badge-soon { background:rgba(252, 224, 168,.05); color:rgba(252, 224, 168,.45); border:1px solid rgba(252, 224, 168,.1); }
.tl-badge-future { background:rgba(252, 224, 168,.03); color:rgba(252, 224, 168,.25); border:1px solid rgba(252, 224, 168,.08); }
.tl-progress-wrap { margin:20px 0 0; }
.tl-progress-bar { height:2px; background:rgba(252, 224, 168,.08); border-radius:1px; overflow:hidden; margin-bottom:8px; }
.tl-progress-fill { height:100%; border-radius:1px; background:linear-gradient(90deg,#C47A08,#E8940A,#F5B82E); background-size:200% 100%; animation:wozali-tl-shimmer 2.5s linear infinite; transition:width .6s cubic-bezier(.4,0,.2,1); }
.tl-progress-labels { display:flex; justify-content:space-between; font-family:'Geist Mono',monospace; font-size:10px; color:rgba(252, 224, 168,.3); }
.tl-progress-labels span:nth-child(2) { color:rgba(252, 224, 168,.5); }
.tl-detail-panel { margin-top:28px; border:1px solid rgba(232,148,10,.2); border-radius:12px; background:rgba(232,148,10,.04); padding:24px 28px; min-height:130px; animation:wozali-tl-fade-up .35s ease both; }
.tl-panel-eyebrow { display:block; font-family:'Geist Mono',monospace; font-size:9px; letter-spacing:3px; color:#E8940A; margin-bottom:8px; }
.tl-panel-title { font-family:'DM Serif Display',Georgia,serif; font-size:20px; font-weight:700; color:#FCE0A8; margin:0 0 14px; }
.tl-panel-countries { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.tl-country-chip { display:inline-flex; align-items:center; gap:5px; font-size:12px; padding:4px 12px; border-radius:6px; font-family:Georgia,serif; }
.tl-country-chip.on { color:#FCE0A8; background:rgba(232,148,10,.1); border:1px solid rgba(232,148,10,.3); }
.tl-country-chip.off { color:rgba(252, 224, 168,.4); background:rgba(252, 224, 168,.04); border:1px solid rgba(252, 224, 168,.08); }
.tl-panel-stat { font-size:13px; color:rgba(252, 224, 168,.6); line-height:1.7; border-top:1px solid rgba(252, 224, 168,.06); padding-top:12px; margin:0; }
.tl-panel-stat strong { color:#E8940A; font-weight:600; }
@media (max-width:600px) {
  .tl-node-title { font-size:11px; white-space:normal; text-align:center; max-width:80px; }
  .tl-dot { width:34px; height:34px; }
  .tl-flag { font-size:15px; }
  .tl-detail-panel { padding:16px 18px; }
  .tl-panel-title { font-size:17px; }
}

/* ====== SPRINT 6 — Feed WOZALI ====== */
.mobile-bottom-nav {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: #14100A;
  border-top: 1px solid rgba(232, 148, 10, 0.15);
  height: 64px;
  z-index: 100;
  padding-bottom: env(safe-area-inset-bottom);
}
@media (max-width: 768px) {
  .mobile-bottom-nav { display: flex; }
  body { padding-bottom: 64px; }
}
.mobile-nav-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  font-size: 10px;
  color: rgba(252, 224, 168, 0.5);
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: color 0.2s ease;
}
.mobile-nav-item.active,
.mobile-nav-item:hover { color: #E8940A; }
.mobile-nav-center .mobile-nav-feed-btn {
  width: 44px; height: 44px;
  background: #E8940A;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-top: -16px;
  box-shadow: 0 4px 16px rgba(232, 148, 10, 0.4);
}
.feed-badge {
  display: none;
  background: #E8940A;
  color: #14100A;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 8px;
  margin-left: 4px;
}
.feed-badge.visible { display: inline; }

/* Page feed */
#page-feed { background: #14100A; min-height: 100vh; color: #FCE0A8; }
.wozali-feed-page {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 0 80px;
}

/* Stories */
.wozali-stories-bar {
  padding: 12px 0;
  border-bottom: 1px solid rgba(232, 148, 10, 0.1);
}
.stories-scroll {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 4px 16px;
  scrollbar-width: none;
}
.stories-scroll::-webkit-scrollbar { display: none; }
.story-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  flex-shrink: 0;
}
.story-ring {
  width: 64px; height: 64px;
  border-radius: 50%;
  padding: 2px;
  background: linear-gradient(135deg, #E8940A, #F5B82E);
}
.story-ring.bourse { background: linear-gradient(135deg, #E8940A, #C47A08); }
.story-avatar {
  width: 100%; height: 100%;
  border-radius: 50%;
  border: 2px solid #14100A;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.story-avatar img { width: 100%; height: 100%; object-fit: cover; }
.story-emoji { font-size: 24px; }
.story-label {
  font-size: 11px;
  color: rgba(252, 224, 168, 0.7);
  max-width: 64px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.story-votes {
  font-family: 'Geist Mono', monospace;
  font-size: 9px;
  color: #E8940A;
}

/* Onglets */
.feed-onglets {
  display: flex;
  gap: 0;
  border-bottom: 1px solid rgba(232, 148, 10, 0.1);
  overflow-x: auto;
  scrollbar-width: none;
}
.feed-onglets::-webkit-scrollbar { display: none; }
.feed-onglet {
  flex-shrink: 0;
  padding: 14px 20px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  color: rgba(252, 224, 168, 0.5);
  font-family: Georgia, serif;
  font-size: 14px;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.feed-onglet.active,
.feed-onglet:hover {
  color: #FCE0A8;
  border-bottom-color: #E8940A;
}

/* Zone publication */
.publier-zone {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid rgba(252, 224, 168, 0.08);
}
.publier-invite {
  padding: 20px 16px;
  text-align: center;
  border-bottom: 1px solid rgba(252, 224, 168, 0.08);
  color: rgba(252, 224, 168,0.7);
}
.publier-invite p { margin-bottom: 12px; font-size: 13px; }
.publier-photo {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 2px solid rgba(232, 148, 10, 0.3);
  object-fit: cover;
  flex-shrink: 0;
}
.publier-btn {
  flex: 1;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(252, 224, 168, 0.1);
  border-radius: 20px;
  padding: 10px 16px;
  color: rgba(252, 224, 168, 0.4);
  font-size: 14px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.publier-btn:hover { border-color: rgba(232, 148, 10, 0.3); background: rgba(232, 148, 10, 0.05); }
.publier-btn-icon {
  background: rgba(232, 148, 10, 0.1);
  border: 1px solid rgba(232, 148, 10, 0.2);
  border-radius: 50%;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 18px; flex-shrink: 0;
  color: #E8940A;
}

/* Post */
.feed-post {
  padding: 20px 16px;
  border-bottom: 1px solid rgba(252, 224, 168, 0.06);
  transition: background 0.2s ease;
}
.feed-post:hover { background: rgba(255, 255, 255, 0.01); }
.post-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }
.post-auteur-link { display: flex; align-items: center; gap: 10px; text-decoration: none; cursor: pointer; background:none; border:none; padding:0; }
.post-auteur-photo { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(232, 148, 10, 0.25); object-fit: cover; }
.post-auteur-info strong { display: block; font-family: Georgia, serif; font-size: 15px; color: #FCE0A8; text-align: left; max-width:200px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.post-auteur-info span { font-size: 12px; color: rgba(252, 224, 168, 0.5); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; max-width:200px; }
.post-header-right { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.post-date { font-size: 11px; color: rgba(252, 224, 168, 0.35); font-family: 'Geist Mono', monospace; }
.post-badge-coup {
  display: inline-block;
  background: #E8940A;
  color: #14100A;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: 1px;
}
.post-badge-verifie { font-size: 11px; color: rgba(252, 224, 168, 0.6); }
.post-media { border-radius: 8px; overflow: hidden; margin-bottom: 12px; }
.post-img { width: 100%; max-height: 480px; object-fit: cover; display: block; }
.post-video { width: 100%; max-height: 480px; background: #000; }
.post-contenu { font-size: 14px; color: rgba(252, 224, 168, 0.8); line-height: 1.6; margin-bottom: 12px; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.post-actions { display: flex; justify-content: space-between; align-items: center; }
.post-actions-left { display: flex; gap: 8px; }
.action-btn {
  background: none;
  border: none;
  color: rgba(252, 224, 168, 0.6);
  font-size: 14px;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: inherit;
}
.action-btn:hover { background: rgba(252, 224, 168, 0.05); color: #FCE0A8; }
.action-btn.liked { color: #E8940A; }
.post-contact-btn {
  font-size: 13px;
  padding: 8px 16px;
  background: #E8940A;
  color: #14100A;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 700;
  font-family: inherit;
}
.post-delete-btn {
  background: none;
  border: 1px solid rgba(252, 224, 168,0.15);
  color: rgba(252, 224, 168,0.6);
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
}

/* Commentaires */
.post-commentaires { margin-top: 12px; border-top: 1px solid rgba(252, 224, 168, 0.06); padding-top: 12px; }
.commentaire { display: flex; gap: 8px; margin-bottom: 10px; }
.commentaire-photo { width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0; object-fit: cover; }
.commentaire-corps strong { font-size: 13px; color: #FCE0A8; margin-right: 6px; }
.commentaire-corps p { font-size: 13px; color: rgba(252, 224, 168, 0.75); display: inline; margin:0; }
.commentaire-corps span { display: block; font-size: 10px; color: rgba(252, 224, 168, 0.3); margin-top: 2px; font-family: 'Geist Mono', monospace; }
.commentaire-form { display: flex; gap: 8px; margin-top: 10px; }
.commentaire-form input {
  flex: 1;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(252, 224, 168,0.1);
  border-radius: 20px;
  padding: 8px 14px;
  color: #FCE0A8;
  font-size: 13px;
  font-family: inherit;
}
.commentaire-form button {
  background: #E8940A;
  color: #14100A;
  border: none;
  border-radius: 50%;
  width: 36px; height: 36px;
  cursor: pointer;
  font-size: 16px;
}

/* Coup du Jour */
.coup-du-jour-card {
  margin: 16px;
  background: linear-gradient(135deg, rgba(232,148,10,0.1), rgba(15,20,16,0.8));
  border: 1px solid rgba(232,148,10,0.35);
  border-radius: 12px;
  overflow: hidden;
}
.coup-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid rgba(232,148,10,0.15); }
.coup-badge { font-family: 'Geist Mono', monospace; font-size: 10px; color: #E8940A; letter-spacing: 3px; }
.coup-date { font-size: 11px; color: rgba(252, 224, 168,0.4); font-family: 'Geist Mono', monospace; text-transform: capitalize; }
.coup-media { position: relative; }
.coup-photo { width: 100%; max-height: 360px; object-fit: cover; display: block; }
.coup-video { width: 100%; max-height: 360px; }
.coup-verifie {
  position: absolute;
  bottom: 10px; right: 10px;
  background: rgba(15,20,16,0.85);
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 4px;
  color: rgba(252, 224, 168,0.8);
}
.coup-footer { padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; }
.coup-auteur { display: flex; align-items: center; gap: 10px; }
.coup-auteur-photo { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #E8940A; object-fit: cover; }
.coup-actions { display: flex; gap: 8px; align-items: center; }
.coup-cta {
  font-size: 13px;
  padding: 8px 16px;
  background: #E8940A;
  color: #14100A;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 700;
  text-decoration: none;
  font-family: inherit;
}

/* Modal publication */
.wozali-popup-overlay,
.wozali-modal-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.7);
  z-index: 10000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
@media (min-width: 768px) {
  .wozali-modal-overlay, .wozali-popup-overlay { align-items: center; }
}
.wozali-modal, .wozali-popup {
  background: #1a2018;
  border: 1px solid rgba(232,148,10,0.25);
  border-radius: 16px 16px 0 0;
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  overflow-y: auto;
  color: #FCE0A8;
}
.wozali-popup { padding: 28px 24px; text-align: center; position: relative; max-width: 420px; border-radius: 16px; }
.wozali-popup h3 { font-family: Georgia, serif; font-size: 20px; color: #FCE0A8; margin-bottom: 8px; }
.wozali-popup p { color: rgba(252, 224, 168,0.7); font-size: 13px; margin-bottom: 18px; }
.wozali-popup .popup-close { position: absolute; top: 12px; right: 14px; background: none; border: none; color: rgba(252, 224, 168,0.5); font-size: 20px; cursor: pointer; }
.wozali-popup .wozali-btn-primary { display: inline-block; background: #E8940A; color: #14100A; border: none; border-radius: 8px; padding: 12px 24px; font-weight: 700; cursor: pointer; text-decoration: none; font-family: inherit; }
.wozali-popup .popup-login { margin-top: 14px; font-size: 12px; }
.wozali-popup .popup-login a { color: #E8940A; cursor: pointer; text-decoration: underline; }
@media (min-width: 768px) {
  .wozali-modal { border-radius: 16px; }
}
.modal-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 20px 0; margin-bottom: 16px; }
.modal-header h3 { font-family: Georgia, serif; font-size: 18px; color: #FCE0A8; }
.modal-header button { background: none; border: none; color: rgba(252, 224, 168,0.5); font-size: 20px; cursor: pointer; }
.modal-body { padding: 0 20px; }
.upload-zone {
  border: 2px dashed rgba(232,148,10,0.25);
  border-radius: 8px;
  padding: 32px;
  text-align: center;
  cursor: pointer;
  margin-bottom: 16px;
}
.upload-zone:hover { border-color: rgba(232,148,10,0.5); background: rgba(232,148,10,0.04); }
.upload-icon { font-size: 32px; display: block; margin-bottom: 8px; }
.modal-body textarea {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(252, 224, 168,0.1);
  border-radius: 8px;
  padding: 12px;
  color: #FCE0A8;
  font-size: 14px;
  resize: none;
  font-family: Georgia, serif;
}
.char-count { display: block; text-align: right; font-size: 11px; color: rgba(252, 224, 168,0.3); margin-top: 4px; font-family: 'Geist Mono', monospace; }
.modal-footer { display: flex; gap: 12px; padding: 20px; border-top: 1px solid rgba(252, 224, 168,0.06); margin-top: 16px; justify-content: flex-end; }
.btn-annuler {
  background: none;
  border: 1px solid rgba(252, 224, 168,0.15);
  color: rgba(252, 224, 168,0.7);
  padding: 10px 18px;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
}
.preview-media { width: 100%; max-height: 300px; object-fit: cover; border-radius: 8px; }
.wozali-btn-primary {
  background: #E8940A;
  color: #14100A;
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  font-family: inherit;
}

/* Talent radar */
.talent-radar-section { padding: 16px; border-bottom: 1px solid rgba(252, 224, 168,0.06); }
.talent-radar-section .eyebrow { display:block; font-family: 'Geist Mono', monospace; font-size: 10px; color: #E8940A; letter-spacing: 2px; margin-bottom: 12px; }
.talent-radar-grid { display: grid; gap: 12px; }
.talent-radar-card { display: flex; align-items: center; gap: 12px; padding: 12px; background: rgba(255,255,255,0.03); border-radius: 10px; border: 1px solid rgba(252, 224, 168,0.06); }
.talent-photo { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.talent-info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.talent-info strong { color: #FCE0A8; font-size: 14px; font-family: Georgia, serif; }
.talent-info span { font-size: 11px; color: rgba(252, 224, 168,0.5); }
.talent-actions { display: flex; flex-direction: column; gap: 6px; }
.btn-epingler { background: none; border: 1px solid rgba(232,148,10,0.3); color: #E8940A; padding: 6px 10px; border-radius: 6px; cursor: pointer; font-size: 11px; font-family: inherit; }

.feed-etat-vide { padding: 48px 24px; text-align: center; color: rgba(252, 224, 168,0.5); font-family: Georgia, serif; }
.feed-etat-vide .emoji { font-size: 42px; display: block; margin-bottom: 12px; }
.feed-etat-vide p { margin: 6px 0; font-size: 14px; }

/* ====== Sprint 8 — Feed Social enrichi ====== */

/* Feed header bar */
.feed-header-bar {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 16px; border-bottom: 1px solid rgba(232,148,10,0.1);
  position: sticky; top: 0; z-index: 200; background: #14100A;
}
.feed-header-left { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.feed-header-title { font-family: 'Geist Mono', monospace; font-size: 14px; color: #E8940A; letter-spacing: 2px; font-weight: 700; }
.feed-header-right { display: flex; gap: 4px; }
.feed-header-icon {
  background: none; border: none; font-size: 20px; cursor: pointer;
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; position: relative;
}
.feed-header-icon:hover { background: rgba(232,148,10,0.08); }
.feed-notif-badge {
  position: absolute; top: 6px; right: 6px; width: 8px; height: 8px;
  background: #E8940A; border-radius: 50%; border: 2px solid #14100A;
}

/* Sous-filtres Ma ville */
.feed-sous-filtres {
  display: flex; gap: 8px; padding: 10px 16px;
  border-bottom: 1px solid rgba(232,148,10,0.08); overflow-x: auto; scrollbar-width: none;
}
.feed-sous-filtres::-webkit-scrollbar { display: none; }
.sous-filtre {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(252, 224, 168,0.1);
  color: rgba(252, 224, 168,0.6); padding: 6px 16px; border-radius: 20px;
  font-size: 13px; cursor: pointer; white-space: nowrap; font-family: inherit;
  transition: all .2s;
}
.sous-filtre.active, .sous-filtre:hover {
  background: rgba(232,148,10,0.15); border-color: #E8940A; color: #E8940A;
}

/* Talent Radar filtres */
.talent-filtres {
  padding: 12px 16px; border-bottom: 1px solid rgba(232,148,10,0.08);
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.talent-select {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(252, 224, 168,0.12);
  color: #FCE0A8; padding: 8px 12px; border-radius: 8px; font-size: 13px;
  font-family: inherit; cursor: pointer; min-width: 0;
}
.talent-select option { background: #1a2018; color: #FCE0A8; }
.talent-toggle-label {
  display: flex; align-items: center; gap: 6px; font-size: 13px;
  color: rgba(252, 224, 168,0.7); cursor: pointer; white-space: nowrap;
}
.talent-toggle-label input[type="checkbox"] { accent-color: #E8940A; width: 16px; height: 16px; }
.talent-tabs-sub {
  width: 100%; display: flex; gap: 0; margin-top: 8px;
  border-top: 1px solid rgba(252, 224, 168,0.06); padding-top: 8px;
}
.talent-sub-tab {
  flex: 1; background: none; border: none; border-bottom: 2px solid transparent;
  color: rgba(252, 224, 168,0.5); padding: 8px; font-size: 13px; cursor: pointer;
  font-family: inherit; transition: all .2s;
}
.talent-sub-tab.active { color: #E8940A; border-bottom-color: #E8940A; }

/* Talent Radar cards améliorées */
.talent-radar-card {
  display: flex; align-items: center; gap: 14px; padding: 16px;
  background: rgba(255,255,255,0.03); border-radius: 12px;
  border: 1px solid rgba(252, 224, 168,0.06); transition: border-color .2s;
}
.talent-radar-card:hover { border-color: rgba(232,148,10,0.25); }
.talent-score-badge {
  font-family: 'Geist Mono', monospace; font-size: 11px; color: #E8940A;
  background: rgba(232,148,10,0.1); padding: 2px 8px; border-radius: 10px;
  white-space: nowrap;
}
.talent-pro-badge {
  font-size: 9px; background: #E8940A; color: #14100A; padding: 2px 6px;
  border-radius: 3px; font-weight: 700; letter-spacing: 1px;
}

/* Bouton flottant publier */
.feed-fab {
  position: fixed; bottom: 80px; right: 20px; z-index: 500;
  width: 56px; height: 56px; border-radius: 50%;
  background: #E8940A; color: #14100A; border: none;
  box-shadow: 0 4px 20px rgba(232,148,10,0.4);
  cursor: pointer; font-size: 28px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  transition: transform .2s, box-shadow .2s;
}
.feed-fab:hover { transform: scale(1.1); box-shadow: 0 6px 28px rgba(232,148,10,0.6); }
.feed-fab span { line-height: 1; margin-top: -2px; }

/* Post multi-photos carrousel */
.post-photos-carousel {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
  gap: 0; border-radius: 8px; scrollbar-width: none;
}
.post-photos-carousel::-webkit-scrollbar { display: none; }
.post-photos-carousel img {
  width: 100%; flex-shrink: 0; scroll-snap-align: start;
  max-height: 480px; object-fit: cover;
}
.post-photo-dots {
  display: flex; justify-content: center; gap: 6px; margin-top: 8px;
}
.post-photo-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(252, 224, 168,0.2); transition: background .2s;
}
.post-photo-dot.active { background: #E8940A; }

/* Badge Réalisation Vérifiée */
.post-badge-verifie {
  font-size: 11px; color: #7dcea0; background: rgba(40,80,50,0.3);
  padding: 3px 8px; border-radius: 4px; display: inline-block;
}

/* Suggestions follow */
.feed-suggestions {
  padding: 20px 16px; border-bottom: 1px solid rgba(252, 224, 168,0.06);
}
.feed-suggestions h4 {
  font-family: Georgia, serif; font-size: 15px; color: rgba(252, 224, 168,0.7);
  margin-bottom: 14px;
}
.suggestion-card {
  display: flex; align-items: center; gap: 12px; padding: 12px;
  background: rgba(255,255,255,0.03); border-radius: 10px; margin-bottom: 8px;
  border: 1px solid rgba(252, 224, 168,0.04);
}
.suggestion-photo { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 1.5px solid rgba(232,148,10,0.25); }
.suggestion-info { flex: 1; }
.suggestion-info strong { display: block; font-size: 14px; color: #FCE0A8; font-family: Georgia, serif; }
.suggestion-info span { font-size: 12px; color: rgba(252, 224, 168,0.5); }
.suggestion-follow-btn {
  background: #E8940A; color: #14100A; border: none; padding: 8px 14px;
  border-radius: 20px; font-size: 12px; font-weight: 700; cursor: pointer;
  font-family: inherit; transition: opacity .2s;
}
.suggestion-follow-btn:disabled { opacity: 0.5; }
.suggestion-follow-btn.following { background: rgba(232,148,10,0.15); color: #E8940A; border: 1px solid #E8940A; }

/* WOZALI Match page */
#page-match { background: #14100A; min-height: 100vh; color: #FCE0A8; }
.wozali-match-page { max-width: 680px; margin: 0 auto; padding: 0 0 80px; }
.match-hero { padding: 40px 20px 24px; text-align: center; }
.match-form-card {
  margin: 0 16px; padding: 24px; background: rgba(255,255,255,0.03);
  border: 1px solid rgba(232,148,10,0.2); border-radius: 16px;
}
.match-field { margin-bottom: 16px; }
.match-field label {
  display: block; font-size: 13px; color: rgba(252, 224, 168,0.7);
  margin-bottom: 6px; font-family: Georgia, serif;
}
.match-field textarea, .match-field input, .match-field select {
  width: 100%; background: rgba(255,255,255,0.04);
  border: 1px solid rgba(252, 224, 168,0.12); border-radius: 8px;
  padding: 12px; color: #FCE0A8; font-size: 14px; font-family: inherit;
  box-sizing: border-box;
}
.match-field textarea { resize: none; }
.match-field select option { background: #1a2018; }
.match-field-row { display: flex; gap: 12px; }
.match-resultats-grid { display: grid; gap: 12px; padding: 0 16px; }
.match-result-card {
  display: flex; align-items: center; gap: 14px; padding: 16px;
  background: rgba(255,255,255,0.03); border-radius: 12px;
  border: 1px solid rgba(252, 224, 168,0.06);
}
.match-result-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(232,148,10,0.3); }
.match-result-info { flex: 1; }
.match-result-info strong { display: block; font-size: 15px; color: #FCE0A8; font-family: Georgia, serif; }
.match-result-info span { display: block; font-size: 12px; color: rgba(252, 224, 168,0.5); margin-top: 2px; }
.match-result-score {
  font-family: 'Geist Mono', monospace; font-size: 20px; font-weight: 700;
  color: #E8940A; text-align: center; min-width: 48px;
}
.match-result-score small { display: block; font-size: 9px; color: rgba(252, 224, 168,0.4); font-weight: 400; }
.match-demande-card {
  padding: 16px; background: rgba(255,255,255,0.03); border-radius: 12px;
  border: 1px solid rgba(252, 224, 168,0.06); margin-bottom: 12px;
}
.match-demande-card .match-statut {
  font-size: 11px; padding: 3px 10px; border-radius: 10px;
  font-family: 'Geist Mono', monospace; display: inline-block;
}
.match-statut.ouvert { background: rgba(232,148,10,0.15); color: #E8940A; }
.match-statut.en_cours { background: rgba(100,180,120,0.15); color: #7dcea0; }
.match-statut.ferme { background: rgba(252, 224, 168,0.08); color: rgba(252, 224, 168,0.4); }

/* Épingle card */
.epingle-card {
  display: flex; align-items: flex-start; gap: 12px; padding: 14px;
  background: rgba(255,255,255,0.03); border-radius: 10px; margin-bottom: 10px;
  border: 1px solid rgba(232,148,10,0.12);
}
.epingle-note-input {
  width: 100%; background: rgba(255,255,255,0.04); border: 1px solid rgba(252, 224, 168,0.1);
  border-radius: 6px; padding: 6px 10px; color: #FCE0A8; font-size: 12px;
  font-family: inherit; margin-top: 6px;
}

/* Multi-photos upload */
.upload-thumbs {
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px;
}
.upload-thumb {
  width: 64px; height: 64px; border-radius: 8px; object-fit: cover;
  border: 1px solid rgba(232,148,10,0.3);
}
.upload-add-more {
  width: 64px; height: 64px; border-radius: 8px; background: rgba(232,148,10,0.08);
  border: 2px dashed rgba(232,148,10,0.3); display: flex; align-items: center;
  justify-content: center; color: #E8940A; font-size: 24px; cursor: pointer;
}

/* Story "Ma Story" */
.story-add {
  width: 64px; height: 64px; border-radius: 50%; background: rgba(232,148,10,0.1);
  border: 2px dashed rgba(232,148,10,0.4); display: flex; align-items: center;
  justify-content: center; font-size: 24px; color: #E8940A; cursor: pointer;
}

/* Responsive */
@media (max-width: 640px) {
  .match-field-row { flex-direction: column; gap: 0; }
  .talent-filtres { flex-direction: column; }
  .talent-select { width: 100%; }
  .feed-fab { bottom: 70px; right: 16px; width: 50px; height: 50px; font-size: 24px; }
}
/* ====== FIN Sprint 8 CSS ====== */

/* ====== FIN SPRINT 6 ====== */

/* ══════════════════════════════════════════════════════════════
   A11y — WCAG AA (Contraste 4.5:1) + WCAG 2.5.5 Target Size 44px
   Sprint A11y — 2026-04-09
   Override final pour respecter l'accessibilité sans casser les layouts.
   ══════════════════════════════════════════════════════════════ */

/* --- 1. Target Size 44x44 minimum (WCAG 2.5.5) --- */
button,
.btn,
.btn-primary,
.btn-secondary,
.btn-outline,
a.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
[onclick]:not(span):not(small):not(i):not(svg):not(path):not(li):not(tr):not(td):not(img) {
  min-height: 44px;
  min-width: 44px;
  box-sizing: border-box;
}

/* Exceptions : close buttons modals (X), petits icônes — viser 32px+ */
.modal-close,
.close-btn,
.btn-close,
.modal .close,
[class*="close"][onclick],
.notif-close,
.toast-close {
  min-height: 32px !important;
  min-width: 32px !important;
}

/* --- 2. Font-size minimum 14px sur boutons (11/12px → 14px) --- */
button,
.btn,
.btn-primary,
.btn-secondary,
.btn-outline,
a.btn,
input[type="button"],
input[type="submit"] {
  font-size: 14px;
}

/* Boutons avec font-size explicite 11/12px forcés à 14px */
button[style*="font-size:11px"],
button[style*="font-size: 11px"],
button[style*="font-size:12px"],
button[style*="font-size: 12px"],
.btn[style*="font-size:11px"],
.btn[style*="font-size:12px"] {
  font-size: 14px !important;
}

/* --- 3. Contraste AA — Or #E8940A interdit sur fond crème/blanc --- */
/* Règle : sur fond crème/blanc, texte = #14100A ou #1F2937.
   L'or ne s'utilise que sur fond sombre, ou en fond avec texte noir. */

/* Inverser badges/statuts or-sur-creme → noir-sur-or (ratio 7.9:1 AAA) */
.badge-cdi {
  background: #E8940A !important;
  color: #14100A !important;
}
.statut-retenue {
  background: #E8940A !important;
  color: #14100A !important;
}

/* Distance pcard : or sur crème → noir sur or */
.pcard-distance {
  background: #E8940A !important;
  color: #14100A !important;
}

/* Boutons "épingler" et similaires sur fond sombre : OK (fond sombre du feed)
   mais ceux qui pourraient être sur fond clair → forcer lisibilité */
.btn-epingler {
  color: #FCE0A8 !important;
  background: rgba(232,148,10,0.15) !important;
  border-color: #E8940A !important;
}

/* Modal paiement FedaPay — forcer contraste AA sur tout texte or */
#modal-paiement-pro .or-text,
#modal-paiement *[style*="color:#E8940A"],
#modal-paiement *[style*="color: #E8940A"],
.modal-paiement-fedapay [style*="color:#E8940A"] {
  color: #14100A !important;
  background: #E8940A !important;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 700;
}

/* Boutons FedaPay dans modal paiement — fond or + texte noir */
#modal-paiement-pro button,
#modal-paiement button,
.modal-fedapay button,
.btn-fedapay,
.btn-payer-pro {
  background: #E8940A !important;
  color: #14100A !important;
  font-weight: 800;
  font-size: 15px !important;
  min-height: 48px;
}

/* Labels/meta : 11px → 13px minimum pour lisibilité */
.meta,
.pstat-label,
.avis-date,
.star-labels,
small.meta {
  font-size: 13px;
}

/* Forcer noir sur crème pour tous les contenus texte dans les cards claires */
.card[style*="background:#FCE0A8"] .or-text,
.card[style*="background:#fff"] .or-text {
  color: #14100A !important;
}



:root {
  --wv2-dark: #14100A;
  --wv2-creme: #FCE0A8;
  --wv2-or: #E8940A;
  --wv2-or-hover: #C47A08;
  --wv2-or-active: #F5B82E;
  --wv2-noir-texte: #1F2937;
  --wv2-gris-texte: #6B7280;
  --wv2-blanc: #FFFFFF;
}
.h1-fraunces { font-family:'DM Serif Display', Georgia, serif; font-weight:900; font-size:clamp(32px,5vw,56px); line-height:1.05; letter-spacing:-0.02em; color:var(--wv2-creme); }
.h2-fraunces { font-family:'DM Serif Display', Georgia, serif; font-weight:700; font-size:clamp(24px,3.5vw,40px); line-height:1.15; color:var(--wv2-creme); }
.h2-fraunces.italic { font-style:italic; color:var(--wv2-or); }
.text-mono { font-family:'Geist Mono', monospace; letter-spacing:0.5px; }
.btn-wozali-primary {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 28px; border-radius:100px; border:none;
  background:var(--wv2-or); color:var(--wv2-dark);
  font-family:'Geist', sans-serif; font-weight:700; font-size:15px;
  cursor:pointer; transition:all .2s; text-decoration:none; min-height:48px;
}
.btn-wozali-primary:hover { background:var(--wv2-or-hover); transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,148,10,.35); }
.btn-wozali-primary:active { background:var(--wv2-or-active); }
.btn-wozali-secondary {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 28px; border-radius:100px;
  background:transparent; color:var(--wv2-or); border:2px solid var(--wv2-or);
  font-family:'Geist', sans-serif; font-weight:700; font-size:15px;
  cursor:pointer; transition:all .2s; text-decoration:none; min-height:48px;
}
.btn-wozali-secondary:hover { background:rgba(232,148,10,.08); }

/* ══ Header fixe v2 ══ */
.wozali-v2-header {
  position:fixed; top:0; left:0; right:0; height:64px;
  background:#14100A; border-bottom:1px solid rgba(232,148,10,.2);
  display:flex; align-items:center; gap:16px; padding:0 20px;
  z-index:1000;
}
.wozali-v2-header .wv2-logo { display:flex; align-items:center; gap:10px; cursor:pointer; background:none; border:none; padding:0; }
.wozali-v2-header .wv2-logo svg { width:32px; height:32px; }
.wozali-v2-header .wv2-logo-text { font-family:'DM Serif Display', serif; font-weight:900; font-size:18px; color:var(--wv2-or); letter-spacing:-0.02em; }
.wozali-v2-header .wv2-search {
  flex:1; max-width:560px; margin:0 auto;
  display:flex; align-items:center; gap:10px;
  background:rgba(252, 224, 168,.06); border:1px solid rgba(232,148,10,.25);
  border-radius:100px; padding:10px 18px; color:var(--wv2-creme);
  font-family:'Geist', sans-serif; font-size:14px;
}
.wozali-v2-header .wv2-search input {
  flex:1; background:none; border:none; outline:none; color:var(--wv2-creme);
  font-family:inherit; font-size:14px;
}
.wozali-v2-header .wv2-search input::placeholder { color:rgba(252, 224, 168,.45); }
.wozali-v2-header .wv2-actions { display:flex; align-items:center; gap:12px; }
.wozali-v2-header .wv2-bell { position:relative; background:none; border:none; color:var(--wv2-creme); cursor:pointer; padding:8px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.wozali-v2-header .wv2-bell:hover { background:rgba(232,148,10,.1); }
.wozali-v2-header .wv2-bell .wv2-badge { position:absolute; top:4px; right:4px; width:8px; height:8px; background:#ef4444; border-radius:50%; border:2px solid #14100A; }
.wozali-v2-header .wv2-avatar { width:32px; height:32px; border-radius:50%; background:#14100A; display:flex; align-items:center; justify-content:center; color:#E8940A; font-weight:700; font-size:14px; font-family:Georgia, serif; cursor:pointer; border:2px solid #E8940A; }

body.wozali-v2-active { padding-top:0; }
/* Garde le legacy <nav> fonctionnel (contient showPage + auth hooks), juste le décale sous le header v2 */
body.wozali-v2-active > nav:not(.mobile-bottom-nav) { top:0; }
@media (max-width: 640px) {
  .wozali-v2-header .wv2-logo-text { display:none; }
  .wozali-v2-header .wv2-search { padding:8px 14px; }
  .wozali-v2-header .wv2-search .wv2-search-lbl { display:none; }
}

/* ══ Bottom Nav v2 (override léger, garde IDs existants) ══ */
@media (max-width: 768px) {
  .mobile-bottom-nav {
    background:var(--wv2-dark) !important;
    border-top:1px solid rgba(232,148,10,.25) !important;
  }
  .mobile-bottom-nav .mobile-nav-item { font-family:'Geist',sans-serif; font-size:11px; font-weight:500; gap:4px; }
  .mobile-bottom-nav .mobile-nav-item.active { color:var(--wv2-or-active) !important; }
}
.wv2-bnav .mobile-nav-item i { width:22px; height:22px; }
.wv2-bnav .mobile-nav-center .mobile-nav-feed-btn { width:56px !important; height:56px !important; background:var(--wv2-or) !important; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(232,148,10,.4); transform:translateY(-10px); color:var(--wv2-dark); }
.wv2-bnav .mobile-nav-center .mobile-nav-feed-btn i { width:26px; height:26px; stroke-width:2.5; }
.wv2-bnav .mobile-nav-center span:last-child { margin-top:-4px; }

/* ══ Hero v2 override (via class wozali-v2-hero-overlay, pas appliqué automatiquement — safe) ══ */
.wozali-v2-hero {
  background:var(--wv2-dark); padding:80px 24px 64px; text-align:center; position:relative; overflow:hidden;
}
.wozali-v2-hero .wv2-hero-inner { max-width:820px; margin:0 auto; position:relative; z-index:2; }
.wozali-v2-hero .wv2-hero-sub { color:rgba(252, 224, 168,.72); font-family:'Geist',sans-serif; font-size:17px; line-height:1.7; margin:24px 0 32px; }
.wozali-v2-hero .wv2-hero-cta { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.wozali-v2-hero .wv2-hero-counter {
  margin-top:36px; display:inline-flex; align-items:center; gap:10px;
  font-family:'Geist Mono', monospace; font-size:13px;
  color:rgba(252, 224, 168,.6); padding:10px 20px;
  border:1px solid rgba(232,148,10,.2); border-radius:100px;
  background:rgba(232,148,10,.04);
}
.wozali-v2-hero .wv2-hero-counter strong { color:var(--wv2-or); font-weight:700; }
.wozali-v2-hero .wv2-hero-counter .wv2-pulse { width:8px; height:8px; border-radius:50%; background:var(--wv2-or); box-shadow:0 0 0 0 rgba(232,148,10,.6); animation:wv2-pulse 2s infinite; }
@keyframes wv2-pulse { 0%{box-shadow:0 0 0 0 rgba(232,148,10,.6)} 70%{box-shadow:0 0 0 10px rgba(232,148,10,0)} 100%{box-shadow:0 0 0 0 rgba(232,148,10,0)} }

/* ══ Card commerçant v2 (nouvelle classe, ne touche pas .pcard) ══ */
.wozali-v2-card {
  width:100%; max-width:320px; border-radius:12px; overflow:hidden;
  background:rgba(255,255,255,.04); box-shadow:0 4px 20px rgba(0,0,0,.3);
  transition:all .2s; position:relative; border:1px solid rgba(232,148,10,.12);
  font-family:'Geist', sans-serif;
}
.wozali-v2-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(15,20,16,.14); border-color:var(--wv2-or); }
.wozali-v2-card .wv2-card-img { aspect-ratio:4/3; background:#eee center/cover; position:relative; }
.wozali-v2-card .wv2-card-pro { position:absolute; top:12px; right:12px; background:var(--wv2-or); color:var(--wv2-dark); font-size:10px; font-weight:700; padding:4px 10px; border-radius:100px; letter-spacing:0.5px; }
.wozali-v2-card .wv2-card-body { padding:16px; }
.wozali-v2-card .wv2-card-name { font-weight:700; font-size:16px; color:#FCE0A8; margin:0 0 2px; }
.wozali-v2-card .wv2-card-job { font-size:13px; color:rgba(252, 224, 168,.55); margin:0 0 6px; }
.wozali-v2-card .wv2-card-loc { display:flex; align-items:center; gap:4px; font-size:12px; color:var(--wv2-gris-texte); margin-bottom:10px; }
.wozali-v2-card .wv2-card-score { height:3px; background:#f0f0f0; border-radius:2px; margin:10px 0; overflow:hidden; }
.wozali-v2-card .wv2-card-score-fill { height:100%; background:var(--wv2-or); }
.wozali-v2-card .wv2-card-actions { display:flex; gap:8px; align-items:center; }
.wozali-v2-card .wv2-card-actions .btn-wozali-primary { flex:1; justify-content:center; padding:10px 16px; font-size:13px; min-height:40px; }
.wozali-v2-card .wv2-card-share { width:40px; height:40px; border-radius:50%; background:rgba(232,148,10,.08); border:none; color:var(--wv2-or); cursor:pointer; display:flex; align-items:center; justify-content:center; }

/* ══ Awards page ══ */
.aw-filtre { padding:8px 14px;border-radius:8px;border:1px solid rgba(252, 224, 168,0.1);background:rgba(255,255,255,0.02);color:rgba(252, 224, 168,0.5);font-size:12px;font-family:'Geist Mono',monospace;cursor:pointer;transition:all .2s; }
.aw-filtre:hover { border-color:rgba(232,148,10,0.3);color:#E8940A; }
.aw-filtre-active { background:rgba(232,148,10,0.12);border-color:rgba(232,148,10,0.3);color:#E8940A; }
.aw-candidate-card { background:rgba(255,255,255,0.03);border:1px solid rgba(252, 224, 168,0.06);border-radius:14px;padding:16px;transition:all .2s; }
.aw-candidate-card:hover { border-color:rgba(232,148,10,0.25); }
.aw-candidate-leader { border-color:rgba(232,148,10,0.3);background:rgba(232,148,10,0.04); }
.aw-vote-btn { background:#E8940A;color:#14100A;border:none;padding:10px 20px;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;transition:all .2s; }
.aw-vote-btn:hover { background:#d4830a;transform:scale(1.02); }
.aw-vote-btn:disabled { background:rgba(252, 224, 168,0.1);color:rgba(252, 224, 168,0.4);cursor:default;transform:none; }
.aw-progress { height:6px;background:rgba(252, 224, 168,0.06);border-radius:3px;overflow:hidden;margin:8px 0; }
.aw-progress-fill { height:100%;background:linear-gradient(90deg,#E8940A,#d4830a);border-radius:3px;transition:width .5s; }

/* ══ PWA install banner ══ */
.wozali-v2-pwa-banner {
  position:fixed; bottom:12px; left:12px; right:12px;
  background:var(--wv2-dark); border:1px solid rgba(232,148,10,0.3);
  border-radius:12px; padding:8px 10px;
  display:none; align-items:center; gap:8px;
  z-index:999; box-shadow:0 8px 24px rgba(0,0,0,.4);
  font-family:'Geist',sans-serif;
}
.wozali-v2-pwa-banner.show { display:flex; }
.wozali-v2-pwa-banner .wv2-pwa-icon { width:28px; height:28px; border-radius:7px; background:#14100A; display:flex; align-items:center; justify-content:center; color:#E8940A; flex-shrink:0; font-family:'DM Serif Display',serif; font-weight:900; font-size:15px; border:1.5px solid #E8940A; }
.wozali-v2-pwa-banner .wv2-pwa-text { flex:1; color:var(--wv2-creme); font-size:11px; line-height:1.3; }
.wozali-v2-pwa-banner .wv2-pwa-install { background:var(--wv2-or); color:var(--wv2-dark); border:none; padding:6px 12px; border-radius:100px; font-weight:700; font-size:11px; cursor:pointer; font-family:inherit; white-space:nowrap; }
.wozali-v2-pwa-banner .wv2-pwa-close { background:none; border:none; color:rgba(252, 224, 168,.5); cursor:pointer; font-size:16px; padding:2px; line-height:1; }
@media (min-width:769px) { .wozali-v2-pwa-banner { bottom:16px; left:auto; right:16px; max-width:320px; } }

/* ══ Section 4 : Refonte .pcard (override additif, préserve markup JS) ══ */
.pcard {
  border-radius:12px !important;
  border-top:none !important;
  border:1px solid rgba(15,20,16,.06) !important;
  box-shadow:0 4px 20px rgba(15,20,16,.06) !important;
  font-family:'Geist', sans-serif;
  transition:all .2s ease !important;
}
.pcard:hover {
  transform:translateY(-3px) !important;
  border-color:var(--wv2-or) !important;
  box-shadow:0 12px 32px rgba(15,20,16,.12) !important;
}
.pcard .pcard-name { color:var(--wv2-noir-texte); font-weight:700 !important; font-size:16px !important; font-family:'Geist',sans-serif; }
.pcard .pcard-meta { color:var(--wv2-gris-texte); font-size:13px !important; font-family:'Geist',sans-serif; }
.pcard .pcard-rating { font-family:'Geist',sans-serif; }
.pcard .pcard-footer { border-top:1px solid rgba(15,20,16,.06) !important; }
.pcard .pcard-price { color:var(--wv2-or) !important; font-family:'DM Serif Display',serif !important; }
.pcard .pcard-avatar { background:linear-gradient(135deg,var(--wv2-or),var(--wv2-or-hover)) !important; }

/* ══ Section 7 : Catégories — Dark Theme ══ */
.wv2-cats { background:#14100A; padding:72px 0; border-top:1px solid rgba(232,148,10,.08); }
.wv2-cats-head { text-align:center; margin-bottom:40px; padding:0 20px; }
.wv2-cats-h2 { font-family:'DM Serif Display',serif; font-size:clamp(26px,3.5vw,36px); font-weight:900; color:#FCE0A8; margin:0 0 8px; }
.wv2-cats-sub { font-family:'Geist',sans-serif; font-size:15px; color:rgba(252, 224, 168,.5); margin:0; }
.wv2-cats-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; padding:0 24px; max-width:1100px; margin:0 auto; }
.wv2-cat { display:flex; flex-direction:column; align-items:center; gap:8px; background:rgba(255,255,255,.04); border:1px solid rgba(232,148,10,.15); border-radius:16px; padding:20px 12px; cursor:pointer; transition:all .2s; font-family:'Geist',sans-serif; color:#FCE0A8; }
.wv2-cat:hover { transform:translateY(-3px); border-color:#E8940A; box-shadow:0 8px 24px rgba(232,148,10,.2); background:rgba(232,148,10,.06); }
.wv2-cat-ico { width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,#E8940A,#C47A08); display:flex; align-items:center; justify-content:center; color:#14100A; }
.wv2-cat-ico i { width:24px; height:24px; }
.wv2-cat-lbl { font-size:13px; font-weight:600; color:#FCE0A8; }
.wv2-cat-cnt { font-size:11px; color:rgba(252, 224, 168,.45); font-family:'Geist Mono',monospace; }
.wv2-cat-seo { display:block; font-size:10px; color:rgba(252, 224, 168,.3); line-height:1.4; margin-top:4px; font-weight:400; }
@media (max-width:900px) { .wv2-cats-grid { grid-template-columns:repeat(4,1fr); } }
@media (max-width:700px) {
  .wv2-cats-grid { display:flex; overflow-x:auto; gap:14px; padding:0 20px 8px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
  .wv2-cats-grid::-webkit-scrollbar { display:none; }
  .wv2-cat { flex:0 0 120px; scroll-snap-align:start; }
}

/* ══ Section 8 : Bourse recap ══ */
.wv2-bourse { background:var(--wv2-dark); border-top:1px solid rgba(232,148,10,.25); border-bottom:1px solid rgba(232,148,10,.25); padding:72px 24px; }
.wv2-bourse-inner { max-width:760px; text-align:center; color:var(--wv2-creme); }
.wv2-bourse-eyebrow { display:inline-flex; align-items:center; gap:6px; font-family:'Geist Mono',monospace; font-size:11px; letter-spacing:3px; color:var(--wv2-or); margin-bottom:16px; padding:6px 14px; border:1px solid rgba(232,148,10,.35); border-radius:100px; }
.wv2-bourse-h2 { font-family:'DM Serif Display',serif; font-size:clamp(28px,4vw,42px); font-weight:900; color:var(--wv2-creme); margin:0 0 10px; line-height:1.1; }
.wv2-bourse-sub { font-family:'Geist',sans-serif; font-size:15px; color:rgba(252, 224, 168,.65); margin:0 0 32px; }
.wv2-bourse-cd { display:inline-flex; align-items:center; gap:10px; margin-bottom:28px; }
.wv2-bcd-unit { min-width:72px; padding:12px 14px; background:rgba(232,148,10,.08); border:1px solid rgba(232,148,10,.25); border-radius:12px; }
.wv2-bcd-num { font-family:'Geist Mono',monospace; font-size:30px; font-weight:700; color:var(--wv2-or); line-height:1; }
.wv2-bcd-lbl { font-family:'Geist',sans-serif; font-size:10px; letter-spacing:1px; color:rgba(252, 224, 168,.5); margin-top:4px; text-transform:uppercase; }
.wv2-bcd-sep { font-family:'Geist Mono',monospace; font-size:28px; color:rgba(232,148,10,.4); font-weight:700; }
@media (max-width:520px) {
  .wv2-bcd-unit { min-width:60px; padding:10px; }
  .wv2-bcd-num { font-size:22px; }
  .wv2-bcd-sep { font-size:20px; }
}

/* ══ Section 3 — Sidebar desktop 240px ══ */
.wv2-sidebar { display:none; }
@media (min-width:1025px) {
  .wv2-sidebar {
    display:flex; flex-direction:column;
    position:fixed; top:64px; left:0; bottom:0; width:240px;
    background:var(--wv2-dark);
    border-right:1px solid rgba(232,148,10,.2);
    padding:20px 14px; z-index:900; overflow-y:auto;
    font-family:'Geist',sans-serif;
  }
}
/* wv2-sidebar globale désactivée — voir dashboard-sidebar collapsible pour la nav dashboard */
.wv2-sidebar { display:none !important; }
.wv2-sidebar-item {
  display:flex; align-items:center; gap:12px;
  padding:12px 14px; border-radius:10px;
  color:rgba(252, 224, 168,.78); cursor:pointer;
  background:none; border:none; width:100%; text-align:left;
  font-family:inherit; font-size:14px; font-weight:500;
  transition:all .15s;
}
.wv2-sidebar-item:hover { background:rgba(232,148,10,.08); color:var(--wv2-creme); }
.wv2-sidebar-item.active { background:rgba(232,148,10,.12); color:var(--wv2-or); }
.wv2-sidebar-item i { width:20px; height:20px; flex-shrink:0; }
.wv2-sidebar-item .wv2-chev { margin-left:auto; width:16px; height:16px; transition:transform .2s; }
.wv2-sidebar-item.open .wv2-chev { transform:rotate(90deg); }
.wv2-sidebar-sub { display:none; padding:4px 0 6px 40px; flex-direction:column; gap:2px; }
.wv2-sidebar-sub.open { display:flex; }
.wv2-sidebar-sub button {
  background:none; border:none; text-align:left; padding:8px 10px;
  color:rgba(252, 224, 168,.6); font-family:inherit; font-size:13px;
  cursor:pointer; border-radius:8px;
}
.wv2-sidebar-sub button:hover { color:var(--wv2-or); background:rgba(232,148,10,.06); }
.wv2-sidebar-sep { height:1px; background:rgba(232,148,10,.12); margin:14px 6px; }
.wv2-sidebar-foot { margin-top:auto; padding:14px 6px; font-family:'Geist Mono',monospace; font-size:10px; color:rgba(252, 224, 168,.35); letter-spacing:1px; }

/* ══ Section 5 — Hero homepage v2 ══ */
body.wozali-v2-active #page-home > .hero { display:none; }
.wv2-hero-v2 {
  background:var(--wv2-dark); padding:72px 24px 64px;
  text-align:left; position:relative; overflow:hidden;
  border-bottom:1px solid rgba(232,148,10,.15);
}
.wv2-hero-v2::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 20% top, rgba(232,148,10,.12), transparent 60%);
  pointer-events:none;
}
.wv2-hero-v2-inner {
  max-width:1200px; margin:0 auto; position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 420px; gap:48px; align-items:center;
}
.wv2-hero-v2-text { display:flex; flex-direction:column; }
.wv2-hero-v2 h1 {
  font-family:'DM Serif Display',serif; font-weight:900;
  font-size:clamp(36px,5.5vw,64px); line-height:1.02;
  color:var(--wv2-creme); margin:0 0 6px; letter-spacing:-0.02em;
}
.wv2-hero-v2 h2 {
  font-family:'DM Serif Display',serif; font-style:italic; font-weight:700;
  font-size:clamp(28px,4.5vw,52px); line-height:1.05;
  color:var(--wv2-or); margin:0 0 24px; letter-spacing:-0.01em;
}
.wv2-hero-v2 p.wv2-hero-v2-sub {
  font-family:'Geist',sans-serif; font-size:16px; line-height:1.7;
  color:rgba(252, 224, 168,.74); max-width:520px; margin:0 0 32px;
}
.wv2-hero-v2-ctas { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }
.wv2-hero-v2-count {
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Geist Mono',monospace; font-size:13px;
  color:rgba(252, 224, 168,.62); padding:10px 20px;
  border:1px solid rgba(232,148,10,.25); border-radius:100px;
  background:rgba(232,148,10,.04);
}
.wv2-hero-v2-count strong { color:var(--wv2-or); font-weight:700; }
.wv2-hero-v2-count .wv2-dot { width:8px; height:8px; border-radius:50%; background:var(--wv2-or); animation:wv2-pulse 2s infinite; }
.wv2-fade-up { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.wv2-fade-up.wv2-in { opacity:1; transform:translateY(0); }
@media(max-width:900px){
  .wv2-hero-v2-inner { grid-template-columns:1fr; gap:32px; }
  .wv2-hero-v2 { text-align:center; padding:48px 16px 40px; }
  .wv2-hero-v2-text { align-items:center; }
  .wv2-hero-v2 p.wv2-hero-v2-sub { margin-left:auto; margin-right:auto; }
  .wv2-hero-v2-ctas { justify-content:center; }
  .wv2-hero-v2 .hero-cine { max-width:360px; margin:0 auto; }
}

/* ══ Section 9 — Profil commerçant v2 ══ */
body.wozali-v2-active .profil-cover {
  aspect-ratio:3/1 !important; min-height:0 !important;
  border-radius:0 0 20px 20px; position:relative;
}
/* Fix: pas de cover rendu → avatar ne doit plus chevaucher le bouton Retour */
body.wozali-v2-active #page-profil .profil-hero-section { padding-top:24px !important; }
body.wozali-v2-active .profil-avatar-wrap {
  margin-top:0 !important; z-index:1; position:relative;
}
#page-profil > div:first-child { position:relative; z-index:5; }
#page-profil > div:first-child button { position:relative; z-index:6; }
body.wozali-v2-active .profil-avatar-lg {
  width:88px !important; height:88px !important;
  border:4px solid var(--wv2-dark) !important;
  box-shadow:0 6px 20px rgba(0,0,0,.35) !important;
  background:linear-gradient(135deg,var(--wv2-or),var(--wv2-or-hover)) !important;
}
body.wozali-v2-active .profil-cover-btn {
  background:rgba(15,20,16,.55) !important;
  border:1px solid rgba(232,148,10,.35) !important;
  color:var(--wv2-or) !important;
  backdrop-filter:blur(6px);
}
body.wozali-v2-active .badge-pro,
body.wozali-v2-active .badge-verifie,
body.wozali-v2-active .badge-top50 {
  background:linear-gradient(135deg,var(--wv2-or),var(--wv2-or-hover)) !important;
  color:var(--wv2-dark) !important;
  font-weight:700 !important;
  border:none !important;
}
body.wozali-v2-active .profil-section { font-family:'Geist',sans-serif; }
body.wozali-v2-active .profil-section h2,
body.wozali-v2-active .profil-section h3 { font-family:'DM Serif Display',serif; }
body.wozali-v2-active .score-bar,
body.wozali-v2-active .score-bar-fill,
body.wozali-v2-active [class*="score"] [class*="fill"] {
  background:linear-gradient(90deg,var(--wv2-or),var(--wv2-or-hover)) !important;
}
body.wozali-v2-active .galerie-grid,
body.wozali-v2-active .photos-grid {
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:6px !important;
}
body.wozali-v2-active .galerie-grid > *,
body.wozali-v2-active .photos-grid > * {
  aspect-ratio:1/1 !important;
  overflow:hidden; border-radius:6px;
}
body.wozali-v2-active .galerie-grid img,
body.wozali-v2-active .photos-grid img {
  width:100% !important; height:100% !important; object-fit:cover !important;
}
.wv2-profil-avis-summary {
  display:flex; gap:24px; align-items:center; padding:18px 0;
  border-top:1px solid rgba(232,148,10,.15);
  border-bottom:1px solid rgba(232,148,10,.15);
  margin-bottom:20px; font-family:'Geist',sans-serif;
}
.wv2-profil-avis-note {
  font-family:'DM Serif Display',serif; font-size:56px; font-weight:900;
  color:var(--wv2-or); line-height:1;
}
.wv2-profil-avis-note-sub { font-size:12px; color:var(--wv2-gris-texte); margin-top:4px; }
.wv2-profil-avis-dist { flex:1; display:flex; flex-direction:column; gap:4px; }
.wv2-profil-avis-dist-row { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--wv2-gris-texte); }
.wv2-profil-avis-dist-row .wv2-dist-bar { flex:1; height:6px; background:rgba(15,20,16,.08); border-radius:3px; overflow:hidden; }
.wv2-profil-avis-dist-row .wv2-dist-fill { height:100%; background:linear-gradient(90deg,var(--wv2-or),var(--wv2-or-hover)); }
body.wozali-v2-active .btn-pay-pro-v2 {
  background:linear-gradient(135deg,var(--wv2-or),var(--wv2-or-hover)) !important;
  color:var(--wv2-dark) !important; font-weight:800 !important;
  padding:14px 28px !important; border-radius:100px !important;
  border:none !important; box-shadow:0 8px 24px rgba(232,148,10,.35);
  font-family:'Geist',sans-serif;
}
