/* ==========================================================================
   Thème LosPronosticos — dark premium, mobile-first, shell d'app.
   (Mêmes tokens que le module de pronostics, pour un langage visuel unique.)
   ========================================================================== */

:root {
	--lp-bg:#0E0F13; --lp-surface:#16181E; --lp-elevated:#1A1D24; --lp-input:#22262F; --lp-nav:#121419;
	--lp-border:rgba(255,255,255,.07); --lp-border-2:rgba(255,255,255,.12);
	--lp-text:#F4F5F7; --lp-text-2:#9AA0AC; --lp-text-3:#6B707C;
	--lp-ember:#16D6E6; --lp-ember-soft:#68E4EF; --lp-ember-ink:#042729; --lp-ember-surf:rgba(22,214,230,.13);
	--lp-gold:#E8B84B; --lp-gold-surf:rgba(232,184,75,.15);
	--lp-acid:#34E27D; --lp-down:#FF5A4D;
	--lp-r-card:16px; --lp-r-input:12px; --lp-r-pill:999px;
	--lp-4:16px;
	--d-fast:150ms; --d-base:250ms;
	--ease-standard:cubic-bezier(.4,0,.2,1);
	--lpt-col:560px; --lpt-top:58px; --lpt-bottom:62px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;
	background:var(--lp-bg);
	color:var(--lp-text);
	font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
	font-size:15px;line-height:1.55;
	-webkit-font-smoothing:antialiased;
}
a{color:var(--lp-ember-soft);text-decoration:none}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--lp-ember);color:var(--lp-ember-ink)}

/* --- Shell --------------------------------------------------------------- */
.lpt-shell{min-height:100vh;display:flex;flex-direction:column}

/* Mobile : en-tête empilé et centré — logo (ligne 1) puis compte (ligne 2). */
.lpt-topbar{
	position:sticky;top:0;z-index:30;
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
	min-height:var(--lpt-top);
	padding:8px 16px;
	background:rgba(14,15,19,.85);backdrop-filter:saturate(160%) blur(12px);
	border-bottom:1px solid var(--lp-border);
	transition:min-height var(--d-base) var(--ease-standard),padding var(--d-base) var(--ease-standard);
}
.lpt-brand{display:flex;align-items:center;color:var(--lp-text)}
.lpt-brand__name{font:20px/1 'Anton';text-transform:uppercase;letter-spacing:.6px;color:var(--lp-text)}
.lpt-brand .custom-logo-link{display:flex;align-items:center}
/* Logo à sa taille NATURELLE (mesurée en JS → --lpt-logo-h), réduite de 50 % au scroll. */
.lpt-brand img,.lpt-brand .custom-logo{width:auto;max-height:var(--lpt-logo-h,48px);transition:max-height var(--d-base) var(--ease-standard)}
.lpt-topbar.is-scrolled .lpt-brand img,.lpt-topbar.is-scrolled .lpt-brand .custom-logo{max-height:calc(var(--lpt-logo-h,48px) * .5)}

.lpt-topnav{display:none;align-items:center;gap:4px}
.lpt-topnav__link{
	padding:9px 15px;border-radius:9px;color:var(--lp-text-2);
	font:600 15px/1 'Inter';transition:color var(--d-fast),background var(--d-fast)
}
.lpt-topnav__link:hover{color:var(--lp-text);background:rgba(255,255,255,.04)}
.lpt-topnav__link.is-active{color:var(--lp-ember);background:var(--lp-ember-surf)}

.lpt-topbar__account{display:flex;align-items:center;gap:8px}
.lpt-account__ava{border-radius:50%;display:block}

/* Menu déroulant du compte (pseudo + avatar). */
.lpt-accountmenu{position:relative}
.lpt-account{
	display:flex;align-items:center;gap:8px;
	padding:4px 5px 4px 12px;border-radius:999px;
	background:transparent;border:1px solid transparent;cursor:pointer;
	color:var(--lp-text);font:600 13px/1 'Inter';
	transition:background var(--d-fast),border-color var(--d-fast)
}
.lpt-account:hover,.lpt-accountmenu.is-open .lpt-account{background:rgba(255,255,255,.05);border-color:var(--lp-border-2)}
.lpt-account__name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lpt-account__menu{
	position:absolute;top:calc(100% + 8px);right:0;min-width:200px;
	background:var(--lp-elevated);border:1px solid var(--lp-border-2);
	border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.5);
	padding:6px;z-index:40;
	opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;
	transition:opacity var(--d-fast),transform var(--d-fast),visibility var(--d-fast)
}
.lpt-accountmenu:hover .lpt-account__menu,
.lpt-accountmenu:focus-within .lpt-account__menu,
.lpt-accountmenu.is-open .lpt-account__menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.lpt-account__list{list-style:none;margin:0;padding:0}
.lpt-account__menu a{
	display:block;padding:9px 12px;border-radius:8px;
	color:var(--lp-text-2);font:600 13px/1 'Inter';text-decoration:none;white-space:nowrap;
	transition:color var(--d-fast),background var(--d-fast)
}
.lpt-account__menu a:hover{color:var(--lp-text);background:rgba(255,255,255,.05)}
.lpt-account__logout{margin-top:4px;padding-top:9px;border-top:1px solid var(--lp-border)}
.lpt-account__logout:hover{color:var(--lp-ember)!important}
@media (max-width:380px){.lpt-account__name{display:none}}

