/* V16 : vue d’ensemble du match, conçue sans modifier les endpoints */
.dv16-overview{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(230px,1fr);gap:16px;align-items:start}
.dv16-pitches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0}
.dv16-team-pitch,.dv16-sidebar{min-width:0;border:1px solid #bd63ff88;border-radius:17px;background:#180f27;padding:12px;box-shadow:0 0 27px #a143fb38}
.dv16-pitch-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:10px;color:#f5e7ff;font-size:12px}
.dv16-pitch-heading span{color:#cc9fff;font-size:11px}
.dv16-pitch{height:450px;position:relative;overflow:hidden;border:1px solid #b9f3d86b;border-radius:11px;background:repeating-linear-gradient(0deg,#153a2f 0 56px,#184435 56px 112px);box-shadow:inset 0 0 32px #000b}
.dv16-pitch-lines{pointer-events:none;position:absolute;inset:10px;border:1px solid #c4f5de6c}
.dv16-pitch-lines:before{content:'';position:absolute;top:0;left:20%;width:60%;height:16%;border:1px solid #c4f5de6c;border-top:0}
.dv16-pitch-lines:after{content:'';position:absolute;width:70px;height:70px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #c4f5de6c;border-radius:50%}
.dv16-player{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;width:78px;gap:2px;z-index:1}
.dv16-avatar{position:relative;width:31px;height:38px;filter:drop-shadow(0 4px 4px #080510aa)}
.dv16-head{position:absolute;left:11px;top:0;background:#15121c;border:1px solid #544762;width:10px;height:10px;border-radius:50%}
.dv16-shirt{position:absolute;top:10px;width:31px;height:26px;background:linear-gradient(100deg,#ffffff40,transparent 50%),#8c35db;clip-path:polygon(15% 0,37% 0,43% 7%,58% 7%,64% 0,85% 0,100% 29%,86% 48%,80% 42%,80% 100%,20% 100%,20% 42%,14% 48%,0 29%)}
.dv16-shirt.dv16-away{background:linear-gradient(100deg,#ffffff45,transparent 50%),#9ec9f0}.dv16-shirt.dv16-goalkeeper{background:linear-gradient(100deg,#ffffff45,transparent 50%),#e3b844}
.dv16-playername{max-width:78px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-weight:800;font-size:10px;text-shadow:0 1px 3px #000;background:#0a0818d9;padding:3px 4px;border-radius:4px}
.dv16-indicative{font-size:10px;color:#ccb4dd;padding:10px 0 3px;text-align:center}
.dv16-pitch-unavailable{position:absolute;top:42%;width:100%;padding:13px;text-align:center;background:#0e0b19e8;color:#eed9ff;font-size:12px;line-height:1.55}
.dv16-bench{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.dv16-bench span{font-size:10px;background:#372146;color:#e0c6f7;padding:4px 6px;border-radius:5px}
.dv16-sidebar h3{font-size:14px;text-align:center;color:#e5b4ff;letter-spacing:.6px;margin:5px 0 12px}
.dv16-sidebar .dv13-stat{margin:8px 0;padding:10px}.dv16-sidebar .dv13-stat-label{gap:4px}.dv16-sidebar .dv13-stat-label span{font-size:10px}
@media(max-width:1100px){.dv16-overview{grid-template-columns:1fr}.dv16-pitches{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dv16-pitches{grid-template-columns:1fr}.dv16-pitch{height:430px}.dv16-overview{gap:12px}}
@media(prefers-reduced-motion:reduce){.dv16-overview *{animation:none!important}}

/* V17 : numéro sur le maillot, si disponible dans les données API */
.dv17-shirt-number{position:absolute;top:7px;left:0;width:100%;text-align:center;font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 3px #10071b;line-height:13px}
