/*
Theme Name:  Rookie Enfant (LRBBM)
Template:    rookie
Version:     1.2.2
Description: Theme enfant de la Ligue regionale de basketball de Mayotte : correctifs, GA4 sous consentement, en-tetes de securite, accueil dynamique (carte des gymnases, resultats, classements).
Author:      LRBBM
*/

/* Palette : bleu marine #14213d, bleu #1e3a8a, ambre #f59e0b (accent sobre), gris clair #f4f6fa. */
:root {
	--lrbbm-marine: #14213d;
	--lrbbm-bleu: #1e3a8a;
	--lrbbm-ambre: #f59e0b;
	--lrbbm-gris: #f4f6fa;
	--lrbbm-bord: #dfe4ee;
}

/* Bandeau d'accueil */
.lrbbm-hero {
	background: linear-gradient(135deg, var(--lrbbm-marine) 0%, var(--lrbbm-bleu) 100%);
	color: #fff;
	padding: 40px 32px;
	border-radius: 6px;
	margin: 0 0 28px;
}
.lrbbm-hero h2 { color: #fff; margin: 4px 0 10px; font-size: 2em; line-height: 1.15; }
.lrbbm-hero p { color: rgba(255,255,255,.9); max-width: 640px; }
.lrbbm-hero-sur { text-transform: uppercase; letter-spacing: .12em; font-size: .8em; color: var(--lrbbm-ambre); margin: 0; }
.lrbbm-hero-boutons { margin-top: 18px; }
.lrbbm-bouton {
	display: inline-block; background: var(--lrbbm-ambre); color: var(--lrbbm-marine) !important;
	padding: 10px 18px; border-radius: 4px; font-weight: 700; text-decoration: none !important; margin: 0 8px 8px 0;
}
.lrbbm-bouton:hover { background: #ffb63d; }
.lrbbm-bouton-secondaire { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,.7); }
.lrbbm-bouton-secondaire:hover { background: rgba(255,255,255,.12); }

/* Grilles */
.lrbbm-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 28px; }
.lrbbm-grille-3 { grid-template-columns: repeat(3, 1fr); }
.lrbbm-grille > div { min-width: 0; }
.lrbbm-titre { margin: 32px 0 14px; padding-bottom: 8px; border-bottom: 3px solid var(--lrbbm-ambre); display: inline-block; }
@media (max-width: 900px) {
	.lrbbm-grille, .lrbbm-grille-3 { grid-template-columns: 1fr; }
	.lrbbm-hero { padding: 28px 20px; }
	.lrbbm-hero h2 { font-size: 1.5em; }
}

/* Carte des gymnases */
.lrbbm-carte { width: 100%; border: 1px solid var(--lrbbm-bord); border-radius: 6px; z-index: 1; }
.lrbbm-carte-legende { font-size: .85em; color: #555; margin: 8px 0 24px; }
.lrbbm-carte-liste { margin: 8px 0 0; padding-left: 16px; }
.lrbbm-carte-liste li { margin-bottom: 6px; }
.leaflet-popup-content { font-size: 13px; line-height: 1.35; }

/* Actualites en cartes */
.lrbbm-actus { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 28px; }
@media (max-width: 900px) { .lrbbm-actus { grid-template-columns: 1fr; } }
.lrbbm-actu { display: block; background: #fff; border: 1px solid var(--lrbbm-bord); border-radius: 6px; overflow: hidden; text-decoration: none !important; color: var(--lrbbm-marine) !important; transition: box-shadow .15s; }
.lrbbm-actu:hover { box-shadow: 0 6px 18px rgba(20,33,61,.15); }
.lrbbm-actu-image img { width: 100%; height: 160px; object-fit: cover; display: block; }
.lrbbm-actu-date { display: block; font-size: .8em; color: #666; padding: 12px 14px 0; }
.lrbbm-actu-titre { display: block; font-weight: 700; padding: 4px 14px 14px; line-height: 1.3; }

/* Tableaux SportsPress : sobres, sans rouge */
.sp-template .sp-table-caption, .sp-template .sp-event-list-caption { background: var(--lrbbm-marine); color: #fff; }
.sp-data-table thead th { background: var(--lrbbm-gris); color: var(--lrbbm-marine); }
.sp-data-table tbody tr:nth-child(even) td { background: #fafbfd; }
.sp-data-table a { color: var(--lrbbm-bleu); }
.sp-template { border-top: 3px solid var(--lrbbm-bleu); }

/* Page Actualites (v1.2.0) */
.lrbbm-hero-petit { padding: 28px 32px; }
.lrbbm-hero-petit h2 { font-size: 1.6em; }
.lrbbm-affiches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 24px; }
@media (max-width: 900px) { .lrbbm-affiches { grid-template-columns: 1fr; } }
.lrbbm-affiche { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--lrbbm-bord); border-left: 5px solid var(--lrbbm-ambre); border-radius: 6px; padding: 14px 16px; text-decoration: none !important; color: var(--lrbbm-marine) !important; transition: box-shadow .15s; }
.lrbbm-affiche:hover { box-shadow: 0 6px 18px rgba(20,33,61,.15); }
.lrbbm-affiche-ligue { font-size: .72em; text-transform: uppercase; letter-spacing: .08em; color: var(--lrbbm-bleu); font-weight: 700; }
.lrbbm-affiche-equipes { display: flex; flex-direction: column; gap: 2px; font-size: 1.05em; line-height: 1.25; }
.lrbbm-affiche-equipes em { font-style: normal; font-size: .75em; color: #888; }
.lrbbm-affiche-quand { font-weight: 700; font-size: .9em; }
.lrbbm-affiche-lieu { font-size: .85em; color: #555; }
.lrbbm-affiche-lieu::before { content: "📍 "; }
.lrbbm-vide { color: #666; font-style: italic; }
.lrbbm-flux { background: var(--lrbbm-gris); border-radius: 6px; padding: 16px 18px; }
.lrbbm-flux-titre { margin: 0 0 10px; font-size: 1.05em; color: var(--lrbbm-marine); }
.lrbbm-flux ul { list-style: none; margin: 0; padding: 0; }
.lrbbm-flux li { padding: 8px 0; border-bottom: 1px solid var(--lrbbm-bord); line-height: 1.3; }
.lrbbm-flux li:last-child { border-bottom: 0; }
.lrbbm-flux a { color: var(--lrbbm-marine); text-decoration: none; font-weight: 600; }
.lrbbm-flux a:hover { color: var(--lrbbm-bleu); }
.lrbbm-flux-date { display: block; font-size: .78em; color: #777; margin-top: 2px; }