/* Au scroll : header compacté + logo rétréci de ~50 % (mobile + desktop). */
.lpt-topbar.is-scrolled{box-shadow:0 4px 18px rgba(0,0,0,.35);min-height:0;padding-top:6px;padding-bottom:6px;gap:3px}
.lpt-topbar.is-scrolled .lpt-brand__name{font-size:15px}

.lpt-layout{flex:1;width:100%}
.lpt-main{
	width:100%;max-width:var(--lpt-col);margin:0 auto;
	padding:18px var(--lp-4) calc(var(--lpt-bottom) + 28px);
}

/* Barre latérale (widgets) */
.lpt-sidebar{max-width:var(--lpt-col);margin:0 auto;padding:0 var(--lp-4) calc(var(--lpt-bottom) + 28px)}
.lpt-widget{background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:var(--lp-r-card);padding:16px;margin-bottom:16px}
.lpt-widget__title{font:600 12px/1 'Inter';text-transform:uppercase;letter-spacing:.8px;color:var(--lp-text-3);margin:0 0 12px}
.lpt-widget ul{list-style:none;margin:0;padding:0}
.lpt-widget li{padding:7px 0;border-bottom:1px solid var(--lp-border)}
.lpt-widget li:last-child{border-bottom:0}
.lpt-widget a{color:var(--lp-text-2)}
.lpt-widget a:hover{color:var(--lp-text)}
/* Un widget contenant le module (ex. [lp_standings_widget]) n'ajoute pas de carte. */
.lpt-widget:has(.lp-app){background:none;border:0;padding:0;margin-bottom:0}

@media (min-width:1024px){
	.lpt-layout.has-sidebar{display:grid;grid-template-columns:minmax(0,var(--lpt-col)) 300px;gap:24px;align-items:start;max-width:calc(var(--lpt-col) + 324px);margin:0 auto;padding:0 var(--lp-4)}
	.lpt-layout.has-sidebar .lpt-main{max-width:none;margin:0;padding:18px 0 40px}
	.lpt-layout.has-sidebar .lpt-sidebar{position:sticky;top:calc(var(--lpt-top) + 16px);max-width:none;margin:0;padding:18px 0 40px}
	/* Desktop : les écrans de l'app suivent la largeur de colonne (mobile = réglages mobile-first en dur conservés). */
	.lpt-main .lp-app{max-width:100%}
}

/* --- Boutons ------------------------------------------------------------- */
.lpt-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:7px;
	background:var(--lp-ember);color:var(--lp-ember-ink);
	font:700 14px/1 'Inter';padding:13px 18px;border:none;border-radius:var(--lp-r-input);
	cursor:pointer;transition:transform var(--d-fast) var(--ease-standard)
}
.lpt-btn:hover{color:var(--lp-ember-ink)}
.lpt-btn:active{transform:scale(.96)}
.lpt-btn--sm{padding:8px 13px;font-size:13px;border-radius:9px}
.lpt-btn--ghost{background:var(--lp-input);color:var(--lp-text)}

/* --- Typographie de contenu ---------------------------------------------- */
.lpt-screen{animation:lpt-rise 400ms cubic-bezier(.16,1,.3,1) both}
.lpt-title{font:30px/1.08 'Anton';text-transform:uppercase;letter-spacing:.4px;color:var(--lp-text);margin:0 0 16px}
.lpt-title span{color:var(--lp-ember)}
.lpt-sub{color:var(--lp-text-2);margin:0 0 16px}
.lpt-empty{color:var(--lp-text-3);font-style:italic}

