/*
Theme Name: Belzebull Club Darts
Theme URI: https://example.com/
Author: APSF
Description: Thème Belzebull plus structuré, avec fond fixe centré, décors fléchettes, espace membres, clubs, sponsors et résultats.
Version: 5.5.9
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: apsf-creatif
*/

:root{
  --bg:#5a0711;
  --bg2:#770d17;
  --bg3:#991723;
  --panel:rgba(70,8,14,.72);
  --panel-soft:rgba(255,255,255,.08);
  --line:rgba(255,221,160,.24);
  --text:#fff8f3;
  --muted:rgba(255,248,243,.84);
  --red:#ff4f5f;
  --red2:#ff7f4b;
  --gold:#efc56b;
  --gold-soft:#ffe6a8;
  --shadow:0 18px 42px rgba(0,0,0,.24);
  --radius:24px;
  --container:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 50% -5%, rgba(255,214,122,.16), transparent 20%),
    linear-gradient(180deg,#8a131f 0%,#6b0d17 22%,#5e0913 56%,#500710 100%);
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-3;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.06), transparent 28%),
    url('assets/belzebull-logo-cutout.png') center 140px/540px auto no-repeat;
  opacity:.22;
  pointer-events:none;
}
body::after{
  content:'';
  position:fixed;
  inset:0;
  z-index:-4;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.12)),
    radial-gradient(circle at 15% 12%, rgba(255,99,99,.18), transparent 18%),
    radial-gradient(circle at 85% 8%, rgba(239,197,107,.12), transparent 16%),
    url('assets/page-home.svg') center top/1280px auto no-repeat;
}
body.page-template-default::after,
body.page:not(.home)::after{
  background-size:1280px auto;
}
body.page-slug-journees-club::after, body.page-id-journees-club::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-journees.svg');background-position:center top, right top;background-size:auto, 1200px auto;}
body.page-slug-calendrier-club::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-calendar.svg');background-position:center top, left top;background-size:auto, 1200px auto;}
body.page-slug-open-concours::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-open.svg');background-position:center top, right top;background-size:auto, 1200px auto;}
body.page-slug-clubs-inscrits::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-clubs.svg');background-position:center top, left top;background-size:auto, 1200px auto;}
body.page-slug-resultats-concours::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-results.svg');background-position:center top, right top;background-size:auto, 1200px auto;}
body.page-slug-partenaires::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-sponsors.svg');background-position:center top, left top;background-size:auto, 1200px auto;}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
main{overflow:hidden}
.apsf-wrap{width:min(var(--container),calc(100% - 36px));margin:0 auto}

