.hero { text-align:center; padding:56px 20px 48px; background:radial-gradient(ellipse at 50% 30%, #1c160d 0%, #110e0a 75%); border-bottom:1px solid var(--border-gold); }
.hero h2 { font-size:42px; color:var(--gold); text-shadow:0 0 24px rgba(212,168,67,0.35); letter-spacing:2px; }
.hero .hero-subtitle { color:var(--text-muted); margin:14px auto 24px; font-size:15px; max-width:640px; line-height:1.6; }
.hero .hero-ctas { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:0; }
.hero .cta { display:inline-block; padding:13px 24px; border-radius:8px; font-weight:700; }
.hero .cta.primary { background:var(--gold); color:#110e0a; }
.hero .cta.ghost { border:1px solid var(--gold); color:var(--gold); background:transparent; }
.hero .cta.ghost:hover { background:var(--gold-glow); }
.infobar { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; padding:14px 20px; background:rgba(42,34,24,0.6); border-bottom:1px solid var(--border); font-size:14px; }
.infobar span { color:var(--text-muted); }
.infobar b { color:var(--gold); }
.infobar .recrute-badge { background:var(--gold-glow); padding:4px 12px; border-radius:14px; border:1px solid var(--border-gold); }
.infobar .recrute-badge a { color:var(--gold); font-weight:600; }
.infobar .meteo-badge { background:rgba(70,130,180,0.10); padding:4px 12px; border-radius:14px; border:1px solid rgba(70,130,180,0.30); color:var(--text); }
.infobar .google-badge { background:rgba(212,168,67,0.10); padding:4px 12px; border-radius:14px; border:1px solid var(--border-gold); color:var(--text); text-decoration:none; }
.infobar .google-badge:hover { background:var(--gold-glow); }
.infobar .google-badge strong { color:var(--gold); }

/* ═══ Zone unique d'événements (home) ═══════════════════════════════════════
   Mini-cartes empilées, format cohérent :
   [ ICÔNE ]  Titre en gras                         [BADGE COUNTDOWN]
              Date · heure                                            */
.home-events { max-width:760px; margin:20px auto 0; padding:0 20px; display:flex; flex-direction:column; gap:10px; }
.home-event-bar {
  display:flex; align-items:center; gap:16px;
  padding:14px 18px; text-decoration:none;
  border:1px solid var(--border-gold); border-radius:var(--radius-lg);
  background:var(--bg-card);
  transition:transform .2s, box-shadow .2s, background .2s;
}
.home-event-bar:hover { transform:translateY(-1px); box-shadow:0 4px 14px rgba(0,0,0,0.25); }
.home-event-icon { font-size:28px; line-height:1; flex-shrink:0; width:36px; text-align:center; }
.home-event-body { flex:1 1 auto; display:flex; flex-direction:column; gap:3px; min-width:0; }
.home-event-title { color:var(--text); font-weight:600; font-size:15px; line-height:1.3; }
.home-event-date  { color:var(--text-muted); font-size:12.5px; font-variant-numeric:tabular-nums; }
.home-event-cd {
  flex-shrink:0; white-space:nowrap;
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px;
  padding:6px 12px; border:1px solid var(--gold); border-radius:14px;
  color:var(--gold); background:var(--gold-glow);
}

/* Temps réel (ce soir, happy, sunset) : centré, pas cliquable */
.home-event-bar--live, .home-event-bar--happy, .home-event-bar--sunset { justify-content:center; text-align:center; font-weight:600; }
.home-event-bar--live   { background:var(--gold-glow); border-color:var(--gold); color:var(--text); }
.home-event-bar--happy  { background:rgba(249,115,22,0.18); border-color:rgba(249,115,22,0.55); color:#fed7aa; }
.home-event-bar--sunset { background:rgba(245,158,11,0.18); border-color:rgba(245,158,11,0.55); color:#fed7aa; }

/* Événements à venir — variations subtiles par label (ne change que le badge) */
.home-event-bar--soon .home-event-cd { background:var(--gold); color:#110e0a; }
.home-event-bar--tomorrow .home-event-cd { background:var(--gold-light); color:#110e0a; }
.home-event-bar--today .home-event-cd,
.home-event-bar--ongoing .home-event-cd { background:#0055A4; color:#fff; border-color:#0055A4; animation:cd-pulse 1.5s ease-in-out infinite; }

/* Oktoberfest : signature visuelle bavaroise (bordure gauche bleue) */
.home-event-bar--okt { border-left:4px solid #0055A4; }
.home-event-bar--okt.home-event-bar--today,
.home-event-bar--okt.home-event-bar--ongoing { background:repeating-linear-gradient(135deg, rgba(0,85,164,0.18) 0 14px, rgba(255,255,255,0.10) 14px 28px); }
@keyframes cd-pulse { 0%,100%{opacity:1;} 50%{opacity:0.75;} }

/* Mobile : badge sous le titre, sur sa propre ligne */
@media (max-width:560px) {
  .home-event-bar { flex-wrap:wrap; }
  .home-event-cd { width:100%; text-align:center; margin-top:4px; }
}

/* ═══ Mode Oktoberfest auto (déclenché par body.oktoberfest-mode) ═══════════════
   Pendant la fête : bandeau Raute plus prononcé, hero accentué, ambiance bleu-blanc. */
body.oktoberfest-mode::before { height:18px; }
body.oktoberfest-mode { padding-top:18px; }
body.oktoberfest-mode .hero { background:radial-gradient(ellipse at 50% 30%, #1c1d2d 0%, #110e0a 75%); border-bottom:2px solid #0055A4; }
body.oktoberfest-mode .hero h2::before { content:'🍻 '; }
body.oktoberfest-mode .hero h2::after  { content:' 🍻'; }
body.oktoberfest-mode .site-header h1::after { content:' · Oktoberfest'; color:#0055A4; font-size:.6em; font-weight:400; letter-spacing:1px; }
.home-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1000px; margin:32px auto; padding:0 20px; }
@media (max-width:800px){ .home-grid{ grid-template-columns:1fr; } .hero h2{ font-size:30px; } }
.home-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px; }
.home-card h3 { color:var(--gold); margin-bottom:12px; }
.podium-row { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--border); }
.podium-row .nom { color:var(--text); }
.podium-row .pts { color:var(--gold); font-weight:600; }
.podium-row .pos { color:var(--text-muted); width:28px; display:inline-block; }
.home-section { max-width:1000px; margin:32px auto; padding:0 20px; }
.home-section h3 { color:var(--gold); text-align:center; margin-bottom:16px; }
