/* ======================================================
   THÈME BOOTSTRAP PERSONNALISÉ – FOOTGOLF NC
   Palette : gris foncé / gris clair / rouge sombre / blanc
   ====================================================== */

:root {
    /* Couleurs principales */
    --bs-primary: #CE2C29;        /* rouge */
    --bs-secondary: #6c757d;      /* gris standard */
    --bs-dark: #1e1e1e;           /* gris foncé */
    --bs-light: #f1f1f1;          /* gris clair */
    --bs-white: #ffffff;
    --bs-black: #000000;
	--bs-red: #CE2C29;

    /* Corps */
    --bs-body-bg: #f1f1f1;
    --bs-body-color: #000000;

    /* Liens */
    --bs-link-color: #8b1e2d;
    --bs-link-hover-color: #6f1623;

    /* Bordures */
    --bs-border-color: #d0d0d0;

    /* Radius plus moderne */
    --bs-border-radius: 0.5rem;
    --bs-border-radius-lg: 0.75rem;
}

/* =========================
   STRUCTURE GÉNÉRALE
   ========================= */

body {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
	padding-bottom: calc(5rem + env(safe-area-inset-bottom));
}

/* pour être sûr que le header passe au-dessus */
header.navbar.sticky-top {
    z-index: 1030;
}

/* =========================
   NAVBAR / HEADER
   ========================= */

.navbar {
    background-color: var(--bs-dark) !important;
}

.navbar .navbar-brand,
.navbar .nav-link {
    color: #ffffff !important;
	margin-right: 0;
}

.navbar .nav-link:hover {
    color: var(--bs-primary) !important;
}

.navbar.border-primary {
	border-color: var(--bs-red) !important;
}

/* =========================
   BOUTONS
   ========================= */

.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-primary:hover {
    background-color: #6f1623;
    border-color: #6f1623;
}

.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    color: #ffffff;
}

/* =========================
   CARDS
   ========================= */

.card {
    background-color: var(--bs-white);
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

/* =========================
   TABLEAUX
   ========================= */

.table {
    background-color: var(--bs-white);
}

.table thead {
    background-color: var(--bs-dark);
    color: #ffffff;
}

.table-hover tbody tr:hover {
    background-color: #f5e6e9; /* léger rappel du rouge */
}

/* =========================
   FOOTER
   ========================= */

footer {
    background-color: var(--bs-dark);
    color: #ffffff;
}

footer a {
    color: var(--bs-primary);
}

footer a:hover {
    color: #ffffff;
}

/* ===== Footer : blanc par défaut, rouge seulement si actif ===== */

/* Base footer */
nav.navbar.fixed-bottom{
  background-color: var(--bs-dark) !important;
}

/* Tous les liens : blanc */
nav.navbar.fixed-bottom a{
  color: #ffffff !important;
}

/* Icônes (SVG) : blanc */
nav.navbar.fixed-bottom a svg{
  color: #ffffff !important;
}

/* Hover : blanc légèrement atténué (ou laisse blanc si tu préfères) */
nav.navbar.fixed-bottom a:hover{
  opacity: .85;
}

/* Actif : rouge (texte + icône) */
nav.navbar.fixed-bottom a.active{
  color: var(--bs-primary) !important;  /* #CE2C29 */
  opacity: 1;
}

nav.navbar.fixed-bottom a.active svg{
  color: var(--bs-primary) !important;
}

nav.border-primary {
	border-color: var(--bs-red) !important;
}

/* ---------- Typo / densité ---------- */
:root{
  --fg-maxw: 980px;
}

/* Lisibilité mobile */
h1,h2,h3 { letter-spacing: .2px; }
.small, .form-text { color: #4a4a4a; }

/* Conteneur “app” cohérent */
.fg-container{
  max-width: var(--fg-maxw);
}

/* Cartes plus nettes */
.card{
  border: 1px solid var(--bs-border-color);
}
.card .card-body{
  padding: 1rem;
}

/* Badges + chips */
.badge{
  font-weight: 600;
}

/* Boutons : touch-friendly */
.btn{
  padding-top: .65rem;
  padding-bottom: .65rem;
  border-radius: .75rem;
  font-weight: 700;
}

/* Sections (titres + marge) */
.fg-section-title{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.5rem;
}
.fg-section-title h2{
  margin:0;
  font-weight:800;
}

/* Réserve de place pour la barre du bas (fixed-bottom) */
.fg-safe-bottom{
  padding-bottom: calc(6.5rem + env(safe-area-inset-bottom));
}

/* Navbar / footer : contraste clean */
.navbar, nav.navbar.fixed-bottom{
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
}

/* ---------- Carousels horizontaux "app" (sans JS) ---------- */
.fg-hscroll{
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  padding-bottom: .25rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.fg-hscroll > *{
  scroll-snap-align: start;
  flex: 0 0 auto;
}

/* largeur “carte app” */
.fg-card-slide{
  width: min(86vw, 520px);
}

/* optionnel : scrollbar discrète */
.fg-hscroll{
  scrollbar-width: thin;
}
.fg-hscroll::-webkit-scrollbar{
  height: 8px;
}
.fg-hscroll::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.15);
  border-radius: 999px;
}

/* ===== Composants "app" réutilisables ===== */

/* Avatar joueur : cercle 100px */
.fg-avatar{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(0,0,0,.08);
  flex: 0 0 100px;
}

.fg-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover; /* recadre proprement */
  display: block;
}

.fg-initials{
  font-weight: 800;
  letter-spacing: .5px;
  font-size: 1.25rem;
  color: #000;
}