.apsf-topbar{position:sticky;top:0;z-index:90;background:rgba(94,9,19,.80);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,230,168,.18)}
.apsf-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.apsf-nav-shell{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:1}
.apsf-menu-toggle{display:none;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,230,168,.20);background:rgba(255,255,255,.08);color:#fff;font-weight:900;cursor:pointer}
.apsf-menu-toggle span{display:block;width:18px;height:2px;background:#fff;border-radius:999px}
.apsf-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.apsf-brand{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,230,168,.20);font-weight:900;letter-spacing:.02em}
.apsf-brand-logo{width:42px;height:42px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.10);padding:3px;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.apsf-main-nav,.apsf-topbar-right,.apsf-footer-inner,.belz-day-links,.belz-actions,.belz-socials{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.apsf-topbar a,.apsf-main-nav a,.apsf-topbar-right a,.apsf-foot-link,.belz-social-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid transparent;transition:.22s ease}
.apsf-topbar a:hover,.apsf-main-nav a:hover,.apsf-topbar-right a:hover,.apsf-foot-link:hover,.belz-social-pill:hover{transform:translateY(-1px);background:rgba(255,255,255,.13);border-color:var(--line)}
.apsf-topbar .apsf-top-cta,.apsf-btn{background:linear-gradient(135deg,var(--red),var(--red2));color:#fff;border:1px solid transparent;font-weight:900;box-shadow:var(--shadow)}
.belz-social-pill{background:linear-gradient(135deg,rgba(239,197,107,.28),rgba(255,127,75,.14));border-color:rgba(255,230,168,.25)}

.belz-card,.belz-mini-card,.belz-highlight,.belz-section-card,.belz-calendar-intro,.apsf-partners,.belz-day-card,.belz-calendar-card,.belz-link-card,.apsf-partner-card,.belz-dashboard,.belz-tile{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}

.belz-hero{position:relative;padding:34px 0 12px}
.belz-hero-shell{padding:30px;background:linear-gradient(180deg,rgba(111,13,23,.68),rgba(81,8,15,.58));backdrop-filter:blur(11px)}
.belz-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;align-items:center}
.belz-kicker{display:inline-flex;align-items:center;gap:10px;padding:10px 15px;border-radius:999px;border:1px solid rgba(255,224,155,.34);background:rgba(255,255,255,.08);color:#fff3ca;text-transform:uppercase;letter-spacing:.05em;font-weight:900;font-size:11px}
.belz-title{margin:14px 0 12px;font-size:clamp(2.25rem,4.4vw,4.45rem);line-height:.98;font-weight:1000;letter-spacing:-.05em;text-shadow:0 8px 24px rgba(0,0,0,.25)}
.belz-title .belz-gold{color:var(--gold)}
.belz-subtitle{margin:0 0 20px;max-width:690px;font-size:1rem;line-height:1.72;color:var(--muted)}
.apsf-btn,.belz-btn-secondary,.belz-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border-radius:18px;font-weight:900}
.belz-btn-secondary{background:linear-gradient(135deg,rgba(239,197,107,.28),rgba(255,127,75,.14));border:1px solid rgba(255,224,155,.30);color:#fff;box-shadow:var(--shadow)}
.belz-btn-ghost{background:rgba(255,255,255,.07);border:1px solid var(--line);color:#fff;box-shadow:none}
.belz-hero-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.belz-highlight,.belz-mini-card,.belz-tile{padding:18px}
.belz-highlight strong,.belz-mini-card strong,.belz-tile strong{display:block;font-size:1rem;margin-bottom:8px;color:#fff}
.belz-highlight span,.belz-mini-card span,.belz-tile span{display:block;color:var(--muted);line-height:1.55}
.belz-visual-card{display:grid;gap:14px}
.belz-logo-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:410px;padding:20px;border-radius:26px;background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.16), rgba(255,255,255,.04) 58%, rgba(0,0,0,.10));border:1px solid rgba(255,255,255,.14);overflow:hidden}
.belz-logo-stage::before{content:'';position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.08), rgba(255,255,255,.01) 55%, transparent 69%);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 0 18px rgba(255,255,255,.03),0 0 0 42px rgba(255,224,155,.05)}
.belz-logo-stage img{position:relative;z-index:2;max-height:336px;width:auto;filter:drop-shadow(0 18px 34px rgba(0,0,0,.30))}
.belz-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.belz-section{padding:20px 0 28px}
.belz-section-tight{padding-top:10px}
.belz-section h2{margin:0 0 10px;font-size:clamp(1.8rem,3vw,2.9rem);line-height:1.05}
.belz-lead{max-width:900px;margin:0 0 20px;color:var(--muted);line-height:1.72}
.belz-lead-small{margin-bottom:10px;font-size:1rem}
.belz-dual,.belz-split,.belz-page-head,.belz-home-structure{display:grid;gap:22px}
.belz-dual{grid-template-columns:1.06fr .94fr;align-items:start}
.belz-split{grid-template-columns:1fr 1fr}
.belz-home-structure{grid-template-columns:1.1fr .9fr}
.belz-card,.belz-dashboard{padding:22px}
.belz-card h3,.belz-day-card h3,.belz-calendar-card h3,.belz-link-card h3,.apsf-partner-card-title{margin:0 0 8px;font-size:1.15rem}
.belz-card p,.belz-card li,.belz-day-card p,.belz-calendar-card p,.belz-link-card p,.apsf-partner-card-content{color:var(--muted);line-height:1.65}
.belz-card ul{padding-left:18px;margin:0}
.belz-links-grid,.belz-games,.belz-calendar-grid,.apsf-partners-grid,.belz-dashboard-grid{display:grid;gap:18px}
.belz-links-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.belz-games{grid-template-columns:repeat(3,minmax(0,1fr))}
.belz-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.belz-link-card{padding:20px;position:relative;overflow:hidden;min-height:155px}
.belz-link-card::after{content:'→';position:absolute;right:18px;bottom:14px;font-size:24px;color:rgba(255,255,255,.26);font-weight:900}
.belz-form-box{padding:22px}
.belz-front-form{display:grid;gap:14px}
.belz-front-form .belz-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.belz-front-form label{display:block;font-weight:800}
.belz-front-form input,.belz-front-form textarea,.belz-front-form select{width:100%;margin-top:8px;padding:14px 15px;border-radius:14px;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.08);color:#fff}
.belz-front-form select option{color:#111;background:#fff}
.belz-front-form textarea{min-height:130px;resize:vertical}
.belz-front-form input::placeholder,.belz-front-form textarea::placeholder{color:rgba(255,255,255,.62)}
.belz-form-note{font-size:.95rem;color:var(--muted);margin:0}
.belz-empty{padding:18px;border-radius:18px;background:rgba(255,255,255,.08);border:1px dashed rgba(255,224,155,.32);color:var(--muted)}
.belz-list{display:grid;gap:14px}
.belz-list-clean{margin:0;padding-left:18px;color:var(--muted);line-height:1.75}
.belz-day-card{padding:20px}
.belz-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.belz-pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid var(--line);font-size:.92rem}
.belz-calendar-intro{padding:18px}
.belz-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.belz-calendar-card{padding:20px}
.belz-calendar-date{display:inline-flex;align-items:center;justify-content:center;min-width:90px;padding:10px 14px;border-radius:18px;background:linear-gradient(135deg,var(--red),var(--red2));font-weight:900;margin-bottom:12px}
.apsf-partners-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.apsf-partner-card{padding:16px;text-align:center}
.apsf-partner-logo{max-height:68px;width:auto;margin:0 auto 10px;object-fit:contain}
.apsf-partner-fallback{min-height:68px;display:flex;align-items:center;justify-content:center;font-weight:900;padding:10px;border-radius:16px;background:rgba(255,255,255,.08)}
.belz-manager-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.belz-dashboard-grid .belz-card{height:100%}

.apsf-footer{padding:24px 0 38px;border-top:1px solid rgba(255,224,155,.18);background:rgba(255,255,255,.04);margin-top:24px}
.apsf-foot-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:20px;align-items:start}
.apsf-partners{padding:18px}
.apsf-partners-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.apsf-partners-title{margin:0;font-size:1.08rem;color:var(--gold-soft)}

