/* ==========================================================================
   YUL Media · uploader staff + galerie publique + photos joueurs
   ========================================================================== */

/* ---------- Photos joueurs (cartes + fiche) ---------- */
.player-photo.yul-has-photo{ background-size:cover; background-position:center 20%; }
.player-photo.yul-has-photo .player-num{ opacity:0; }
.player-photo.yul-has-photo::after{ background:linear-gradient(180deg, transparent 50%, rgba(7,13,28,.75)); opacity:1; }
.yul-modal-photo{
  height:260px; margin:-1px -1px 1.2rem; border-radius:10px 10px 0 0;
  background-size:cover; background-position:center 20%;
  box-shadow:inset 0 -80px 60px -30px rgba(7,13,28,.9);
}

/* ---------- Galerie publique ---------- */
.yul-photos{ margin-top:3.5rem; }
.yul-photo-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:.8rem; margin-top:1rem; }
.yul-photo{
  position:relative; aspect-ratio:4/3; border-radius:10px; overflow:hidden; padding:0; border:1px solid var(--line);
  background:var(--surface); cursor:zoom-in;
}
.yul-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.yul-photo:hover img{ transform:scale(1.05); }
.yul-photo .yp-cap{
  position:absolute; left:0; right:0; bottom:0; padding:1.4rem .8rem .6rem; text-align:left;
  font-family:var(--ff-mono); font-size:.64rem; letter-spacing:.06em; color:var(--ink);
  background:linear-gradient(180deg, transparent, rgba(7,13,28,.9));
}
@media (max-width:560px){ .yul-photo-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:.5rem; } }

.yul-lb{
  position:fixed; inset:0; z-index:9700; display:none; align-items:center; justify-content:center;
  background:rgba(3,5,12,.94); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.yul-lb.open{ display:flex; }
.yul-lb figure{ margin:0; max-width:92vw; max-height:84vh; display:flex; flex-direction:column; align-items:center; gap:.8rem; }
.yul-lb img{ max-width:92vw; max-height:78vh; object-fit:contain; border-radius:6px; }
.yul-lb figcaption{ font-family:var(--ff-mono); font-size:.72rem; color:var(--dim); letter-spacing:.06em; text-align:center; }
.yul-lb-close, .yul-lb-nav{
  position:absolute; background:rgba(12,23,48,.8); border:1px solid var(--line); color:var(--ink);
  width:46px; height:46px; border-radius:50%; font-size:1.3rem; display:flex; align-items:center; justify-content:center;
}
.yul-lb-close{ top:1rem; right:1rem; }
.yul-lb-nav.prev{ left:1rem; top:50%; transform:translateY(-50%); }
.yul-lb-nav.next{ right:1rem; top:50%; transform:translateY(-50%); }
.yul-lb-count{ position:absolute; top:1.4rem; left:1.4rem; font-family:var(--ff-mono); font-size:.7rem; color:var(--dim); }
@media (max-width:560px){ .yul-lb-nav{ display:none; } }

/* ---------- Uploader (Command Center) ---------- */
.yul-up .hub-card{ margin-bottom:1rem; }
.yul-up .hub-card > .hc-tag{ margin-bottom:.9rem; }
.yul-up-mode{
  font-size:.82rem; line-height:1.55; color:var(--dim); padding:.9rem 1.1rem; border-radius:8px; margin-bottom:1rem;
  border:1px solid var(--line); background:var(--surface);
}
.yul-up-mode b{ font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.18em; margin-right:.5rem; }
.yul-up-mode.live b{ color:var(--win); }
.yul-up-mode.demo b{ color:var(--gold); }
.yul-up-mode.warn b{ color:var(--loss); }
.yul-up-mode button{ margin-left:.4rem; background:none; border:0; color:var(--gold); text-decoration:underline; font-size:.78rem; }
.yul-up-help{ color:var(--dim); font-size:.84rem; line-height:1.55; margin:.5rem 0 .8rem; }
.yul-up-help code{ color:var(--gold); }
.yul-up-row{ display:flex; gap:.6rem; }
.yul-up-row input{
  flex:1; min-width:0; background:var(--raised); border:1px solid var(--line); border-radius:4px; color:var(--ink);
  padding:.75rem .9rem; font-family:var(--ff-body);
}
.yul-up-row .pc-btn{ flex:none; padding:.7rem 1.2rem; }
.yul-up-msg{ font-family:var(--ff-mono); font-size:.7rem; margin-top:.6rem; color:var(--dim); min-height:1em; }
.yul-up-msg.ok{ color:var(--win); } .yul-up-msg.err{ color:var(--loss); }
.yul-up-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
@media (max-width:640px){ .yul-up-grid2{ grid-template-columns:1fr; } }
#yulUpForm.locked{ opacity:.45; pointer-events:none; }

.yul-drop{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.4rem; text-align:center;
  margin-top:.6rem; padding:2rem 1rem; border:1.5px dashed rgba(240,180,41,.45); border-radius:12px; cursor:pointer;
  background:rgba(240,180,41,.04); transition:background .2s ease, border-color .2s ease;
}
.yul-drop:hover, .yul-drop.over, .yul-drop:focus-visible{ background:rgba(240,180,41,.1); border-color:var(--gold); }
.yd-ic{ font-size:1.8rem; color:var(--gold); line-height:1; }
.yd-t{ font-family:var(--ff-display); font-size:1.3rem; letter-spacing:.03em; color:var(--ink); }
.yd-s{ font-family:var(--ff-mono); font-size:.66rem; color:var(--dim); letter-spacing:.04em; }
.yd-s u{ color:var(--gold); }

.yul-queue{ display:flex; flex-direction:column; gap:.4rem; margin-top:.8rem; }
.yq-row{ display:grid; grid-template-columns:1fr 110px auto; gap:.7rem; align-items:center; font-family:var(--ff-mono); font-size:.68rem; color:var(--dim); }
.yq-name{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink); }
.yq-bar{ height:4px; background:var(--raised); border-radius:4px; overflow:hidden; }
.yq-bar i{ display:block; height:100%; width:0; background:var(--gold); transition:width .2s ease; }
.yq-row.ok .yq-st{ color:var(--win); } .yq-row.err .yq-st{ color:var(--loss); }

