/* ==================================================================
   THÈME SPORT — Athlétic Club Bobigny
   Univers : athlétisme, vélo, natation, tennis, fitness (ni foot ni rugby)

   Utilisation dans une page :
     1. dans le <head> :  <?php include($chemin.'inc/theme_sport.php'); ?>
     2. balise body   :  <body class="acb-sport">
   L'en-tête (menus/entete.php) charge ce fichier automatiquement.
   ================================================================== */

:root{
	--acb-nuit:#0b1d3a;          /* bleu nuit : bandeau, titres        */
	--acb-bleu:#123a73;          /* bleu roi : dégradés, liens         */
	--acb-piste:#d9502f;         /* rouge piste d'athlétisme           */
	--acb-energie:#ff7a18;       /* orange : boutons, éléments actifs  */
	--acb-cyan:#2ad4e8;          /* cyan : focus, accents              */
	--acb-blanc:#ffffff;
	--acb-texte:#1b2a41;
	--acb-trait:#dfe5ee;
	--acb-fond-doux:#eef2f8;
	--acb-energie-doux:#fff1e6;
	--acb-carte:rgba(247,244,236,.97);   /* blanc cassé : fond de la carte autour des tableaux */
	--acb-ligne-a:.72;           /* opacité des lignes de tableau */
	--acb-rayon:18px;
	--acb-police-titre:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
	--acb-police-texte:"Barlow","Segoe UI",Arial,sans-serif;
}

/* ============================================================
   1. EN-TÊTE (menus/entete.php) — utilisé sur toutes les pages
   ============================================================ */
.acb-header{
	--acb-nuit:#0b1d3a;
	--acb-bleu:#123a73;
	--acb-piste:#d9502f;
	--acb-energie:#ff7a18;
	--acb-cyan:#2ad4e8;
	--acb-blanc:#ffffff;
	position:fixed; top:0; left:0; right:0; z-index:1030;
	height:auto; min-height:0; width:auto; /* neutralise les styles génériques « header { height:100vh } » des pages */
	font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
	color:var(--acb-blanc);
	background-color:var(--acb-nuit);
	background-size:cover; background-position:center;
	box-shadow:0 6px 24px rgba(5,15,35,.35);
	overflow:hidden;
}
/* voile dégradé + lignes de vitesse par-dessus l'image du bandeau */
.acb-header::before{
	content:""; position:absolute; inset:0; pointer-events:none;
	background:
		repeating-linear-gradient(-65deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px),
		linear-gradient(100deg, rgba(11,29,58,.94) 0%, rgba(18,58,115,.86) 55%, rgba(18,58,115,.55) 100%);
}
/* bande « piste d'athlétisme » en bas du bandeau */
.acb-header::after{
	content:""; position:absolute; left:0; right:0; bottom:0; height:7px; pointer-events:none;
	background:
		linear-gradient(to bottom, transparent 0 1px, rgba(255,255,255,.85) 1px 2px, transparent 2px 4px, rgba(255,255,255,.85) 4px 5px, transparent 5px),
		var(--acb-piste);
}
.acb-header > *{position:relative;}
.acb-header img{max-width:none;}
.acb-deco{position:absolute; right:12px; top:50%; transform:translateY(-58%); height:78%; max-height:96px; opacity:.13; pointer-events:none;}

.acb-barre{display:flex; align-items:center; gap:18px; max-width:1400px; margin:0 auto; padding:10px 16px 14px;}
.acb-logo{flex:0 0 auto; display:flex; align-items:center; padding-right:18px; border-right:2px solid rgba(255,255,255,.18);}
.acb-logo img{display:block; height:auto; max-height:64px; width:auto; transition:transform .25s ease;}
.acb-logo:hover img{transform:scale(1.05) rotate(-2deg);}