@media (max-width:1100px){
  .belz-hero-grid,.belz-dual,.belz-split,.apsf-foot-grid,.belz-home-structure{grid-template-columns:1fr}
  .belz-links-grid,.apsf-partners-grid,.belz-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .belz-hero-highlights,.belz-calendar-grid,.belz-games{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .apsf-topbar-inner{align-items:stretch;flex-direction:column}
  .apsf-menu-toggle{display:inline-flex}
  .apsf-nav-shell{display:none;flex-direction:column;align-items:stretch;padding-top:10px}
  .apsf-nav-shell.is-open{display:flex}
  .apsf-main-nav,.apsf-topbar-right{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .apsf-brand{padding:8px 12px}
  .apsf-main-nav a,.apsf-topbar-right a{width:100%;padding:11px 12px;border-radius:16px}
  .apsf-topbar .apsf-top-cta{grid-column:1/-1}
  .apsf-wrap{width:min(var(--container),calc(100% - 22px))}
  body::before{background-size:360px auto;background-position:center 120px}
  .belz-hero-shell,.belz-card,.belz-form-box,.apsf-partners,.belz-dashboard{padding:18px}
  .belz-title{font-size:clamp(2rem,10vw,3rem)}
  .belz-hero-highlights,.belz-links-grid,.belz-games,.belz-calendar-grid,.apsf-partners-grid,.belz-dashboard-grid,.belz-mini-grid{grid-template-columns:1fr}
  .belz-front-form .belz-two{grid-template-columns:1fr}
  .belz-logo-stage{min-height:320px}.belz-logo-stage img{max-height:240px}
}


/* v5.3.2 refinements */
:root{--bg:#6f0c16;--bg2:#8e111e;--bg3:#b31d2a;--panel:rgba(90,9,17,.62);--panel-soft:rgba(255,255,255,.09);--line:rgba(255,221,160,.28);--red:#ff4a59;--red2:#ff9f45;--gold:#f1cb72;--gold-soft:#ffebbb}
body{background:radial-gradient(circle at 50% -5%, rgba(255,214,122,.20), transparent 24%),linear-gradient(180deg,#9d1826 0%,#7c101a 24%,#690d15 58%,#570a11 100%)}
body::before{background:radial-gradient(circle at 50% 14%, rgba(255,255,255,.08), transparent 34%),url('assets/belzebull-logo-cutout.png') center 110px/520px auto no-repeat;opacity:.16}
body::after{background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.08)),url('assets/page-home.svg') center top/1280px auto no-repeat}
body.page-slug-journees-club::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-journees-bg.jpg');background-position:center top, center top;background-size:auto, cover}
body.page-slug-calendrier-club::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-calendar-bg.jpg');background-position:center top, center top;background-size:auto, cover}
body.page-slug-open-concours::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-open-bg.jpg');background-position:center top, center top;background-size:auto, cover}
body.page-slug-resultats-concours::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-results-bg.jpg');background-position:center top, center top;background-size:auto, cover}
body.page-slug-partenaires::after{background-image:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)), url('assets/page-sponsors-bg.jpg');background-position:center top, center top;background-size:auto, cover}
.apsf-topbar{background:rgba(120,12,22,.78)}
.belz-hero{padding:26px 0 8px}.belz-hero-shell{padding:22px 24px;background:linear-gradient(180deg,rgba(121,15,27,.50),rgba(82,9,15,.44))}
.belz-title{max-width:9.4ch;font-size:clamp(2rem,3.6vw,3.45rem);line-height:1.02}
.belz-subtitle{max-width:640px;font-size:.98rem;line-height:1.65}
.belz-kicker{font-size:10px;padding:8px 13px}
.belz-logo-stage{min-height:320px;padding:16px;background:radial-gradient(circle at 50% 48%, rgba(255,255,255,.12), rgba(255,255,255,.03) 60%, rgba(0,0,0,.08));}
.belz-logo-stage::before{width:380px;height:380px;box-shadow:0 0 0 1px rgba(255,255,255,.10),0 0 0 16px rgba(255,255,255,.03),0 0 0 36px rgba(255,224,155,.05)}
.belz-logo-stage img{max-height:270px}
.belz-mini-card{padding:16px}
.belz-hero-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.belz-highlight{padding:16px}
.belz-highlight strong,.belz-mini-card strong,.belz-tile strong{font-size:.98rem}
.belz-link-card{min-height:136px;padding:18px}
.apsf-footer .apsf-footer-inner{gap:8px}
.apsf-footer .apsf-foot-link{padding:9px 12px}
@media (min-width:761px){.belz-visual-card{align-self:start}.belz-hero-grid{grid-template-columns:1.12fr .88fr}}
@media (max-width:760px){
  .belz-hero{padding-top:16px}
  .belz-title{max-width:none;font-size:clamp(1.75rem,8.4vw,2.45rem)}
  .belz-subtitle{font-size:.94rem}
  #acces-rapides,.belz-actions,.belz-socials{display:none!important}
  .belz-hero-highlights{margin-top:14px}
  .apsf-foot-grid{grid-template-columns:1fr}
  .apsf-footer .apsf-partners:nth-child(2) .apsf-foot-link:not([href^="mailto:"]):not([href^="tel:"]):not([target]){display:none}
}


/* v5.3.3 refinements */
.belz-title{max-width:17ch;letter-spacing:-.035em}
.belz-title .belz-gold{display:inline;color:var(--gold)}
.belz-logo-stage-inline{margin:16px 0 18px;min-height:unset;padding:14px 16px;max-width:540px}
.belz-logo-stage-inline img{max-height:240px}
.belz-visual-card{align-self:start}
.belz-mini-grid-hero{grid-template-columns:1fr;gap:12px}
.belz-mini-grid-hero .belz-mini-card{padding:15px 16px}
.apsf-partner-card{display:flex;flex-direction:column;align-items:center;gap:10px}
.apsf-partner-card-link,.apsf-partner-card > img,.apsf-partner-card > .apsf-partner-fallback{display:block;width:100%}
.apsf-partner-logo{max-height:150px;width:100%;object-fit:contain;background:#fff;border-radius:18px;padding:10px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}
.apsf-partner-card-title{color:#fff;font-size:1.02rem;text-align:center}
.apsf-partner-card-content{text-align:center}
@media (min-width:761px){
  .belz-hero-grid{grid-template-columns:1.06fr .94fr;align-items:start}
}
@media (max-width:960px){
  .belz-hero-highlights,.belz-games{grid-template-columns:1fr}
}
@media (max-width:760px){
  .belz-title{max-width:none;font-size:clamp(1.8rem,7vw,2.25rem);line-height:1.05}
  .belz-logo-stage-inline{margin:14px 0 16px}
  .belz-logo-stage-inline img{max-height:185px}
  .belz-hero-grid{gap:16px}
  .belz-visual-card{order:3}
  .belz-hero-highlights{order:4}
  .belz-mini-grid-hero{grid-template-columns:1fr}
}


/* v5.3.4 refinements */
.belz-title-compact{max-width:none;font-size:clamp(2.2rem,4vw,4rem);line-height:1.02}
.belz-title-compact .belz-white{color:#fff8f3}
.belz-title-compact .belz-gold{display:inline;color:var(--gold)}
.belz-hero-grid{align-items:start}
.belz-hero-side{display:flex;justify-content:flex-end}
.belz-logo-stage-side{max-width:460px;width:100%;margin-left:auto}
.belz-mini-grid-desktop-bottom{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.belz-links-grid-visual .belz-link-card-media{padding-top:14px}
.belz-link-media{display:block;width:100%;margin:0 0 14px;border-radius:18px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.belz-link-media img{display:block;width:100%;height:180px;object-fit:contain;background:#fff}
.belz-link-card-media h3{margin-top:2px}
@media (min-width:761px){
  .belz-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr)}
  .belz-visual-card{display:none}
}
@media (max-width:760px){
  .belz-title-compact{font-size:clamp(1.8rem,7.2vw,2.35rem);line-height:1.05}
  .belz-mini-grid-desktop-bottom{grid-template-columns:1fr;gap:10px;margin-top:14px}
  .belz-link-media img{height:150px}
}


/* v5.3.5 refinements */
.belz-link-media-transparent{
  background:transparent;
  box-shadow:none;
  border:0;
}
.belz-link-media-transparent img{
  background:transparent;
  object-fit:contain;
  mix-blend-mode:normal;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.22));
}
body.page-slug-journees-club::after,
body.page-slug-calendrier-club::after,
body.page-slug-open-concours::after,
body.page-slug-resultats-concours::after{
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
}
body.page-slug-journees-club::after{
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)),
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.08), transparent 18%),
    url('assets/page-journees-cutout.png'),
    radial-gradient(circle at 18% 16%, rgba(239,197,107,.10), transparent 16%);
  background-position:center top, 82% 24%, right 4% bottom 6%, left top;
  background-size:auto, auto, min(38vw,540px) auto, auto;
}
body.page-slug-calendrier-club::after{
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)),
    radial-gradient(circle at 20% 24%, rgba(255,255,255,.08), transparent 16%),
    url('assets/belzebull-logo-cutout.png'),
    radial-gradient(circle at 82% 18%, rgba(239,197,107,.08), transparent 16%);
  background-position:center top, 20% 24%, right 4% bottom 7%, right top;
  background-size:auto, auto, min(22vw,320px) auto, auto;
}
body.page-slug-open-concours::after{
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)),
    radial-gradient(circle at 79% 20%, rgba(255,255,255,.08), transparent 18%),
    url('assets/belzebull-logo-cutout.png'),
    radial-gradient(circle at 16% 16%, rgba(239,197,107,.10), transparent 16%);
  background-position:center top, 79% 20%, right 4% bottom 7%, left top;
  background-size:auto, auto, min(22vw,320px) auto, auto;
}
body.page-slug-resultats-concours::after{
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.10)),
    radial-gradient(circle at 79% 22%, rgba(255,255,255,.08), transparent 18%),
    url('assets/page-results-cutout.png'),
    radial-gradient(circle at 15% 15%, rgba(239,197,107,.10), transparent 16%);
  background-position:center top, 79% 22%, right 2% bottom 2%, left top;
  background-size:auto, auto, min(40vw,610px) auto, auto;
}
.apsf-partner-logo{
  max-height:170px;
  background:rgba(255,255,255,.06);
  padding:8px;
}
.apsf-partner-card-link{
  background:rgba(255,255,255,.05);
  border-radius:18px;
  padding:8px;
}
@media (min-width:761px){
  .belz-links-grid-visual{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}


/* v5.3.6 refinements */
.apsf-foot-grid-contact-only{grid-template-columns:1fr;max-width:760px}
.belz-links-grid-visual .belz-link-card-media{overflow:hidden}
.belz-link-media{margin:0 0 18px;background:transparent}
.belz-link-media img{height:180px;object-fit:contain;background:transparent;transform:scale(.88)}
.belz-link-media-transparent img{filter:drop-shadow(0 12px 24px rgba(0,0,0,.18));}
body.page-slug-journees-club::after,
body.page-slug-calendrier-club::after,
body.page-slug-open-concours::after,
body.page-slug-resultats-concours::after{
  background-blend-mode:normal,normal,normal,normal;
}
body.page-slug-journees-club::after{
  background-position:center top, 84% 24%, right -2% bottom 3%, left top;
  background-size:auto, auto, min(24vw,300px) auto, auto;
}
body.page-slug-calendrier-club::after{
  background-position:center top, 18% 24%, right -1% bottom 4%, right top;
  background-size:auto, auto, min(22vw,270px) auto, auto;
}
body.page-slug-open-concours::after{
  background-position:center top, 80% 20%, right -3% bottom 3%, left top;
  background-size:auto, auto, min(24vw,300px) auto, auto;
}
body.page-slug-resultats-concours::after{
  background-position:center top, 80% 22%, right -3% bottom 3%, left top;
  background-size:auto, auto, min(24vw,300px) auto, auto;
}
.page-slug-journees-club .apsf-wrap,
.page-slug-calendrier-club .apsf-wrap,
.page-slug-open-concours .apsf-wrap,
.page-slug-resultats-concours .apsf-wrap{position:relative;z-index:2}
.page-slug-journees-club .belz-card,
.page-slug-calendrier-club .belz-card,
.page-slug-open-concours .belz-card,
.page-slug-resultats-concours .belz-card{background:linear-gradient(180deg,rgba(92,10,18,.78),rgba(70,8,14,.72));backdrop-filter:blur(8px)}
@media (max-width:760px){
  .belz-link-media img{transform:scale(.94);height:150px}
}

/* v5.3.7 refinements */
.belz-hero-side{gap:14px;display:flex;flex-direction:column;align-items:flex-end}
.belz-team-card{width:min(340px,100%);padding:10px 10px 8px;overflow:hidden}
.belz-team-card img{display:block;width:100%;max-width:100%;height:auto;max-height:210px;border-radius:18px;object-fit:cover;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.belz-team-card figcaption{margin-top:10px;text-align:center;font-weight:800;color:var(--gold-soft)}

body.page-slug-reglement-club::after,
body.page-slug-clubs-inscrits::after,
body.page-slug-resultats-concours::after,
body.page-slug-calendrier-club::after,
body.page-slug-open-concours::after,
body.page-slug-journees-club::after{
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
}
body.page-slug-reglement-club::after{
  background-image:
    linear-gradient(180deg, rgba(84,10,18,.88), rgba(64,7,12,.86)),
    radial-gradient(circle at 16% 16%, rgba(239,197,107,.10), transparent 18%),
    url('assets/team-photo-bg.jpg'),
    radial-gradient(circle at 82% 12%, rgba(255,255,255,.05), transparent 16%);
  background-position:center top, left top, center center, right top;
  background-size:auto, auto, cover, auto;
}
body.page-slug-clubs-inscrits::after{
  background-image:
    linear-gradient(180deg, rgba(84,10,18,.84), rgba(64,7,12,.82)),
    radial-gradient(circle at 14% 18%, rgba(239,197,107,.10), transparent 18%),
    url('assets/team-photo-bg.jpg'),
    radial-gradient(circle at 84% 14%, rgba(255,255,255,.04), transparent 16%);
  background-position:center top, left top, center center, right top;
  background-size:auto, auto, cover, auto;
}
body.page-slug-journees-club::after{
  background-position:center top, 84% 24%, right -7% bottom 2%, left top;
  background-size:auto, auto, min(13vw,150px) auto, auto;
}
body.page-slug-calendrier-club::after{
  background-position:center top, 18% 24%, right -8% bottom 3%, right top;
  background-size:auto, auto, min(12vw,145px) auto, auto;
}
body.page-slug-open-concours::after{
  background-position:center top, 80% 20%, right -8% bottom 1%, left top;
  background-size:auto, auto, min(13vw,150px) auto, auto;
}
body.page-slug-resultats-concours::after{
  background-image:
    linear-gradient(180deg, rgba(84,10,18,.84), rgba(64,7,12,.80)),
    radial-gradient(circle at 80% 22%, rgba(255,255,255,.05), transparent 18%),
    url('assets/team-photo-bg.jpg'),
    radial-gradient(circle at 14% 15%, rgba(239,197,107,.10), transparent 16%);
  background-position:center top, 80% 22%, right -6% bottom 2%, left top;
  background-size:auto, auto, min(18vw,260px) auto, auto;
}
.page-slug-reglement-club .apsf-wrap,
.page-slug-clubs-inscrits .apsf-wrap{position:relative;z-index:2}
.page-slug-reglement-club .belz-card,
.page-slug-clubs-inscrits .belz-card{background:linear-gradient(180deg,rgba(92,10,18,.80),rgba(70,8,14,.74));backdrop-filter:blur(8px)}

@media (max-width:760px){
  .belz-team-card{width:100%;max-width:420px;margin:0 auto}
  .belz-team-card figcaption{font-size:.95rem}
}

/* v5.3.8 readability */
.page-slug-journees-club .belz-page-head, .page-slug-calendrier-club .belz-page-head, .page-slug-open-concours .belz-page-head, .page-slug-resultats-concours .belz-page-head{max-width:980px;}
.page-slug-journees-club .belz-day-card, .page-slug-calendrier-club .belz-calendar-card, .page-slug-open-concours .belz-day-card, .page-slug-resultats-concours .belz-day-card{backdrop-filter:blur(10px);}


/* Mobile polish v5.4.10 */
@media (max-width: 760px){
  .apsf-wrap{padding-left:14px;padding-right:14px;}
  .belz-hero{padding-top:18px;}
  .belz-hero-shell{padding:18px 14px;}
  .belz-title{font-size:2rem;line-height:1.06;}
  .belz-title-compact{font-size:1.95rem;}
  .belz-subtitle,.belz-copy p,.belz-link-card p,.belz-card p{font-size:1rem;line-height:1.6;}
  .belz-actions,.belz-socials{display:grid;grid-template-columns:1fr;gap:10px;}
  .belz-actions > *, .belz-socials > *{width:100%;justify-content:center;text-align:center;}
  .belz-hero-grid,.belz-links-grid,.belz-links-grid-home,.belz-links-grid-visual,.belz-mini-grid,.belz-grid,.apsf-grid{grid-template-columns:1fr !important;}
  .belz-link-card,.belz-card,.belz-team-card, .belz-mini-card{border-radius:20px;}
  .belz-link-card-media{padding:14px;}
  .belz-link-media{min-height:160px;}
  .belz-link-media img,.belz-team-card img{max-width:100%;height:auto;object-fit:contain;}
  .belz-logo-stage img{max-width:220px;height:auto;}
  .belz-section{padding-top:16px;padding-bottom:16px;}
  .belz-section-tight{padding-top:8px;padding-bottom:8px;}
  .belz-home-photos .gallery, .apsf-gallery-grid{grid-template-columns:1fr 1fr !important;gap:10px;}
  .belz-home-photos .gallery img, .apsf-gallery-grid img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;}
  table, iframe{max-width:100%;}
}
@media (max-width: 480px){
  .belz-title{font-size:1.75rem;}
  .belz-title-compact{font-size:1.7rem;}
  .belz-home-photos .gallery, .apsf-gallery-grid{grid-template-columns:1fr !important;}
}

/* v5.4.11 mobile quick links under team photo */
.belz-mobile-quickgrid{display:none;}
@media (max-width:760px){
  .belz-desktop-links{display:none;}
  .belz-hero-side{display:grid;gap:14px;}
  .belz-mobile-quickgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:2px;}
  .belz-mobile-quickcard{padding:12px 10px;text-align:center;min-height:unset;}
  .belz-mobile-quickmedia{display:flex;align-items:center;justify-content:center;min-height:72px;margin-bottom:8px;}
  .belz-mobile-quickmedia img{max-width:88px;max-height:88px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22));}
  .belz-mobile-quickcard strong{display:block;font-size:.95rem;line-height:1.2;color:#fff;}
}
@media (max-width:480px){
  .belz-mobile-quickgrid{gap:10px;}
  .belz-mobile-quickcard{padding:10px 8px;border-radius:18px;}
  .belz-mobile-quickmedia{min-height:64px;margin-bottom:6px;}
  .belz-mobile-quickmedia img{max-width:76px;max-height:76px;}
  .belz-mobile-quickcard strong{font-size:.88rem;}
}

