/* ==================================================================
   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-rgb:247,244,236;  /* blanc cassé : fond de la carte autour des tableaux */
	--acb-carte-a:.97;
	--acb-carte:rgba(var(--acb-carte-rgb),var(--acb-carte-a));
	--acb-titre:var(--acb-nuit);        /* titre principal des pages */
	--acb-soustitre:var(--acb-nuit);    /* sous-titres */
	--acb-th-fond:var(--acb-nuit);      /* tableaux : en-têtes */
	--acb-th-texte:#ffffff;
	--acb-td-rgb:255,255,255;           /* tableaux : lignes (couleur r,g,b) */
	--acb-td-texte:var(--acb-texte);
	--acb-impair-a:.72;                 /* opacité lignes impaires */
	--acb-pair-a:.55;                   /* opacité lignes paires */
	--acb-ligne-a:var(--acb-impair-a);
	--acb-form-rgb:255,255,255;         /* formulaires : fond (r,g,b) */
	--acb-form-a:1;
	--acb-label:var(--acb-nuit);
	--acb-saisie:var(--acb-texte);
	--acb-combo:var(--acb-texte);
	--acb-case:var(--acb-energie);
	--acb-blanc:#ffffff;
	/* menu principal (bandeau) */
	--acb-menu1-rgb:11,29,58;           /* fond : début du dégradé (r,g,b) */
	--acb-menu2-rgb:18,58,115;          /* fond : fin du dégradé (r,g,b) */
	--acb-menu-a:.94;                   /* opacité du voile sur l'image du bandeau */
	--acb-menu-texte:#ffffff;
	--acb-menu-survol:var(--acb-energie);
	--acb-menu-piste:var(--acb-piste);
	--acb-menu-chip-fond:#ffffff;
	--acb-menu-chip-texte:var(--acb-nuit);
	--acb-menu-chip-actif:var(--acb-energie);
	--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{
	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-menu-texte);
	background-color:rgb(var(--acb-menu1-rgb));
	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(var(--acb-menu1-rgb),var(--acb-menu-a)) 0%, rgba(var(--acb-menu2-rgb),calc(var(--acb-menu-a) * .92)) 55%, rgba(var(--acb-menu2-rgb),calc(var(--acb-menu-a) * .6)) 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-menu-piste);
}
.acb-header > *{position:relative;}
/* pictogrammes décoratifs retirés : masqués même si une ancienne page les contient encore */
.acb-deco,.ap-deco{display:none !important;}
.acb-header img{max-width:none;}

.acb-barre{display:flex; align-items:center; gap:18px; margin:0; 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; flex-wrap:wrap; align-items:stretch; gap:6px; min-width:0; padding-bottom:2px;}   /* plusieurs lignes si besoin */
.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-menu-texte); 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.1; white-space:nowrap;}   /* libellé complet, jamais coupé */
/* 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-menu-survol), 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-menu-texte); 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:color-mix(in srgb, var(--acb-piste) 30%, transparent);}
.acb-btn-quitter:hover{background:color-mix(in srgb, var(--acb-piste) 55%, transparent);}

/* sous-menu (pastilles) */
.acb-sousmenu{display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0 16px 16px;}
.acb-chip{
	flex:0 0 auto; display:inline-flex; align-items:center; gap:8px;
	padding:5px 14px 5px 6px; border-radius:999px;
	background:color-mix(in srgb, var(--acb-menu-chip-fond) 92%, transparent); color:var(--acb-menu-chip-texte); 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-menu-chip-fond); color:var(--acb-menu-chip-texte); 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-menu-chip-actif); color:#ffffff;}

/* titre de page + menu de navigation */
.acb-titre-page{margin:0; 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{margin:0; 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-btn{min-width:52px; padding:8px 10px;}
}
/* 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-menu-survol);}
	.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 5px; gap:7px; overflow:hidden;}
	.acb-nav-btn img{max-height:36px;}
	.acb-nav-label{display:block; width:100%; font-size:.74rem; line-height:1.15; letter-spacing:.01em; white-space:normal; text-align:center; overflow-wrap:normal; word-break:normal; -webkit-hyphens:none; hyphens:none;}   /* jamais de mot coupé : la taille est réduite au besoin (script de menus/entete.php) */
	.acb-nav-btn:hover,.acb-nav-btn:focus-visible{transform:none;}

	/* sous-menu : une ligne qui défile au doigt */
	.acb-sousmenu{
		flex-wrap:nowrap; overflow-x:auto; 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-titre) !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-soustitre) !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:var(--acb-th-fond) !important; background-image:none !important;
	color:var(--acb-th-texte) !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:color-mix(in srgb, var(--acb-th-fond) 80%, #ffffff) !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(var(--acb-td-rgb),var(--acb-impair-a)) !important; color:var(--acb-td-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(var(--acb-td-rgb),var(--acb-pair-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:rgba(var(--acb-form-rgb),var(--acb-form-a)) !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-label) !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-saisie) !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);
}

/* listes déroulantes et cases à cocher (couleurs du thème) */
body.acb-sport .formoid-solid-blue select,
body.acb-sport .formoid-solid-blue select option,
body.acb-sport .acb-champ select{color:var(--acb-combo) !important;}
body.acb-sport .formoid-solid-blue .element-checkbox .column label,
body.acb-sport .formoid-solid-blue .element-checkbox .column label span,
body.acb-sport .formoid-solid-blue .element-radio .column label,
body.acb-sport .formoid-solid-blue .element-radio .column label span{color:var(--acb-case) !important;}
body.acb-sport .formoid-solid-blue input[type=checkbox]:checked+span:before,
body.acb-sport .formoid-solid-blue input[type=radio]:checked+span:before,
body.acb-sport .formoid-solid-blue input[type=checkbox]:hover+span:before,
body.acb-sport .formoid-solid-blue input[type=radio]:hover+span:before{color:var(--acb-case) !important; border-color:var(--acb-case) !important;}
body.acb-sport input[type=checkbox],
body.acb-sport input[type=radio]{accent-color:var(--acb-case);}

/* --- 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 .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-soustitre);}
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-soustitre);}
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-label); 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);}


/* éditeur plein écran (formulaires/acbs_form_presentation.php) */
body.acb-sport .acb-editeur-zone{padding:10px !important;}
body.acb-sport .acb-editeur .cke{border:2px solid var(--acb-trait) !important; border-radius:12px; overflow:hidden; box-shadow:none !important;}
body.acb-sport .acb-editeur .cke_top{background:var(--acb-fond-doux) !important; border-bottom:1px solid var(--acb-trait) !important;}
body.acb-sport .acb-editeur .cke_bottom{background:var(--acb-fond-doux) !important; border-top:1px solid var(--acb-trait) !important;}
body.acb-sport .acb-editeur .cke_focus{border-color:var(--acb-cyan) !important;}
body.acb-sport .acb-editeur-actions{position:sticky; bottom:0; z-index:5; margin-top:10px; padding:12px 0 6px; background:var(--acb-carte);}

