.cp-tv-carousel{
	position:relative;
	width:100%;
	margin:1.6rem 0 3.7rem;
	padding:1.05rem 2.8rem 2.9rem;
	border:1px solid #20384e;
	border-radius:.12rem;
	background:radial-gradient(circle at 55% 45%,rgba(18,55,87,.5),rgba(3,20,39,0) 48%),linear-gradient(135deg,#031427 0%,#051b31 55%,#031427 100%);
	box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 .25rem .9rem rgba(3,20,39,.12);
	color:#fff;
}
.cp-tv-carousel__header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;margin-bottom:1rem}
.cp-tv-carousel__header::before{width:min(100%,10rem);height:2px;background:var(--cp-red);content:""}
.cp-tv-carousel__header h2{margin:0;color:var(--cp-red);font-family:var(--cp-font-heading);font-size:clamp(1.35rem,2.1vw,1.9rem);font-style:italic;font-weight:700;line-height:1;letter-spacing:-.02em;text-align:center;text-transform:uppercase;white-space:nowrap}
.cp-tv-carousel__header h2 span{color:#fff}
.cp-tv-carousel__header p{justify-self:end;margin:0;padding-bottom:.25rem;border-bottom:2px solid rgba(255,255,255,.12);color:#fff;font-family:var(--cp-font-news);font-size:.72rem;font-weight:700;white-space:nowrap}
.cp-tv-carousel__viewport{position:relative;min-height:18.5rem}
.cp-tv-carousel__slide{display:none;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.25rem;align-items:start}
.cp-tv-carousel__slide.is-active{display:grid}
.cp-tv-carousel__featured{position:relative;display:block;aspect-ratio:1.48/1;overflow:hidden;border:1px solid rgba(255,255,255,.26);border-radius:.35rem;background:#000;box-shadow:0 .32rem .8rem rgba(0,0,0,.32);color:#fff}
.cp-tv-carousel__featured-poster{position:absolute;inset:0}
.cp-tv-carousel__featured img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.cp-tv-carousel__featured:hover img{transform:scale(1.025)}
.cp-tv-carousel__featured iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.cp-tv-carousel__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.35) 38%,rgba(0,0,0,.04) 66%);pointer-events:none}
.cp-tv-carousel__featured-trigger{position:absolute;z-index:6;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.cp-tv-carousel__play{position:absolute;top:50%;left:50%;display:grid;width:4.65rem;height:4.65rem;place-items:center;border:4px solid rgba(255,255,255,.95);border-radius:50%;background:#fff;color:var(--cp-red);font-size:2rem;line-height:1;text-indent:.2rem;transform:translate(-50%,-50%);box-shadow:0 0 0 2px rgba(227,27,35,.75),0 .25rem .8rem rgba(0,0,0,.32)}
.cp-tv-carousel__featured-trigger:hover .cp-tv-carousel__play,.cp-tv-carousel__featured-trigger:focus-visible .cp-tv-carousel__play{background:var(--cp-red);color:#fff}
.cp-tv-carousel__featured-copy{position:absolute;z-index:4;right:.85rem;bottom:.75rem;left:.85rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding-right:3.5rem}
.cp-tv-carousel__featured-copy strong{font-family:var(--cp-font-news);font-size:clamp(1.05rem,1.75vw,1.45rem);font-weight:600;line-height:1.1;text-shadow:0 2px 5px rgba(0,0,0,.75)}
.cp-tv-carousel__badge,.cp-tv-carousel__recent-badge{display:inline-flex;padding:.22rem .38rem;border-radius:.14rem;background:#1265b5;color:#fff;font-family:var(--cp-font-news);font-size:.58rem;font-weight:800;line-height:1;text-transform:uppercase;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.cp-tv-carousel [data-label="POLÍCIA"]{background:#e31922}.cp-tv-carousel [data-label="TURISMO"]{background:#1265b5}.cp-tv-carousel [data-label="CULTURA"]{background:#8d258e}.cp-tv-carousel [data-label="POLÍTICA"]{background:#e31b23}.cp-tv-carousel [data-label="ESPORTE"]{background:#168447}.cp-tv-carousel [data-label="COMÉRCIO"]{background:#c36a08}.cp-tv-carousel [data-label="REGIÃO"]{background:#1d5c9d}
.cp-tv-carousel__duration{position:absolute;z-index:4;right:.8rem;bottom:.72rem;color:#fff;font-family:var(--cp-font-news);font-size:.78rem;font-weight:700;text-shadow:0 2px 4px #000}
.cp-tv-carousel__recent{min-width:0}
.cp-tv-carousel__recent>h3{display:flex;align-items:center;gap:.55rem;margin:.05rem 0 .75rem;color:#fff;font-family:var(--cp-font-heading);font-size:.9rem;font-weight:700;text-transform:uppercase}
.cp-tv-carousel__recent>h3::before{width:.9rem;height:2px;background:var(--cp-red);content:""}
.cp-tv-carousel__recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.62rem}
.cp-tv-carousel__recent-card{min-width:0}
.cp-tv-carousel__recent-media{position:relative;display:block;width:100%;aspect-ratio:1.02/1;overflow:hidden;padding:0;border:2px solid rgba(255,255,255,.7);border-radius:.32rem;background:#0a1a29;color:#fff;cursor:pointer}
.cp-tv-carousel__recent-media::after{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent 45%);content:"";pointer-events:none}
.cp-tv-carousel__recent-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.cp-tv-carousel__recent-media:hover img,.cp-tv-carousel__recent-media:focus-visible img{transform:scale(1.04)}
.cp-tv-carousel__recent-media:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cp-tv-carousel__recent-badge{position:absolute;z-index:2;bottom:.38rem;left:.34rem;font-size:.48rem}
.cp-tv-carousel__recent-duration{position:absolute;z-index:2;right:.32rem;bottom:.34rem;padding:.1rem .2rem;border-radius:.1rem;background:rgba(0,0,0,.76);color:#fff;font-family:var(--cp-font-news);font-size:.54rem;font-weight:700}
.cp-tv-carousel__recent-card h4{margin:.45rem 0 0;font-family:var(--cp-font-news);font-size:.7rem;font-weight:600;line-height:1.22}
.cp-tv-carousel__recent-title{display:block;width:100%;padding:0;border:0;background:transparent;color:#fff;font:inherit;text-align:left;cursor:pointer}
.cp-tv-carousel__recent-title:hover,.cp-tv-carousel__recent-title:focus-visible{color:#fff;text-decoration:underline}
.cp-tv-carousel__arrow{position:absolute;z-index:8;top:52%;display:grid;width:3rem;height:3rem;place-items:center;border:3px solid #fff;border-radius:50%;background:#06233d;color:#fff;font-family:Arial,sans-serif;font-size:2.45rem;font-weight:400;line-height:1;cursor:pointer;box-shadow:0 0 0 2px rgba(0,0,0,.28);transform:translateY(-50%)}
.cp-tv-carousel__arrow:hover,.cp-tv-carousel__arrow:focus-visible{background:var(--cp-red)}
.cp-tv-carousel__arrow--prev{left:.55rem}.cp-tv-carousel__arrow--next{right:.55rem}
.cp-tv-carousel__dots{display:flex;justify-content:center;gap:.55rem;margin-top:.8rem}
.cp-tv-carousel__dots button{width:.6rem;height:.6rem;padding:0;border:0;border-radius:50%;background:#fff;cursor:pointer;opacity:.95}
.cp-tv-carousel__dots button[aria-selected="true"]{background:var(--cp-red)}
.cp-tv-carousel__all{position:absolute;z-index:9;bottom:-1.25rem;left:50%;display:flex;min-width:12.5rem;min-height:3.3rem;align-items:center;justify-content:center;gap:.6rem;padding:.65rem 1rem;border:1px solid #ff3b42;border-radius:.22rem;background:linear-gradient(#ef222a,#ce1118);box-shadow:0 .25rem .55rem rgba(0,0,0,.28);color:#fff;font-family:var(--cp-font-heading);font-size:1rem;font-weight:700;text-transform:uppercase;transform:translateX(-50%)}
.cp-tv-carousel__all span{display:grid;width:1.55rem;height:1.55rem;place-items:center;border-radius:50%;background:#fff;color:var(--cp-red);font-size:.62rem;text-indent:.06rem}
.cp-tv-carousel__all:hover,.cp-tv-carousel__all:focus-visible{background:var(--cp-red-dark);color:#fff}
.cp-tv-carousel--empty{min-height:18rem}.cp-tv-carousel__empty-state{display:flex;min-height:11rem;align-items:center;justify-content:center;flex-direction:column;gap:.6rem;text-align:center}.cp-tv-carousel__empty-state p{margin:0;color:rgba(255,255,255,.78)}
@media(max-width:1180px){.cp-tv-carousel{padding-inline:2.55rem}.cp-tv-carousel__header{grid-template-columns:auto 1fr}.cp-tv-carousel__header::before{display:none}.cp-tv-carousel__header h2{text-align:left}.cp-tv-carousel__header p{justify-self:end}}
@media(max-width:900px){.cp-tv-carousel__slide{grid-template-columns:1fr;gap:1rem}.cp-tv-carousel__viewport{min-height:0}.cp-tv-carousel__featured{aspect-ratio:16/9}.cp-tv-carousel__recent-media{aspect-ratio:16/10}.cp-tv-carousel__recent-grid{gap:.7rem}.cp-tv-carousel__recent-card h4{font-size:.82rem}}
@media(max-width:720px){.cp-tv-carousel{margin-top:1.25rem;padding:1rem 1rem 3rem}.cp-tv-carousel__header{display:block}.cp-tv-carousel__header h2{font-size:1.4rem;text-align:center}.cp-tv-carousel__header p{margin-top:.45rem;border:0;color:rgba(255,255,255,.7);font-size:.7rem;text-align:center;white-space:normal}.cp-tv-carousel__recent-grid{grid-template-columns:1fr}.cp-tv-carousel__recent-card{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:.65rem;align-items:center}.cp-tv-carousel__recent-card h4{margin:0}.cp-tv-carousel__recent-media{aspect-ratio:16/10}.cp-tv-carousel__arrow{top:35%;width:2.6rem;height:2.6rem;border-width:3px;font-size:2rem}.cp-tv-carousel__arrow--prev{left:.35rem}.cp-tv-carousel__arrow--next{right:.35rem}.cp-tv-carousel__play{width:4rem;height:4rem;font-size:1.65rem}.cp-tv-carousel__featured-copy{right:.75rem;bottom:.65rem;left:.75rem;padding-right:3rem}.cp-tv-carousel__featured-copy strong{font-size:1.05rem}.cp-tv-carousel__duration{right:.7rem;bottom:.65rem;font-size:.72rem}.cp-tv-carousel__all{min-width:12rem;min-height:3.2rem;font-size:.95rem}}


/* 0.7.9 — transição suave nas trocas automáticas e manuais do carrossel TV. */
.cp-tv-carousel__viewport {
	display: grid;
}

.cp-tv-carousel__slide,
.cp-tv-carousel__slide.is-active {
	grid-area: 1 / 1;
}

.cp-tv-carousel__slide {
	display: grid !important;
	opacity: 0;
	visibility: hidden;
	transform: translate3d(0, 8px, 0);
	pointer-events: none;
	transition:
		opacity 480ms ease,
		transform 480ms cubic-bezier(.22,.61,.36,1),
		visibility 0s linear 480ms;
	will-change: opacity, transform;
}

.cp-tv-carousel__slide.is-active {
	opacity: 1;
	visibility: visible;
	transform: translate3d(0, 0, 0);
	pointer-events: auto;
	transition:
		opacity 480ms ease,
		transform 480ms cubic-bezier(.22,.61,.36,1),
		visibility 0s linear 0s;
}

@media (prefers-reduced-motion: reduce) {
	.cp-tv-carousel__slide,
	.cp-tv-carousel__slide.is-active {
		transform: none;
		transition: none;
	}
}