@media (max-width:760px){
  .belz-mini-grid-hero, .belz-mini-grid-desktop-bottom{display:none !important;}
}


/* v5.4.18 mobile BZB cleanup */
@media (max-width:760px){
  .belz-dashboard{padding:14px;border-radius:20px}
  .belz-dashboard h2{font-size:1.7rem;line-height:1.08;margin-bottom:10px}
  .belz-dashboard .belz-lead{font-size:.96rem;line-height:1.55;margin-bottom:14px}
  .belz-dashboard .belz-lead-small{font-size:.9rem;line-height:1.45}
  .belz-dashboard .belz-empty{padding:12px 14px;border-radius:14px;font-size:.92rem}
  .belz-dashboard .belz-day-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .belz-dashboard .belz-day-links a,
  .belz-dashboard .belz-manager-actions a,
  .belz-dashboard .apsf-btn,
  .belz-dashboard .belz-btn-secondary,
  .belz-dashboard .belz-btn-ghost{width:100%;padding:11px 12px;border-radius:14px;font-size:.92rem}
  .belz-dashboard-grid{grid-template-columns:1fr!important;gap:12px!important}
  .belz-dashboard .belz-card,
  .belz-dashboard .belz-form-box,
  .belz-dashboard details.belz-form-box{padding:14px!important;border-radius:18px}
  .belz-dashboard .belz-card h3,
  .belz-dashboard details summary{font-size:1.02rem;line-height:1.25}
  .belz-dashboard .belz-front-form{gap:12px}
  .belz-dashboard .belz-front-form label{font-size:.92rem}
  .belz-dashboard .belz-front-form input,
  .belz-dashboard .belz-front-form select,
  .belz-dashboard .belz-front-form textarea{padding:12px 13px;border-radius:12px;font-size:.95rem}
  .belz-dashboard .belz-front-form textarea{min-height:110px}
  .belz-dashboard .belz-front-form .belz-two{grid-template-columns:1fr!important;gap:10px}
  .belz-dashboard .apsf-partners-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .belz-dashboard .apsf-partner-card-compact{padding:10px;border-radius:16px;gap:8px;min-height:100%}
  .belz-dashboard .apsf-partner-logo-compact,
  .belz-dashboard .apsf-partner-logo{max-height:56px;padding:6px;border-radius:12px;margin-bottom:6px}
  .belz-dashboard .apsf-partner-fallback-compact{min-height:56px;padding:8px;border-radius:12px;font-size:.78rem;line-height:1.2}
  .belz-dashboard .apsf-partner-card-title-compact{font-size:.82rem;line-height:1.25;margin:0}
  .belz-dashboard .apsf-partner-card-content{display:none}
  .belz-dashboard div[style*="display:flex;flex-wrap:wrap;gap:12px;align-items:stretch"]{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .belz-dashboard div[style*="width:180px;min-height:112px"]{width:100%!important;min-height:auto!important;padding:12px!important;border-radius:14px}
  .belz-dashboard .belz-manager-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px!important}
  .belz-dashboard .belz-manager-actions a{margin:0!important}
}
@media (max-width:420px){
  .belz-dashboard .belz-day-links,
  .belz-dashboard .belz-manager-actions,
  .belz-dashboard .apsf-partners-grid-compact{grid-template-columns:1fr!important}
}