/* aperçu de l'intercalaire des pages club (acbs_pageadmin.php?page=2) */
.acb-intercalaire-apercu{margin:6px 0 18px; padding:22px; border-radius:12px; background-color:#999; background-size:cover; background-position:center; box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);}
.acb-intercalaire-apercu > div{padding:16px 18px; border-radius:8px; color:rgba(255,255,255,.8); text-shadow:1px 3px 5px rgba(0,0,0,.3); font-family:'Montserrat',sans-serif; font-size:15px; line-height:1.5;}
/* 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;}
/* modification d'une page : corbeille / cadenas sur les images de la grille */
body.acb-sport .acb-choix-images figure{position:relative;}
body.acb-sport .acb-choix-suppr,
body.acb-sport .acb-choix-cadenas{position:absolute; top:5px; right:5px; display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:8px; font-size:.85rem; line-height:1; box-shadow:0 2px 6px rgba(0,0,0,.25);}
body.acb-sport .acb-choix-suppr{border:0; padding:0; cursor:pointer; background:rgba(255,255,255,.92); transition:background .15s ease, transform .15s ease;}
body.acb-sport .acb-choix-suppr:hover,body.acb-sport .acb-choix-suppr:focus-visible{background:var(--acb-piste); transform:scale(1.1);}
body.acb-sport .acb-choix-cadenas{background:rgba(11,29,58,.55); cursor:help;}
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-code-couleur{width:120px; min-height:42px; padding:6px 10px; border:2px solid var(--acb-trait); border-radius:10px; background:#fff; color:var(--acb-texte); font-family:Consolas,"Courier New",monospace; font-size:.95rem; text-transform:lowercase;}
body.acb-sport .acb-code-couleur:focus{outline:none; border-color:var(--acb-cyan); box-shadow:0 0 0 4px rgba(42,212,232,.18);}
body.acb-sport .acb-code-couleur.is-invalide{border-color:var(--acb-piste); background:#fde8e4;}
body.acb-sport .acb-code-couleur:disabled{background:var(--acb-fond-doux); color:#9aa7b8;}
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;}
body.acb-sport .acb-theme-apercu .ap-grand{font-size:1.35rem; text-align:center;}
body.acb-sport .acb-theme-apercu .ap-table{width:100%; border-collapse:separate; border-spacing:0 5px; margin-bottom:10px; font-size:.9rem;}
body.acb-sport .acb-theme-apercu .ap-th{padding:7px 10px; font-family:var(--acb-police-titre); font-weight:600; letter-spacing:.05em; text-transform:uppercase; text-align:left;}
body.acb-sport .acb-theme-apercu .ap-td{padding:7px 10px;}
body.acb-sport .acb-theme-apercu .ap-table tr > :first-child{border-radius:8px 0 0 8px;}
body.acb-sport .acb-theme-apercu .ap-table tr > :last-child{border-radius:0 8px 8px 0;}
body.acb-sport .acb-theme-apercu .ap-form{display:flex; flex-direction:column; gap:5px; padding:12px; border-radius:10px; box-shadow:0 4px 14px rgba(11,29,58,.12);}
body.acb-sport .acb-theme-apercu .ap-label{font-family:var(--acb-police-titre); font-weight:600; font-size:.95rem;}
body.acb-sport .acb-theme-apercu .ap-champ{display:block; padding:6px 10px; border:2px solid; border-radius:8px; background:#fff; font-size:.9rem;}
body.acb-sport .acb-theme-apercu .ap-case{display:flex; align-items:center; gap:8px; margin-top:4px; font-size:.9rem;}
body.acb-sport .acb-theme-apercu .ap-coche{display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:4px; color:#fff; font-size:.75rem;}
body.acb-sport .acb-theme-apercu .ap-form .ap-bouton{align-self:flex-start;}
body.acb-sport .acb-theme-apercu .ap-bandeau{position:relative; height:auto; flex-direction:column; align-items:stretch; gap:8px; padding:10px 12px; overflow:hidden;}
body.acb-sport .acb-theme-apercu .ap-mboutons,
body.acb-sport .acb-theme-apercu .ap-chips{position:relative; display:flex; flex-wrap:wrap; gap:6px;}
body.acb-sport .acb-theme-apercu .ap-mbtn{position:relative; padding:5px 10px 8px; border-radius:8px; background:rgba(255,255,255,.08); font-size:.85rem; letter-spacing:.04em; text-transform:uppercase;}
body.acb-sport .acb-theme-apercu .ap-mbtn-survol{background:rgba(255,255,255,.18);}
body.acb-sport .acb-theme-apercu .ap-mbtn i{position:absolute; left:12%; right:12%; bottom:2px; height:3px; border-radius:3px; transform:skewX(-20deg);}
body.acb-sport .acb-theme-apercu .ap-chip{padding:3px 11px; border-radius:999px; font-size:.8rem; font-weight:600; letter-spacing:.02em; transform:skewX(-8deg);}

@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;}
}

/* ============================================================
   4. SOUS-MENU DÉROULANT DU BANDEAU (bouton admin)
   ============================================================ */
.acb-caret{display:inline-block; margin-left:2px; font-size:.75em; transition:transform .2s ease;}
.acb-nav-btn.is-open{background:rgba(255,255,255,.2);}
.acb-nav-btn.is-open::after{transform:scaleX(1) skewX(-20deg);}
.acb-nav-btn.is-open .acb-caret{transform:rotate(180deg);}
.acb-sm{
	position:fixed; z-index:1040; width:min(560px, calc(100vw - 24px));
	max-height:calc(100vh - 140px); max-height:calc(100dvh - 140px); overflow-y:auto;
	margin-top:6px; padding:14px; border-radius:16px;
	background:#fff; color:var(--acb-texte, #1b2a41);
	font-family:var(--acb-police-titre, "Barlow Condensed", Arial, sans-serif);
	box-shadow:0 18px 44px rgba(5,15,35,.35);
	border-top:5px solid var(--acb-energie, #ff7a18);
	animation:acb-sm-entree .18s ease-out;
}
.acb-sm[hidden]{display:none;}
@keyframes acb-sm-entree{from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:none;}}
.acb-sm-entete{display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 2px 10px;}
.acb-sm-entete span{font-weight:700; font-size:1.1rem; letter-spacing:.05em; text-transform:uppercase; color:var(--acb-nuit, #0b1d3a);}
.acb-sm-entete a{font-weight:600; font-size:.95rem; color:var(--acb-energie, #ff7a18); text-decoration:none;}
.acb-sm-entete a:hover{text-decoration:underline; color:var(--acb-piste, #d9502f);}
.acb-sm-grille{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px;}
.acb-sm-lien{
	display:flex; align-items:center; gap:10px; min-height:48px; padding:5px 10px 5px 5px; border-radius:12px;
	color:var(--acb-nuit, #0b1d3a) !important; text-decoration:none !important;
	font-weight:600; font-size:1.02rem; letter-spacing:.02em; line-height:1.15;
	transition:background .15s ease, transform .15s ease;
}
/* sécurité : une image dans le sous-menu (ancienne version de l'en-tête) garde la taille d'une pastille */
.acb-sm-lien img{flex:0 0 auto; width:44px; height:40px; border-radius:10px; object-fit:cover;}
.acb-sm-picto{
	flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:44px; height:40px; border-radius:10px;
	font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif; font-size:1.45rem; line-height:1;
	background:var(--acb-fond-doux, #eef2f8); transition:transform .15s ease, background .15s ease;
}
.acb-sm-lien:hover .acb-sm-picto{background:#fff; transform:scale(1.08) rotate(-4deg);}
.acb-sm-lien.is-active .acb-sm-picto{background:rgba(255,255,255,.9);}
.acb-sm-lien:hover,.acb-sm-lien:focus-visible{background:var(--acb-energie-doux, #fff1e6); transform:translateX(2px);}
.acb-sm-lien:focus-visible{outline:2px solid var(--acb-cyan, #2ad4e8); outline-offset:1px;}
.acb-sm-lien.is-active{background:var(--acb-energie, #ff7a18); color:#fff !important;}
@media (max-width:767px){
	.acb-sm{width:auto; margin-top:4px;}
	.acb-sm-grille{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){ .acb-sm{animation:none;} }

/* bandeau « vue en tant que » (acbs_impersonate.php), en tête du bandeau principal */
.acb-imp-bandeau{
	display:flex; align-items:center; gap:10px; padding:6px 16px;
	background:#f5b712; color:#1a0e00; border-bottom:2px solid #d97706;
	font-family:var(--acb-police-titre, "Barlow Condensed", Arial, sans-serif); font-weight:700; font-size:1rem; letter-spacing:.03em;
}
.acb-imp-bandeau strong{color:#7c2d12;}
.acb-imp-bandeau a{
	margin-left:auto; padding:3px 12px; border-radius:999px; white-space:nowrap;
	background:rgba(0,0,0,.12); border:1px solid rgba(0,0,0,.25); color:#1a0e00 !important; text-decoration:none !important;
}
.acb-imp-bandeau a:hover{background:#1a0e00; color:#f5b712 !important;}
@media (max-width:767px){ .acb-imp-bandeau{font-size:.9rem; padding:5px 10px;} }

/* onglet Global de acbs_admin_club.php */
body.acb-sport .acb-apercu-menu{position:relative; display:flex; align-items:center; height:78px; padding:0 18px; border-radius:12px; overflow:hidden; background-color:var(--acb-nuit); background-size:cover; background-position:center; box-shadow:inset 0 -6px 0 var(--acb-piste);}
body.acb-sport .acb-apercu-menu-voile{position:absolute; inset:0;}
body.acb-sport .acb-apercu-menu span{position:relative; color:#fff; font-family:var(--acb-police-titre); font-weight:700; font-size:1.2rem; letter-spacing:.05em; text-transform:uppercase;}
body.acb-sport .acb-choix-bandeaux{grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); max-height:300px;}
body.acb-sport .acb-choix-bandeaux img{height:52px;}
body.acb-sport .acb-taille{display:flex; align-items:center; gap:8px;}
body.acb-sport .acb-taille input{max-width:110px;}
body.acb-sport .acb-taille span{color:#6b7a90;}
body.acb-sport .acb-apercu-global{padding:16px; border-radius:12px; background:var(--acb-carte);}
body.acb-sport .acb-apercu-global .ag-titre{font-family:var(--acb-police-titre); font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--acb-nuit); text-align:center; line-height:1.2;}
body.acb-sport .acb-apercu-global .ag-soustitre{margin:8px 0; font-family:var(--acb-police-titre); font-weight:700; text-transform:uppercase; color:var(--acb-nuit); line-height:1.2;}
body.acb-sport .acb-apercu-global .ag-table{width:100%; border-collapse:separate; border-spacing:0 5px; margin-bottom:10px;}
body.acb-sport .acb-apercu-global .ag-th{background:var(--acb-nuit); color:#fff; padding:8px 10px; font-family:var(--acb-police-titre); text-transform:uppercase; letter-spacing:.04em;}
body.acb-sport .acb-apercu-global .ag-td{background:rgba(255,255,255,var(--acb-ligne-a)); padding:8px 10px; color:var(--acb-texte);}
body.acb-sport .acb-apercu-global tr > :first-child{border-radius:8px 0 0 8px;}
body.acb-sport .acb-apercu-global tr > :last-child{border-radius:0 8px 8px 0;}
body.acb-sport .acb-apercu-global .ag-form{display:flex; flex-direction:column; gap:5px; padding:12px; border-radius:10px; background:#fff;}
body.acb-sport .acb-apercu-global .ag-titre-form{margin:0 0 6px; font-family:var(--acb-police-titre); font-size:24px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--acb-titre); line-height:1.2;}
body.acb-sport .acb-apercu-global .ag-label{font-family:var(--acb-police-titre); font-weight:600; color:var(--acb-nuit); margin:0;}
body.acb-sport .acb-apercu-global .ag-saisie,
body.acb-sport .acb-apercu-global .ag-combo{padding:6px 10px; border:2px solid var(--acb-trait); border-radius:8px; color:var(--acb-texte); background:#fff;}
body.acb-sport .acb-apercu-global .ag-case{display:flex; align-items:center; gap:8px; margin:4px 0 0; color:var(--acb-texte);}
body.acb-sport .acb-apercu-global .ag-auto{opacity:.75;}

/* ============================================================
   5. DESIGNS DU MENU PRINCIPAL (onglet Global de acbs_admin_club.php)
   classe acb-menu-<design> sur .acb-header ; « piste » = design de base
   ============================================================ */

/* --- Compact : barre fine, pilules icône + nom --------------------- */
.acb-menu-compact .acb-barre{padding:6px 16px 9px; gap:12px;}
.acb-menu-compact .acb-logo img{max-height:40px;}
.acb-menu-compact .acb-nav{gap:6px; align-items:center;}
.acb-menu-compact .acb-nav-btn{flex-direction:row; min-width:0; padding:6px 14px 6px 8px; gap:8px; border-radius:999px;}
.acb-menu-compact .acb-nav-btn img{max-height:24px; max-width:30px;}
.acb-menu-compact .acb-nav-label{font-size:.95rem;}
.acb-menu-compact .acb-nav-btn::after{bottom:1px;}
.acb-menu-compact .acb-sousmenu{padding-bottom:11px;}
.acb-menu-compact .acb-chip{padding:3px 12px 3px 5px; font-size:.9rem;}
.acb-menu-compact .acb-chip img{max-height:22px;}
.acb-menu-compact::after{height:4px; background:var(--acb-menu-piste);}
@media (max-width:767px){
	.acb-menu-compact .acb-nav-btn{flex-direction:column; border-radius:12px; padding:10px 5px;}
	.acb-menu-compact .acb-nav-label{font-size:.74rem;}
}

/* --- Centré : logo au centre, boutons dessous ---------------------- */
@media (min-width:768px){
	.acb-menu-centre .acb-barre{flex-direction:column; gap:8px; padding:12px 16px 12px;}
	.acb-menu-centre .acb-logo{padding:0; border-right:0;}
	.acb-menu-centre .acb-logo img{max-height:70px; filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));}
	.acb-menu-centre .acb-nav{flex:0 1 auto; justify-content:center; max-width:100%;}
	.acb-menu-centre .acb-sousmenu{justify-content:center;}
	.acb-menu-centre .acb-titre-page{text-align:center;}
	.acb-menu-centre::before{background:
		repeating-linear-gradient(-65deg, rgba(255,255,255,.05) 0 2px, transparent 2px 22px),
		radial-gradient(ellipse at 50% 30%, rgba(var(--acb-menu2-rgb),calc(var(--acb-menu-a) * .65)) 0%, rgba(var(--acb-menu1-rgb),var(--acb-menu-a)) 70%);}
}

/* --- Élan : boutons inclinés, traînées de vitesse ------------------- */
.acb-menu-elan::before{background:
	linear-gradient(115deg, transparent 58%, color-mix(in srgb, var(--acb-menu-survol) 40%, transparent) 58% 60.5%, transparent 60.5% 63%, color-mix(in srgb, var(--acb-cyan) 30%, transparent) 63% 64%, transparent 64%),
	repeating-linear-gradient(-65deg, rgba(255,255,255,.07) 0 3px, transparent 3px 16px),
	linear-gradient(100deg, rgba(var(--acb-menu1-rgb),var(--acb-menu-a)) 0%, rgba(var(--acb-menu2-rgb),calc(var(--acb-menu-a) * .92)) 55%, rgba(var(--acb-menu2-rgb),calc(var(--acb-menu-a) * .6)) 100%);}
.acb-menu-elan .acb-nav-btn{transform:skewX(-12deg); border-radius:6px; background:rgba(255,255,255,.1); border-left:3px solid var(--acb-menu-survol);}
.acb-menu-elan .acb-nav-btn > *{transform:skewX(12deg);}
.acb-menu-elan .acb-nav-btn:hover,
.acb-menu-elan .acb-nav-btn:focus-visible,
.acb-menu-elan .acb-nav-btn.is-open{transform:skewX(-12deg) translateX(3px); background:rgba(255,255,255,.2);}
.acb-menu-elan .acb-nav-label{font-style:italic;}
.acb-menu-elan .acb-logo{border-right:0; padding-right:22px; position:relative;}
.acb-menu-elan .acb-logo::after{content:""; position:absolute; right:4px; top:10%; bottom:10%; width:5px; border-radius:3px; background:linear-gradient(to bottom, var(--acb-menu-survol), var(--acb-cyan)); transform:skewX(-14deg);}
.acb-menu-elan .acb-chip{transform:skewX(-14deg); border-radius:6px;}
.acb-menu-elan .acb-chip > *{transform:skewX(14deg);}
.acb-menu-elan .acb-chip:hover,.acb-menu-elan .acb-chip:focus-visible{transform:skewX(-14deg) translateX(2px);}
.acb-menu-elan::after{height:6px; background:linear-gradient(90deg, var(--acb-menu-piste) 0 70%, var(--acb-menu-survol) 70% 85%, var(--acb-cyan) 85%);}
@media (max-width:767px){
	.acb-menu-elan .acb-nav-btn,
	.acb-menu-elan .acb-nav-btn:hover{transform:none;}
	.acb-menu-elan .acb-nav-btn > *{transform:none;}
}

/* --- Plongée : le menu « Marine nav » du site ACB Plongée ----------
   barre en verre fumé, reflet qui balaie, liseré scintillant en haut,
   tuiles aux icônes ternies qui s'illuminent, bulles qui remontent   */
.acb-bulles{display:none;}
.acb-menu-plongee{
	background:rgba(var(--acb-menu1-rgb), calc(var(--acb-menu-a) * .95 + .05)) !important;  /* pas d'image de bandeau */
	-webkit-backdrop-filter:blur(20px) saturate(1.4); backdrop-filter:blur(20px) saturate(1.4);
	border-bottom:1px solid color-mix(in srgb, var(--acb-cyan) 28%, transparent);
	box-shadow:0 4px 32px rgba(0,0,0,.7), inset 0 -1px 0 color-mix(in srgb, var(--acb-cyan) 10%, transparent);
	font-family:'Montserrat','Segoe UI',Arial,sans-serif;
}
/* reflet lumineux qui traverse la barre */
.acb-menu-plongee::before{
	inset:0 auto 0 -60%; width:55%;
	background:linear-gradient(105deg, transparent 40%, color-mix(in srgb, var(--acb-cyan) 8%, transparent) 50%, transparent 60%);
	animation:acb-plongee-reflet 6s linear infinite;
}
@keyframes acb-plongee-reflet{ to{ left:160%; } }
/* liseré scintillant en haut (remplace la bande piste) */
.acb-menu-plongee::after{
	top:0; bottom:auto; height:1px;
	background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--acb-cyan) 50%, transparent) 30%, color-mix(in srgb, var(--acb-cyan) 90%, #ffffff) 50%, color-mix(in srgb, var(--acb-cyan) 50%, transparent) 70%, transparent);
	animation:acb-plongee-scintille 5s ease-in-out infinite;
}
@keyframes acb-plongee-scintille{ 0%,100%{opacity:.4;} 50%{opacity:1;} }
/* bulles */
.acb-menu-plongee .acb-bulles{display:block; position:absolute; inset:0; overflow:hidden; pointer-events:none;}
.acb-menu-plongee .acb-bulles span{
	position:absolute; bottom:-8px; border-radius:50%;
	background:color-mix(in srgb, var(--acb-cyan) 14%, transparent);
	border:1px solid color-mix(in srgb, var(--acb-cyan) 25%, transparent);
	animation:acb-plongee-bulle linear infinite;
}
.acb-menu-plongee .acb-bulles span:nth-child(1){width:5px; height:5px; left:4%;  animation-duration:5.2s; animation-delay:0s;}
.acb-menu-plongee .acb-bulles span:nth-child(2){width:3px; height:3px; left:18%; animation-duration:7.1s; animation-delay:1.3s;}
.acb-menu-plongee .acb-bulles span:nth-child(3){width:7px; height:7px; left:35%; animation-duration:6.4s; animation-delay:.6s;}
.acb-menu-plongee .acb-bulles span:nth-child(4){width:4px; height:4px; left:55%; animation-duration:8s;   animation-delay:2.1s;}
.acb-menu-plongee .acb-bulles span:nth-child(5){width:5px; height:5px; left:72%; animation-duration:5.8s; animation-delay:3.2s;}
.acb-menu-plongee .acb-bulles span:nth-child(6){width:3px; height:3px; left:88%; animation-duration:9.2s; animation-delay:.2s;}
@keyframes acb-plongee-bulle{
	0%{bottom:-8px; transform:scale(1); opacity:0;}
	10%{opacity:.7;}
	80%{opacity:.3;}
	100%{bottom:100%; transform:scale(1.4); opacity:0;}
}
/* barre : une seule ligne, serrée */
.acb-menu-plongee .acb-barre{padding:6px 14px; gap:4px;}
.acb-menu-plongee .acb-nav{gap:4px; align-items:center;}
/* logo = tuile « accueil » */
.acb-menu-plongee .acb-logo{
	width:54px; height:54px; padding:0; margin-right:2px; justify-content:center; border-right:0; border-radius:10px;
	background:rgba(var(--acb-menu2-rgb),.55); border:1px solid color-mix(in srgb, var(--acb-cyan) 13%, transparent);
	transition:background .22s, border-color .22s, box-shadow .22s, transform .22s;
}
.acb-menu-plongee .acb-logo img{max-width:44px; max-height:44px; filter:brightness(.75) saturate(.5); transition:filter .22s;}
.acb-menu-plongee .acb-logo:hover{background:rgba(var(--acb-menu2-rgb),.72); border-color:color-mix(in srgb, var(--acb-cyan) 60%, transparent); box-shadow:0 0 18px color-mix(in srgb, var(--acb-cyan) 50%, transparent); transform:translateY(-2px);}
.acb-menu-plongee .acb-logo:hover img{transform:none; filter:brightness(1.2) saturate(1.5) drop-shadow(0 0 6px color-mix(in srgb, var(--acb-cyan) 75%, transparent));}
/* boutons = tuiles icône + libellé */
.acb-menu-plongee .acb-nav-btn{
	flex-direction:row; height:54px; min-width:0; padding:0 14px; gap:6px; border-radius:10px;
	background:rgba(var(--acb-menu2-rgb),.55); border:1px solid color-mix(in srgb, var(--acb-cyan) 13%, transparent);
	color:color-mix(in srgb, var(--acb-menu-texte) 85%, transparent);
	transition:background .22s, border-color .22s, box-shadow .22s, color .22s;
}
.acb-menu-plongee .acb-nav-btn::after{display:none;}
.acb-menu-plongee .acb-nav-btn img{max-width:30px; max-height:30px; filter:brightness(.75) saturate(.5); transition:filter .22s;}
.acb-menu-plongee .acb-nav-label{font-family:'Montserrat','Segoe UI',Arial,sans-serif; font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;}
.acb-menu-plongee .acb-nav-btn:hover,
.acb-menu-plongee .acb-nav-btn:focus-visible,
.acb-menu-plongee .acb-nav-btn.is-open{
	transform:none; background:rgba(var(--acb-menu2-rgb),.72); color:var(--acb-menu-texte);
	border-color:color-mix(in srgb, var(--acb-cyan) 60%, transparent);
	box-shadow:0 0 18px color-mix(in srgb, var(--acb-cyan) 45%, transparent), inset 0 1px 0 rgba(255,255,255,.08);
}
.acb-menu-plongee .acb-nav-btn:hover img,
.acb-menu-plongee .acb-nav-btn:focus-visible img,
.acb-menu-plongee .acb-nav-btn.is-open img{filter:brightness(1.2) saturate(1.4) drop-shadow(0 0 5px color-mix(in srgb, var(--acb-cyan) 60%, transparent));}
.acb-menu-plongee .acb-caret{color:color-mix(in srgb, var(--acb-cyan) 50%, transparent);}
.acb-menu-plongee .acb-btn-connexion{background:rgba(var(--acb-menu2-rgb),.45); border-color:color-mix(in srgb, var(--acb-cyan) 50%, transparent);}
.acb-menu-plongee .acb-btn-quitter{border-color:rgba(255,70,70,.45);}
.acb-menu-plongee .acb-btn-quitter:hover{background:rgba(200,30,30,.28); border-color:rgba(255,70,70,.55); box-shadow:none;}
/* sous-menu de la page = petites tuiles dans un bac */
.acb-menu-plongee .acb-sousmenu{
	width:max-content; max-width:calc(100% - 28px); margin:0 14px 8px; padding:3px 5px; gap:3px; border-radius:10px;
	background:rgba(var(--acb-menu2-rgb),.22); border:1px solid color-mix(in srgb, var(--acb-cyan) 18%, transparent);
}
.acb-menu-plongee .acb-chip{
	transform:none; border-radius:8px; padding:4px 10px 4px 5px;
	background:rgba(var(--acb-menu2-rgb),.5); border:1px solid color-mix(in srgb, var(--acb-cyan) 10%, transparent);
	color:var(--acb-menu-texte); font-family:'Montserrat','Segoe UI',Arial,sans-serif; font-size:.8rem;
}
.acb-menu-plongee .acb-chip > *{transform:none;}
.acb-menu-plongee .acb-chip img{filter:brightness(.78) saturate(.55);}
.acb-menu-plongee .acb-chip:hover,
.acb-menu-plongee .acb-chip:focus-visible{transform:none; background:rgba(var(--acb-menu2-rgb),.7); color:var(--acb-menu-texte); border-color:color-mix(in srgb, var(--acb-cyan) 50%, transparent); box-shadow:none;}
.acb-menu-plongee .acb-chip:hover img{filter:brightness(1.2) saturate(1.4) drop-shadow(0 0 5px color-mix(in srgb, var(--acb-cyan) 65%, transparent));}
.acb-menu-plongee .acb-chip.is-active{background:rgba(var(--acb-menu2-rgb),.8); color:var(--acb-menu-texte); border-color:var(--acb-cyan); box-shadow:0 0 12px color-mix(in srgb, var(--acb-cyan) 40%, transparent);}
/* panneau déroulant du bouton admin : verre fumé comme les menus plongée */
.acb-menu-plongee ~ .acb-sm{
	background:rgba(var(--acb-menu1-rgb), .94); color:var(--acb-menu-texte);
	-webkit-backdrop-filter:blur(22px) saturate(1.5); backdrop-filter:blur(22px) saturate(1.5);
	border:1px solid color-mix(in srgb, var(--acb-cyan) 28%, transparent); border-top:1px solid color-mix(in srgb, var(--acb-cyan) 28%, transparent);
	border-radius:10px; box-shadow:0 14px 44px rgba(0,0,0,.85);
	font-family:'Montserrat','Segoe UI',Arial,sans-serif;
}
.acb-menu-plongee ~ .acb-sm .acb-sm-entete span{color:var(--acb-menu-texte); font-family:inherit; font-size:.8rem; letter-spacing:1.5px;}
.acb-menu-plongee ~ .acb-sm .acb-sm-entete a{color:var(--acb-cyan);}
.acb-menu-plongee ~ .acb-sm .acb-sm-lien{color:color-mix(in srgb, var(--acb-menu-texte) 82%, transparent) !important; font-size:.85rem; border:1px solid transparent; border-radius:7px;}
.acb-menu-plongee ~ .acb-sm .acb-sm-lien:hover{background:rgba(var(--acb-menu2-rgb),.38); border-color:color-mix(in srgb, var(--acb-cyan) 32%, transparent); color:var(--acb-menu-texte) !important; transform:none;}
.acb-menu-plongee ~ .acb-sm .acb-sm-lien.is-active{background:rgba(var(--acb-menu2-rgb),.6); border-color:var(--acb-cyan);}
.acb-menu-plongee ~ .acb-sm .acb-sm-picto{background:rgba(var(--acb-menu2-rgb),.5);}
@media (max-width:767px){
	.acb-menu-plongee .acb-nav-btn{flex-direction:column; height:auto; padding:10px 5px;}
	.acb-menu-plongee .acb-nav-label{font-size:9px; letter-spacing:.2px;}
	.acb-menu-plongee .acb-logo{width:44px; height:44px;}
	.acb-menu-plongee .acb-logo img{max-height:36px;}
}
@media (prefers-reduced-motion:reduce){
	.acb-menu-plongee::before,.acb-menu-plongee::after,.acb-menu-plongee .acb-bulles span{animation:none;}
}

/* --- aperçus des designs dans l'onglet Global --------------------- */
.acb-header.acb-header-demo{position:relative; top:auto; left:auto; right:auto; z-index:auto; border-radius:12px; box-shadow:0 6px 16px rgba(11,29,58,.2); pointer-events:none;}
body.acb-sport .acb-designs{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px;}
body.acb-sport .acb-design{position:relative; display:block; margin:0; padding:12px; border-radius:14px; background:rgba(255,255,255,.7); border:3px solid transparent; cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease;}
body.acb-sport .acb-design:hover{border-color:var(--acb-trait);}
body.acb-sport .acb-design input{position:absolute; opacity:0;}
body.acb-sport .acb-design:has(input:checked){border-color:var(--acb-energie); box-shadow:0 6px 18px rgba(217,80,47,.2);}
body.acb-sport .acb-design:has(input:focus-visible){outline:2px solid var(--acb-cyan); outline-offset:2px;}
body.acb-sport .acb-design-nom{display:flex; align-items:center; gap:8px; font-family:var(--acb-police-titre); font-weight:700; font-size:1.15rem; letter-spacing:.04em; text-transform:uppercase; color:var(--acb-soustitre);}
body.acb-sport .acb-design-nom .acb-badge{position:static;}
body.acb-sport .acb-design-desc{margin:2px 0 10px; font-size:.88rem; color:#5b6b82;}
body.acb-sport .acb-design-cadre{overflow:hidden; border-radius:12px;}
body.acb-sport .acb-design-cadre .acb-header-demo{zoom:.72;}
@media (max-width:991px){ body.acb-sport .acb-designs{grid-template-columns:1fr;} }

/* boutons d'action ronds des tableaux (emoji dans un cercle, emojis de la table emoji_boutons) */
td.acb-actions{white-space:nowrap; text-align:center; vertical-align:middle;}
.acb-rond{
	display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin:2px 3px; padding:0;
	border:2px solid #2ad4e8; border-radius:50%;   /* cercle transparent au contour cyan */
	background:transparent; color:var(--acb-texte, #1b2a41) !important; text-decoration:none !important;
	font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif; font-size:17px; line-height:1;
	box-shadow:none; vertical-align:middle;
	transition:transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.acb-rond:hover,.acb-rond:focus-visible{background:rgba(42,212,232,.15); border-color:#2ad4e8; transform:translateY(-2px) scale(1.06); box-shadow:0 4px 10px rgba(42,212,232,.35);}
.acb-rond:focus-visible{outline:2px solid #2ad4e8; outline-offset:2px;}
.acb-rond-danger{border-color:#2ad4e8;}
.acb-rond-danger:hover,.acb-rond-danger:focus-visible{background:rgba(217,80,47,.15); border-color:#2ad4e8;}
@media (max-width:767px){ .acb-rond{width:32px; height:32px; font-size:15px; margin:2px;} }

/* ============================================================
   TABLEAUX SUR TÉLÉPHONE : une fiche par ligne
   le nom de chaque colonne (attribut data-label, posé par inc/theme_sport.php)
   s'affiche devant la valeur ; les actions forment une barre en bas de la fiche
   ============================================================ */
@media (max-width:767px){
	body.acb-sport table.tablesorter,
	body.acb-sport table.tablesorter thead,
	body.acb-sport table.tablesorter tbody{display:block; width:100% !important; min-width:0 !important; overflow:visible;}
	body.acb-sport table.tablesorter{border-spacing:0 !important; margin:0; table-layout:auto !important;}
	body.acb-sport table.tablesorter colgroup{display:none;}
	/* en-têtes masqués : leur nom est repris dans chaque fiche */
	body.acb-sport table.tablesorter thead tr:not(.tablesorter-filter-row){display:none;}
	/* filtres : un champ par colonne, empilés au-dessus des fiches */
	body.acb-sport table.tablesorter thead tr.tablesorter-filter-row{display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; padding:8px; border-radius:12px; background:rgba(238,242,248,.9);}
	body.acb-sport table.tablesorter thead tr.tablesorter-filter-row td{display:block; flex:1 1 calc(50% - 6px); min-width:0; padding:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important;}
	body.acb-sport table.tablesorter thead tr.tablesorter-filter-row td:empty,
	body.acb-sport table.tablesorter thead tr.tablesorter-filter-row td.filter-false,
	body.acb-sport table.tablesorter thead tr.tablesorter-filter-row td.acb-sans-filtre{display:none;}
	body.acb-sport table.tablesorter .tablesorter-filter{width:100% !important; min-height:36px;}
	/* une fiche par ligne */
	body.acb-sport table.tablesorter tbody > tr{
		display:block; margin:0 0 12px; border-radius:14px; overflow:hidden;
		background:rgba(var(--acb-td-rgb),var(--acb-impair-a)); box-shadow:0 2px 10px rgba(11,29,58,.1); filter:none;
	}
	body.acb-sport table.tablesorter tbody > tr:nth-child(even){background:rgba(var(--acb-td-rgb),calc(var(--acb-pair-a) + .15));}
	/* lignes écartées par un filtre ou par la pagination : masquées */
	body.acb-sport table.tablesorter tbody > tr.filtered,
	body.acb-sport table.tablesorter tbody > tr.remove-me{display:none;}
	body.acb-sport table.tablesorter tbody > tr > td,
	body.acb-sport table.tablesorter tbody > tr:nth-child(even) > td,
	body.acb-sport table.tablesorter tbody > tr:hover > td{
		display:flex; align-items:center; justify-content:space-between; gap:12px;
		width:auto !important; padding:8px 14px !important; text-align:right; word-break:break-word;
		background:transparent !important; border:0 !important; border-bottom:1px solid var(--acb-trait) !important; border-radius:0 !important;
	}
	body.acb-sport table.tablesorter tbody > tr > td::before{
		content:attr(data-label); flex:0 0 38%; text-align:left;
		font-family:var(--acb-police-titre); font-weight:600; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase;
		color:var(--acb-soustitre);
	}
	body.acb-sport table.tablesorter tbody > tr > td[data-label=""]::before{display:none;}
	body.acb-sport table.tablesorter tbody > tr > td[data-label=""]{justify-content:flex-start; text-align:left;}
	/* 1re valeur = titre de la fiche */
	body.acb-sport table.tablesorter tbody > tr > td:first-child{flex-direction:column; align-items:flex-start; gap:2px; text-align:left; font-weight:700; font-size:1.02em; overflow-wrap:anywhere; background:rgba(255,255,255,.35) !important;}
	body.acb-sport table.tablesorter tbody > tr > td:first-child::before{flex:none;}
	/* barre d'actions en bas de la fiche */
	body.acb-sport table.tablesorter tbody > tr > td.acb-actions{justify-content:center; gap:4px; flex-wrap:wrap; padding:10px 14px !important; border-bottom:0 !important; background:var(--acb-fond-doux) !important;}
	body.acb-sport table.tablesorter tbody > tr > td.acb-actions::before{display:none;}
	body.acb-sport table.tablesorter tbody > tr > td.acb-actions .acb-rond{width:40px; height:40px; font-size:18px;}
	body.acb-sport table.tablesorter tbody > tr > td:last-child{border-bottom:0 !important;}
	body.acb-sport table.tablesorter tbody img{max-width:120px; height:auto;}
	/* sélecteur de colonnes : sans objet sur téléphone */
	body.acb-sport .columnSelectorWrapper{display:none;}
}

/* compteur de résultats des filtres (téléphone) */
.acb-compte-filtre{display:none;}
@media (max-width:767px){
	body.acb-sport .acb-compte-filtre.is-actif{display:block; margin:-4px 0 10px; padding:6px 12px; border-radius:10px; background:var(--acb-energie-doux); color:#7a3a08; font-weight:600; font-size:.9rem; text-align:center;}
	body.acb-sport .acb-compte-filtre.is-vide{background:#fde8e4; color:#8a2413;}
}

/* ============================================================
   MENU EN TUILES (acbs_pageadmin.php?page=99…)
   photo en bandeau, emoji en pastille, titre + explication, flèche
   ============================================================ */
body.acb-sport .acb-tuiles{display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin:6px 0 10px;}   /* cartes centrées, dernière ligne comprise */
body.acb-sport .acb-tuile{
	position:relative; display:flex; flex-direction:column; flex:0 1 300px; min-height:250px; border-radius:18px; overflow:hidden;
	background:#fff; color:var(--acb-texte) !important; text-decoration:none !important;
	box-shadow:0 4px 16px rgba(11,29,58,.1); border:1px solid rgba(11,29,58,.06);
	transition:transform .22s ease, box-shadow .22s ease;
}
body.acb-sport .acb-tuile:hover,
body.acb-sport .acb-tuile:focus-visible{transform:translateY(-5px); box-shadow:0 16px 36px rgba(11,29,58,.2);}
body.acb-sport .acb-tuile:focus-visible{outline:3px solid var(--acb-cyan); outline-offset:3px;}
/* photo : dégradé du thème s'il n'y a pas d'image */
body.acb-sport .acb-tuile-image{
	display:block; height:140px; background-color:var(--acb-nuit); background-size:cover; background-position:center;
	background-image:linear-gradient(135deg, var(--acb-nuit), var(--acb-bleu));
	transition:transform .5s ease;
}
body.acb-sport .acb-tuile-image::after{content:""; position:absolute; left:0; right:0; top:0; height:140px; background:linear-gradient(to bottom, rgba(11,29,58,0) 45%, rgba(11,29,58,.45) 100%);}
body.acb-sport .acb-tuile:hover .acb-tuile-image{transform:scale(1.06);}
/* liseré « piste » sous la photo, qui s'allonge au survol */
body.acb-sport .acb-tuile::before{
	content:""; position:absolute; left:0; right:0; top:140px; height:4px; z-index:1;
	background:linear-gradient(90deg, var(--acb-energie), var(--acb-piste) 60%, var(--acb-cyan));
	transform:scaleX(.25); transform-origin:left; transition:transform .35s ease;
}
body.acb-sport .acb-tuile:hover::before{transform:scaleX(1);}
/* emoji en pastille, à cheval sur la photo */
body.acb-sport .acb-tuile-emoji{
	position:absolute; top:112px; left:18px; z-index:2;
	display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:50%;
	background:#fff; border:3px solid var(--acb-energie); box-shadow:0 6px 16px rgba(11,29,58,.25);
	font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif; font-size:26px; line-height:1;
	transition:transform .25s ease;
}
body.acb-sport .acb-tuile:hover .acb-tuile-emoji{transform:rotate(-8deg) scale(1.08);}
body.acb-sport .acb-tuile-corps{display:flex; flex-direction:column; gap:6px; padding:34px 20px 20px; flex:1;}
body.acb-sport .acb-tuile-titre{font-family:var(--acb-police-titre); font-weight:700; font-size:1.35rem; letter-spacing:.04em; text-transform:uppercase; color:var(--acb-soustitre); line-height:1.15;}
body.acb-sport .acb-tuile-desc{font-size:.95rem; line-height:1.45; color:#5b6b82;}
body.acb-sport .acb-tuile-fleche{
	position:absolute; right:16px; bottom:16px; display:flex; align-items:center; justify-content:center;
	width:36px; height:36px; border-radius:50%; background:var(--acb-fond-doux); color:var(--acb-nuit); font-size:1.1rem;
	transition:background .2s ease, color .2s ease, transform .2s ease;
}
body.acb-sport .acb-tuile:hover .acb-tuile-fleche{background:var(--acb-energie); color:#fff; transform:translateX(3px);}
body.acb-sport .acb-tuile-corps{padding-right:60px;}
@media (max-width:767px){
	body.acb-sport .acb-tuiles{gap:12px;}
	body.acb-sport .acb-tuile{flex:1 1 100%;}
	/* téléphone : tuile horizontale compacte */
	body.acb-sport .acb-tuile{flex-direction:row; align-items:center; min-height:0; border-radius:14px;}
	body.acb-sport .acb-tuile-image{width:96px; height:auto; align-self:stretch; flex:0 0 96px;}
	body.acb-sport .acb-tuile-image::after,
	body.acb-sport .acb-tuile::before{display:none;}
	body.acb-sport .acb-tuile-emoji{top:50%; left:68px; width:44px; height:44px; font-size:20px; transform:translateY(-50%); border-width:2px;}
	body.acb-sport .acb-tuile:hover .acb-tuile-emoji{transform:translateY(-50%) rotate(-8deg);}
	body.acb-sport .acb-tuile-corps{padding:12px 50px 12px 32px; gap:3px;}
	body.acb-sport .acb-tuile-titre{font-size:1.1rem;}
	body.acb-sport .acb-tuile-desc{font-size:.85rem;}
	body.acb-sport .acb-tuile-fleche{bottom:auto; top:50%; transform:translateY(-50%); width:30px; height:30px;}
	body.acb-sport .acb-tuile:hover .acb-tuile-fleche{transform:translateY(-50%) translateX(3px);}
}
@media (prefers-reduced-motion:reduce){ body.acb-sport .acb-tuile, body.acb-sport .acb-tuile *{transition:none !important;} }

/* ============================================================
   MESSAGES DE LA PAGE D'ACCUEIL
   index.php (affichage) et acbs_pageadmin.php?page=20 (saisie)
   ============================================================ */
.acb-message-accueil{padding:14px 18px; font-size:clamp(18px, 2.4vw, 40px); line-height:1.25; font-weight:300; text-align:center; text-shadow:1px 3px 5px rgba(0,0,0,.3); overflow-wrap:anywhere;}
.acb-message-accueil b, .acb-message-accueil strong{font-weight:700;}
.acb-message-accueil a{color:var(--acb-cyan, #2ad4e8);}

/* zones de saisie : même rendu que sur l'accueil (fond sombre, texte blanc centré) */
body.acb-sport .acb-case-video{display:flex; align-items:center; gap:10px; margin:0; font-weight:600; color:var(--acb-texte);}
body.acb-sport .acb-case-video input{width:20px; height:20px; accent-color:var(--acb-energie);}
body.acb-sport .acb-ce-barre{display:flex; flex-wrap:wrap; align-items:center; gap:4px; padding:6px 8px; border:2px solid var(--acb-trait); border-bottom:0; border-radius:12px 12px 0 0; background:var(--acb-fond-doux);}
body.acb-sport .acb-ce-btn, body.acb-sport .acb-ce-taille{
	display:inline-flex; align-items:center; gap:5px; min-height:34px; padding:0 10px; border:1px solid var(--acb-trait); border-radius:8px;
	background:#fff; color:var(--acb-nuit); font-size:.9rem; cursor:pointer; transition:background .15s ease, border-color .15s ease;
}
body.acb-sport .acb-ce-btn:hover, body.acb-sport .acb-ce-taille:hover{background:var(--acb-energie-doux); border-color:var(--acb-energie);}
body.acb-sport .acb-ce-sep{width:1px; height:22px; margin:0 3px; background:var(--acb-trait);}
body.acb-sport .acb-ce-pastille{width:14px; height:14px; border-radius:50%; background:linear-gradient(135deg, var(--acb-energie), var(--acb-cyan));}
body.acb-sport .acb-ce-zone{
	min-height:130px; max-height:360px; overflow-y:auto; padding:16px 18px;
	border:2px solid var(--acb-trait); border-radius:0 0 12px 12px; outline:none;
	background:linear-gradient(135deg, #1f2c42, #2c3e5a); color:#fff; text-align:center;
	font-family:'Montserrat','Segoe UI',Arial,sans-serif; font-size:22px; line-height:1.3; text-shadow:1px 3px 5px rgba(0,0,0,.3);
	transition:border-color .2s ease, box-shadow .2s ease;
}
body.acb-sport .acb-ce-zone:focus{border-color:var(--acb-cyan); box-shadow:0 0 0 4px rgba(42,212,232,.18);}
body.acb-sport .acb-ce-zone:empty::before{content:"Votre message…"; color:rgba(255,255,255,.45);}
body.acb-sport .acb-ce-zone a{color:var(--acb-cyan);}
/* panneaux flottants couleurs / emojis */
.acb-ce-panneau{position:fixed; z-index:1050; padding:10px; border-radius:12px; background:#fff; box-shadow:0 12px 34px rgba(11,29,58,.3); border:1px solid rgba(11,29,58,.1);}
.acb-ce-panneau[hidden]{display:none;}
.acb-ce-couleurs{display:grid; grid-template-columns:repeat(6, 30px); gap:6px;}
.acb-ce-couleurs button{width:30px; height:30px; border-radius:50%; border:2px solid rgba(11,29,58,.15); cursor:pointer; transition:transform .12s ease;}
.acb-ce-couleurs button:hover{transform:scale(1.15);}
.acb-ce-libre{display:flex; align-items:center; gap:8px; margin:10px 0 0; font-size:.85rem; color:#1b2a41;}
.acb-ce-libre input{width:40px; height:30px; padding:2px; border:1px solid #dfe5ee; border-radius:6px; cursor:pointer;}
#acb-ce-emojis{width:320px; max-width:calc(100vw - 16px);}
.acb-ce-onglets{display:flex; flex-wrap:wrap; gap:4px; padding-bottom:8px; margin-bottom:8px; border-bottom:1px solid #dfe5ee;}
.acb-ce-onglets button{padding:3px 8px; border:1px solid #dfe5ee; border-radius:6px; background:#fff; font-size:.8rem; cursor:pointer;}
.acb-ce-onglets button.actif{background:var(--acb-energie, #ff7a18); border-color:var(--acb-energie, #ff7a18); color:#fff;}
.acb-ce-emojis{display:flex; flex-wrap:wrap; gap:2px; max-height:220px; overflow-y:auto;}
.acb-ce-emojis[hidden]{display:none;}
.acb-ce-emojis button{width:36px; height:36px; border:0; border-radius:8px; background:none; font-size:22px; cursor:pointer;}
.acb-ce-emojis button:hover{background:#fff1e6;}
@media (max-width:767px){
	body.acb-sport .acb-ce-zone{font-size:18px; min-height:110px;}
	body.acb-sport .acb-ce-btn, body.acb-sport .acb-ce-taille{min-height:38px;}
}
body.acb-sport .acb-champ .acb-ce-taille{width:auto; min-height:34px; padding:0 8px;}   /* la liste Taille reste compacte dans la barre */

/* ============================================================
   CARTE D'ACCUEIL (index.php) — comme l'index du site ACB Plongée :
   voile dégradé + reflet lumineux sur la vidéo / l'image,
   carte en verre dépoli centrée : logo, nom du club, message
   ============================================================ */
.acb-hero-voile{position:absolute; inset:0; overflow:hidden; pointer-events:none;
	background:linear-gradient(160deg, rgba(0,5,18,.55) 0%, rgba(1,14,38,.22) 45%, rgba(0,8,24,.6) 100%);}
.acb-hero-voile::after{content:""; position:absolute; top:0; left:-60%; width:55%; height:100%;
	background:linear-gradient(105deg, transparent 40%, rgba(255,255,255,.06) 50%, transparent 60%);
	animation:acb-hero-reflet 9s linear infinite;}
@keyframes acb-hero-reflet{ to{ left:160%; } }
.card-img-overlay > .d-flex{position:relative; z-index:1;}
.acb-hero-carte{
	position:relative; width:100%; max-width:800px; margin:auto; padding:28px 48px 30px; box-sizing:border-box;
	color:#fff; text-align:center;
	-webkit-backdrop-filter:blur(18px) saturate(1.4); backdrop-filter:blur(18px) saturate(1.4);
	border:1px solid rgba(255,255,255,.2); border-radius:22px;
	box-shadow:0 32px 90px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.1), 0 0 80px rgba(42,212,232,.1);
	animation:acb-hero-fondu .85s ease both;
}
/* nom du club, en tête de carte */
.acb-hero-club{
	margin:0 64px 14px; font-family:var(--acb-police-titre, "Barlow Condensed", Arial, sans-serif);
	font-size:clamp(1.2rem, 2.8vw, 1.9rem); font-weight:700; letter-spacing:.12em; text-transform:uppercase;
	color:#fff; text-shadow:0 0 22px color-mix(in srgb, var(--acb-energie, #ff7a18) 60%, transparent);
}
.acb-hero-club::after{content:""; display:block; width:60px; height:3px; margin:10px auto 0; border-radius:2px;
	background:linear-gradient(90deg, var(--acb-energie, #ff7a18), var(--acb-cyan, #2ad4e8));}
/* logo en haut à gauche de la carte */
.acb-hero-logo{position:absolute; top:16px; left:20px; width:64px; height:64px; object-fit:contain;
	filter:drop-shadow(0 0 8px rgba(0,0,0,.45)); transition:transform .25s ease;}
.acb-hero-logo:hover{transform:scale(1.06) rotate(-3deg);}
.acb-hero-carte .acb-message-accueil{padding:4px 0 0; text-shadow:0 2px 16px rgba(0,0,0,.65); animation:acb-hero-fondu .85s .15s ease both;}
@keyframes acb-hero-fondu{ from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;} }
@media (max-width:600px){
	.acb-hero-carte{width:calc(100% - 20px); padding:20px 16px 22px; border-radius:16px;}
	.acb-hero-logo{position:static; display:block; width:52px; height:52px; margin:0 auto 8px;}
	.acb-hero-club{margin:0 0 12px;}
}
@media (prefers-reduced-motion:reduce){ .acb-hero-voile::after, .acb-hero-carte, .acb-hero-carte .acb-message-accueil{animation:none;} }
/* aperçu de la carte d'accueil (acbs_admin_club.php, onglet Global) */
.acb-apercu-accueil{position:relative; display:flex; align-items:center; justify-content:center; min-height:200px; margin:14px 0 6px; padding:24px 16px; border-radius:14px; overflow:hidden; background:#1f2c42 center/cover no-repeat;}
.acb-apercu-accueil::before{content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(0,5,18,.55), rgba(1,14,38,.22) 45%, rgba(0,8,24,.6));}
.acb-apercu-accueil .acb-hero-carte{max-width:520px; padding:20px 24px; box-shadow:0 16px 40px rgba(0,0,0,.5);}
.acb-apercu-accueil .acb-hero-club{margin:0 0 10px; font-size:1.2rem;}

/* ============================================================
   FORMULAIRES — format du site ACB Plongée (formulaires_ACB/ACB_form_evenement.php)
   <form><div class="acb-wrap"> en-tête, sections, grilles de champs, pied collant
   Couleurs : thème choisi (onglet Thèmes, partie Formulaires)
   Tailles  : onglet Global (titres, libellés, saisie, listes, cases)
   ============================================================ */
.acb-wrap{width:100%; max-width:960px; margin:10px auto 24px; box-sizing:border-box; font-family:var(--acb-police-texte); color:var(--acb-texte); text-align:left;}
.acb-wrap *, .acb-wrap *::before, .acb-wrap *::after{box-sizing:border-box;}

/* en-tête */
.acb-wrap .acb-form-header{position:relative; margin-bottom:16px; padding:18px 16px 16px; border-radius:14px; text-align:center; background:rgba(var(--acb-form-rgb), var(--acb-form-a)); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 8px 26px rgba(11,29,58,.14);}
.acb-wrap .acb-form-header::after{content:""; display:block; width:70px; height:4px; margin:14px auto 0; border-radius:2px; background:linear-gradient(90deg, var(--acb-energie), var(--acb-cyan));}
.acb-wrap .acb-title{margin:0; font-family:var(--acb-police-titre); font-size:var(--acb-taille-titre-form, clamp(1.4rem, 3vw, 2rem)); font-weight:700; line-height:1.2; letter-spacing:.05em; text-transform:uppercase; color:var(--acb-titre);}
.acb-wrap .acb-subtitle{margin-top:6px; font-size:1rem; font-weight:600; color:var(--acb-energie);}

/* section : panneau intercalaire */
body .acb-wrap .acb-section{
	margin:0 0 16px; padding:18px 22px 22px; border-radius:14px;
	background:rgba(var(--acb-form-rgb), var(--acb-form-a));
	-webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3);
	border:1px solid rgba(11,29,58,.08); box-shadow:0 8px 26px rgba(11,29,58,.14);
}
.acb-wrap .acb-section-title{
	display:flex; align-items:center; gap:9px; margin:0 0 16px; padding-bottom:10px;
	border-bottom:1px solid rgba(11,29,58,.1);
	font-family:var(--acb-police-titre); font-size:1.2rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
	color:var(--acb-soustitre);
}
.acb-wrap .acb-section-title::before{content:""; flex-shrink:0; width:4px; height:18px; border-radius:2px; background:linear-gradient(180deg, var(--acb-energie), var(--acb-piste));}
.acb-wrap .acb-section-title small{font-family:var(--acb-police-texte); font-size:.75em; font-weight:400; text-transform:none; letter-spacing:0; opacity:.7;}

/* grilles */
.acb-wrap .acb-grid{display:grid; gap:14px 18px; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));}
.acb-wrap .acb-grid.cols-2{grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));}
.acb-wrap .acb-grid.cols-3{grid-template-columns:repeat(auto-fill, minmax(195px, 1fr));}
.acb-wrap .acb-full{grid-column:1 / -1;}

/* champ : libellé + saisie */
.acb-wrap .acb-fgrp{display:flex; flex-direction:column; gap:5px; min-width:0;}
.acb-wrap .acb-fgrp > label{margin:0; font-family:var(--acb-police-titre); font-size:1rem; font-weight:600; letter-spacing:.03em; color:var(--acb-label);}
.acb-wrap .acb-fgrp > label .acb-oblig{color:var(--acb-piste); margin-left:3px;}
.acb-wrap .acb-fgrp input[type=text], .acb-wrap .acb-fgrp input[type=email], .acb-wrap .acb-fgrp input[type=tel],
.acb-wrap .acb-fgrp input[type=password], .acb-wrap .acb-fgrp input[type=number], .acb-wrap .acb-fgrp input[type=date],
.acb-wrap .acb-fgrp input[type=time], .acb-wrap .acb-fgrp input[type=url], .acb-wrap .acb-fgrp select, .acb-wrap .acb-fgrp textarea{
	width:100%; min-height:44px; padding:9px 13px; margin:0;
	border:2px solid var(--acb-trait); border-radius:10px; outline:none;
	background:#fff; color:var(--acb-saisie); font-family:inherit; font-size:1rem;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.acb-wrap .acb-fgrp select{color:var(--acb-combo); cursor:pointer;}
.acb-wrap .acb-fgrp select option{color:var(--acb-combo);}
.acb-wrap .acb-fgrp textarea{min-height:110px; resize:vertical;}
.acb-wrap .acb-fgrp input:focus, .acb-wrap .acb-fgrp select:focus, .acb-wrap .acb-fgrp textarea:focus{border-color:var(--acb-cyan); box-shadow:0 0 0 4px rgba(42,212,232,.18);}
.acb-wrap .acb-fgrp input:disabled, .acb-wrap .acb-fgrp select:disabled, .acb-wrap .acb-fgrp textarea:disabled,
.acb-wrap .acb-fgrp input[readonly]{background:var(--acb-fond-doux); color:#5b6b82; cursor:default;}
.acb-wrap .acb-fgrp input[type=file]{width:100%; padding:8px 10px; border:2px dashed var(--acb-trait); border-radius:10px; background:#fff; color:var(--acb-saisie); font-family:inherit; cursor:pointer;}
.acb-wrap .acb-fgrp input[type=file]::file-selector-button{margin-right:10px; padding:6px 14px; border:0; border-radius:8px; background:var(--acb-nuit); color:#fff; font-family:inherit; cursor:pointer;}
.acb-wrap .acb-fgrp input[type=color]{width:64px; height:40px; padding:2px; border:2px solid var(--acb-trait); border-radius:8px; background:#fff; cursor:pointer;}
.acb-wrap .acb-aide{font-size:.85rem; color:#5b6b82;}
.acb-wrap .acb-fgrp img{max-width:100%; height:auto; border-radius:8px;}

/* cases à cocher et boutons radio en pastilles */
.acb-wrap .acb-checks{display:flex; flex-direction:column; gap:7px;}
.acb-wrap .acb-checks.ligne, .acb-wrap .acb-radio{display:flex; flex-direction:row; flex-wrap:wrap; gap:8px 12px;}
.acb-wrap .acb-radio.col{flex-direction:column; gap:7px;}
.acb-wrap .acb-checks label, .acb-wrap .acb-radio label{
	display:flex !important; align-items:center; gap:9px; margin:0 !important; padding:8px 13px;
	border:1px solid var(--acb-trait); border-radius:10px; background:#fff; cursor:pointer;
	font-size:1rem; font-weight:500; color:var(--acb-texte); text-transform:none; letter-spacing:0;
	transition:background .15s ease, border-color .15s ease;
}
.acb-wrap .acb-checks label:hover, .acb-wrap .acb-radio label:hover{border-color:var(--acb-case);}
.acb-wrap .acb-checks label:has(input:checked), .acb-wrap .acb-radio label:has(input:checked){border-color:var(--acb-case); background:color-mix(in srgb, var(--acb-case) 12%, #fff); color:var(--acb-texte);}
.acb-wrap .acb-checks input[type=checkbox], .acb-wrap .acb-radio input[type=radio]{
	position:static !important; float:none !important; opacity:1 !important; margin:0 !important;
	width:18px; height:18px; flex-shrink:0; accent-color:var(--acb-case); cursor:pointer;
}

/* badge, rangée libellé + prix */
.acb-wrap .acb-info-badge{display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:8px; background:var(--acb-fond-doux); border:1px solid var(--acb-trait); font-size:.9rem; color:#5b6b82;}
.acb-wrap .acb-option-row{display:grid; grid-template-columns:1fr 140px; gap:10px; align-items:end; padding:10px 12px; border-radius:10px; background:var(--acb-fond-doux); border:1px solid var(--acb-trait);}

/* pied collant : Retour + Valider */
.acb-wrap .acb-footer{
	position:sticky; bottom:0; z-index:10; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px;
	margin-top:22px; padding:14px 20px; border-radius:14px;
	background:rgba(var(--acb-form-rgb), .9); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
	box-shadow:0 -4px 20px rgba(11,29,58,.12);
}
.acb-wrap .acb-btn-back, .acb-wrap .acb-btn-submit{
	display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:46px; padding:0 28px;
	border-radius:50px; cursor:pointer; text-decoration:none !important;
	font-family:var(--acb-police-titre); font-size:1.05rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
	transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.acb-wrap .acb-btn-back{border:2px solid var(--acb-trait); background:#fff; color:var(--acb-nuit) !important;}
.acb-wrap .acb-btn-back:hover{border-color:var(--acb-nuit); transform:translateY(-2px);}
.acb-wrap .acb-btn-submit{border:0; background:linear-gradient(135deg, var(--acb-energie), var(--acb-piste)); color:#fff !important; box-shadow:0 6px 16px rgba(217,80,47,.35);}
.acb-wrap .acb-btn-submit:hover{transform:translateY(-2px); box-shadow:0 10px 22px rgba(217,80,47,.45);}
.acb-wrap .acb-btn-emj{font-size:1.3em; line-height:1;}
.acb-wrap .acb-btn-del{display:inline-flex; align-items:center; gap:7px; min-height:46px; padding:0 28px; border:0; border-radius:50px; background:linear-gradient(135deg, #e5484d, #b3261e); color:#fff !important; font-family:var(--acb-police-titre); font-size:1.05rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; text-decoration:none !important;}

/* messages */
.acb-wrap .acb-msg-ok, .acb-wrap .acb-msg-err{margin:0 0 16px; padding:12px 16px; border-radius:10px; font-weight:600;}
.acb-wrap .acb-msg-ok{background:#e3f7ec; color:#11643a; border-left:4px solid #1fae63;}
.acb-wrap .acb-msg-err{background:#fde8e4; color:#8a2413; border-left:4px solid var(--acb-piste);}
.acb-wrap .acb-message{padding:26px 22px; text-align:center; font-size:1.15rem; font-weight:600; color:var(--acb-texte);}
.acb-wrap .acb-message .acb-message-emj{display:block; margin-bottom:8px; font-size:2.6rem;}

@media (max-width:640px){
	.acb-wrap{margin:6px auto 16px;}
	.acb-wrap .acb-grid, .acb-wrap .acb-grid.cols-2, .acb-wrap .acb-grid.cols-3{grid-template-columns:1fr !important;}
	body .acb-wrap .acb-section{padding:14px 12px 16px;}
	.acb-wrap .acb-option-row{grid-template-columns:1fr;}
	.acb-wrap .acb-footer{padding:10px 12px; gap:12px;}
	.acb-wrap .acb-btn-back, .acb-wrap .acb-btn-submit{padding:0 22px;}
	.acb-wrap .acb-btn-back .acb-btn-txt{display:none;}
	.acb-wrap .acb-fgrp input, .acb-wrap .acb-fgrp select, .acb-wrap .acb-fgrp textarea{font-size:16px;}   /* pas de zoom automatique sur iPhone */
}

/* --- balisage Formoid dans le format .acb-wrap (formulaires d'éditeur convertis automatiquement) --- */
.acb-wrap .acb-formoid-corps{display:flex; flex-direction:column; gap:14px;}
.acb-wrap .acb-formoid-corps > .acb-form-header{margin:0; padding:4px 0 12px; background:none; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; border-radius:0;}
.acb-wrap .acb-formoid-corps [class^="element-"]{display:flex; flex-direction:column; gap:5px; margin:0; padding:0; min-width:0;}
.acb-wrap .acb-formoid-corps label.title{margin:0; font-family:var(--acb-police-titre); font-size:1rem; font-weight:600; letter-spacing:.03em; color:var(--acb-label);}
.acb-wrap .acb-formoid-corps label.title label.title{display:contents;}
.acb-wrap .acb-formoid-corps .item-cont{display:flex; flex-wrap:wrap; gap:8px;}
.acb-wrap .acb-formoid-corps .icon-place, .acb-wrap .acb-formoid-corps .clearfix,
.acb-wrap .acb-formoid-corps .element-file .button, .acb-wrap .acb-formoid-corps .element-file .file_text{display:none;}
.acb-wrap .acb-formoid-corps .item-cont input[type=text], .acb-wrap .acb-formoid-corps .item-cont input[type=date], .acb-wrap .acb-formoid-corps .item-cont input[type=number],
.acb-wrap .acb-formoid-corps .item-cont input[type=email], .acb-wrap .acb-formoid-corps .item-cont input[type=time], .acb-wrap .acb-formoid-corps .item-cont select, .acb-wrap .acb-formoid-corps .item-cont textarea{
	flex:1 1 220px; width:100%; min-height:44px; padding:9px 13px; margin:0;
	border:2px solid var(--acb-trait); border-radius:10px; outline:none; background:#fff; color:var(--acb-saisie); font-family:inherit; font-size:1rem;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.acb-wrap .acb-formoid-corps .item-cont select{color:var(--acb-combo);}
.acb-wrap .acb-formoid-corps .item-cont textarea{min-height:110px; resize:vertical;}
.acb-wrap .acb-formoid-corps .item-cont input:focus, .acb-wrap .acb-formoid-corps .item-cont textarea:focus, .acb-wrap .acb-formoid-corps .item-cont select:focus{border-color:var(--acb-cyan); box-shadow:0 0 0 4px rgba(42,212,232,.18);}
.acb-wrap .acb-formoid-corps .item-cont input[type=color]{width:64px; height:42px; padding:2px; border:2px solid var(--acb-trait); border-radius:8px; background:#fff; cursor:pointer;}
.acb-wrap .acb-formoid-corps .element-file label.large{display:block; width:100%;}
.acb-wrap .acb-formoid-corps .element-file input[type=file]{display:block; width:100%; padding:8px 10px; border:2px dashed var(--acb-trait); border-radius:10px; background:#fff; color:var(--acb-saisie); cursor:pointer; opacity:1; position:static;}
.acb-wrap .acb-formoid-corps .element-file input[type=file]::file-selector-button{margin-right:10px; padding:6px 14px; border:0; border-radius:8px; background:var(--acb-nuit); color:#fff; cursor:pointer;}
.acb-wrap .acb-formoid-corps .element-radio, .acb-wrap .acb-formoid-corps .element-checkbox{flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px 12px;}
.acb-wrap .acb-formoid-corps .element-radio > label.title, .acb-wrap .acb-formoid-corps .element-checkbox > label.title{flex-basis:100%;}
.acb-wrap .acb-formoid-corps .column{display:contents;}
.acb-wrap .acb-formoid-corps .column label{
	display:flex; align-items:center; gap:9px; margin:0; padding:8px 13px; border:1px solid var(--acb-trait); border-radius:10px; background:#fff; cursor:pointer;
	font-size:1rem; font-weight:500; color:var(--acb-texte);
}
.acb-wrap .acb-formoid-corps .column label:has(input:checked){border-color:var(--acb-case); background:color-mix(in srgb, var(--acb-case) 12%, #fff);}
.acb-wrap .acb-formoid-corps .column input{position:static; opacity:1; width:18px; height:18px; margin:0; accent-color:var(--acb-case);}
.acb-wrap .acb-formoid-corps .element-separator hr{display:none;}
.acb-wrap .acb-formoid-corps .section-break-title{margin:6px 0 0; font-family:var(--acb-police-titre); font-size:1.15rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--acb-soustitre);}
.acb-wrap .acb-formoid-corps .cke{border-radius:10px; overflow:hidden; border-color:var(--acb-trait) !important; box-shadow:none;}
.acb-wrap input.acb-btn-submit{-webkit-appearance:none; appearance:none;}

/* éditeurs CKEditor au format du formulaire de présentation (formulaires/acbs_ckeditor.php), sur toutes les pages */
.acb-wrap.acb-editeur .acb-editeur-zone{padding:10px;}
.acb-wrap.acb-editeur .cke{border:2px solid var(--acb-trait) !important; border-radius:12px; overflow:hidden; box-shadow:none !important;}
.acb-wrap.acb-editeur .cke_top{background:var(--acb-fond-doux) !important; border-bottom:1px solid var(--acb-trait) !important;}
.acb-wrap.acb-editeur .cke_bottom{background:var(--acb-fond-doux) !important; border-top:1px solid var(--acb-trait) !important;}
.acb-wrap.acb-editeur .cke_focus{border-color:var(--acb-cyan) !important;}
.acb-wrap.acb-editeur .acb-form-header{text-align:left; padding:14px 20px;}
.acb-wrap.acb-editeur .acb-form-header::after{margin:10px 0 0;}
/* titres des formulaires de présentation et d'accueil : même variable que .acb-wrap .acb-title (onglet Global) */
body.acb-sport form.acb-editeur .acb-bloc-titre, body.acb-sport form.acb-editeur-accueil .acb-bloc-titre{font-size:var(--acb-taille-titre-form, 1.45rem);}

/* nom de la variable CSS affiché sur les champs de l'onglet Thèmes (acbs_admin_club.php) */
body.acb-sport .acb-var-css{display:inline-block; margin-left:6px; padding:1px 7px; border-radius:6px; background:var(--acb-fond-doux); border:1px solid var(--acb-trait); color:#5b6b82; font-family:Consolas,'Courier New',monospace; font-size:.78rem; font-weight:400; letter-spacing:0; text-transform:none; vertical-align:middle; cursor:copy; user-select:all; transition:background .15s ease, color .15s ease;}
body.acb-sport .acb-var-css:hover{border-color:var(--acb-energie); color:var(--acb-nuit);}
body.acb-sport .acb-var-css.copie{background:#e3f7ec; border-color:#1fae63; color:#11643a;}
body.acb-sport .acb-var-css.copie::after{content:' copié';}

/* message supprimé (acbs_table_messages.php) */
body.acb-sport .acb-badge-supprime{display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 6px; margin-left:4px; border-radius:999px; background:var(--acb-piste); color:#fff; font-size:.75rem; font-weight:700; vertical-align:middle;}

/* tableaux des messages (acbs_table_messages.php?page=1) et des adhérents (acbs_table_adherents.php?page=1) : couleurs imposées */
body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter thead th, body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter thead tr:not(.tablesorter-filter-row) td{background:#0b1d3a !important; color:var(--acb-th-texte) !important;}
body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter thead th *{color:var(--acb-th-texte) !important;}
body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter tbody > tr{background:transparent !important;}   /* annule le fond rouge de #today (design_planning.css) */
body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter tbody > tr > td{background:rgba(var(--acb-td-rgb),var(--acb-impair-a)) !important; color:var(--acb-td-texte) !important;}
body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter tbody > tr:nth-child(even) > td{background:rgba(var(--acb-td-rgb),var(--acb-pair-a)) !important;}
body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter tbody > tr > td *:not(.acb-rond):not(.acb-badge-supprime){color:inherit;}
body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter tbody > tr:hover > td{background:rgba(var(--acb-td-rgb),1) !important;}
body.acb-sport :is(#unseen_table_messages, #unseen_table_adherents_club) table.tablesorter tbody > tr#today > td:first-child{box-shadow:inset 5px 0 0 var(--acb-energie);}   /* message sans réponse */

/* aperçu de la police (acbs_admin_club.php, onglet Global) */
body.acb-sport .acb-apercu-police{margin:10px 0 6px; padding:14px 18px; border-radius:12px; background:#fff; border:1px solid var(--acb-trait);}
body.acb-sport .acb-apercu-police-titre{font-size:1.5rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--acb-titre);}
body.acb-sport .acb-apercu-police-texte{margin-top:6px; font-size:1rem; color:var(--acb-texte);}

/* tous les tableaux : séparateurs verticaux de colonnes (écran large ; sur téléphone chaque ligne devient une fiche) */
@media (min-width:768px){
	body table.tablesorter.tablesorter thead > tr > th + th, body table.tablesorter.tablesorter thead > tr > td + td,
	body table.tablesorter.tablesorter tbody > tr > td + td{border-left:1px solid rgba(42,212,232,.35) !important;}   /* #2ad4e8 atténué */
	body table.tablesorter.tablesorter thead > tr.tablesorter-filter-row > td + td{border-left-color:rgba(42,212,232,.2) !important;}
}

/* ============================================================
   BAS DE PAGE (inc/pied.php) — couleurs du menu principal du thème
   ============================================================ */
footer.acb-pied{
	position:relative; clear:both; width:100%; margin:48px 0 0; padding:0; box-sizing:border-box;
	background:linear-gradient(100deg, rgba(var(--acb-menu1-rgb), .97) 0%, rgba(var(--acb-menu2-rgb), .97) 100%);
	color:var(--acb-menu-texte, #fff); font-family:var(--acb-police-texte); font-size:15px; line-height:1.5; text-align:left; text-shadow:none;
}
/* liseré « piste d'athlétisme » en haut, comme sous le bandeau */
footer.acb-pied::before{
	content:""; display:block; height:6px;
	background:linear-gradient(to bottom, transparent 0 1px, rgba(255,255,255,.8) 1px 2px, transparent 2px 4px, rgba(255,255,255,.8) 4px 5px, transparent 5px), var(--acb-menu-piste, var(--acb-piste));
}
footer.acb-pied *{box-sizing:border-box;}
footer.acb-pied .acb-pied-grille{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:28px 32px; max-width:1200px; margin:0 auto; padding:34px 24px 26px;}
footer.acb-pied .acb-pied-titre{
	margin:0 0 14px; padding-bottom:8px; position:relative;
	font-family:var(--acb-police-titre); font-size:1.15rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--acb-menu-texte, #fff);
}
footer.acb-pied .acb-pied-titre::after{content:""; position:absolute; left:0; bottom:0; width:42px; height:3px; border-radius:2px; background:linear-gradient(90deg, var(--acb-energie), var(--acb-cyan));}
footer.acb-pied ul{list-style:none; margin:0; padding:0;}
footer.acb-pied li{display:flex; align-items:flex-start; gap:9px; margin:0 0 9px;}
footer.acb-pied p{margin:0 0 12px; color:rgba(255,255,255,.82);}
footer.acb-pied a{color:rgba(255,255,255,.88) !important; text-decoration:none !important; transition:color .15s ease;}
footer.acb-pied a:hover{color:var(--acb-menu-survol, var(--acb-energie)) !important;}
footer.acb-pied .acb-pied-emj{flex:none; width:22px; text-align:center; font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;}
footer.acb-pied p .acb-pied-emj{display:inline-block; margin-right:6px;}
footer.acb-pied .acb-pied-bouton{
	display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:0 20px; border-radius:50px;
	background:linear-gradient(135deg, var(--acb-energie), var(--acb-piste)); color:#fff !important;
	font-family:var(--acb-police-titre); font-weight:700; letter-spacing:.05em; text-transform:uppercase;
	box-shadow:0 6px 16px rgba(0,0,0,.25); transition:transform .15s ease, box-shadow .15s ease;
}
footer.acb-pied .acb-pied-bouton:hover{color:#fff !important; transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.32);}
footer.acb-pied .acb-pied-reseaux{display:flex; flex-wrap:wrap; gap:10px; margin-top:6px;}
footer.acb-pied .acb-pied-reseaux a{
	display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%;
	border:2px solid #2ad4e8; background:transparent; font-size:18px; transition:background .15s ease, transform .15s ease;
}
footer.acb-pied .acb-pied-reseaux a:hover{background:rgba(42,212,232,.18); color:#fff !important; transform:translateY(-2px);}
footer.acb-pied .acb-pied-bas{
	display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 10px; padding:14px 20px;
	background:rgba(0,0,0,.25); border-top:1px solid rgba(255,255,255,.1); font-size:.88rem; color:rgba(255,255,255,.75); text-align:center;
}
footer.acb-pied .acb-pied-sep{opacity:.5;}
@media (max-width:991px){ footer.acb-pied .acb-pied-grille{grid-template-columns:repeat(2, minmax(0, 1fr));} }
@media (max-width:575px){
	footer.acb-pied .acb-pied-grille{grid-template-columns:1fr; gap:22px; padding:26px 16px 20px;}
	footer.acb-pied .acb-pied-sep{display:none;}
	footer.acb-pied .acb-pied-bas{flex-direction:column;}
}

/* bas de page en accordéon : volets <details>, titre cliquable avec chevron */
footer.acb-pied .acb-pied-grille{align-items:start; padding-top:22px; padding-bottom:18px;}
footer.acb-pied details.acb-pied-col{border-radius:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); transition:background .2s ease, border-color .2s ease;}
footer.acb-pied details.acb-pied-col[open]{background:rgba(255,255,255,.1); border-color:rgba(42,212,232,.45);}
footer.acb-pied summary.acb-pied-titre{display:flex; align-items:center; gap:8px; margin:0; padding:12px 16px; cursor:pointer; list-style:none; user-select:none; border-radius:12px;}
footer.acb-pied summary.acb-pied-titre::-webkit-details-marker{display:none;}
footer.acb-pied summary.acb-pied-titre::after{content:""; position:static; flex:none; width:9px; height:9px; margin-left:auto; border-right:2px solid #2ad4e8; border-bottom:2px solid #2ad4e8; border-radius:0; background:none; transform:rotate(45deg) translate(-2px,-2px); transition:transform .2s ease;}
footer.acb-pied details[open] > summary.acb-pied-titre::after{transform:rotate(-135deg) translate(-2px,-2px);}
footer.acb-pied summary.acb-pied-titre:hover{background:rgba(255,255,255,.06);}
footer.acb-pied summary.acb-pied-titre:focus-visible{outline:2px solid #2ad4e8; outline-offset:2px;}
footer.acb-pied details[open] > summary.acb-pied-titre{box-shadow:inset 0 -3px 0 var(--acb-energie);}
footer.acb-pied .acb-pied-contenu{padding:14px 16px 16px; animation:acb-pied-ouvre .25s ease;}
@keyframes acb-pied-ouvre{ from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:none;} }
@media (max-width:575px){ footer.acb-pied .acb-pied-grille{gap:10px;} }
@media (prefers-reduced-motion:reduce){ footer.acb-pied .acb-pied-contenu{animation:none;} }

/* bas de page à 2 volets : le club (plus large) et les liens rapides */
footer.acb-pied .acb-pied-grille{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr);}
footer.acb-pied .acb-pied-club .acb-pied-contenu ul{columns:2 220px; column-gap:28px;}
footer.acb-pied .acb-pied-club .acb-pied-contenu li{break-inside:avoid;}
@media (max-width:575px){ footer.acb-pied .acb-pied-grille{grid-template-columns:1fr;} footer.acb-pied .acb-pied-club .acb-pied-contenu ul{columns:1;} }

/* cartes (liste des thèmes…) : actions en petits boutons ronds alignés */
body.acb-sport .acb-item-actions.acb-item-ronds{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin:0 12px; padding:10px 0 12px; border-top:1px solid var(--acb-trait);}
body.acb-sport .acb-item-ronds form{display:contents; margin:0;}
body.acb-sport .acb-item-ronds .acb-rond{margin:0; width:36px; height:36px; font-size:16px;}
button.acb-rond{box-sizing:content-box; -webkit-appearance:none; appearance:none; cursor:pointer; padding:0; font:inherit; font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif; line-height:1;}

/* intercalaire (carte de la page) : même largeur et même position sur toutes les pages, comme acbs_pageadmin.php?page=99 */
body .col-xs-12 > .tm-5-col-container, body .acb-club-carte{box-sizing:border-box; width:auto; max-width:none !important; margin:14px 12px 32px !important; padding:24px 18px 28px !important; border-radius:var(--acb-rayon, 18px);}
@media (max-width:767px){ body .col-xs-12 > .tm-5-col-container, body .acb-club-carte{margin:10px 8px 24px !important; padding:20px 14px 22px !important;} }

/* toutes les pages avec le bandeau du thème (menus/entete.php) : plus de décalage top:10vh, la cale du bandeau suffit (comme body.acb-sport) */
body:has(#acb-header-spacer){top:0 !important;}

/* ============================================================
   CHOIX DES DISCIPLINES (acbs_menuSections.php) : cartes photo, filtres par famille, recherche
   ============================================================ */
.acb-disc-outils{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:4px 0 10px;}
.acb-disc-filtres{display:flex; flex-wrap:wrap; gap:8px;}
.acb-disc-filtre{
	display:inline-flex; align-items:center; gap:6px; min-height:38px; padding:0 16px; border-radius:50px; cursor:pointer;
	border:2px solid var(--acb-trait); background:#fff; color:var(--acb-nuit);
	font-family:var(--acb-police-titre); font-weight:600; font-size:.95rem; letter-spacing:.04em; text-transform:uppercase;
	transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.acb-disc-filtre:hover{border-color:var(--acb-cyan);}
.acb-disc-filtre.actif{background:linear-gradient(135deg, var(--acb-energie), var(--acb-piste)); border-color:transparent; color:#fff; box-shadow:0 4px 12px rgba(217,80,47,.3);}
.acb-disc-recherche{display:flex; align-items:center; gap:8px; flex:0 1 320px; min-height:42px; padding:0 14px; border:2px solid var(--acb-trait); border-radius:50px; background:#fff; margin:0;}
.acb-disc-recherche:focus-within{border-color:var(--acb-cyan); box-shadow:0 0 0 4px rgba(42,212,232,.18);}
.acb-disc-recherche input{flex:1; min-width:0; border:0; outline:none; background:transparent; font-family:var(--acb-police-texte); font-size:1rem; color:var(--acb-texte);}
.acb-disc-compte{margin:0 0 12px; font-size:.9rem; color:#5b6b82;}

.acb-disc-grille{display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:18px;}
.acb-disc{
	position:relative; display:block; aspect-ratio:4 / 3; border-radius:16px; overflow:hidden; isolation:isolate;
	text-decoration:none !important; background:var(--acb-nuit);
	box-shadow:0 8px 22px rgba(11,29,58,.22); transition:transform .25s ease, box-shadow .25s ease;
}
.acb-disc[hidden]{display:none;}
.acb-disc-img{position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s ease;}
.acb-disc-voile{position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,29,58,0) 35%, rgba(11,29,58,.88) 100%);}
.acb-disc-badge{
	position:absolute; top:10px; left:10px; z-index:1; padding:3px 10px; border-radius:50px;
	background:rgba(255,255,255,.9); color:var(--acb-nuit); font-size:.72rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
}
.acb-disc-bas{position:absolute; left:0; right:0; bottom:0; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:10px; padding:14px 16px;}
.acb-disc-nom{
	color:#fff; font-family:var(--acb-police-titre); font-weight:700; font-size:1.25rem; line-height:1.15; letter-spacing:.04em; text-transform:uppercase;
	text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.acb-disc-nom::after{content:""; display:block; width:36px; height:3px; margin-top:6px; border-radius:2px; background:linear-gradient(90deg, var(--acb-energie), var(--acb-cyan)); transition:width .3s ease;}
.acb-disc-fleche{
	flex:none; display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%;
	border:2px solid #2ad4e8; color:#fff; font-size:1rem; transform:translateX(-6px); opacity:0; transition:opacity .25s ease, transform .25s ease, background .25s ease;
}
.acb-disc:hover, .acb-disc:focus-visible{transform:translateY(-4px); box-shadow:0 16px 34px rgba(11,29,58,.32);}
.acb-disc:hover .acb-disc-img, .acb-disc:focus-visible .acb-disc-img{transform:scale(1.08);}
.acb-disc:hover .acb-disc-nom::after, .acb-disc:focus-visible .acb-disc-nom::after{width:64px;}
.acb-disc:hover .acb-disc-fleche, .acb-disc:focus-visible .acb-disc-fleche{opacity:1; transform:none; background:rgba(42,212,232,.25);}
.acb-disc:focus-visible{outline:3px solid #2ad4e8; outline-offset:3px;}
.acb-disc-vide{margin:20px 0; padding:18px; border-radius:12px; background:var(--acb-fond-doux); text-align:center; color:#5b6b82;}
@media (max-width:575px){
	.acb-disc-outils{flex-direction:column; align-items:stretch;}
	.acb-disc-recherche{flex-basis:auto;}
	.acb-disc-grille{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
	.acb-disc{border-radius:12px;}
	.acb-disc-nom{font-size:.95rem;}
	.acb-disc-bas{padding:10px;}
	.acb-disc-fleche, .acb-disc-badge{display:none;}
}
@media (hover:none){ .acb-disc-fleche{opacity:1; transform:none;} }
@media (prefers-reduced-motion:reduce){ .acb-disc, .acb-disc-img, .acb-disc-fleche{transition:none;} }

/* tableau de bord d'une section (acbs_menuAdminsection.php) : barre retour / choix de la section / page publique */
body.acb-sport .acb-tdb-barre{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 18px; padding:10px; border-radius:14px; background:var(--acb-fond-doux);}
body.acb-sport .acb-tdb-choix{display:inline-flex; align-items:center; gap:8px; margin:0; font-family:var(--acb-police-titre); font-weight:600; letter-spacing:.03em; color:var(--acb-nuit);}
body.acb-sport .acb-tdb-choix select{min-height:40px; padding:0 12px; border:2px solid var(--acb-trait); border-radius:10px; background:#fff; color:var(--acb-combo); font-family:var(--acb-police-texte); font-size:1rem; cursor:pointer;}
body.acb-sport .acb-tdb-choix select:focus{border-color:var(--acb-cyan); outline:none; box-shadow:0 0 0 4px rgba(42,212,232,.18);}
body.acb-sport .acb-tdb-public{margin-left:auto;}
@media (max-width:575px){ body.acb-sport .acb-tdb-barre{flex-direction:column; align-items:stretch;} body.acb-sport .acb-tdb-choix select{flex:1;} body.acb-sport .acb-tdb-public{margin-left:0;} }

/* tableaux en accordéon sur téléphone (section.acb-accordeon, ex. acbs_table_adherents.php) : nom seul, tap pour déplier */
.acb-recherche-tel{display:none;}
@media (max-width:767px){
	.acb-recherche-tel{display:flex; align-items:center; gap:8px; margin:0 0 12px; padding:8px 14px; border:2px solid var(--acb-trait); border-radius:50px; background:#fff;}
	.acb-recherche-tel:focus-within{border-color:var(--acb-cyan);}
	.acb-recherche-tel input{flex:1; min-width:0; border:0; outline:none; background:transparent; font-size:16px; color:var(--acb-texte);}
	#acb-recherche-compte{font-size:.8rem; color:#5b6b82; white-space:nowrap;}
	body .acb-accordeon table.tablesorter tbody > tr.acb-cache-recherche{display:none;}
	body .acb-accordeon table.tablesorter tbody > tr > td.acb-masque-tel{display:none;}
	body .acb-accordeon table.tablesorter tbody > tr{cursor:pointer;}
	body .acb-accordeon table.tablesorter tbody > tr.acb-replie > td:not(.acb-titre-fiche){display:none;}
	body .acb-accordeon table.tablesorter tbody > tr > td.acb-titre-fiche{flex-direction:row; align-items:center; justify-content:space-between; text-align:left; font-weight:700; font-size:1.02em; background:rgba(255,255,255,.35) !important;}
	body .acb-accordeon table.tablesorter tbody > tr > td.acb-titre-fiche::before{display:none;}
	body .acb-accordeon table.tablesorter tbody > tr > td.acb-titre-fiche::after{content:'▾ détails'; flex:none; font-size:.7rem; font-weight:700; letter-spacing:.03em; color:#2ad4e8; text-transform:uppercase;}
	body .acb-accordeon table.tablesorter tbody > tr:not(.acb-replie) > td.acb-titre-fiche::after{content:'▴ réduire';}
	body .acb-accordeon table.tablesorter tbody > tr:not(.acb-replie){box-shadow:0 0 0 2px rgba(42,212,232,.55), 0 4px 14px rgba(11,29,58,.15);}
	body .acb-accordeon table.tablesorter tbody > tr.acb-replie > td.acb-titre-fiche{border-bottom:0 !important;}
}

/* images dans les messages d'accueil (index.php) et dans leurs zones de saisie */
.acb-message-accueil img, .acb-ce-zone img{max-width:100%; height:auto; border-radius:12px; vertical-align:middle;}
.acb-ce-zone img{cursor:pointer; outline:2px dashed transparent; outline-offset:2px;}
.acb-ce-zone img:hover{outline-color:#2ad4e8;}

/* éditeur des messages d'accueil : boutons d'alignement, barre de l'image sélectionnée */
.acb-ce-ico-align{display:inline-block; width:16px; height:12px; background:linear-gradient(currentColor,currentColor) 0 0/100% 2px no-repeat, linear-gradient(currentColor,currentColor) 0 5px/60% 2px no-repeat, linear-gradient(currentColor,currentColor) 0 10px/85% 2px no-repeat;}
.acb-ce-ico-align[data-a="c"]{background:linear-gradient(currentColor,currentColor) center 0/100% 2px no-repeat, linear-gradient(currentColor,currentColor) center 5px/60% 2px no-repeat, linear-gradient(currentColor,currentColor) center 10px/85% 2px no-repeat;}
.acb-ce-ico-align[data-a="d"]{background:linear-gradient(currentColor,currentColor) right 0/100% 2px no-repeat, linear-gradient(currentColor,currentColor) right 5px/60% 2px no-repeat, linear-gradient(currentColor,currentColor) right 10px/85% 2px no-repeat;}
.acb-ce-ico-align[data-a="j"]{background:linear-gradient(currentColor,currentColor) 0 0/100% 2px no-repeat, linear-gradient(currentColor,currentColor) 0 5px/100% 2px no-repeat, linear-gradient(currentColor,currentColor) 0 10px/100% 2px no-repeat;}
.acb-ce-barre-img{position:fixed; z-index:1060; display:flex; align-items:center; gap:4px; padding:6px; border-radius:12px; background:var(--acb-nuit, #0b1d3a); box-shadow:0 10px 26px rgba(0,0,0,.35);}
.acb-ce-barre-img[hidden]{display:none;}
.acb-ce-barre-img button{display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; padding:0 8px; border:1px solid rgba(255,255,255,.2); border-radius:8px; background:transparent; color:#fff; font-size:1rem; font-weight:700; cursor:pointer;}
.acb-ce-barre-img button:hover, .acb-ce-barre-img button.actif{border-color:#2ad4e8; background:rgba(42,212,232,.22);}
.acb-ce-barre-img .acb-ce-sep{width:1px; height:22px; margin:0 3px; background:rgba(255,255,255,.25);}
.acb-ce-img-taille{min-width:46px; text-align:center; color:#fff; font-size:.85rem; font-weight:600;}
.acb-ce-zone img.acb-ce-img-sel{outline:3px solid #2ad4e8 !important;}
.acb-ce-zone::after, .acb-message-accueil::after{content:""; display:block; clear:both;}