.yul-up-filter{ display:flex; flex-wrap:wrap; gap:.4rem; margin:.4rem 0 1rem; }
.yul-up-filter button{
  font-family:var(--ff-mono); font-size:.62rem; letter-spacing:.12em; padding:.45rem .8rem; border-radius:999px;
  border:1px solid var(--line); background:none; color:var(--dim);
}
.yul-up-filter button.active{ border-color:var(--gold); color:var(--gold); }
.yul-staff-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(160px,1fr)); gap:.8rem; }
.ysg-item{ border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--surface); display:flex; flex-direction:column; }
.ysg-img{ aspect-ratio:4/3; background-size:cover; background-position:center; }
.ysg-meta{ padding:.6rem .7rem .3rem; display:flex; flex-direction:column; gap:.2rem; }
.ysg-slot{ font-family:var(--ff-mono); font-size:.58rem; letter-spacing:.16em; color:var(--gold); text-transform:uppercase; }
.ysg-cap{ font-size:.76rem; color:var(--dim); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ysg-del{
  margin:.4rem .7rem .7rem; align-self:flex-start; background:none; border:1px solid rgba(232,93,93,.4); color:var(--loss);
  font-family:var(--ff-mono); font-size:.6rem; letter-spacing:.1em; padding:.35rem .7rem; border-radius:4px;
}
.ysg-del:hover{ background:rgba(232,93,93,.1); }
@media (max-width:560px){ .yul-staff-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }

/* ---------- Affiches de score (Media Center + fiche de match) ---------- */
.media-card.has-poster .mc-cover::after{ display:none; }
.media-card.has-poster .mc-type{ display:none; }
.media-card.has-poster:hover .rp-glow{ opacity:1; transform:scale(1.08); }
.rp{
  --acc:#F0B429; --accs:rgba(240,180,41,.35); position:absolute; inset:0; container-type:inline-size; overflow:hidden; color:#F4F5F2; isolation:isolate;
  background:
    radial-gradient(60% 75% at 50% 52%, rgba(255,255,255,.07), transparent 70%),
    linear-gradient(115deg, #1A2D63 0%, #0F1D44 42%, #0A1430 58%, #060B1A 100%);
}
.rp-W{ --acc:#3DDC84; --accs:rgba(61,220,132,.38); } .rp-L{ --acc:#E85D5D; --accs:rgba(232,93,93,.38); }
.rp-D, .rp-up{ --acc:#F0B429; --accs:rgba(240,180,41,.38); }
.rp::before{ content:''; position:absolute; inset:0; z-index:0; opacity:.55;
  background:repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1px, transparent 1px 14px); }
.rp::after{ content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.25), transparent 22%, transparent 70%, rgba(0,0,0,.45)); }
.rp-in{ position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; justify-content:space-between; padding:5cqi 6cqi 4.5cqi; }
.rp-slash{ position:absolute; z-index:-1; top:-10%; bottom:-10%; right:-6cqi; width:16cqi; transform:skewX(-18deg);
  background:linear-gradient(180deg, var(--acc), transparent 85%); opacity:.9; box-shadow:0 0 10cqi var(--accs); }
.rp-slash::before{ content:''; position:absolute; top:0; bottom:0; left:-5.5cqi; width:2.4cqi; background:linear-gradient(180deg, var(--acc), transparent 75%); opacity:.7; }
.rp-slash::after{ content:''; position:absolute; top:0; bottom:0; left:-162cqi; width:3cqi; background:linear-gradient(0deg, var(--acc), transparent 70%); opacity:.55; }
.rp-glow{ position:absolute; z-index:-1; left:50%; top:52%; width:62cqi; height:62cqi; margin:-31cqi 0 0 -31cqi; border-radius:50%;
  background:radial-gradient(closest-side, var(--accs), transparent 72%); opacity:.75; transition:opacity .4s, transform .6s; }
.rp-top{ display:flex; align-items:center; justify-content:space-between; gap:3cqi; }
.rp-brand{ display:inline-flex; align-items:center; gap:1.4cqi; font-family:var(--ff-display); font-size:3.6cqi; letter-spacing:.06em; }
.rp-brand img{ height:4.6cqi; width:auto; }
.rp-comp{ font-family:var(--ff-mono); font-size:2.8cqi; letter-spacing:.16em; color:rgba(244,245,242,.8);
  padding:.9cqi 2cqi; border:1px solid rgba(244,245,242,.22); border-radius:99px; background:rgba(6,11,26,.45); backdrop-filter:blur(4px); }
.rp-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2cqi; }
.rp-team{ display:flex; flex-direction:column; align-items:center; gap:2cqi; min-width:0; }
.rp-team b{ font-family:var(--ff-display); font-weight:400; font-size:3.8cqi; letter-spacing:.04em; text-transform:uppercase; text-align:center; line-height:1.05;
  max-width:100%; overflow-wrap:anywhere; text-shadow:0 .6cqi 2cqi rgba(0,0,0,.6); }