.belz-club-card-clickable .belz-club-card-hit{display:block;color:inherit;text-decoration:none;}
.belz-club-card-clickable .belz-club-card-hit:hover,.belz-club-card-clickable .belz-club-card-hit:focus{opacity:.98;}


.belz-club-click-card{cursor:pointer}
.belz-club-click-card .belz-club-main-link,.belz-club-click-card .belz-club-cover-link{color:inherit;text-decoration:none}
.belz-club-click-card .belz-club-main-link:hover{text-decoration:underline}
.belz-club-single-photo{border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);margin-bottom:18px}
.belz-club-single-photo img{display:block;width:100%;height:auto}
.belz-club-single-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}
.belz-club-single-meta .belz-mini-card{padding:16px}

.belz-club-cover-wrap{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.belz-club-cover-thumb{display:block;width:190px;max-width:100%;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);flex:0 0 auto}
.belz-club-cover-thumb img{display:block;width:100%;height:190px;object-fit:cover}
.belz-club-cover-note{opacity:.82;max-width:420px;align-self:center}
.belz-club-lightbox{position:fixed;inset:0;display:none;z-index:9999}
.belz-club-lightbox:target{display:block}
.belz-club-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78)}
.belz-club-lightbox-dialog{position:relative;z-index:2;max-width:min(760px, calc(100vw - 32px));max-height:min(760px, calc(100vh - 32px));margin:16px auto;padding:12px;background:rgba(17,17,17,.96);border:1px solid rgba(255,255,255,.14);border-radius:20px;box-shadow:var(--shadow)}
.belz-club-lightbox-dialog img{display:block;width:auto;max-width:100%;max-height:calc(100vh - 80px);height:auto;margin:0 auto;border-radius:14px}
.belz-club-lightbox-close{position:absolute;top:8px;right:10px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);color:#fff;text-decoration:none;font-size:24px;line-height:1}
.belz-club-gallery-grid,.belz-club-member-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.belz-club-gallery-item,.belz-club-member-photo-item{display:block;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow)}
.belz-club-gallery-item img,.belz-club-member-photo-item img{display:block;width:100%;height:140px;object-fit:cover}
@media (max-width:640px){.belz-club-cover-thumb{width:160px}.belz-club-cover-thumb img{height:160px}.belz-club-gallery-item img,.belz-club-member-photo-item img{height:110px}}

