/* Canais Play 3.1 — preto e verde */
body.cp-arena { --primary:#00e676; --primary-hover:#00e676; --background:#0e0e0e; --card-bg:#181818; --text:#f4f6f9; --text-muted:#adadad; --card-border:#2f2f2f; color-scheme:dark; background:#0e0e0e; color:var(--text); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
.cp-arena *, .cp-arena *::before, .cp-arena *::after { box-sizing:border-box; }
.cp-arena a { text-decoration:none; }
.cp-arena button,.cp-arena input,.cp-arena select,.cp-arena textarea { font:inherit; }
.cp-arena img { max-width:100%; }
.cp-arena .site-header { border-bottom:1px solid #2f2f2f; background:#131313; }
.cp-arena .header-top { max-width:1360px; margin:auto; height:84px; padding:0 32px; }
.cp-arena .logo-text { gap:4px; text-transform:uppercase; font-style:italic; font-weight:900; letter-spacing:-1.3px; font-size:25px; }
.cp-arena .logo-text .d-letter,.cp-arena .mobile-logo .d-letter { display:none; }
.cp-arena .logo-text .canais,.cp-arena .mobile-logo .canais { color:#fff; }
.cp-arena .logo-text .play,.cp-arena .mobile-logo .play { color:#00e676; }
.cp-arena .menu-toggle,.cp-arena .search-toggle { width:42px; height:42px; border:1px solid #383838; border-radius:12px; color:#e8effc; background:#1e1e1e; }
.cp-arena .main-navigation { background:#131313; border-top:1px solid #282828; padding:0; }
.cp-arena .nav-menu { gap:36px; margin:0; padding:0 20px; }
.cp-arena .nav-menu>li>a { padding:15px 0; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#bdbdbd; }
.cp-arena .nav-menu .sub-menu { background:#1d1d1d; }
.cp-arena .site-main { width:min(100%,1360px); max-width:1360px; padding:38px 32px 72px; margin:0 auto; }
.cp-arena .arena-hero { display:grid; grid-template-columns:1.28fr 1fr; min-height:460px; gap:42px; margin:0 0 24px; }
.cp-arena .arena-hero-copy { padding:32px 0 0; display:flex; flex-direction:column; align-items:flex-start; }
.cp-arena .arena-eyebrow { display:flex; gap:10px; align-items:center; color:#c8c8c8; letter-spacing:2px; font-size:10px; font-weight:700; }
.cp-arena .arena-signal { width:7px; height:7px; border-radius:50%; background:#00e676; box-shadow:0 0 0 4px #00e67615; }
.cp-arena .arena-hero h1 { font-size:clamp(42px,5.8vw,79px); line-height:.99; font-weight:900; letter-spacing:-4px; margin:27px 0 22px; text-transform:uppercase; }
.cp-arena .arena-hero h1 em { color:#00e676; font-style:italic; }
.cp-arena .arena-hero-copy>p { max-width:360px; color:#a6a6a6; line-height:1.75; font-size:14px; margin:0 0 30px; }
.cp-arena .arena-actions { display:flex; align-items:center; gap:26px; }
.cp-arena .arena-button { display:inline-flex; justify-content:space-between; align-items:center; gap:32px; color:#171717; background:#00e676; padding:16px 21px; font-weight:800; border-radius:8px; font-size:13px; transition:background .2s,transform .2s; }
.cp-arena .arena-button:hover { background:#00e676; transform:translateY(-2px); }
.cp-arena .arena-button span { font-size:20px; }
.cp-arena .arena-link { color:#e3e3e3; font-size:13px; font-weight:700; }
.cp-arena .arena-hero-foot { display:flex; gap:30px; justify-content:space-between; width:100%; max-width:400px; margin-top:auto; padding-top:36px; color:#787878; font:10px monospace; letter-spacing:1px; }
.cp-arena .arena-board { background:#242424; border:1px solid #4d4d4d; border-radius:18px; padding:22px; position:relative; overflow:hidden; box-shadow:0 20px 50px #08080870; }
.cp-arena .arena-board::before { content:''; position:absolute; width:280px; height:280px; border:1px solid #535353; border-radius:50%; right:-140px; top:70px; box-shadow:0 0 0 55px #53535315,0 0 0 110px #53535310; pointer-events:none; }
.cp-arena .arena-board-top,.cp-arena .arena-board-bottom { display:flex; align-items:center; justify-content:space-between; position:relative; font-size:10px; letter-spacing:1.8px; font-weight:800; }
.cp-arena .arena-board-top { padding:2px 0 16px; }
.cp-arena .arena-board-tag { background:#00e676; color:#222222; padding:5px 8px; border-radius:4px; letter-spacing:1px; font-size:9px; }
.cp-arena .arena-fixture { display:block; position:relative; background:#181818; border:1px solid #3b3b3b; padding:15px 16px; border-radius:10px; margin-bottom:10px; color:#f5f7fd; transition:border-color .2s; }
.cp-arena .arena-fixture:hover { border-color:#00e676; }
.cp-arena .arena-fixture-meta,.cp-arena .arena-fixture-bottom { display:flex; justify-content:space-between; gap:14px; color:#a2a2a2; font-size:10px; }
.cp-arena .arena-fixture-teams { display:grid; grid-template-columns:1fr 24px 1fr; align-items:center; gap:10px; margin:13px 0; font-size:14px; }
.cp-arena .arena-fixture-teams strong:last-child { text-align:right; }
.cp-arena .arena-versus { color:#00e676; font:10px monospace; text-align:center; }
.cp-arena .arena-fixture-bottom>span:first-child { color:#00e676; font-weight:800; }
.cp-arena .arena-board-bottom { color:#b1b1b1; margin-top:20px; font-size:9px; }
.cp-arena .arena-board-bottom span { font-weight:400; letter-spacing:1px; color:#878787; }
.cp-arena .arena-empty { position:relative; padding:30px 15px; min-height:280px; }
.cp-arena .arena-empty>span { color:#00e676; font-size:42px; }
.cp-arena .arena-empty h2 { margin:16px 0; font-size:35px; line-height:1.08; letter-spacing:-1.5px; }
.cp-arena .arena-empty p { color:#a7a7a7; max-width:260px; line-height:1.7; font-size:13px; }
.cp-arena .arena-sports { display:flex; gap:8px; margin:32px 0 48px; overflow-x:auto; scrollbar-width:thin; }
.cp-arena .arena-sports a { display:flex; align-items:center; justify-content:space-between; gap:24px; white-space:nowrap; border:1px solid #373737; background:#191919; padding:15px 21px; border-radius:8px; color:#d0d0d0; font-weight:700; font-size:12px; flex:1; }
.cp-arena .arena-sports a:first-child { color:#00e676; border-color:#00e676; }
.cp-arena .arena-sports a:hover { background:#282828; }
.cp-arena .arena-sports a span { color:#7e7e7e; font:11px monospace; }
.cp-arena .featured-title,.cp-arena .channels-title,.cp-arena .section-title,.cp-arena .live-title,.cp-arena .latest-title { color:#f4f6fb; font-size:24px; text-align:left; letter-spacing:-.7px; text-transform:none; text-shadow:none; margin:0 0 24px; font-weight:800; }
.cp-arena .featured-title::before,.cp-arena .latest-title::before,.cp-arena .section-title::before,.cp-arena .live-title::before { content:''; width:4px; height:22px; background:#00e676; border-radius:3px; display:inline-block; vertical-align:middle; margin-right:12px; }
.cp-arena .featured-matches,.cp-arena .latest-games,.cp-arena .live-section,.cp-arena .other-events { padding:0; margin:48px 0; }
.cp-arena .latest-matches-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:0; }
.cp-arena .latest-match-card,.cp-arena .live-match-card { border:1px solid #383838; border-radius:14px; min-height:245px; overflow:hidden; box-shadow:none; background-color:#232323; transition:transform .22s,border-color .22s; }
.cp-arena .match-overlay { background:linear-gradient(180deg,#101010aa,#0f0f0fee); padding:22px 16px; }
.cp-arena .team-logos { gap:22px; }
.cp-arena .team-logos .team-logo { width:48px; height:48px; object-fit:contain; filter:drop-shadow(0 3px 8px #0008); }
.cp-arena .vs-text { color:#919191; font:11px monospace; }
.cp-arena .match-teams { color:#f1f4fa; font-size:14px; line-height:1.4; font-weight:800; }
.cp-arena .match-title { font-size:10px; color:#9e9e9e; line-height:1.6; }
.cp-arena .match-datetime { color:#bdbdbd; font-size:11px; }
.cp-arena .match-status { border-radius:4px; padding:5px 8px; background:#2f2f2f; color:#d9d9d9; font-size:9px; letter-spacing:.8px; }
.cp-arena .live-now-match-card .match-status,.cp-arena .match-status.ao-vivo-agora { color:#00e676; background:#00e67615; border:1px solid #00e67640; }
.cp-arena .channel-item { background:#191919; border:1px solid #333333; border-radius:12px; }
.cp-arena .channel-card { padding:14px 8px; }
.cp-arena .channel-image { width:60px; height:60px; object-fit:contain; }
.cp-arena .carousel-control,.cp-arena .slider-arrow,.cp-arena .events-carousel-arrow { background:#252525; border:1px solid #464646; color:#00e676; border-radius:50%; box-shadow:none; }
.cp-arena .event-card { background:#1a1a1a; border:1px solid #393939; border-radius:14px; overflow:hidden; }
.cp-arena .event-thumbnail { aspect-ratio:16/10; background:linear-gradient(135deg,#3b3b3b,#1a1a1a); }
.cp-arena .event-thumbnail img { width:100%; height:100%; object-fit:cover; }
.cp-arena .event-title { font-size:16px; }
.cp-arena .event-time-badge { background:#00e676; color:#1f1f1f; font-size:10px; font-weight:800; }
.cp-arena .show-all-games,.cp-arena .show-all-channels,.cp-arena .show-all-events { color:#00e676; background:transparent; border:1px solid #434343; padding:12px 22px; border-radius:8px; font-size:12px; }
.cp-arena .match-content-box,.cp-arena .channel-content-box { background:#191919; border:1px solid #393939; border-radius:18px; overflow:hidden; box-shadow:0 20px 50px #08080840; }
.cp-arena .match-header { background:#232323; border-bottom:1px solid #393939; padding:28px 20px; }
.cp-arena .team-name { color:#f3f6fc; font-size:clamp(14px,2vw,22px); }
.cp-arena .match-header .team-logo { width:80px; height:80px; object-fit:contain; }
.cp-arena .video-player { background:#090909; border-radius:12px; overflow:hidden; }
.cp-arena iframe { border:0; }
.cp-arena .stream-option,.cp-arena .player-option { border-radius:8px; border:1px solid #464646; background:#252525; color:#e4ebf7; }
.cp-arena .stream-option.active,.cp-arena .player-option.active { background:#00e676; color:#202020; }
.cp-arena .breadcrumb { color:#aeaeae; font-size:12px; }
.cp-arena .sportsdb-result { padding:18px; margin:16px 0; background:#242424; border:1px solid #434343; border-radius:10px; }
.cp-arena .site-footer { background:#131313; border-top:1px solid #323232; margin-top:30px; }
.cp-arena .footer-content { max-width:1296px; margin:auto; padding:44px 32px; gap:48px; }
.cp-arena .footer-section h3 { font-size:12px; color:#f1f6ff; letter-spacing:1px; }
.cp-arena .footer-section p,.cp-arena .footer-menu a { font-size:12px; color:#a0a0a0; line-height:1.8; }
.cp-arena .footer-bottom { border-top:1px solid #2d2d2d; background:transparent; color:#818181; font:10px monospace; padding:20px; }
.cp-arena .mobile-menu { background:#191919; border-right:1px solid #444444; width:320px; max-width:90vw; height:100dvh; overflow-y:auto; z-index:10020; }
.cp-arena .mobile-menu-items a { color:#d9d9d9; padding:17px 20px; font-size:14px; }
.cp-arena .search-form-wrapper { background:#141414f5; z-index:10010; }
.cp-arena .search-field { border:1px solid #474747; background:#232323; color:#fff; border-radius:10px; }
.cp-arena .arena-skip { position:fixed; left:16px; top:-100px; z-index:20000; padding:14px; background:#00e676; color:#1e1e1e; border-radius:8px; }
.cp-arena .arena-skip:focus { top:12px; }
.cp-arena a:focus-visible,.cp-arena button:focus-visible,.cp-arena input:focus-visible,.cp-arena select:focus-visible { outline:2px solid #00e676; outline-offset:4px; }
@media (hover:hover) { .cp-arena .latest-match-card:hover,.cp-arena .live-match-card:hover,.cp-arena .event-card:hover { transform:translateY(-5px); border-color:#00e676; box-shadow:0 16px 30px #0005; } }
@media (max-width:1050px) { .cp-arena .arena-hero { gap:24px; grid-template-columns:1fr 1fr; } .cp-arena .arena-hero h1 { font-size:58px; } .cp-arena .latest-matches-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) { .cp-arena .site-main { padding:22px 18px 42px; } .cp-arena .header-top { height:70px; padding:0 18px; } .cp-arena .arena-hero { grid-template-columns:1fr; gap:28px; } .cp-arena .arena-hero-copy { padding:14px 0 0; } .cp-arena .arena-hero h1 { font-size:clamp(42px,9vw,64px); letter-spacing:-2.5px; margin:22px 0 18px; } .cp-arena .arena-hero-foot { margin-top:8px; padding-top:25px; } .cp-arena .arena-board { padding:18px; } .cp-arena .arena-sports { margin:26px 0 34px; } .cp-arena .arena-sports a { flex:0 0 auto; padding:12px 17px; } .cp-arena .latest-matches-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .cp-arena .latest-match-card { min-height:220px; } .cp-arena .match-overlay { padding:18px 10px; } .cp-arena .team-logos { gap:14px; } .cp-arena .team-logos .team-logo { width:40px; height:40px; } .cp-arena .featured-title,.cp-arena .latest-title,.cp-arena .section-title,.cp-arena .live-title { font-size:21px; } .cp-arena .arena-empty { min-height:200px; padding:12px; } .cp-arena .arena-empty h2 { font-size:30px; } .cp-arena .footer-content { padding:32px 20px; } }
@media (max-width:360px) { .cp-arena .arena-hero h1 { font-size:38px; } .cp-arena .arena-actions { gap:18px; } .cp-arena .arena-button { padding:14px; gap:15px; } .cp-arena .latest-matches-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .cp-arena *,.cp-arena *::before,.cp-arena *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
.cp-arena .latest-match-card,.cp-arena .live-match-card { aspect-ratio:auto; }
.cp-arena .latest-match-card .match-overlay,.cp-arena .live-match-card .match-overlay { min-height:245px; width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.cp-arena .latest-match-card .match-status,.cp-arena .live-match-card .match-status { align-self:center; }
.cp-arena .site-main.single-event,.cp-arena .site-main.single-channel,.cp-arena .site-main.single-match { padding-top:28px; }
.cp-arena .event-content,.cp-arena .event-header,.cp-arena .channel-header { border-color:#393939; background-color:#232323; }
.cp-arena .no-matches,.cp-arena .no-results { padding:24px; border:1px dashed #434343; border-radius:12px; background:#191919; color:#adadad; }
@media (max-width:760px) { .cp-arena .latest-match-card .match-overlay,.cp-arena .live-match-card .match-overlay { min-height:220px; gap:8px; } }

/* Layout compacto: jogos e canais em primeiro plano. */
body.cp-arena { --primary:#00e676; --primary-hover:#33ed91; --background:#080808; --card-bg:#151515; --card-border:#2a2a2a; --text:#f5f5f5; --text-muted:#b0b0b0; background:#080808; }
.cp-arena .site-header { background:#101010; border-bottom:3px solid #00e676; }
.cp-arena .header-top { height:70px; max-width:1200px; padding:0 24px; }
.cp-arena .logo-text { font-style:normal; font-size:30px; letter-spacing:-1px; }
.cp-arena .main-navigation { background:#151515; }
.cp-arena .nav-menu { gap:28px; }
.cp-arena .nav-menu>li>a { font-size:13px; letter-spacing:.3px; padding:13px 0; font-weight:700; }
.cp-arena .nav-menu a:hover,.cp-arena .nav-menu .current-menu-item>a { color:#00e676; }
.cp-arena .site-main { max-width:1200px; width:100%; padding:28px 24px 48px; }
.cp-arena .arena-hero { display:flex; min-height:0; margin:0 0 20px; padding:22px 24px; border:1px solid #292929; border-left:4px solid #00e676; border-radius:6px; background:#121212; }
.cp-arena .arena-hero-copy { width:100%; padding:0; gap:10px; }
.cp-arena .arena-eyebrow { color:#00e676; font-size:11px; letter-spacing:1px; }
.cp-arena .arena-hero h1 { font-size:30px; line-height:1.2; letter-spacing:-.7px; margin:0; text-transform:none; }
.cp-arena .arena-hero-copy>p { max-width:none; margin:0; font-size:13px; line-height:1.6; color:#aaa; }
.cp-arena .arena-actions { gap:20px; margin-top:4px; flex-wrap:wrap; }
.cp-arena .arena-button { padding:11px 16px; border-radius:4px; gap:22px; color:#07140c; }
.cp-arena .arena-sports { margin:0 0 28px; gap:8px; }
.cp-arena .arena-sports a { background:#151515; border-color:#292929; border-radius:4px; padding:12px 18px; gap:16px; }
.cp-arena .arena-sports a:first-child { background:#00e676; color:#07140c; border-color:#00e676; }
.cp-arena .arena-sports a:first-child span { color:#07140c; }
.cp-arena .arena-sports a:hover { background:#202020; border-color:#00e676; color:#00e676; }
.cp-arena .featured-matches,.cp-arena .latest-games,.cp-arena .live-section,.cp-arena .other-events { margin:30px 0; }
.cp-arena .featured-title,.cp-arena .channels-title,.cp-arena .section-title,.cp-arena .live-title,.cp-arena .latest-title { font-size:20px; letter-spacing:0; margin-bottom:18px; }
.cp-arena .latest-match-card,.cp-arena .live-match-card { border-radius:6px; background-image:none!important; background-color:#151515; min-height:215px; }
.cp-arena .match-overlay { background:#151515; }
.cp-arena .latest-match-card .match-overlay,.cp-arena .live-match-card .match-overlay { min-height:215px; }
.cp-arena .channel-item,.cp-arena .event-card,.cp-arena .match-content-box,.cp-arena .channel-content-box { border-radius:6px; }
.cp-arena .live-now-match-card { border-color:#00e676; }
.cp-arena .match-status.ao-vivo-agora { color:#00e676; }
.cp-arena .show-all-games,.cp-arena .show-all-channels,.cp-arena .show-all-events { border-color:#00e676; border-radius:4px; font-weight:700; }
.cp-arena .show-all-games:hover,.cp-arena .show-all-channels:hover,.cp-arena .show-all-events:hover { background:#00e676; color:#07140c; }
.cp-arena .site-footer { background:#101010; border-top:2px solid #00e676; }
@media(max-width:760px) {
 .cp-arena .site-main { padding:20px 14px 36px; }
 .cp-arena .header-top { height:62px; padding:0 14px; }
 .cp-arena .logo-text { font-size:25px; }
 .cp-arena .arena-hero { padding:18px; }
 .cp-arena .arena-hero h1 { font-size:25px; letter-spacing:-.5px; margin:0; }
 .cp-arena .arena-hero-copy { padding:0; }
 .cp-arena .arena-sports { margin:0 0 24px; }
 .cp-arena .latest-match-card .match-overlay,.cp-arena .live-match-card .match-overlay { min-height:205px; }
}
/* Native sliders: bounded scrolling, consistent gaps and independent controls. */
.cp-arena .slider-container,.cp-arena .events-carousel,.cp-arena .channels-carousel-container { position:relative; padding:0 48px; overflow:hidden; min-width:0; }
.cp-arena .featured-matches-slider,.cp-arena .live-matches-slider,.cp-arena .events-carousel-inner,.cp-arena .channels-track { display:flex; width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; gap:16px; padding:4px 0 12px; transform:none!important; transition:none; scroll-snap-type:x mandatory; scroll-padding:0; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#00e676 #202020; touch-action:pan-x pan-y; }
.cp-arena .featured-matches-slider>.latest-match-card,.cp-arena .live-matches-slider>.live-match-card { flex:0 0 calc((100% - 32px)/3); width:auto; min-width:0; margin:0; scroll-snap-align:start; }
.cp-arena .events-carousel-inner>.event-card { flex:0 0 calc((100% - 32px)/3); width:auto; max-width:none; min-width:0; margin:0; scroll-snap-align:start; }
.cp-arena .channels-carousel { overflow:visible; padding:0; }
.cp-arena .channels-track { gap:12px; }
.cp-arena .channels-track>.channel-item { flex:0 0 108px; width:108px; margin:0; padding:0; scroll-snap-align:start; }
.cp-arena .channels-track .channel-card { height:82px; padding:14px; }
.cp-arena .channels-track .channel-image { height:54px; width:70px; }
.cp-arena .slider-arrow,.cp-arena .events-carousel-arrow,.cp-arena .carousel-control { width:36px; height:36px; padding:6px; top:50%; transform:translateY(-50%); background:#171717; border:1px solid #3a3a3a; opacity:1; }
.cp-arena .slider-prev,.cp-arena .events-carousel-prev,.cp-arena .carousel-prev { left:0; }
.cp-arena .slider-next,.cp-arena .events-carousel-next,.cp-arena .carousel-next { right:0; }
.cp-arena .slider-arrow:disabled,.cp-arena .events-carousel-arrow:disabled,.cp-arena .carousel-control:disabled { opacity:.3; cursor:default; }
.cp-arena [hidden] { display:none!important; }
.cp-arena .carousel-progress { height:3px; margin:12px 0; background:#292929; overflow:hidden; }
.cp-arena .carousel-progress .progress-bar { height:3px; background:#00e676; border:0; margin:0; }
@media(max-width:900px) {
 .cp-arena .featured-matches-slider>.latest-match-card,.cp-arena .live-matches-slider>.live-match-card,.cp-arena .events-carousel-inner>.event-card { flex-basis:calc((100% - 16px)/2); }
}
@media(max-width:600px) {
 .cp-arena .slider-container,.cp-arena .events-carousel,.cp-arena .channels-carousel-container { padding:0 32px; }
 .cp-arena .featured-matches-slider>.latest-match-card,.cp-arena .live-matches-slider>.live-match-card,.cp-arena .events-carousel-inner>.event-card { flex-basis:100%; }
 .cp-arena .slider-arrow,.cp-arena .events-carousel-arrow,.cp-arena .carousel-control { width:28px; height:32px; padding:4px; border-radius:6px; }
 .cp-arena .channels-track>.channel-item { flex-basis:82px; width:82px; }
}