.acb-nav{flex:1 1 auto; display:flex; align-items:stretch; gap:6px; overflow-x:auto; scrollbar-width:thin; padding-bottom:2px;}
.acb-nav-btn{
	position:relative; flex:0 0 auto;
	display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
	min-width:64px; padding:7px 10px 9px;
	border-radius:12px; color:var(--acb-blanc); text-decoration:none;
	background:rgba(255,255,255,.07);
	transition:background .2s ease, transform .2s ease;
}
.acb-nav-btn img{display:block; width:auto; height:auto; max-height:40px; max-width:56px; filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));}
.acb-nav-label{font-size:.82rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; line-height:1; max-width:96px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
/* barre d'élan qui se déploie au survol */
.acb-nav-btn::after{
	content:""; position:absolute; left:14%; right:14%; bottom:3px; height:3px; border-radius:3px;
	background:linear-gradient(90deg, var(--acb-energie), var(--acb-cyan));
	transform:scaleX(0) skewX(-20deg); transform-origin:left; transition:transform .25s ease;
}
.acb-nav-btn:hover,.acb-nav-btn:focus-visible{background:rgba(255,255,255,.16); color:var(--acb-blanc); text-decoration:none; transform:translateY(-2px);}
.acb-nav-btn:hover::after,.acb-nav-btn:focus-visible::after{transform:scaleX(1) skewX(-20deg);}
.acb-nav-btn:focus-visible{outline:2px solid var(--acb-cyan); outline-offset:2px;}
.acb-btn-connexion{background:linear-gradient(135deg, var(--acb-energie), var(--acb-piste));}
.acb-btn-connexion:hover{background:linear-gradient(135deg, #ff8c3a, #e5603f);}
.acb-btn-quitter{background:rgba(217,80,47,.28);}
.acb-btn-quitter:hover{background:rgba(217,80,47,.5);}

/* sous-menu (pastilles) */
.acb-sousmenu{display:flex; gap:8px; overflow-x:auto; max-width:1400px; margin:0 auto; padding:0 16px 16px; scrollbar-width:thin;}
.acb-chip{
	flex:0 0 auto; display:inline-flex; align-items:center; gap:8px;
	padding:5px 14px 5px 6px; border-radius:999px;
	background:rgba(255,255,255,.92); color:var(--acb-nuit); text-decoration:none;
	font-weight:600; font-size:.95rem; letter-spacing:.02em;
	transform:skewX(-8deg); transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.acb-chip > *{transform:skewX(8deg);}
.acb-chip img{display:block; width:auto; height:auto; max-height:28px; max-width:36px;}
.acb-chip:hover,.acb-chip:focus-visible{background:var(--acb-blanc); color:var(--acb-nuit); text-decoration:none; transform:skewX(-8deg) translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,.25);}
.acb-chip.is-active{background:var(--acb-energie); color:var(--acb-blanc);}

/* titre de page + menu de navigation */
.acb-titre-page{max-width:1400px; margin:0 auto; padding:0 16px 6px; font-size:1.5rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--acb-blanc);}
.acb-titre-page::before{content:""; display:inline-block; width:22px; height:6px; margin-right:10px; vertical-align:middle; border-radius:3px; background:linear-gradient(90deg, var(--acb-energie), var(--acb-cyan)); transform:skewX(-20deg);}
.acb-menu-zone{max-width:1400px; margin:0 auto; padding:0 16px 16px;}
.acb-menu-toggle{position:absolute; opacity:0; pointer-events:none;}
.acb-menu-burger{display:none; cursor:pointer; align-items:center; gap:10px; margin:0; padding:6px 14px; border-radius:10px; background:rgba(255,255,255,.12); font-weight:600; text-transform:uppercase; letter-spacing:.05em;}
.acb-menu-burger span,.acb-menu-burger span::before,.acb-menu-burger span::after{display:block; width:20px; height:2px; background:currentColor; border-radius:2px; position:relative;}
.acb-menu-burger span::before,.acb-menu-burger span::after{content:""; position:absolute; left:0;}
.acb-menu-burger span::before{top:-6px;}
.acb-menu-burger span::after{top:6px;}
.acb-menu{display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0;}
.acb-menu a{display:flex; align-items:center; gap:8px; padding:6px 14px 6px 8px; border-radius:10px; color:var(--acb-blanc); text-decoration:none; font-weight:600; font-size:1.02rem; background:rgba(255,255,255,.08); border-left:3px solid transparent; transition:background .2s ease, border-color .2s ease;}
.acb-menu a img{display:block; height:auto;}
.acb-menu a:hover,.acb-menu a:focus-visible{background:rgba(255,255,255,.18); border-left-color:var(--acb-cyan); color:var(--acb-blanc); text-decoration:none;}
.acb-menu a.active,.acb-menu a.current,.acb-menu a.actif{background:var(--acb-energie); border-left-color:var(--acb-blanc);}

.acb-header-spacer{height:110px;}

/* rangée d'icônes rondes sous le bandeau */
.acb-icones-rondes{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:14px auto 28px; padding:0 16px;}
.acb-icones-rondes a{display:block; border-radius:50%; padding:3px; background:linear-gradient(135deg, #ff7a18, #2ad4e8); transition:transform .2s ease, box-shadow .2s ease;}
.acb-icones-rondes a:hover{transform:translateY(-3px) scale(1.06); box-shadow:0 6px 14px rgba(11,29,58,.3);}
.acb-icones-rondes img{display:block; width:40px; height:40px; border-radius:50%; object-fit:cover; background:#fff;}
.acb-marge-table{height:28px;}

@media (max-width:991px){
	.acb-nav-label{display:none;}
	.acb-nav-btn{min-width:52px; padding:8px;}
	.acb-deco{display:none;}
}
/* bouton menu téléphone (masqué sur grand écran) */
.acb-nav-toggle{position:absolute; opacity:0; pointer-events:none;}
.acb-nav-burger{display:none;}

@media (max-width:767px){
	.acb-header{padding-top:env(safe-area-inset-top);}
	.acb-barre{flex-wrap:wrap; gap:10px; padding:8px 12px 13px;}
	.acb-logo{padding-right:0; border-right:0;}
	.acb-logo img{max-height:44px;}

	.acb-nav-burger{
		display:inline-flex; align-items:center; gap:10px; margin:0 0 0 auto;
		min-height:44px; padding:0 16px; border-radius:12px; cursor:pointer;
		background:rgba(255,255,255,.14); font-weight:700; font-size:1.05rem; letter-spacing:.06em; text-transform:uppercase;
		-webkit-tap-highlight-color:transparent;
	}
	.acb-burger-trait,.acb-burger-trait::before,.acb-burger-trait::after{display:block; width:22px; height:2px; border-radius:2px; background:currentColor; transition:transform .25s ease, background .25s ease;}
	.acb-burger-trait{position:relative;}
	.acb-burger-trait::before,.acb-burger-trait::after{content:""; position:absolute; left:0;}
	.acb-burger-trait::before{top:-7px;}
	.acb-burger-trait::after{top:7px;}
	.acb-nav-toggle:checked ~ .acb-barre .acb-nav-burger{background:var(--acb-energie);}
	.acb-nav-toggle:checked ~ .acb-barre .acb-burger-trait{background:transparent;}
	.acb-nav-toggle:checked ~ .acb-barre .acb-burger-trait::before{transform:translateY(7px) rotate(45deg);}
	.acb-nav-toggle:checked ~ .acb-barre .acb-burger-trait::after{transform:translateY(-7px) rotate(-45deg);}
	.acb-nav-toggle:focus-visible ~ .acb-barre .acb-nav-burger{outline:2px solid var(--acb-cyan); outline-offset:2px;}

	/* grille d'icônes dépliée */
	.acb-nav{
		display:none; order:3; flex:1 1 100%;
		grid-template-columns:repeat(auto-fill, minmax(96px, 1fr)); gap:8px;
		max-height:calc(100vh - 110px); max-height:calc(100dvh - 110px); overflow-y:auto; overflow-x:hidden;
		padding:10px 0 4px; border-top:1px solid rgba(255,255,255,.18);
	}
	.acb-nav-toggle:checked ~ .acb-barre .acb-nav{display:grid;}
	.acb-nav-btn{min-width:0; min-height:84px; padding:10px 6px; gap:7px;}
	.acb-nav-btn img{max-height:36px;}
	.acb-nav-label{display:block; max-width:100%; font-size:.85rem; line-height:1.1; white-space:normal; text-align:center;}
	.acb-nav-btn:hover,.acb-nav-btn:focus-visible{transform:none;}

	/* sous-menu : une ligne qui défile au doigt */
	.acb-sousmenu{
		padding:0 12px 15px; gap:6px; scroll-snap-type:x proximity; scrollbar-width:none;
		-webkit-mask-image:linear-gradient(90deg, #000 88%, transparent); mask-image:linear-gradient(90deg, #000 88%, transparent);
	}
	.acb-sousmenu::-webkit-scrollbar{display:none;}
	.acb-chip{scroll-snap-align:start; min-height:40px; font-size:.92rem; padding:4px 12px 4px 5px;}
	.acb-chip img{max-height:24px; max-width:30px;}
	.acb-chip:hover,.acb-chip:focus-visible{transform:skewX(-8deg);}
	.acb-nav-toggle:checked ~ .acb-sousmenu{display:none;}

	/* titre + rubriques de page */
	.acb-titre-page{font-size:1.2rem; padding:0 12px 6px;}
	.acb-menu-zone{padding:0 12px 14px;}
	.acb-menu-burger{display:inline-flex; min-height:44px;}
	.acb-menu{display:none; flex-direction:column; margin-top:8px; max-height:calc(100vh - 160px); max-height:calc(100dvh - 160px); overflow-y:auto;}
	.acb-menu a{min-height:44px;}
	.acb-menu-toggle:checked ~ .acb-menu{display:flex;}
	.acb-nav-toggle:checked ~ .acb-titre-page,.acb-nav-toggle:checked ~ .acb-menu-zone{display:none;}

	.acb-icones-rondes{gap:10px; margin:10px auto 20px;}
	.acb-icones-rondes img{width:44px; height:44px;}
}
@media (max-width:360px){
	.acb-burger-texte{display:none;}
	.acb-nav{grid-template-columns:repeat(3, 1fr);}
}
@media (prefers-reduced-motion:reduce){
	.acb-header *,.acb-icones-rondes a{transition:none !important;}
}

/* ============================================================
   2. PAGES — actif uniquement avec <body class="acb-sport">
   ============================================================ */

/* fond : l'image choisie en administration reste visible sous un voile bleu nuit */
body.acb-sport{
	top:0 !important;
	color:var(--acb-texte);
	text-shadow:none;
	font-family:var(--acb-police-texte);
	-webkit-font-smoothing:antialiased;
}
body.acb-sport::before{
	content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
	background:
		repeating-linear-gradient(-65deg, rgba(255,255,255,.035) 0 2px, transparent 2px 26px),
		linear-gradient(160deg, rgba(11,29,58,.82) 0%, rgba(18,58,115,.62) 60%, rgba(11,29,58,.78) 100%);
}
body.acb-sport .tm-5-col-container a{color:var(--acb-bleu);}
body.acb-sport .tm-5-col-container a:hover{color:var(--acb-energie);}

/* --- carte principale ------------------------------------------------ */
body.acb-sport .tm-5-col-container{
	position:relative;
	max-width:1400px; margin:18px auto 40px !important; padding:28px 28px 32px !important;
	background:var(--acb-carte) !important;
	border-radius:var(--acb-rayon);
	box-shadow:0 18px 48px rgba(5,15,35,.35);
	overflow:hidden;
}
/* liseré « piste » en haut de la carte */
body.acb-sport .tm-5-col-container::before{
	content:""; position:absolute; top:0; left:0; right:0; height:6px;
	background:
		linear-gradient(to bottom, transparent 0 1px, rgba(255,255,255,.8) 1px 2px, transparent 2px 3px, rgba(255,255,255,.8) 3px 4px, transparent 4px),
		var(--acb-piste);
}
/* grand titre de la page (1er bloc de la carte) */
body.acb-sport .tm-5-col-container > div:first-child{
	font-family:var(--acb-police-titre) !important;
	color:var(--acb-nuit) !important;
	text-transform:uppercase; letter-spacing:.05em;
	margin-bottom:18px; padding-bottom:12px;
	border-bottom:1px solid var(--acb-trait);
}
body.acb-sport .tm-5-col-container > div:first-child b::after{
	content:""; display:block; width:64px; height:5px; margin:8px auto 0; border-radius:3px;
	background:linear-gradient(90deg, var(--acb-energie), var(--acb-cyan)); transform:skewX(-20deg);
}

/* --- titres de section ---------------------------------------------- */
body.acb-sport .tm-5-col-container h1,
body.acb-sport .tm-5-col-container h2,
body.acb-sport .tm-5-col-container h3{
	font-family:var(--acb-police-titre) !important;
	color:var(--acb-nuit) !important;
	text-transform:uppercase; letter-spacing:.04em; line-height:1.15;
}
body.acb-sport .container-fluid > .col-xs-12 > h2{
	display:flex; align-items:center; gap:12px; margin:6px 0 12px;
}
body.acb-sport .container-fluid > .col-xs-12 > h2::before{
	content:""; flex:0 0 auto; width:26px; height:7px; border-radius:3px;
	background:linear-gradient(90deg, var(--acb-energie), var(--acb-cyan)); transform:skewX(-20deg);
}

/* icônes d'action (retour, plein écran…) */
body.acb-sport .container-fluid > .col-xs-12 > a > img{
	border-radius:10px; padding:4px; background:var(--acb-fond-doux);
	transition:transform .2s ease, background .2s ease;
}
body.acb-sport .container-fluid > .col-xs-12 > a:hover > img{background:var(--acb-energie-doux); transform:translateY(-2px);}

/* --- barre d'outils des tableaux (pager) --------------------------- */
body.acb-sport .pager{padding:6px 0 12px !important; text-align:left;}
body.acb-sport .pager form{display:flex; flex-wrap:wrap; align-items:center; gap:6px;}
body.acb-sport .pager button,
body.acb-sport .pager input[type=button],
body.acb-sport .pager .pagedisplay,
body.acb-sport .pager select{
	height:36px; margin:0 2px 4px 0; padding:0 12px; vertical-align:middle;
	border:0; border-radius:10px;
	font-family:var(--acb-police-titre); font-weight:600; font-size:1rem; letter-spacing:.03em;
	color:var(--acb-nuit); background:var(--acb-fond-doux);
	transition:background .2s ease, color .2s ease;
}
body.acb-sport .pager button:hover,
body.acb-sport .pager input[type=button]:hover{background:var(--acb-nuit); color:#fff; cursor:pointer;}
body.acb-sport .pager .print{background:var(--acb-nuit); color:#fff;}
body.acb-sport .pager .print:hover{background:var(--acb-energie);}
body.acb-sport .pager .pagedisplay{width:110px; text-align:center; background:#fff; box-shadow:inset 0 0 0 2px var(--acb-trait);}

/* sélecteur de colonnes */
body.acb-sport .columnSelectorWrapper{margin:4px 0 10px;}
body.acb-sport .columnSelectorButton h2{
	display:inline-flex; align-items:center; gap:8px; margin:0; padding:6px 14px; border-radius:10px;
	font-size:1rem !important; background:var(--acb-fond-doux); cursor:pointer;
}
body.acb-sport .columnSelector{
	border-radius:12px !important; border:0 !important; padding:10px 14px !important;
	background:#fff !important; box-shadow:0 10px 30px rgba(11,29,58,.2) !important; color:var(--acb-texte);
}

/* --- tableaux (tablesorter) : lignes arrondies et légèrement transparentes --- */
body.acb-sport table.tablesorter{
	width:100%; border-collapse:separate !important; border-spacing:0 6px !important;
	border:0 !important; background:transparent !important; box-shadow:none;
	margin-top:-6px;
	font-family:var(--acb-police-texte);
}
body.acb-sport table.tablesorter thead th,
body.acb-sport table.tablesorter thead td{
	background:rgba(11,29,58,.92) !important; background-image:none !important;
	color:#fff !important; border:0 !important;
	padding:12px 12px !important;
	box-shadow:inset 0 -3px 0 var(--acb-energie);
	font-family:var(--acb-police-titre) !important; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
}
body.acb-sport table.tablesorter thead .tablesorter-headerAsc,
body.acb-sport table.tablesorter thead .tablesorter-headerDesc{background:rgba(18,58,115,.95) !important;}
/* ligne de filtres */
body.acb-sport table.tablesorter thead tr.tablesorter-filter-row td{background:rgba(238,242,248,.8) !important; box-shadow:none; padding:6px 8px !important;}
body.acb-sport table.tablesorter .tablesorter-filter{
	border:2px solid var(--acb-trait) !important; border-radius:8px !important; padding:4px 8px !important; background:#fff !important;
}
body.acb-sport table.tablesorter .tablesorter-filter:focus{border-color:var(--acb-cyan) !important; outline:none;}
body.acb-sport table.tablesorter tbody > tr > td{
	background:rgba(255,255,255,var(--acb-ligne-a)) !important; color:var(--acb-texte) !important;
	border:0 !important;
	padding:10px 12px !important; vertical-align:middle;
	transition:background .15s ease;
}
body.acb-sport table.tablesorter tbody > tr:nth-child(even) > td{background:rgba(238,242,248,var(--acb-ligne-a)) !important;}
body.acb-sport table.tablesorter tbody > tr:hover > td{background:rgba(255,241,230,.92) !important;}
/* arrondi de chaque ligne (en-tête compris) */
body.acb-sport table.tablesorter tr > :first-child{border-radius:12px 0 0 12px !important;}
body.acb-sport table.tablesorter tr > :last-child{border-radius:0 12px 12px 0 !important;}
body.acb-sport table.tablesorter tr > :only-child{border-radius:12px !important;}
body.acb-sport table.tablesorter tbody > tr{filter:drop-shadow(0 1px 2px rgba(11,29,58,.08));}
body.acb-sport table.tablesorter tbody img{border-radius:8px;}

/* option pleine largeur : <body class="acb-sport acb-large">
   la carte occupe tout l'écran et les tableaux gagnent les marges */
body.acb-sport.acb-large .tm-5-col-container{
	max-width:none;
	margin:14px 12px 32px !important;
	padding:24px 18px 28px !important;
}
body.acb-sport.acb-large .tm-5-col-container .container-fluid{padding-left:0; padding-right:0;}
body.acb-sport.acb-large table.tablesorter{width:100% !important; min-width:100%;}

/* icônes Font Awesome des actions */
body.acb-sport .fa-pencil{color:var(--acb-energie);}
body.acb-sport .fa-trash-o{color:var(--acb-piste);}
body.acb-sport .fa-eye,
body.acb-sport .fa-download,
body.acb-sport .fa-envelope{color:var(--acb-bleu);}
body.acb-sport .fa-key{color:var(--acb-nuit);}
body.acb-sport a > .fa{transition:transform .2s ease;}
body.acb-sport a:hover > .fa{transform:scale(1.15);}

/* --- formulaires (formoid) ------------------------------------------ */
body.acb-sport .formoid-solid-blue{
	background:#fff !important;
	border-radius:var(--acb-rayon) !important; overflow:hidden;
	box-shadow:0 14px 40px rgba(11,29,58,.22) !important;
	font-family:var(--acb-police-texte) !important;
	color:var(--acb-texte) !important;
	margin:10px auto 24px !important;
}
body.acb-sport .formoid-solid-blue > .title{
	position:relative;
	background:linear-gradient(100deg, var(--acb-nuit), var(--acb-bleu)) !important;
	padding:18px 22px 22px !important; border-radius:0 !important;
}
body.acb-sport .formoid-solid-blue > .title::after{
	content:""; position:absolute; left:0; right:0; bottom:0; height:5px;
	background:
		linear-gradient(to bottom, transparent 0 1px, rgba(255,255,255,.8) 1px 2px, transparent 2px 3px, rgba(255,255,255,.8) 3px 4px, transparent 4px),
		var(--acb-piste);
}
body.acb-sport .formoid-solid-blue > .title,
body.acb-sport .formoid-solid-blue > .title *{
	color:#fff !important; background-color:transparent !important;
	font-family:var(--acb-police-titre) !important; text-transform:uppercase; letter-spacing:.05em;
}
body.acb-sport .formoid-solid-blue label.title,
body.acb-sport .formoid-solid-blue label.title span{
	font-family:var(--acb-police-titre) !important; font-weight:600; letter-spacing:.03em;
	color:var(--acb-nuit) !important;
}
body.acb-sport .formoid-solid-blue input[type=text],
body.acb-sport .formoid-solid-blue input[type=password],
body.acb-sport .formoid-solid-blue input[type=email],
body.acb-sport .formoid-solid-blue input[type=url],
body.acb-sport .formoid-solid-blue input[type=date],
body.acb-sport .formoid-solid-blue input[type=number],
body.acb-sport .formoid-solid-blue input[type=tel],
body.acb-sport .formoid-solid-blue textarea,
body.acb-sport .formoid-solid-blue select,
body.acb-sport .formoid-solid-blue .element-file .file_text{
	border:2px solid var(--acb-trait) !important; border-radius:10px !important;
	background-color:#fff !important; color:var(--acb-texte) !important;
	transition:border-color .2s ease, box-shadow .2s ease;
}
body.acb-sport .formoid-solid-blue input:focus,
body.acb-sport .formoid-solid-blue textarea:focus,
body.acb-sport .formoid-solid-blue select:focus{
	border-color:var(--acb-cyan) !important; box-shadow:0 0 0 4px rgba(42,212,232,.18) !important;
}
body.acb-sport .formoid-solid-blue > .submit,
body.acb-sport .formoid-solid-blue div.submit{
	display:flex; align-items:center; justify-content:space-between; gap:12px;
	background:var(--acb-fond-doux) !important; border-top:1px solid var(--acb-trait) !important;
	padding:14px 22px !important;
}
body.acb-sport .formoid-solid-blue input[type=submit],
body.acb-sport .formoid-solid-blue button[type=submit],
body.acb-sport .formoid-solid-blue .element-file .button{
	min-height:44px; padding:0 26px !important; border:0 !important; border-radius:12px !important;
	background:linear-gradient(135deg, var(--acb-energie), var(--acb-piste)) !important;
	color:#fff !important; text-shadow:none !important; box-shadow:0 6px 16px rgba(217,80,47,.35) !important;
	font-family:var(--acb-police-titre) !important; font-weight:700; font-size:1.05rem !important;
	letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
	transition:transform .15s ease, box-shadow .15s ease;
}
body.acb-sport .formoid-solid-blue input[type=submit]:hover,
body.acb-sport .formoid-solid-blue button[type=submit]:hover,
body.acb-sport .formoid-solid-blue .element-file .button:hover{
	transform:translateY(-2px); box-shadow:0 10px 22px rgba(217,80,47,.45) !important;
}
body.acb-sport .formoid-solid-blue .submit a img{
	border-radius:10px; padding:4px; background:#fff; box-shadow:0 2px 8px rgba(11,29,58,.12);
}

/* --- téléphone -------------------------------------------------------- */
@media (max-width:767px){
	body.acb-sport .tm-5-col-container{margin:10px 8px 24px !important; padding:20px 14px 22px !important; border-radius:14px;}
	body.acb-sport table.tablesorter{display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;}
	body.acb-sport .pager .pagedisplay{width:90px;}
	body.acb-sport .formoid-solid-blue > .submit{padding:12px 14px !important;}
}
@media (prefers-reduced-motion:reduce){
	body.acb-sport *{transition:none !important;}
}

/* ============================================================
   3. COMPOSANTS D'ADMINISTRATION (acbs_admin_club.php…)
   ============================================================ */
body.acb-sport .acb-onglets{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; padding:6px; border-radius:14px; background:var(--acb-fond-doux);}
body.acb-sport .acb-onglets a{
	display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:0 16px; border-radius:10px;
	font-family:var(--acb-police-titre); font-weight:600; font-size:1.05rem; letter-spacing:.04em; text-transform:uppercase;
	color:var(--acb-nuit); text-decoration:none; transition:background .2s ease, color .2s ease;
}
body.acb-sport .acb-onglets a:hover{background:#fff; color:var(--acb-nuit);}
body.acb-sport .acb-onglets a.active{background:linear-gradient(135deg, var(--acb-energie), var(--acb-piste)); color:#fff; box-shadow:0 4px 12px rgba(217,80,47,.3);}
body.acb-sport .acb-onglets .acb-onglet-droite{margin-left:auto;}

body.acb-sport .acb-msg-ok,
body.acb-sport .acb-msg-err{margin:0 0 16px; padding:10px 14px; border-radius:10px; font-weight:600;}
body.acb-sport .acb-msg-ok{background:#e3f7ec; color:#11643a; border-left:4px solid #1fae63;}
body.acb-sport .acb-msg-err{background:#fde8e4; color:#8a2413; border-left:4px solid var(--acb-piste);}
body.acb-sport .acb-note{margin:0 0 16px; padding:9px 14px; border-radius:10px; background:var(--acb-energie-doux); color:#7a3a08; font-size:.95rem;}

body.acb-sport .acb-bloc-entete{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:6px 0 14px;}
body.acb-sport .acb-bloc-titre{font-family:var(--acb-police-titre); font-weight:700; font-size:1.45rem; letter-spacing:.04em; text-transform:uppercase; color:var(--acb-nuit);}
body.acb-sport .acb-bloc-titre span{color:var(--acb-energie);}
body.acb-sport .acb-compteur{font-size:.9rem; color:#5b6b82;}

/* boutons */
body.acb-sport .acb-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:0 16px;
	border:0; border-radius:10px; cursor:pointer; text-decoration:none !important;
	font-family:var(--acb-police-titre); font-weight:600; font-size:1rem; letter-spacing:.04em; text-transform:uppercase;
	color:var(--acb-nuit) !important; background:var(--acb-fond-doux);
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
body.acb-sport .acb-btn:hover{transform:translateY(-1px); background:#e2e8f2;}
body.acb-sport .acb-btn-primaire{background:linear-gradient(135deg, var(--acb-energie), var(--acb-piste)); color:#fff !important; box-shadow:0 5px 14px rgba(217,80,47,.3);}
body.acb-sport .acb-btn-primaire:hover{background:linear-gradient(135deg, var(--acb-energie), var(--acb-piste)); box-shadow:0 8px 18px rgba(217,80,47,.4);}
body.acb-sport .acb-btn-nuit{background:var(--acb-nuit); color:#fff !important;}
body.acb-sport .acb-btn-nuit:hover{background:var(--acb-bleu);}
body.acb-sport .acb-btn-danger{background:#fde8e4; color:#a52a14 !important;}
body.acb-sport .acb-btn-danger:hover{background:var(--acb-piste); color:#fff !important;}
body.acb-sport .acb-btn-sm{min-height:32px; padding:0 10px; font-size:.9rem;}
body.acb-sport .acb-btn[disabled]{opacity:.45; cursor:not-allowed; transform:none;}

/* formulaires */
body.acb-sport .acb-section{margin:0 0 18px; padding:18px; border-radius:14px; background:rgba(255,255,255,.75); box-shadow:0 2px 10px rgba(11,29,58,.06);}
body.acb-sport .acb-section-titre{margin:0 0 14px; font-family:var(--acb-police-titre); font-weight:700; font-size:1.15rem; letter-spacing:.05em; text-transform:uppercase; color:var(--acb-nuit);}
body.acb-sport .acb-grille-2{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px 18px;}
body.acb-sport .acb-grille-3{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px 18px;}
body.acb-sport .acb-pleine{grid-column:1 / -1;}
body.acb-sport .acb-champ{display:flex; flex-direction:column; gap:5px;}
body.acb-sport .acb-champ > label{font-family:var(--acb-police-titre); font-weight:600; font-size:1rem; letter-spacing:.03em; color:var(--acb-nuit); margin:0;}
body.acb-sport .acb-champ input[type=text],
body.acb-sport .acb-champ input[type=number],
body.acb-sport .acb-champ input[type=file],
body.acb-sport .acb-champ select,
body.acb-sport .acb-recherche{
	min-height:42px; padding:8px 12px; border:2px solid var(--acb-trait); border-radius:10px;
	background:#fff; color:var(--acb-texte); font-family:var(--acb-police-texte); font-size:1rem; width:100%;
	transition:border-color .2s ease, box-shadow .2s ease;
}
body.acb-sport .acb-champ input:focus,
body.acb-sport .acb-champ select:focus,
body.acb-sport .acb-recherche:focus{outline:none; border-color:var(--acb-cyan); box-shadow:0 0 0 4px rgba(42,212,232,.18);}
body.acb-sport .acb-champ input[disabled]{background:var(--acb-fond-doux); color:#6b7a90;}
body.acb-sport .acb-champ input[type=color]{width:56px; height:42px; padding:3px; border:2px solid var(--acb-trait); border-radius:10px; background:#fff; cursor:pointer;}
body.acb-sport .acb-champ input[type=range]{width:100%; accent-color:var(--acb-energie);}
body.acb-sport .acb-aide{font-size:.85rem; color:#6b7a90;}
body.acb-sport .acb-aide code{background:var(--acb-fond-doux); padding:1px 6px; border-radius:5px;}
body.acb-sport .acb-recherche{max-width:380px; margin:0 0 16px;}
body.acb-sport .acb-barre-actions{display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-top:18px; padding-top:14px; border-top:1px solid var(--acb-trait);}

/* dépôt de fichier */
body.acb-sport .acb-depot{
	display:block; margin:0 0 16px; padding:18px; border:2px dashed #c3cfdf; border-radius:14px; text-align:center; cursor:pointer;
	background:rgba(255,255,255,.6); color:var(--acb-nuit); font-weight:600; transition:border-color .2s ease, background .2s ease;
}
body.acb-sport .acb-depot:hover{border-color:var(--acb-energie); background:var(--acb-energie-doux);}
body.acb-sport .acb-depot small{display:block; margin-top:4px; font-weight:400; color:#6b7a90;}

/* grilles de cartes (pages, images, icônes) */
body.acb-sport .acb-cartes{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:14px;}
body.acb-sport .acb-cartes.acb-cartes-petites{grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));}
body.acb-sport .acb-item{
	position:relative; display:flex; flex-direction:column; border-radius:14px; overflow:hidden;
	background:rgba(255,255,255,var(--acb-ligne-a)); box-shadow:0 2px 10px rgba(11,29,58,.08);
	transition:transform .15s ease, box-shadow .15s ease;
}
body.acb-sport .acb-item:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(11,29,58,.14);}
body.acb-sport .acb-item-image{display:block; width:100%; height:120px; object-fit:cover; background:var(--acb-fond-doux);}
body.acb-sport .acb-item-icone{display:flex; align-items:center; justify-content:center; height:96px; background:linear-gradient(135deg, var(--acb-nuit), var(--acb-bleu));}
body.acb-sport .acb-item-icone img{max-width:64px; max-height:64px; object-fit:contain;}
body.acb-sport .acb-item-corps{flex:1; padding:10px 12px; min-width:0;}
body.acb-sport .acb-item-nom{font-family:var(--acb-police-titre); font-weight:700; font-size:1.08rem; color:var(--acb-nuit); letter-spacing:.02em;}
body.acb-sport .acb-item-meta{font-size:.82rem; color:#6b7a90; word-break:break-all;}
body.acb-sport .acb-item-actions{display:flex; gap:6px; padding:0 12px 12px;}
body.acb-sport .acb-item-actions .acb-btn{flex:1;}
body.acb-sport .acb-badge{position:absolute; top:8px; right:8px; padding:3px 9px; border-radius:999px; font-size:.75rem; font-weight:700; background:#1fae63; color:#fff;}
body.acb-sport .acb-badge-orange{background:var(--acb-energie);}
body.acb-sport .acb-sous-titre{margin:20px 0 10px; font-family:var(--acb-police-titre); font-weight:700; font-size:1.1rem; letter-spacing:.05em; text-transform:uppercase; color:var(--acb-bleu);}

/* sélecteur d'image de fond */
body.acb-sport .acb-choix-images{display:grid; grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:10px; max-height:420px; overflow-y:auto; padding:4px;}
body.acb-sport .acb-choix-images figure{margin:0; cursor:pointer;}
body.acb-sport .acb-choix-images img{display:block; width:100%; height:80px; object-fit:cover; border-radius:10px; border:3px solid transparent; transition:border-color .15s ease, transform .15s ease;}
body.acb-sport .acb-choix-images img:hover{transform:scale(1.03);}
body.acb-sport .acb-choix-images img.sel{border-color:var(--acb-energie);}
body.acb-sport .acb-choix-images figcaption{font-size:.72rem; color:#6b7a90; word-break:break-all; margin-top:2px;}
body.acb-sport .acb-apercu-fond{display:block; width:240px; max-width:100%; height:135px; object-fit:cover; border-radius:12px; border:3px solid var(--acb-energie); margin-bottom:6px;}

/* confirmation de suppression */
body.acb-sport .acb-confirm{max-width:520px; margin:10px auto 20px; padding:22px; border-radius:16px; text-align:center; background:#fff; box-shadow:0 12px 34px rgba(11,29,58,.18); border-top:5px solid var(--acb-piste);}
body.acb-sport .acb-confirm-nom{margin:6px 0; font-family:var(--acb-police-titre); font-weight:700; font-size:1.35rem; color:var(--acb-nuit);}
body.acb-sport .acb-confirm-alerte{margin:10px 0 16px; color:#a52a14; font-weight:600;}
body.acb-sport .acb-confirm .acb-barre-actions{justify-content:center; border-top:0;}

/* emojis */
body.acb-sport .acb-emoji{display:inline-flex; align-items:center; justify-content:center; min-width:44px; padding:4px 12px; border-radius:999px; font-size:1.2rem; line-height:1.2; background:#fff; border:2px solid var(--acb-trait);}
body.acb-sport code.acb-code{font-size:.85rem; background:var(--acb-fond-doux); padding:2px 7px; border-radius:6px; white-space:nowrap;}
body.acb-sport th.acb-tri{cursor:pointer; user-select:none; white-space:nowrap;}

/* thèmes */
body.acb-sport .acb-nuancier{display:flex; height:34px; border-radius:10px; overflow:hidden; margin:8px 0 4px;}
body.acb-sport .acb-nuancier span{flex:1;}
body.acb-sport .acb-couleur{display:flex; align-items:center; gap:10px;}
body.acb-sport .acb-couleur code{font-size:.85rem; color:#6b7a90;}
body.acb-sport .acb-theme-apercu{border-radius:14px; overflow:hidden; box-shadow:0 6px 18px rgba(11,29,58,.15);}
body.acb-sport .acb-theme-apercu .ap-bandeau{height:44px; display:flex; align-items:center; gap:8px; padding:0 14px; color:#fff; font-family:var(--acb-police-titre); font-weight:700; letter-spacing:.05em;}
body.acb-sport .acb-theme-apercu .ap-piste{height:6px;}
body.acb-sport .acb-theme-apercu .ap-carte{padding:14px;}
body.acb-sport .acb-theme-apercu .ap-titre{font-family:var(--acb-police-titre); font-weight:700; font-size:1.1rem; letter-spacing:.05em; text-transform:uppercase; margin-bottom:8px;}
body.acb-sport .acb-theme-apercu .ap-ligne{height:26px; border-radius:8px; margin-bottom:6px; padding:0 10px; line-height:26px; font-size:.85rem;}
body.acb-sport .acb-theme-apercu .ap-bouton{display:inline-block; margin-top:6px; padding:6px 14px; border-radius:8px; color:#fff; font-family:var(--acb-police-titre); font-weight:700;}

@media (max-width:767px){
	body.acb-sport .acb-grille-2,
	body.acb-sport .acb-grille-3{grid-template-columns:1fr;}
	body.acb-sport .acb-onglets a{flex:1 1 auto; justify-content:center;}
	body.acb-sport .acb-onglets .acb-onglet-droite{margin-left:0;}
}