/* v5.4.30 club photos sizing + delete actions */
.belz-club-cover-thumb{width:150px;max-width:150px}
.belz-club-cover-thumb img{height:150px;object-fit:cover}
.belz-club-cover-note{max-width:520px}
.belz-club-lightbox-dialog{max-width:min(640px, calc(100vw - 32px));max-height:min(640px, calc(100vh - 32px))}
.belz-club-gallery-grid,.belz-club-member-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,110px));gap:12px;justify-content:flex-start}
.belz-club-gallery-item img,.belz-club-member-photo-link img{width:100%;height:110px;object-fit:cover;display:block}
.belz-club-member-photo-item{padding:8px;background:rgba(255,255,255,.04)}
.belz-club-member-photo-link{display:block;border-radius:14px;overflow:hidden}
.belz-club-member-photo-actions{display:flex;flex-direction:column;gap:8px;padding-top:8px}
.belz-club-member-photo-label{font-size:12px;line-height:1.2;opacity:.88}
.belz-btn-ghost-small{padding:8px 10px;font-size:12px;line-height:1.1;display:inline-flex;justify-content:center}
@media (max-width:640px){.belz-club-cover-thumb{width:110px;max-width:110px}.belz-club-cover-thumb img{height:110px}.belz-club-gallery-grid,.belz-club-member-photos{grid-template-columns:repeat(auto-fit,minmax(92px,92px))}.belz-club-gallery-item img,.belz-club-member-photo-link img{height:92px}}


