
:root{--blue:#1557e8;--blue2:#0b3fb8;--dark:#07111f;--ink:#111827;--muted:#667085;--line:#e5e7eb;--bg:#f5f7fb;--white:#fff;--shadow:0 18px 50px rgba(17,24,39,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 34px));margin:auto}.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:13px;margin-right:auto;font-weight:950}.brand img{width:92px;height:68px;object-fit:contain}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em}.links{display:flex;align-items:center;gap:18px;font-weight:850;font-size:14px}.links a:hover,.social a:hover{color:var(--blue)}.menuBtn{display:none;border:0;background:var(--blue);color:#fff;border-radius:12px;padding:11px 14px;font-size:13px;font-weight:950;letter-spacing:.05em;align-items:center;gap:9px;box-shadow:0 6px 18px rgba(21,87,232,.22);cursor:pointer}.menuIcon{width:20px;height:16px;display:flex;flex-direction:column;justify-content:space-between}.menuIcon i{display:block;width:100%;height:2px;background:#fff;border-radius:2px;transition:.2s}.menuBtn.isOpen .menuIcon i:nth-child(1){transform:translateY(7px) rotate(45deg)}.menuBtn.isOpen .menuIcon i:nth-child(2){opacity:0}.menuBtn.isOpen .menuIcon i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{min-height:650px;color:#fff;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(2,10,27,.94),rgba(2,10,27,.30)),url('/assets/photos/match-4.jpg') center 42%/cover}.hero .wrap{padding:120px 0 82px}.eyebrow{font-weight:950;letter-spacing:.14em;text-transform:uppercase;color:#9ebcff}.hero h1,.pagehero h1{font-size:clamp(48px,7.5vw,94px);line-height:.9;letter-spacing:-.055em;margin:16px 0}.hero p{max-width:720px;font-size:20px;line-height:1.6;color:#edf3ff}.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 19px;border-radius:12px;font-weight:900;border:0;cursor:pointer;background:#fff;color:var(--dark)}.btn.primary{background:var(--blue);color:#fff}.btn.dark{background:var(--dark);color:#fff}.section{padding:76px 0}.section.white{background:#fff}.head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.head h2{font-size:clamp(34px,4vw,50px);margin:0;letter-spacing:-.04em}.head p{max-width:620px;color:var(--muted);line-height:1.65;margin:0}.story{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}.story p{color:#475467;line-height:1.75}.story img{border-radius:24px;box-shadow:var(--shadow)}.stats,.results,.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat,.card,.result{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 24px rgba(16,24,40,.05)}.stat strong{display:block;font-size:28px;color:var(--blue)}.tag{display:inline-block;font-size:11px;font-weight:950;letter-spacing:.08em;padding:7px 10px;border-radius:99px;background:#eaf1ff;color:var(--blue)}.score{font-size:27px;font-weight:950;margin:18px 0 7px}.muted{color:var(--muted)}.teams{display:grid;grid-template-columns:1fr 1fr;gap:18px}.team{min-height:350px;border-radius:24px;overflow:hidden;position:relative;color:#fff;background-size:cover;background-position:center}.team:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,10,25,.94),rgba(2,10,25,.08))}.team>div{position:absolute;z-index:2;bottom:0;padding:28px}.team h3{font-size:46px;margin:5px 0}.galleryGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.album{min-height:330px;border-radius:24px;position:relative;overflow:hidden;background:#0b1830;color:#fff}.album img{width:100%;height:100%;position:absolute;object-fit:cover;opacity:.65}.album:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,10,25,.9),transparent 70%)}.album div{position:absolute;z-index:2;bottom:0;padding:25px}.album h3{font-size:30px;margin:0 0 6px}.shop{overflow:hidden}.shopTrack{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 22px;scrollbar-width:thin}.product{flex:0 0 min(320px,82vw);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.product img{width:100%;aspect-ratio:4/3;object-fit:cover}.productBody{padding:18px}.product h3{margin:0 0 8px}.price{font-size:28px;font-weight:950;color:var(--blue)}.pagehero{background:linear-gradient(110deg,#061126,#0d49c9);color:#fff;padding:82px 0 70px}.pagehero p{max-width:680px;color:#dce8ff;font-size:18px}.subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.subnav a{background:rgba(255,255,255,.12);padding:10px 13px;border-radius:999px;font-weight:800}.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.player{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.player .num{font-size:30px;font-weight:950;color:var(--blue)}.player h3{margin:8px 0 4px}.notice{background:#fff7e6;border:1px solid #ffd98a;padding:16px;border-radius:14px;color:#7a4a00}.stageCard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.stageCard h3{font-size:25px;margin-top:0}.licenseHero{display:grid;grid-template-columns:1fr .7fr;gap:30px;align-items:center}.licenseBox{background:#eef4ff;border-radius:22px;padding:26px}.social{display:flex;gap:12px;flex-wrap:wrap}.social a{font-weight:900}.footer{background:var(--dark);color:#dce5f4;padding:42px 0 72px}.footerGrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.footer img{width:105px}.adminFloat{position:fixed;right:18px;bottom:18px;z-index:80;background:#0a1220;color:#fff;border:1px solid rgba(255,255,255,.2);padding:12px 16px;border-radius:999px;font-weight:900;box-shadow:0 12px 35px rgba(0,0,0,.25)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.form{display:grid;gap:12px}.form input,.form textarea,.form select{width:100%;border:1px solid #d0d5dd;border-radius:12px;padding:14px;font:inherit}.form textarea{min-height:140px}.adminPanel{max-width:850px;margin:45px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.adminPanel label{font-weight:850}.adminPanel .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hidden{display:none!important}@media(max-width:920px){.links{display:none}.menuBtn{display:flex}.links.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.story,.contact,.licenseHero{grid-template-columns:1fr}.stats,.results,.cards3{grid-template-columns:1fr}.roster{grid-template-columns:repeat(2,1fr)}.teams,.galleryGrid{grid-template-columns:1fr}.head{display:block}.head p{margin-top:10px}.footerGrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wrap{width:min(100% - 24px,1180px)}.brand span{font-size:14px}.brand img{width:70px}.hero{min-height:580px}.hero .wrap{padding:90px 0 55px}.section{padding:56px 0}.roster{grid-template-columns:1fr}.footerGrid{grid-template-columns:1fr}.adminPanel .row{grid-template-columns:1fr}.adminFloat{right:12px;bottom:12px}}

.practiceGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.practice{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 8px 24px rgba(16,24,40,.05)}.practiceIcon{font-size:30px;display:block;margin-bottom:12px}.practice h3{font-size:22px;margin:0 0 10px}.practice p{color:#667085;line-height:1.65;margin:0}.practiceLink,.resultLink{display:inline-block;margin-top:14px;color:var(--blue);font-weight:900}.resultsTwo{grid-template-columns:repeat(2,1fr)}@media(max-width:760px){.practiceGrid,.resultsTwo{grid-template-columns:1fr}}
.footerAdmin{grid-column:1/-1;text-align:right;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.footerAdmin a{font-size:11px;color:rgba(255,255,255,.38);text-decoration:none;letter-spacing:.04em}
.footerAdmin a:hover{color:rgba(255,255,255,.72)}
.adminFloat{display:none!important}
.adminTabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.adminTabs button{border:0;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer}.adminGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.adminBox{background:#fff;border-radius:18px;padding:22px;color:#101522}.adminBox input,.adminBox select{width:100%;box-sizing:border-box;margin:7px 0;padding:12px;border:1px solid #d7dce5;border-radius:10px}.adminList{margin-top:18px}.adminItem{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e5e7eb;padding:12px 0}.adminItem img{width:76px;height:56px;object-fit:cover;border-radius:8px}.danger{background:#b91c1c!important;color:white!important;border:0;padding:8px 11px;border-radius:8px;cursor:pointer}.liveGallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:12px 0 32px}.livePhoto{margin:0}.livePhoto img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.livePhoto figcaption{font-size:.9rem;margin-top:5px}.liveAlbums{margin-top:42px}@media(max-width:800px){.adminGrid{grid-template-columns:1fr}.liveGallery{grid-template-columns:1fr 1fr}}@media(max-width:520px){.liveGallery{grid-template-columns:1fr}}

.fixtureList{display:grid;gap:14px}.fixture{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px;box-shadow:0 8px 24px rgba(16,24,40,.05)}.fixtureDate{font-size:18px;font-weight:950;color:var(--blue);letter-spacing:.03em}.fixtureMain h3{font-size:24px;margin:8px 0 6px}.fixtureMain p{margin:4px 0}.homeResults{display:grid;grid-template-columns:1fr 1fr;gap:22px}.resultsHome{grid-template-columns:1fr}.resultsHome .result:not(:first-child){display:none}.sponsors{background:#f8faff}.sponsorPanel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.sponsorPanel img{width:100%;max-height:120px;object-fit:contain}.album{display:block}.albumPage{margin-top:0}.galleryCredit{margin-top:24px}.liveGallery:not(:empty)+.emptyGallery{display:none}@media(max-width:760px){.fixture{grid-template-columns:1fr;gap:8px}.homeResults{grid-template-columns:1fr}.sponsorPanel{padding:16px}}

.sponsorGrid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:22px;align-items:center}.sponsorLogo{height:115px;display:flex;align-items:center;justify-content:center;padding:14px;background:#fff;border-radius:16px}.sponsorLogo img{width:100%;height:100%;object-fit:contain}.n4HeroBrand{display:flex;align-items:center;gap:28px}.n4HeroBrand>img{width:130px;height:130px;object-fit:contain;background:#fff;border-radius:22px;padding:8px}.n4HeroBrand h1{margin-bottom:0}@media(max-width:900px){.sponsorGrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.sponsorGrid{grid-template-columns:repeat(2,1fr);gap:12px}.sponsorLogo{height:90px}.n4HeroBrand{gap:16px}.n4HeroBrand>img{width:90px;height:90px}}

/* Sponsor photographe */
.sponsorTextLogo{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px 18px;color:#111;line-height:1.05}
.sponsorTextLogo strong{font-size:clamp(18px,2vw,27px);font-weight:800;letter-spacing:-.02em}
.sponsorTextLogo span{margin-top:7px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:#2367c9;font-weight:800}

.officialPhotographer{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center}.officialPhotographer span{font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.officialPhotographer strong{font-size:18px;color:#111}@media(max-width:560px){.officialPhotographer{flex-direction:column;gap:6px}}

/* Mentions légales */
.legalPage{max-width:900px}.legalPage h2{margin-top:36px;margin-bottom:12px}.legalPage h2:first-child{margin-top:0}.legalPage p{line-height:1.75}.legalPage a{color:#0b3fb8;font-weight:700}.footerAdmin a{display:inline-block;margin:3px 0}

/* Actualités */
.newsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.newsCard{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.06)}.newsCard>img{width:100%;aspect-ratio:16/10;object-fit:cover}.newsBody{padding:20px}.newsDate{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}.newsCard h3{font-size:24px;margin:0 0 10px}.newsCard p{color:#475467;line-height:1.65;margin:0;white-space:normal}.newsMore{margin-top:24px}.adminNews{grid-column:1/-1}.adminNews textarea{width:100%;min-height:180px;box-sizing:border-box;margin:7px 0;padding:12px;border:1px solid #d7dce5;border-radius:10px;font:inherit}.adminActions{display:flex;gap:8px;align-items:center}.adminActions button{border:0;padding:8px 11px;border-radius:8px;cursor:pointer;font-weight:800}@media(max-width:850px){.newsGrid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.newsGrid{grid-template-columns:1fr}}

.adminDateLabel{display:grid;gap:7px;font-weight:800;color:#172033}.adminDateLabel input{font-weight:500}

/* V20 - galeries aux proportions naturelles */
.liveGallery.albumPage{columns:3 280px;column-gap:18px;display:block}
.liveGallery.albumPage .livePhoto{display:inline-block;width:100%;margin:0 0 18px;break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.06)}
.liveGallery.albumPage .livePhoto img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.liveGallery.albumPage .livePhoto figcaption{padding:12px 14px;color:#475467;line-height:1.45}
.liveGallery.albumPage .livePhoto figcaption:empty{display:none}
.photoFolders{display:grid;gap:12px;margin-top:20px}.photoFolder{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.photoFolder summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:900;display:flex;align-items:center;justify-content:space-between}.photoFolder summary::-webkit-details-marker{display:none}.photoFolder summary:after{content:'+';font-size:22px;color:var(--blue)}.photoFolder[open] summary:after{content:'−'}.photoFolderBody{border-top:1px solid var(--line);padding:0 16px}.photoFolder .adminItem:last-child{border-bottom:0}
@media(max-width:700px){.liveGallery.albumPage{columns:2 150px;column-gap:12px}.liveGallery.albumPage .livePhoto{margin-bottom:12px}}
@media(max-width:420px){.liveGallery.albumPage{columns:1}}

/* V21 - galerie photo sans carreaux, type masonry */
.liveGallery.albumPage{columns:3 300px;column-gap:10px;display:block}
.liveGallery.albumPage .livePhoto{display:inline-block;width:100%;margin:0 0 10px;break-inside:avoid;background:transparent;border:0;border-radius:10px;overflow:hidden;box-shadow:none;vertical-align:top}
.liveGallery.albumPage .livePhoto img{display:block;width:100%;height:auto;max-height:none;object-fit:initial;border-radius:10px}
.liveGallery.albumPage .livePhoto figcaption{padding:8px 2px 2px;color:#475467;line-height:1.4;background:transparent;font-size:14px}
.liveGallery.albumPage .livePhoto figcaption:empty{display:none}
@media(max-width:900px){.liveGallery.albumPage{columns:2 260px}}
@media(max-width:560px){.liveGallery.albumPage{columns:2 145px;column-gap:7px}.liveGallery.albumPage .livePhoto{margin-bottom:7px;border-radius:7px}.liveGallery.albumPage .livePhoto img{border-radius:7px}}

/* V23 - mosaïque naturelle : aucune image recadrée ou déformée */
.liveGallery.albumPage{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:10px;
  columns:auto;
}
.liveGallery.albumPage .livePhoto{
  flex:1 1 300px;
  width:auto;
  margin:0;
  display:block;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.liveGallery.albumPage .livePhoto img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  border-radius:10px;
}
/* Les portraits prennent moins de largeur après détection JS */
.liveGallery.albumPage .livePhoto.isPortrait{flex:0.72 1 220px}
.liveGallery.albumPage .livePhoto.isSquare{flex:0.88 1 260px}
.liveGallery.albumPage .livePhoto.isLandscape{flex:1.25 1 340px}
.liveGallery.albumPage .livePhoto figcaption{padding:7px 2px 0}
@media(max-width:700px){
  .liveGallery.albumPage{gap:7px}
  .liveGallery.albumPage .livePhoto,
  .liveGallery.albumPage .livePhoto.isPortrait,
  .liveGallery.albumPage .livePhoto.isSquare,
  .liveGallery.albumPage .livePhoto.isLandscape{flex:1 1 calc(50% - 4px);max-width:100%}
}
@media(max-width:430px){
  .liveGallery.albumPage .livePhoto,
  .liveGallery.albumPage .livePhoto.isLandscape{flex-basis:100%}
  .liveGallery.albumPage .livePhoto.isPortrait{flex-basis:calc(50% - 4px)}
}

/* V24 - retour galerie classique : vignettes uniformes avec coins arrondis */
.liveGallery.albumPage{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  columns:auto;
  align-items:stretch;
}
.liveGallery.albumPage .livePhoto,
.liveGallery.albumPage .livePhoto.isPortrait,
.liveGallery.albumPage .livePhoto.isSquare,
.liveGallery.albumPage .livePhoto.isLandscape{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  background:transparent;
  border:0;
  box-shadow:none;
  overflow:visible;
}
.liveGallery.albumPage .livePhoto img{
  display:block;
  width:100%;
  height:260px;
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:16px;
}
.liveGallery.albumPage .livePhoto figcaption{padding:8px 2px 0}
@media(max-width:850px){.liveGallery.albumPage{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.liveGallery.albumPage .livePhoto img{height:220px}}
@media(max-width:520px){.liveGallery.albumPage{grid-template-columns:1fr;gap:14px}.liveGallery.albumPage .livePhoto img{height:240px}}

/* V26 - menu Equipes */
.navDropdown{position:relative}.navDropBtn{border:0;background:transparent;font:inherit;font-weight:850;color:inherit;cursor:pointer;padding:10px 0}.navDropBtn span{font-size:11px;margin-left:4px}.navDropMenu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:150px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow)}.navDropdown:hover .navDropMenu,.navDropdown:focus-within .navDropMenu{display:grid}.navDropMenu a{padding:10px 12px;border-radius:9px}.navDropMenu a:hover{background:#eef4ff;color:var(--blue)}
@media(max-width:920px){.navDropdown{width:100%}.navDropBtn{width:100%;text-align:left;padding:0;font-size:14px}.navDropMenu{display:grid;position:static;transform:none;box-shadow:none;border:0;padding:7px 0 0 14px;min-width:0}.navDropMenu a{padding:7px 10px;color:var(--muted)}}

/* V28 - classements */
.rankingTabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.rankingTab{border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 22px;border-radius:999px;font:inherit;font-weight:900;cursor:pointer}.rankingTab.active{background:var(--blue);border-color:var(--blue);color:#fff}.rankingPanel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(16,24,40,.06)}.rankingNotice{padding:14px 16px;margin:12px 0 16px;background:#f5f8ff;border:1px solid #dce6ff;border-radius:14px}.rankingNotice p{margin:5px 0 0;color:#475467}.rankingFrame{display:block;width:100%;height:760px;border:1px solid var(--line);border-radius:16px;background:#fff}@media(max-width:700px){.rankingFrame{height:650px}.rankingPanel{padding:12px}.rankingTab{flex:1}}

/* V29 - classements officiels intégrés dans chaque équipe */
.rankingEmbed{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.rankingEmbed .rankingFrame{border:0;border-radius:0}.rankingHelp{margin:12px 2px 0;color:#667085;font-size:.94rem}

/* V30 - tableaux de classement du club */
.rankingTableWrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.rankingTable{width:100%;border-collapse:collapse;min-width:920px}.rankingTable th{background:#252525;color:#fff;padding:13px 11px;text-align:center;font-size:.88rem}.rankingTable th:nth-child(2){text-align:left}.rankingTable td{padding:12px 11px;border-bottom:1px solid var(--line);text-align:center}.rankingTable td:nth-child(2){text-align:left;font-weight:800}.rankingTable tr:last-child td{border-bottom:0}.rankingTable tr.clubRow{background:#eef4ff}.rankingTable tr.clubRow td:nth-child(2){color:var(--blue)}.adminRanking{grid-column:1/-1}.adminRankingTabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.adminRankingEditor{overflow-x:auto}.adminRankingTable{width:100%;min-width:1050px;border-collapse:collapse}.adminRankingTable th,.adminRankingTable td{padding:6px;border-bottom:1px solid var(--line);text-align:center}.adminRankingTable input{width:58px;padding:8px;text-align:center}.adminRankingTable input.rankName{width:260px;text-align:left}.adminRankingTable tr.clubRow{background:#eef4ff}
/* V33 — logos clubs dans le calendrier N4 */
.fixture{position:relative;padding-right:120px}
.fixtureLogo{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:78px;height:78px;display:flex;align-items:center;justify-content:center}
.fixtureLogo img{display:block;max-width:78px;max-height:78px;width:auto;height:auto;object-fit:contain;background:transparent}
@media(max-width:700px){.fixture{padding-right:86px}.fixtureLogo{right:14px;width:58px;height:58px}.fixtureLogo img{max-width:58px;max-height:58px}}

/* Administration et dossiers de galerie */
#dash,.adminGrid,.adminBox{min-width:0}.adminBox{overflow:hidden}.adminBox form{min-width:0}.adminBox input,.adminBox select,.adminBox textarea{max-width:100%;font:inherit}.adminRankingEditor{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.adminRankingTable{min-width:1050px}.adminItem{min-width:0;flex-wrap:wrap}.adminItem span{overflow-wrap:anywhere}.adminActions{flex-wrap:wrap}.photoFolder summary{gap:12px;flex-wrap:wrap}.nestedFolder{margin:12px 0}.folderForm{display:grid;gap:8px;margin-top:20px}.galleryFolder{grid-column:1/-1;min-width:0}.galleryFolder h3{font-size:clamp(22px,4vw,30px);margin:28px 0 14px}.galleryFolderImages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.galleryFolderImages .livePhoto{min-width:0}@media(max-width:850px){.galleryFolderImages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.adminGrid{grid-template-columns:minmax(0,1fr)}.adminBox{padding:16px}.pagehero h1{overflow-wrap:anywhere}.galleryFolderImages{grid-template-columns:1fr}.adminItem{align-items:flex-start}.adminItem button{max-width:100%}}

/* Pied de page : liens séparés et adresse de la salle */
.footerBottom{display:grid;grid-template-columns:1fr minmax(0,2fr) 1fr;gap:18px;align-items:end;border-top:1px solid rgba(255,255,255,.18);margin-top:30px;padding-top:20px}.footerBottom a{color:#dce5f4;text-decoration:none}.footerBottom a:hover{text-decoration:underline;color:#fff}.footerAdminLink{justify-self:start}.footerLegalLink{justify-self:end}.footerVenue{text-align:center;line-height:1.6}.footerVenue strong{color:#fff}.footerVenue a{overflow-wrap:anywhere}@media(max-width:650px){.footerBottom{grid-template-columns:1fr 1fr;align-items:start}.footerVenue{grid-column:1/-1;grid-row:1;text-align:left}.footerAdminLink{grid-column:1;grid-row:2}.footerLegalLink{grid-column:2;grid-row:2;text-align:right}}

.footerVenueLabel{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#9ebcff}

/* Coordonnées de la salle sous le contact ; liens du bas espacés */
.footerContactAddress{margin-top:24px;line-height:1.6;overflow-wrap:anywhere}.footerContactAddress b{display:inline-block;margin-bottom:6px;color:#fff}.footerBottom{grid-template-columns:1fr 1fr;align-items:center;margin-top:42px;padding-top:28px;min-height:68px}.footerBottom .footerAdminLink,.footerBottom .footerAdminLink:hover,.footerBottom .footerAdminLink:visited{color:var(--dark);text-decoration:none}.footerBottom .footerAdminLink:focus-visible{outline:2px solid #fff;outline-offset:3px}.footerBottom .footerLegalLink{grid-column:2;justify-self:end}@media(max-width:650px){.footerBottom{grid-template-columns:1fr 1fr;gap:24px}.footerBottom .footerAdminLink{grid-column:1;grid-row:1}.footerBottom .footerLegalLink{grid-column:2;grid-row:1}}@media(min-width:761px){.homeResults{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* L’adresse est une colonne indépendante du pied de page. */
.footerGrid{grid-template-columns:1.15fr 1fr 1fr 1.3fr;align-items:start}.footerGrid>.footerContactAddress{margin-top:0}.footerBottom .footerAdminLink,.footerBottom .footerAdminLink:visited,.footerBottom .footerAdminLink:hover,.footerBottom .footerAdminLink:active{color:var(--dark)!important;text-decoration:none}@media(max-width:920px){.footerGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.footerGrid{grid-template-columns:1fr}.footerGrid>.footerContactAddress{margin-top:0}}

/* Publication des stages */
.adminStages{grid-column:1/-1}.adminStages form{display:grid;gap:7px}.adminStages textarea{width:100%;min-height:150px;max-width:100%;padding:12px;border:1px solid #d7dce5;border-radius:10px;font:inherit}.adminStages label{font-weight:800;margin-top:8px}.stageGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.stagePublished{padding:0;overflow:hidden}.stagePublished img{width:100%;max-height:540px;object-fit:contain;background:#f5f7fb}.stageCardBody{padding:24px}.stageCardBody p{white-space:normal;line-height:1.6}.stageCardBody .stageDate{font-weight:800;color:var(--blue)}@media(max-width:720px){.stageGrid{grid-template-columns:1fr}}

/* Les galeries affichent d’abord leurs dossiers. */
.liveGallery.albumPage .galleryFolderGrid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}.galleryFolderCard{min-width:0;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;isolation:isolate;overflow:hidden;border-radius:18px;padding:20px;background:#142b52;color:#fff}.galleryFolderCard:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(2,10,27,.94),rgba(2,10,27,.10) 80%)}.galleryFolderCard img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.galleryFolderIcon{font-size:52px;line-height:1;margin-bottom:auto}.galleryFolderTitle{font-size:24px;font-weight:900;overflow-wrap:anywhere}.galleryFolderCount{margin-top:4px;color:#e1e9f9}.galleryFolderCard:hover,.galleryFolderCard:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.galleryBreadcrumb{grid-column:1/-1;width:100%;margin:0 0 14px}.galleryBreadcrumb a{color:var(--blue);font-weight:800}.galleryBreadcrumb h2{margin:16px 0 0;font-size:clamp(28px,4vw,42px)}@media(max-width:800px){.liveGallery.albumPage .galleryFolderGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.liveGallery.albumPage .galleryFolderGrid{grid-template-columns:1fr}.galleryFolderCard{min-height:190px}}

.folderRename{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0}.folderRename label{font-weight:800}.folderRename input{flex:1 1 150px;min-width:0;margin:0}.folderRename button{border:1px solid var(--line);background:#eef4ff;color:var(--blue);border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}

/* Boutique partenaire */
.partnerShop{margin-top:72px;padding-top:58px;border-top:1px solid var(--line)}
.partnerTrack{scroll-behavior:smooth;overscroll-behavior-x:contain}
.partnerTrack:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:12px}
.partnerTrack .partnerProduct{flex-basis:min(320px,82vw)}
.partnerProduct>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:12px;background:#fff}
.partnerProduct .productBody{min-height:72px;padding:18px}
.partnerProduct h3{font-size:20px;margin:0}
.partnerShop>.btn:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:560px){.partnerShop{margin-top:52px;padding-top:42px}.partnerShop>.btn{width:100%}}
@media(prefers-reduced-motion:reduce){.partnerTrack{scroll-behavior:auto}}

/* Retour en haut de page */
.backToTop{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #dce5f4;border-radius:50%;background:rgba(255,255,255,.94);color:var(--blue);box-shadow:0 3px 12px rgba(7,17,31,.12);cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.backToTop[hidden]{display:none}
.backToTop:hover{background:var(--blue);color:#fff;box-shadow:0 4px 16px rgba(21,87,232,.2)}
.backToTop:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.backToTop svg{pointer-events:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.backToTop{transition:none}}

/* Partenaires : des tailles variées et des rangées décalées */
.sponsorGrid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px 38px;max-width:900px;margin:8px auto 12px}
.sponsorLogo{flex:0 1 154px;width:154px;height:108px;padding:8px;background:transparent;border-radius:0}
.sponsorLogo:nth-child(1){flex-basis:180px;transform:translateY(5px)}
.sponsorLogo:nth-child(2){flex-basis:126px;transform:translateY(-6px)}
.sponsorLogo:nth-child(3){flex-basis:166px;transform:translateY(7px)}
.sponsorLogo:nth-child(4){flex-basis:142px;transform:translateY(-3px)}
.sponsorLogo:nth-child(5){flex-basis:176px;transform:translateY(-4px)}
.sponsorLogo:nth-child(6){flex-basis:132px;transform:translateY(6px)}
.sponsorLogo:nth-child(7){flex-basis:150px;transform:translateY(-2px)}
@media(max-width:560px){.sponsorGrid{gap:18px 24px;margin:4px auto 10px}.sponsorLogo{height:88px;max-width:calc(50% - 12px);flex-basis:130px!important;padding:6px}.sponsorLogo:nth-child(odd){transform:translateY(4px)}.sponsorLogo:nth-child(even){transform:translateY(-4px)}}

/* Alertes du club */
.footerNotificationsLink{font-size:12px;font-weight:800;color:#dce5f4}

/* Accès privé à gauche, liens publics empilés à droite */
.footerBottom{grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:10px;align-items:end}
.footerBottom .footerAdminLink{grid-column:1;grid-row:1 / span 2;justify-self:start;align-self:end;font-size:11px;line-height:1.4;color:var(--dark)!important;text-decoration:none}
.footerBottom .footerLegalLink{grid-column:2;grid-row:1;justify-self:end;text-align:right}
.footerBottom .footerNotificationsLink{grid-column:2;grid-row:2;justify-self:end;text-align:right}

/* Choix des notifications sur téléphone ; réglages depuis le pied de page */
.pushDialog{width:min(520px,calc(100% - 34px));max-height:calc(100dvh - 34px);overflow:auto;margin:auto;padding:26px;border:1px solid #d7e4ff;border-radius:20px;background:#fff;color:var(--ink);font:inherit;box-shadow:0 24px 70px rgba(7,17,31,.24)}
.pushDialog::backdrop{background:rgba(7,17,31,.55)}
.pushDialogHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.pushDialog h2{font-size:26px;margin:0;letter-spacing:-.03em}
.pushDialog p{color:#475467;line-height:1.6;margin:0 0 12px}
.pushDialog .pushStatus{padding:14px 16px;margin:18px 0;background:#eaf1ff;border-radius:12px;font-size:14px}
.pushDialogClose{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border:0;border-radius:10px;background:#f5f7fb;color:var(--dark);font-size:26px;cursor:pointer}
.pushDialogActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.pushDialogActions .btn:not(.primary){background:#f5f7fb}
.pushDialog .btn:disabled{opacity:.6;cursor:default}
.pushDialog button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:600px){.pushDialog{padding:20px}.pushDialogActions{flex-direction:column}.pushDialogActions .btn{width:100%}}

.pushDialog .pushChoiceNote{font-size:13px;color:var(--muted);margin:18px 0 0}
.pushDialogClose:disabled{opacity:.6;cursor:default}
.pushDialogActions .btn[hidden]{display:none!important}

/* Calendriers et résultats — couleurs des rencontres */
.fixture[data-match-kind="home"]{color:var(--blue)}
.fixture[data-match-kind="away"]{color:#667085}
.fixture[data-match-kind="cup"]{color:#65316f}
.fixtureLegend{display:flex;flex-wrap:wrap;gap:12px 22px;margin:0 0 22px;font-size:13px;font-weight:800}
.fixtureLegend span{display:inline-flex;align-items:center;gap:8px}
.fixtureLegend span:before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}
.legendHome{color:var(--blue)}.legendAway{color:#667085}.legendCup{color:#65316f}
.result--win{border-color:#86cfa2;background:#f1fbf5}.result--win .score{color:#18743c}.result--win .tag{background:#dcf5e4;color:#18743c}
.result--loss{border-color:#efa2a2;background:#fff5f5}.result--loss .score{color:#b42318}.result--loss .tag{background:#fee4e2;color:#b42318}
.result--draw{border-color:#b6becb;background:#f8f9fb}.result--draw .score{color:#667085}.result--draw .tag{background:#e8ebef;color:#596273}

.fixture[data-match-kind] .fixtureDate,.fixture[data-match-kind] .fixtureMain,.fixture[data-match-kind] .fixtureMain *{color:inherit}

.fixtureGroup + .fixtureGroup{margin-top:38px}.fixtureGroupTitle{font-size:25px;letter-spacing:-.02em;margin:0 0 18px}.fixtureGroup [data-fixtures-empty][hidden]{display:none!important}
