/* Game viewing page: clean, responsive black and green layout. */
.cp-arena .single-match .breadcrumb { margin:0 0 18px; }
.cp-arena .single-match .channels-carousel-container { margin-bottom:24px; }
.cp-arena .single-match .match-content-box { background:#111; border:1px solid #292929; border-radius:16px; padding:0; overflow:hidden; }
.cp-arena .single-match .match-header { position:relative; padding:30px 24px; margin:0; border:0; border-bottom:1px solid #292929; border-radius:0; background:linear-gradient(135deg,#17241b,#121212 65%); }
.cp-arena .single-match .teams-info { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,.8fr) minmax(0,1fr); gap:20px; align-items:center; }
.cp-arena .single-match .team { display:flex; flex-direction:column; align-items:center; gap:12px; min-width:0; max-width:none; }
.cp-arena .single-match .team-logo { width:72px; height:72px; object-fit:contain; filter:none; }
.cp-arena .single-match .team-name { font-size:20px; margin:0; color:#fff; overflow-wrap:anywhere; }
.cp-arena .single-match .match-details { min-width:0; text-align:center; }
.cp-arena .single-match .match-status { padding:6px 10px; font-size:11px; letter-spacing:.5px; background:#252525; color:#eee; box-shadow:none; animation:none; }
.cp-arena .single-match .match-status.ao-vivo-agora { background:#00e676; color:#06180e; }
.cp-arena .single-match .match-datetime { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; font-size:13px; color:#bbb; margin:10px 0; }
.cp-arena .single-match .match-category { display:inline-flex; align-items:center; gap:6px; color:#00e676; font-size:11px; overflow-wrap:anywhere; }
.cp-arena .single-match .trophy-icon { width:16px; height:16px; flex-shrink:0; }
.cp-arena .single-match .match-countdown { margin-top:12px; color:#00e676; font-size:12px; }
.cp-arena .single-match .countdown-label { display:block; color:#aaa; }
.cp-arena .single-match .match-player-container { padding:24px; }
.cp-arena .player-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.cp-arena .player-section-heading h2 { margin:0; font-size:19px; color:#fff; }
.cp-arena .player-section-heading>span { font-size:12px; color:#aaa; }
.cp-arena .single-match .video-player { position:relative; width:100%; height:auto; padding:0; aspect-ratio:16/9; background:radial-gradient(ellipse at center,#152c1f,#060606 70%); border:1px solid #333; border-radius:12px; overflow:hidden; }
.cp-arena .single-match #match-iframe { position:absolute; inset:0; width:100%; height:100%; border:0; background:#000; }
.cp-arena .single-match .video-player.stream-active iframe { display:block!important; }
.cp-arena .single-match .play-button { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:76px; height:76px; border-radius:50%; background:#00e676; color:#06180e; border:0; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 0 0 12px #00e67612; z-index:2; }
.cp-arena .single-match .welcome-message { position:absolute; bottom:12%; left:50%; transform:translateX(-50%); width:90%; color:#c7d5cc; text-align:center; font-size:12px; background:none; padding:0; }
.cp-arena .single-match .loading-overlay { position:absolute; inset:0; z-index:3; display:none; align-items:center; justify-content:center; background:#090909ed; }
.cp-arena .single-match .loading-overlay.active { display:flex; }
.cp-arena .single-match .loading-content { display:flex; flex-direction:column; align-items:center; gap:18px; }
.cp-arena .single-match .loading-text { font-size:15px; color:#ddd; }
.cp-arena .player-spinner { display:block; width:30px; height:30px; border:3px solid #333; border-top-color:#00e676; border-radius:50%; animation:cp-player-spin 1s linear infinite; }
@keyframes cp-player-spin { to { transform:rotate(360deg); } }
.cp-arena .single-match .reload-button { position:absolute; bottom:16px; right:16px; background:#202020; border:1px solid #444; color:#00e676; border-radius:8px; padding:8px; cursor:pointer; }
.cp-arena .player-toolbar { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; padding-top:12px; }
.cp-arena .player-toolbar button { background:#202020; border:1px solid #383838; color:#ddd; border-radius:7px; padding:9px 13px; cursor:pointer; font-size:12px; }
.cp-arena .player-toolbar button:hover { border-color:#00e676; color:#00e676; }
.cp-arena .player-status-message { margin:12px 0; min-height:20px; color:#aaa; font-size:12px; }
.cp-arena .single-match .stream-options { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:10px; margin:16px 0 0; }
.cp-arena .single-match .stream-option { min-width:112px; padding:12px 18px; border:1px solid #393939; background:#1d1d1d; color:#ddd; font-size:13px; border-radius:8px; cursor:pointer; }
.cp-arena .single-match .stream-option.active { border-color:#00e676; background:#00e676; color:#07180e; font-weight:700; }
.cp-arena .single-match .match-actions { display:flex; flex-wrap:wrap; gap:10px; border-block:1px solid #292929; padding:16px 24px; margin:0; }
.cp-arena .single-match .action-button { display:inline-flex; align-items:center; gap:8px; border:1px solid #333; background:#1a1a1a; color:#ccc; padding:10px 14px; border-radius:8px; font-size:12px; cursor:pointer; }
.cp-arena .single-match .action-button svg { width:18px; height:18px; }
.cp-arena .single-match .match-content-box>.match-info,.cp-arena .single-match .related-matches { padding:24px; }
.cp-arena .single-match .match-content-box>.match-info>.match-title { font-size:24px; color:#fff; margin:10px 0 16px; }
.cp-arena .single-match .related-matches { border-top:1px solid #292929; margin:0; }
.cp-arena .single-match .related-matches-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.cp-arena .single-match .related-match-card { display:block; padding:20px 14px; border:1px solid #303030; border-radius:10px; background:#171717; }
.cp-arena .single-match .related-match-card .team-logo { width:42px; height:42px; }
.cp-arena .single-match .related-match-card .match-meta { display:flex; gap:8px; color:#aaa; font-size:12px; margin-top:10px; }
.cp-arena .single-match .video-player:fullscreen { aspect-ratio:auto; width:100vw; height:100vh; border:0; border-radius:0; background:#000; }
@media(max-width:600px) {
 .cp-arena .single-match .match-header { padding:22px 12px; }
 .cp-arena .single-match .teams-info { grid-template-columns:minmax(0,1fr) minmax(95px,.9fr) minmax(0,1fr); gap:8px; }
 .cp-arena .single-match .match-header .team-logo { width:46px; height:46px; }
 .cp-arena .single-match .team-name { font-size:13px; }
 .cp-arena .single-match .match-datetime,.cp-arena .single-match .match-status { font-size:10px; }
 .cp-arena .single-match .match-category { font-size:9px; }
 .cp-arena .single-match .match-player-container { padding:16px 10px; }
 .cp-arena .player-section-heading { flex-direction:column; align-items:flex-start; gap:4px; }
 .cp-arena .single-match .play-button { width:54px; height:54px; }
 .cp-arena .single-match .welcome-message { font-size:10px; bottom:8%; }
 .cp-arena .single-match .stream-option { min-width:0; flex:1 1 100px; padding:11px; }
 .cp-arena .single-match .related-matches-grid { grid-template-columns:1fr; }
 .cp-arena .single-match .match-actions,.cp-arena .single-match .match-content-box>.match-info,.cp-arena .single-match .related-matches { padding:16px; }
}
.cp-arena .single-match .match-rating-section { margin:0; padding:24px; border-top:1px solid #292929; background:#111; }
.cp-arena .single-match .match-rating-section .section-title { color:#fff; text-shadow:none; font-size:18px; }
.cp-arena .single-match .rating-option { background:#1a1a1a; border-color:#333; box-shadow:none; }
.cp-arena .single-match .rating-option:has(input:checked) { border-color:#00e676; }
@media(prefers-reduced-motion:reduce) { .cp-arena .player-spinner { animation:none; } }
/* Native video player, scoped to game pages. */
.cp-arena .single-match #match-video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000; }
.cp-arena .single-match [hidden] { display:none!important; }
.cp-arena .cp-player-brand { margin-right:auto; align-self:center; color:#00e676; font-weight:800; font-size:12px; letter-spacing:1px; }
.cp-arena .cp-quality-control { display:flex; align-items:center; gap:6px; font-size:12px; color:#ccc; }
.cp-arena .cp-quality { color:#fff; background:#202020; border:1px solid #383838; border-radius:7px; padding:8px; }
.cp-arena .single-match .stream-option:focus-visible,.cp-arena .player-toolbar button:focus-visible,.cp-arena .cp-quality:focus-visible,.cp-arena .single-match .play-button:focus-visible { outline:2px solid #00e676; outline-offset:3px; }