.lpt-content{font-size:15px;color:var(--lp-text)}
.lpt-content h1,.lpt-content h2,.lpt-content h3{font-family:'Inter';font-weight:700;color:var(--lp-text);line-height:1.25;margin:1.4em 0 .5em}
.lpt-content h2{font-size:22px}
.lpt-content h3{font-size:18px}
.lpt-content p,.lpt-content ul,.lpt-content ol{margin:0 0 1em;color:var(--lp-text-2)}
.lpt-content a:not(.lp-btn){color:var(--lp-ember-soft);text-decoration:underline;text-underline-offset:2px}
.lpt-content img,.lpt-content figure{border-radius:var(--lp-r-card);margin:1em 0}
.lpt-content blockquote{border-left:3px solid var(--lp-ember);margin:1em 0;padding:.4em 0 .4em 16px;color:var(--lp-text-2)}
.lpt-content code{background:var(--lp-input);padding:2px 6px;border-radius:6px;font-size:.9em}
.lpt-content hr{border:0;border-top:1px solid var(--lp-border);margin:1.6em 0}
.lpt-single__thumb img{width:100%;border-radius:var(--lp-r-card);margin:0 0 18px;display:block}

/* --- Liste d'articles (blog/archives) ------------------------------------ */
.lpt-postlist{display:flex;flex-direction:column;gap:14px}
.lpt-postcard{background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:var(--lp-r-card);overflow:hidden}
.lpt-postcard__thumb img{width:100%;aspect-ratio:16/9;object-fit:cover}
.lpt-postcard__body{padding:14px 16px}
.lpt-postcard__title{font:18px/1.2 'Inter';font-weight:700;margin:0 0 6px}
.lpt-postcard__title a{color:var(--lp-text)}
.lpt-postcard__meta{font:600 11px/1 'Inter';text-transform:uppercase;letter-spacing:.5px;color:var(--lp-text-3);margin-bottom:8px}
.lpt-postcard__excerpt{color:var(--lp-text-2);font-size:14px}

.lpt-pagination{margin-top:20px}
.lpt-pagination .page-numbers{display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;padding:0 8px;margin:0 3px;border-radius:9px;background:var(--lp-surface);border:1px solid var(--lp-border);color:var(--lp-text-2);font:600 13px/1 'Inter'}
.lpt-pagination .page-numbers.current{background:var(--lp-ember);color:var(--lp-ember-ink);border-color:transparent}
.lpt-pagination .page-numbers a{color:inherit}

/* --- 404 ----------------------------------------------------------------- */
.lpt-404{text-align:center;padding-top:40px}
.lpt-404__code{font:80px/1 'Anton';color:var(--lp-ember);letter-spacing:2px}

/* --- Footer + bottom nav ------------------------------------------------- */
.lpt-footer{padding:24px 16px;text-align:center;border-top:1px solid var(--lp-border);color:var(--lp-text-3)}
.lpt-footer__widgets{display:grid;gap:22px;grid-template-columns:1fr;text-align:left;max-width:var(--lpt-col);margin:0 auto 22px}
.lpt-footer__text{color:var(--lp-text-2);max-width:var(--lpt-col);margin:0 auto 12px;font-size:13px}
.lpt-footer__copy{font:500 12px/1.5 'Inter';margin:0}
.lpt-footer__credit{font-size:10px;margin:12px 0 0;color:var(--lp-text-3)}
.lpt-footer__credit a{color:var(--lp-ember);text-decoration:none}
.lpt-footer__credit a:hover{text-decoration:underline}
.lpt-footer__menu{margin-top:8px}
.lpt-footer__menu ul{list-style:none;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:0;padding:0}
.lpt-footer__menu a{color:var(--lp-text-3);font-size:12px}

.lpt-bottomnav{
	position:fixed;left:0;right:0;bottom:0;z-index:40;
	display:flex;align-items:stretch;justify-content:space-around;
	height:var(--lpt-bottom);
	padding-bottom:env(safe-area-inset-bottom);
	background:rgba(15,17,21,.98);backdrop-filter:saturate(160%) blur(12px);
	border-top:1px solid var(--lp-border-2);
	box-shadow:0 -6px 22px rgba(0,0,0,.45);
}
.lpt-bottomnav__link{
	position:relative;
	flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
	color:var(--lp-text-2);font:600 11px/1 'Inter';
	transition:color var(--d-fast)
}
.lpt-bottomnav__link.is-active{color:var(--lp-ember)}
.lpt-bottomnav__link.is-active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;height:3px;border-radius:0 0 4px 4px;background:var(--lp-ember)}
.lpt-bottomnav__ico{display:flex}
.lpt-bottomnav__ico svg{width:35px;height:35px}