/* Belzebull v5.4.31 - calendrier annuel compact */
.belz-year-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.belz-month-card{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.belz-month-card h3{margin:0 0 12px;font-size:1.05rem}
.belz-month-weekdays,.belz-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.belz-month-weekdays span{font-size:.78rem;text-align:center;color:var(--muted);font-weight:800}
.belz-day-cell{min-height:38px}
.belz-day-empty{visibility:hidden}
.belz-day-link{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);text-decoration:none;color:#fff}
.belz-day-number{font-size:.8rem;font-weight:800;line-height:1}
.belz-day-dot{width:8px;height:8px;border-radius:999px;background:transparent;margin-top:4px}
.belz-day-link.event-open .belz-day-dot{background:#ffd166}
.belz-day-link.event-day .belz-day-dot{background:#7cf29a}
@media (max-width: 980px){.belz-year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.belz-year-calendar{grid-template-columns:1fr}.belz-month-card{padding:12px}.belz-month-weekdays,.belz-month-grid{gap:4px}.belz-day-cell,.belz-day-link{min-height:34px}}


/* v5.4.32 calendar + results refinements */
.belz-year-accordion{display:grid;gap:14px}
.belz-year-detail{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.belz-year-detail summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:700;font-size:1rem}
.belz-year-detail summary::-webkit-details-marker{display:none}
.belz-year-detail[open] summary{border-bottom:1px solid rgba(255,255,255,.1)}
.belz-year-detail .belz-year-calendar{padding:14px}
.belz-month-card-small{padding:12px}
.belz-month-card-small h3{font-size:.96rem;margin-bottom:10px}
.belz-month-card-small .belz-day-cell,.belz-month-card-small .belz-day-link{min-height:30px}
.belz-month-card-small .belz-day-number{font-size:.84rem}
.belz-compact-events{display:grid;gap:10px}
.belz-compact-event{display:grid;grid-template-columns:minmax(96px,110px) minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.04);text-decoration:none;color:#fff}
.belz-compact-event:hover{background:rgba(255,255,255,.08)}
.belz-compact-event-date{font-size:.82rem;opacity:.88}
.belz-compact-event-title{font-weight:700}
.belz-compact-event-kind,.belz-compact-event-place{font-size:.78rem;opacity:.78}
.belz-compact-events-home .belz-compact-event{grid-template-columns:minmax(96px,110px) minmax(0,1fr) auto}
.belz-result-structure{margin-top:14px;padding:12px;border-radius:16px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}
.belz-result-structure pre{margin:8px 0 0;white-space:pre-wrap;font:inherit;line-height:1.55;color:rgba(255,255,255,.88)}
@media (max-width: 900px){.belz-compact-event{grid-template-columns:1fr;align-items:flex-start}.belz-compact-events-home .belz-compact-event{grid-template-columns:1fr}}


/* v5.4.36 background zoom fix */
body.page-slug-calendrier-club::after{
  background-image:
    linear-gradient(180deg, rgba(84,10,18,.84), rgba(64,7,12,.82)),
    radial-gradient(circle at 18% 22%, rgba(239,197,107,.08), transparent 16%),
    url('assets/belzebull-bg.jpg'),
    radial-gradient(circle at 82% 16%, rgba(255,255,255,.04), transparent 15%);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-position:center top, left top, center 140px, right top;
  background-size:auto, auto, min(28vw,280px) auto, auto;
}
body.page-slug-open-concours::after{
  background-image:
    linear-gradient(180deg, rgba(84,10,18,.84), rgba(64,7,12,.82)),
    radial-gradient(circle at 82% 20%, rgba(239,197,107,.08), transparent 16%),
    url('assets/belzebull-bg.jpg'),
    radial-gradient(circle at 14% 16%, rgba(255,255,255,.04), transparent 15%);
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-position:center top, right top, center 140px, left top;
  background-size:auto, auto, min(28vw,280px) auto, auto;
}
@media (max-width:760px){
  body.page-slug-calendrier-club::after,
  body.page-slug-open-concours::after{
    background-position:center top, left top, center 110px, right top;
    background-size:auto, auto, min(46vw,220px) auto, auto;
  }
}

/* Belzebull v5.4.40 - petit sélecteur d'année du calendrier */
.belz-year-switch{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 14px;font-size:.88rem}
.belz-year-switch label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:800}
.belz-year-switch select{min-width:92px;border-radius:999px;border:1px solid var(--line);background:rgba(0,0,0,.45);color:var(--white);padding:7px 10px;font-weight:900}
.belz-year-switch .belz-btn-ghost-small{padding:7px 12px;font-size:.82rem}
@media (max-width:640px){.belz-year-switch{justify-content:flex-start}}

/* Boîte aux lettres interne clubs */
.belz-message-count{display:inline-flex;align-items:center;justify-content:center;margin-left:10px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.86rem;font-weight:800;}
.belz-mailbox-list{display:grid;gap:14px;margin-top:14px;}
.belz-mailbox-item{padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.08);}
.belz-mailbox-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px;}
.belz-mailbox-head span{opacity:.8;font-size:.92rem;}
.belz-mailbox-content{margin-top:10px;padding:12px;border-radius:14px;background:rgba(0,0,0,.14);line-height:1.55;white-space:normal;}