.rp-crest{ position:relative; width:19cqi; height:19cqi; flex:none; display:flex; align-items:center; justify-content:center;
  filter:drop-shadow(0 1.6cqi 2.6cqi rgba(0,0,0,.6)); }
.rp-crest::before{ content:''; position:absolute; inset:-14%; border-radius:50%; z-index:-1;
  background:radial-gradient(closest-side, rgba(255,255,255,.14), transparent 75%); }
.rp-crest img{ display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.rp-crest.no-logo{ border-radius:50%; background:#142347; border:1px solid #26355F; }
.rp-ini{ font-family:var(--ff-display); font-size:7cqi; color:#F0B429; }
.rp-mid{ display:flex; flex-direction:column; align-items:center; gap:1.4cqi; }
.rp-score{ display:flex; align-items:center; gap:2.2cqi; font-family:var(--ff-display); font-size:19cqi; line-height:.85; letter-spacing:-.01em; }
.rp-score span{ color:rgba(244,245,242,.55); }
.rp-score span.win{ color:#fff; text-shadow:0 0 5cqi rgba(255,255,255,.35); }
.rp-W .rp-score span.win{ background:linear-gradient(180deg,#FFF6D6,#F0B429 62%,#B98920); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:none;
  filter:drop-shadow(0 0 3cqi rgba(240,180,41,.45)); }
.rp-D .rp-score span{ color:#F4F5F2; }
.rp-score i{ display:block; width:3.6cqi; height:1.2cqi; border-radius:1cqi; background:var(--acc); box-shadow:0 0 2cqi var(--accs); }
.rp-score em{ font-style:normal; font-size:11cqi; color:rgba(244,245,242,.85); letter-spacing:.04em; }
.rp-ft{ font-family:var(--ff-mono); font-size:2.6cqi; letter-spacing:.22em; color:#070D1C; background:var(--acc); padding:.7cqi 2cqi; border-radius:.8cqi; }
.rp-foot{ display:flex; align-items:center; gap:2.4cqi; flex-wrap:wrap; font-family:var(--ff-mono); font-size:2.7cqi; letter-spacing:.14em; color:rgba(244,245,242,.72); }
.rp-foot > span + span::before{ content:'·'; margin-right:2.4cqi; color:rgba(244,245,242,.4); }
.rp-venue{ text-transform:uppercase; }
.rp-play{ margin-left:auto; color:#fff; background:#E8322E; padding:.8cqi 2cqi; border-radius:.8cqi; letter-spacing:.12em; }
.rp-foot > .rp-play::before{ display:none; }

/* Version grande (à la une + fiche de match) */
.media-hero-card.has-poster{ flex-direction:column; align-items:stretch; min-height:0; }
.media-hero-card.has-poster::before{ display:none; }
.media-hero-card .mh-poster{ position:relative; aspect-ratio:16/10; }
@media (min-width:900px){
  .media-hero-card.has-poster{ flex-direction:row; align-items:stretch; }
  .media-hero-card.has-poster .mh-poster{ flex:0 0 58%; }
  .media-hero-card.has-poster .mh-inner{ align-self:center; padding:2rem 2.2rem; }
}
.media-hero-card.has-poster .mh-inner{ padding:1.3rem 1.6rem 1.6rem; }
.rp-big .rp-in{ padding:5.5cqi 6.5cqi 5cqi; }

/* Fiche de match : l'affiche remplace l'en-tête */
.mp-poster{ position:relative; aspect-ratio:4/3; border-radius:14px; overflow:hidden; margin:.4rem auto 1rem; max-width:760px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.06); }
@media (min-width:700px){ .mp-poster{ aspect-ratio:16/9; } }
.mp-sub{ font-family:var(--ff-mono); font-size:.7rem; letter-spacing:.14em; color:var(--dim); text-align:center; margin:.2rem 0 1rem; text-transform:uppercase; }
.mp-hero .status-pill{ margin-bottom:.8rem; }

/* Vidéo du match complet */
.mp-video{ position:relative; aspect-ratio:16/9; border-radius:12px; overflow:hidden; background:#000; box-shadow:0 0 0 1px var(--line); }
.mp-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.mp-video-link{ display:inline-block; margin-top:.6rem; font-family:var(--ff-mono); font-size:.7rem; letter-spacing:.08em; color:var(--gold); }
.mp-video + .mp-video-link + .mp-video-edit{ margin-top:.8rem; }
.mp-video-edit{ margin-top:0; padding:1rem; border:1px dashed var(--gold-dim); border-radius:10px; background:rgba(240,180,41,.05); }
.mp-video-edit label{ display:block; font-family:var(--ff-mono); font-size:.68rem; letter-spacing:.08em; color:var(--gold); margin-bottom:.6rem; }
.mp-video-edit label small{ color:var(--dim); letter-spacing:0; }
.mp-video-edit .row{ display:flex; gap:.5rem; flex-wrap:wrap; }
.mp-video-edit input{ flex:1; min-width:200px; background:var(--raised); border:1px solid var(--line); border-radius:6px; color:var(--ink); padding:.65rem .8rem; font:inherit; font-size:.88rem; }
.mp-video-edit button{ background:var(--gold); color:#14100A; border:0; border-radius:6px; padding:.65rem 1rem; font-weight:700; cursor:pointer; }
.mp-video-edit button.ghost{ background:transparent; color:var(--dim); border:1px solid var(--line); }
.mpVideoMsg{ color:var(--loss); font-size:.8rem; margin-top:.5rem; }

/* ---------- Carte « Prochain match » en affiche ---------- */
.match-card.has-np > :not(.np){ display:none !important; }
.match-card.has-np{ padding:clamp(1rem,3vw,1.6rem) !important; }
.np{ position:relative; z-index:1; }
.np-head{ display:flex; align-items:center; gap:.6rem; font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.18em; color:var(--gold); margin:0 0 1rem; }
.np-dot{ width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 0 rgba(240,180,41,.6); animation:npPulse 2s infinite; }
@keyframes npPulse{ 0%{ box-shadow:0 0 0 0 rgba(240,180,41,.6); } 70%{ box-shadow:0 0 0 10px rgba(240,180,41,0); } 100%{ box-shadow:0 0 0 0 rgba(240,180,41,0); } }
.np-poster{ position:relative; aspect-ratio:4/3; border-radius:14px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.06); }
@media (min-width:760px){ .np-poster{ aspect-ratio:16/9; } }
.np-mystery{ border-radius:22% 22% 50% 50% / 18% 18% 60% 60%; border:2px dashed rgba(240,180,41,.55); background:radial-gradient(circle at 50% 35%, rgba(240,180,41,.18), rgba(6,11,26,.6) 70%); }
.np-mystery span{ font-family:var(--ff-display); font-size:10cqi; color:#F0B429; text-shadow:0 0 4cqi rgba(240,180,41,.6); animation:npQ 2.6s ease-in-out infinite; }
@keyframes npQ{ 50%{ opacity:.55; transform:scale(.94); } }
.np-tbd .rp-foot > span:last-child{ margin-left:auto; color:var(--gold); }
.np-tbd .rp-foot > span:last-child::before{ display:none; }
.np-cd{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-top:1rem; }
.np-cd div{ background:linear-gradient(160deg, var(--raised), var(--surface)); border:1px solid var(--line); border-radius:10px; padding:.8rem .4rem; text-align:center; }
.np-cd b{ display:block; font-family:var(--ff-display); font-weight:400; font-size:2rem; line-height:1; color:var(--gold); }
.np-cd span{ display:block; font-family:var(--ff-mono); font-size:.58rem; letter-spacing:.18em; color:var(--dim); margin-top:.35rem; }
.np-info{ display:grid; grid-template-columns:1fr auto; gap:.6rem; margin-top:1rem; }
.np-k{ display:block; font-family:var(--ff-mono); font-size:.58rem; letter-spacing:.18em; color:var(--gold-dim); }
.np-last, .np-form{ background:linear-gradient(160deg, var(--raised), var(--surface)); border:1px solid var(--line); border-radius:10px; padding:.75rem .9rem; text-align:left; color:var(--ink); font:inherit; }
.np-last{ cursor:pointer; transition:border-color .2s; } .np-last:hover{ border-color:var(--gold-dim); }
.np-lrow{ display:flex; align-items:center; gap:.6rem; margin:.45rem 0 .3rem; }
.np-lrow img{ height:28px; width:auto; } .np-lrow i{ font-style:normal; font-family:var(--ff-display); color:var(--gold); }
.np-lrow b{ font-family:var(--ff-display); font-weight:400; font-size:1.5rem; line-height:1; }
.np-lrow b.W{ color:var(--win); } .np-lrow b.L{ color:var(--loss); } .np-lrow b.D{ color:var(--draw); }
.np-ld{ font-family:var(--ff-mono); font-size:.62rem; color:var(--dim); }
.np-form div{ display:flex; gap:.3rem; margin-top:.6rem; }
.np-form i{ display:grid; place-items:center; width:24px; height:24px; border-radius:6px; font-style:normal; font-family:var(--ff-mono); font-size:.66rem; font-weight:700; color:#070D1C; }
.np-form i.W{ background:var(--win); } .np-form i.D{ background:var(--draw); } .np-form i.L{ background:var(--loss); }
.np-cta{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.7rem; margin-top:1.3rem; }
.np-ig{ display:inline-flex; align-items:center; justify-content:center; gap:.8rem; padding:.55rem 1.1rem .55rem .55rem; border-radius:12px; border:1px solid var(--line);
  background:linear-gradient(160deg, var(--raised), var(--surface)); color:var(--ink); text-decoration:none; transition:border-color .2s, transform .2s; }
.np-ig:hover{ border-color:rgba(225,48,108,.6); transform:translateY(-1px); }
.np-ig-ic{ display:grid; place-items:center; width:38px; height:38px; border-radius:10px; flex:none; color:#fff;
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); box-shadow:0 6px 16px -6px rgba(214,36,159,.6); }
.np-ig-ic svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; }
.np-ig-tx{ display:flex; flex-direction:column; line-height:1.2; text-align:left; }
.np-ig-tx small{ font-family:var(--ff-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); }
.np-ig-tx b{ font-family:var(--ff-body); font-weight:600; font-size:.92rem; }
.np-ig-ar{ margin-left:auto; padding-left:.6rem; color:var(--dim); font-size:1rem; transition:color .2s, transform .2s; }
.np-ig:hover .np-ig-ar{ color:#fff; transform:translate(2px,-2px); }
@media (max-width:420px){ .np-info{ grid-template-columns:1fr; } }
@media (min-width:900px){
  .np{ display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); grid-template-areas:"head head" "poster side"; column-gap:1.4rem; align-items:stretch; }
  .np-head{ grid-area:head; } .np-poster{ grid-area:poster; }
  .np-side{ grid-area:side; display:flex; flex-direction:column; gap:.7rem; }
  .np-side .np-cd, .np-side .np-info{ margin-top:0; }
  .np-side .np-info{ grid-template-columns:1fr; }
  .np-side .np-cta{ margin-top:auto; flex-direction:column; align-items:stretch; }
  .np-cta .btn-primary{ justify-content:center; text-align:center; }
}

/* Accueil : dernier match et forme visibles seulement dans Match Center */
html[data-page="home"] .np-info{ display:none; }
html:not([data-page="home"]) .np-info:empty{ display:none; }

/* Match Center : pas de lien Instagram ni de bandeau forme répété */
html[data-page="match"] .np-ig,
html[data-page="match"] .form-guide-home{ display:none; }