@keyframes lpt-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* --- Retour / sous-titres ------------------------------------------------ */
.lpt-back{margin:0 0 14px}
.lpt-back a{font:600 13px/1 'Inter';color:var(--lp-text-2)}
.lpt-back a:hover{color:var(--lp-text)}
.lpt-h2{font:22px/1.1 'Anton';text-transform:uppercase;letter-spacing:.3px;color:var(--lp-text);margin:24px 0 12px}

/* --- Duotone (photos combattants) ---------------------------------------- */
.lpt-duotone{position:relative;overflow:hidden;background:var(--lp-elevated)}
.lpt-duotone img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) brightness(.92)}
.lpt-duotone::before{content:'';position:absolute;inset:0;background:var(--lp-ember);mix-blend-mode:color;opacity:.16;pointer-events:none}
.lpt-duotone::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,var(--lp-bg));pointer-events:none}

/* --- Archive events ------------------------------------------------------ */
.lpt-h{font:600 11px/1 'Inter';text-transform:uppercase;letter-spacing:.9px;color:var(--lp-text-3);margin:30px 0 14px}
.lpt-h:first-of-type{margin-top:6px}
.lpt-elist{display:flex;flex-direction:column;gap:10px}
.lpt-ecard{display:flex;align-items:center;gap:13px;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:var(--lp-r-card);padding:14px;color:inherit;transition:border-color var(--d-fast),transform var(--d-fast)}
.lpt-ecard:active{transform:scale(.99)}
.lpt-ecard:hover{border-color:var(--lp-border-2)}
.lpt-ecard__day{flex:none;width:48px;text-align:center}
.lpt-ecard__day b{display:block;font:24px/1 'Anton';color:var(--lp-text)}
.lpt-ecard__day span{font:600 10px/1 'Inter';text-transform:uppercase;letter-spacing:.5px;color:var(--lp-text-3)}
.lpt-ecard__body{flex:1;min-width:0}
.lpt-ecard__name{display:block;font:16px/1.1 'Anton';text-transform:uppercase;letter-spacing:.3px;color:var(--lp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lpt-ecard__meta{font:500 12px/1.3 'Inter';color:var(--lp-text-2);margin-top:3px}

.lpt-badge{font:700 9px/1 'Inter';letter-spacing:.6px;text-transform:uppercase;padding:5px 9px;border-radius:6px;background:rgba(255,255,255,.08);color:var(--lp-text-2);flex:none}
.lpt-badge--draft{background:rgba(255,255,255,.07);color:var(--lp-text-3)}
.lpt-badge--open{background:rgba(52,226,125,.14);color:var(--lp-acid)}
.lpt-badge--locked{background:rgba(232,184,75,.14);color:var(--lp-gold)}
.lpt-badge--settled{background:rgba(59,125,216,.16);color:#7FB0F0}

/* --- Fiche combattant ---------------------------------------------------- */
.lpt-fighter__hero{margin-bottom:18px}
.lpt-fighter__photo{aspect-ratio:4/5;border-radius:var(--lp-r-card);margin-bottom:14px}
.lpt-fighter__nick{font:600 12px/1 'Inter';text-transform:uppercase;letter-spacing:1px;color:var(--lp-ember-soft);margin-bottom:6px}
.lpt-fighter__name{font:34px/1.02 'Anton';text-transform:uppercase;letter-spacing:.4px;color:var(--lp-text);margin:0 0 10px}
.lpt-fighter__record{display:inline-block;font:18px/1 'Anton';letter-spacing:1px;color:var(--lp-gold);background:var(--lp-gold-surf);padding:7px 12px;border-radius:8px;margin-bottom:14px}
.lpt-fighter__meta{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.lpt-fighter__meta li{background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:10px;padding:9px 12px;font:600 14px/1.1 'Inter';color:var(--lp-text)}
.lpt-fighter__meta span{display:block;font:600 10px/1 'Inter';text-transform:uppercase;letter-spacing:.6px;color:var(--lp-text-3);margin-bottom:4px}
.lpt-fighter__bio{margin-bottom:8px}

.lpt-flist{display:flex;flex-direction:column}
.lpt-frow{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.05);color:inherit}
.lpt-frow:hover{background:rgba(255,255,255,.02)}
.lpt-res{flex:none;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font:700 12px/1 'Inter'}
.lpt-res--win{background:rgba(52,226,125,.16);color:var(--lp-acid)}
.lpt-res--loss{background:rgba(255,90,77,.16);color:var(--lp-down)}
.lpt-res--nc,.lpt-res--soon{background:rgba(255,255,255,.07);color:var(--lp-text-3)}
.lpt-frow__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lpt-frow__opp{font:600 14px/1.1 'Inter';color:var(--lp-text)}
.lpt-frow__ev{font:500 12px/1 'Inter';color:var(--lp-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lpt-frow__date{font:600 12px/1 'Inter';color:var(--lp-text-3);flex:none}

/* --- Roster combattants -------------------------------------------------- */
.lpt-roster{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.lpt-fcard{display:flex;flex-direction:column;background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:var(--lp-r-card);overflow:hidden;color:inherit;transition:border-color var(--d-fast),transform var(--d-fast)}
.lpt-fcard:active{transform:scale(.985)}
.lpt-fcard:hover{border-color:var(--lp-border-2)}
.lpt-fcard__photo{aspect-ratio:1/1}
.lpt-fcard__ph{display:block;width:100%;height:100%;background:var(--lp-elevated)}
.lpt-fcard__name{font:15px/1.1 'Anton';text-transform:uppercase;letter-spacing:.3px;color:var(--lp-text);padding:10px 12px 2px}
.lpt-fcard__record{font:600 12px/1 'Inter';color:var(--lp-gold);padding:0 12px 12px}

/* --- Accueil : prochain event en vedette --------------------------------- */
.lpt-hero-event{
	position:relative;overflow:hidden;
	background:linear-gradient(150deg,var(--lp-elevated),var(--lp-surface));
	border:1px solid var(--lp-border);border-radius:var(--lp-r-card);
	padding:26px 22px;margin-bottom:22px
}
.lpt-hero-event::before{content:'';position:absolute;top:-40%;right:-20%;width:60%;height:160%;background:radial-gradient(circle,rgba(22,214,230,.18),transparent 70%);pointer-events:none}
.lpt-hero-event__eyebrow{position:relative;font:700 11px/1 'Inter';text-transform:uppercase;letter-spacing:1.2px;color:var(--lp-ember-soft);margin-bottom:10px}
.lpt-hero-event__title{position:relative;font:34px/1.04 'Anton';text-transform:uppercase;letter-spacing:.4px;color:var(--lp-text);margin:0 0 8px}
.lpt-hero-event__date{position:relative;font:500 13px/1.4 'Inter';color:var(--lp-text-2);margin:0 0 18px}
.lpt-hero-event__actions{position:relative;display:flex;gap:10px;flex-wrap:wrap}

.lpt-home-standings{margin-top:24px}
.lpt-home-standings .lp-app{margin:0;padding:0;background:none}

/* --- Recherche ----------------------------------------------------------- */
.lpt-search{display:flex;gap:8px;align-items:center;margin-bottom:18px}

/* --- Transitions de page (navigation, navigateurs compatibles) ----------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:lpt-vt-out var(--d-base,250ms) cubic-bezier(.4,0,.2,1) both}
::view-transition-new(root){animation:lpt-vt-in var(--d-base,250ms) cubic-bezier(.16,1,.3,1) both}
@keyframes lpt-vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes lpt-vt-in{from{opacity:0;transform:translateY(8px)}}

/* --- Desktop ------------------------------------------------------------- */
@media (min-width:768px){
	/* En-tête empilé et centré : logo (ligne 1) puis menu (ligne 2), tous deux
	   au milieu ; compte ancré à droite (la barre reste position:sticky). */
	.lpt-topbar{gap:6px;padding:9px 16px}
	.lpt-topnav{display:flex}
	.lpt-topbar__account{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
	.lpt-bottomnav{display:none}
	.lpt-main{padding-bottom:40px}
	.lpt-sidebar{padding-bottom:40px}
	.lpt-footer__widgets{grid-template-columns:repeat(3,1fr);max-width:920px}
	.lpt-roster{grid-template-columns:repeat(3,1fr)}
	.lpt-fighter__hero{display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:start}
	.lpt-fighter__photo{margin-bottom:0}
}

@media (prefers-reduced-motion:reduce){
	*{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Accueil : pleine largeur, sans colonne etroite. */
.home .lpt-main{max-width:min(1180px,100%);padding-left:var(--lp-4);padding-right:var(--lp-4)}

/* Desktop : les ecrans de l app suivent la largeur de colonne (mobile = reglages mobile-first conserves). */
@media (min-width:1024px){.lpt-main .lp-app{max-width:100