/* Belzebull v5.5.0 - centre de compétition */
.belz-competition-panel{margin:0 0 22px;padding:20px;border:1px solid rgba(239,197,107,.34);border-radius:24px;background:linear-gradient(145deg,rgba(22,5,7,.82),rgba(92,10,20,.72));box-shadow:var(--shadow)}
.belz-table-scroll{overflow:auto;border-radius:16px;border:1px solid rgba(255,255,255,.1)}
.belz-score-table{width:100%;min-width:680px;border-collapse:collapse;background:rgba(0,0,0,.18)}
.belz-score-table th,.belz-score-table td{padding:11px 12px;text-align:center;border-bottom:1px solid rgba(255,255,255,.09)}
.belz-score-table th:nth-child(2),.belz-score-table td:nth-child(2){text-align:left}.belz-score-table tbody tr:hover{background:rgba(255,255,255,.06)}
.belz-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.belz-match-card{padding:18px;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.035));box-shadow:var(--shadow)}
.belz-match-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.84rem;color:var(--muted)}
.belz-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:900;color:#15110a;background:#efc56b}.belz-status-en_cours{background:#65e493}.belz-status-a_venir{background:#74c7ff}.belz-status-reporte{background:#d2d2d2}
.belz-match-context{margin-top:-4px;color:var(--muted)}
.belz-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:16px 0;padding:14px;border-radius:18px;background:rgba(0,0,0,.28);text-align:center}
.belz-scoreboard span{font-weight:850}.belz-scoreboard strong{font-size:1.8rem;white-space:nowrap;color:var(--gold)}.belz-scoreboard small{font-size:1rem;color:var(--white)}
.belz-result-open{width:100%;border:1px solid rgba(239,197,107,.55);border-radius:14px;padding:11px 14px;background:rgba(239,197,107,.1);color:var(--white);font-weight:850;cursor:pointer}.belz-result-open:hover{background:rgba(239,197,107,.2)}
.belz-result-modal{position:fixed;inset:0;z-index:10020;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.belz-result-modal.is-open{display:flex}.belz-modal-open{overflow:hidden}
.belz-result-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:26px;border:1px solid rgba(239,197,107,.42);border-radius:26px;background:linear-gradient(145deg,#26070c,#680d19);box-shadow:0 30px 90px rgba(0,0,0,.6)}
.belz-result-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;font-size:26px;cursor:pointer}.belz-scoreboard-large{margin-top:20px;padding:20px}.belz-scoreboard-large strong{font-size:2.3rem}
.belz-match-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.belz-match-facts div{padding:12px;border-radius:14px;background:rgba(255,255,255,.08)}.belz-match-facts small,.belz-match-facts strong{display:block}.belz-match-facts small{color:var(--muted);margin-bottom:4px}.belz-leg-detail{padding:15px;border-radius:16px;background:rgba(0,0,0,.25)}.belz-leg-detail h4{margin-top:0}.belz-leg-detail p{margin-bottom:0;line-height:1.65}
.belz-v550-form-extra{grid-column:1/-1;margin-top:12px;padding:16px;border:1px solid rgba(239,197,107,.3);border-radius:18px;background:rgba(0,0,0,.16)}
@media(max-width:820px){.belz-results-grid{grid-template-columns:1fr}.belz-match-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.belz-scoreboard{grid-template-columns:1fr;gap:7px}.belz-scoreboard strong{order:2}.belz-scoreboard span:last-child{order:3}.belz-match-facts{grid-template-columns:1fr}.belz-result-dialog{padding:22px 16px}.belz-match-head{align-items:flex-start;flex-direction:column}}

/* v5.5.2 - réduction mobile modérée, sans supprimer la présentation */
@media(max-width:760px){
  .belz-hero{padding-top:11px}
  .belz-hero-shell{padding:14px 12px}
  .belz-hero-grid{gap:11px}
  .belz-kicker{padding:6px 10px;font-size:9px}
  .belz-title-compact{margin:9px 0 8px;font-size:1.72rem;line-height:1.04}
  .belz-subtitle{margin-bottom:12px;font-size:.9rem!important;line-height:1.42!important}
  .belz-logo-stage-inline{margin:5px 0 8px;padding:7px 10px}
  .belz-logo-stage-inline img{max-width:170px!important;max-height:145px!important}
  .belz-team-card{display:block!important;width:100%;max-width:390px;padding:7px;margin:0 auto}
  .belz-team-card img{display:block!important;width:100%;height:145px!important;max-height:145px;object-fit:cover!important}
  .belz-team-card figcaption{margin-top:6px;font-size:.84rem}
  .belz-mobile-quickgrid{gap:8px;margin-top:0}
  .belz-mobile-quickcard{padding:9px 7px;border-radius:16px}
  .belz-mobile-quickmedia{min-height:52px;margin-bottom:4px}
  .belz-mobile-quickmedia img{max-width:62px;max-height:58px}
  .belz-mobile-quickcard strong{font-size:.84rem}
}


/* v5.5.5 - Schéma d’utilisation public, indépendant de l’espace membre */
.apsf-public-guide{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);font-weight:800;text-decoration:none}
.apsf-public-guide:hover{transform:translateY(-1px);background:rgba(255,255,255,.15)}
@media (max-width:980px){.apsf-public-guide{width:100%;border-radius:16px;margin:2px 0 4px}}

/* v5.5.8 - Cartes publiques des équipes : aucun outil d'édition */
.bzb648-public-rosters{margin:22px 0;color:#17202f}
.bzb648-public-rosters .bzb648-title,.bzb648-public-rosters .bzb648-team{background:#fff;border-radius:18px;padding:clamp(14px,2vw,24px);margin-bottom:18px}
.bzb648-public-rosters .bzb648-title h2,.bzb648-public-rosters .bzb648-team h3{color:#17202f;margin:0 0 12px}
.bzb648-public-rosters .bzb648-title p{color:#526077}
.bzb648-public-rosters .bzb648-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.bzb648-public-rosters .bzb648-player{overflow:hidden;background:#f4f6f8;border:1px solid #e4e6ea;border-radius:13px;min-width:0}
.bzb648-public-rosters .bzb648-photo{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#eceff3;font-size:52px;overflow:hidden}
.bzb648-public-rosters .bzb648-photo img{width:100%;height:100%;object-fit:cover}
.bzb648-public-rosters .bzb648-player-info{padding:12px}
.bzb648-public-rosters .bzb648-player-info h4{color:#17202f;margin:0 0 9px;font-size:17px;overflow-wrap:anywhere}
.bzb648-public-rosters .bzb648-player-info p{font-size:13px;line-height:1.45;color:#17202f;margin:4px 0;overflow-wrap:anywhere}
@media(max-width:960px){.bzb648-public-rosters .bzb648-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.bzb648-public-rosters .bzb648-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bzb648-public-rosters .bzb648-title,.bzb648-public-rosters .bzb648-team{padding:12px}.bzb648-public-rosters .bzb648-player-info{padding:9px}.bzb648-public-rosters .bzb648-player-info h4{font-size:15px}.bzb648-public-rosters .bzb648-player-info p{font-size:12px}}

/* Photo officielle: emplacement vide conservé jusqu’au téléversement. */
.belz-team-placeholder{min-height:175px;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;border:1px dashed rgba(210,180,115,.65);border-radius:16px;color:var(--gold-soft,#ead49b);font-size:clamp(1.05rem,2vw,1.5rem);font-weight:800;}
