/* Variables globales */
:root {
  --rb-gold: #F5A623;
  --rb-gold-dark: #C67F00;
  --rb-gold-muted: rgba(245,166,35,0.15);
  --rb-black: #1A1A1A;
  --rb-dark: #111111;
  --rb-card: #1E1E1E;
  --rb-card2: #242424;
  --rb-text: #E8E8E0;
  --rb-dim: #888880;
  --rb-border: rgba(255,255,255,0.07);
  --rb-border-gold: rgba(245,166,35,0.25);
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
img, video, iframe { max-width: 100%; height: auto; display: block; }

/* Base */
body, .afx54-body {
  font-family: 'IBM Plex Sans', sans-serif;
  background: #0d0d0d !important;
  color: var(--rb-text) !important;
}

/* Neutralise les styles Blocksy */
.entry-content, .ct-container, main { background: #0d0d0d !important; }
h1,h2,h3,h4,h5,h6 { color: var(--rb-text) !important; }

/* Conteneur */
.afx54-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px)  { .afx54-container { padding: 0 24px; } }
@media (min-width: 1024px) { .afx54-container { padding: 0 32px; } }

/* Section */
.section { padding: 18px 16px; border-top: 1px solid var(--rb-border); }
.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.section-title  { font-family: 'Bebas Neue', sans-serif !important; font-size: 17px !important; letter-spacing: 2px !important; color: var(--rb-text) !important; margin: 0 !important; font-weight: 400 !important; }
.section-action { font-size: 10px; color: var(--rb-gold); text-transform: uppercase; letter-spacing: 1px; cursor: pointer; background: none; border: none; text-decoration: none; }
@media (min-width: 768px) { .section { padding: 24px 32px; } }

/* Boutons */
.btn-gold    { background: var(--rb-gold); color: #111; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 9px 16px; border-radius: 3px; border: none; cursor: pointer; transition: background .15s, transform .1s; text-decoration: none; display: inline-block; }
.btn-gold:hover   { background: #e09510; }
.btn-gold:active  { transform: scale(.97); }
.btn-outline { background: transparent; color: var(--rb-gold); font-size: 10px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; padding: 9px 16px; border-radius: 3px; border: 1px solid rgba(245,166,35,0.45); cursor: pointer; transition: all .15s; text-decoration: none; display: inline-block; }
.btn-outline:hover { background: rgba(245,166,35,0.1); }

/* Scrollbar */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(245,166,35,0.2); border-radius: 2px; }

/* Utilitaires */
.hide-mobile { display: none !important; }
.show-mobile { display: block !important; }
@media (min-width: 768px) {
  .hide-mobile { display: block !important; }
  .show-mobile { display: none !important; }
}

/* Supprime espace blanc sous footer sur mobile */
body {
  padding-bottom: 0 !important;
}

/* Compense la bottom nav fixe */
.afx54-main {
  padding-bottom: 60px;
}

@media (min-width: 768px) {
  .afx54-main {
    padding-bottom: 0;
  }
}

/* Supprime l'espace blanc entre footer et bottom nav */
@media (max-width: 767px) {
  .footer-sponsor {
    margin-bottom: 0 !important;
    padding-bottom: env(safe-area-inset-bottom, 0) !important;
  }
}
