/* Visual exclusivo dos cards de combos-fibra-movel-tv. */
.combo-tv-carousel {
   padding-top: 24px;
   gap: 40px;
}
.combo-tv-card {
   position: relative;
   width: 382px;
   max-width: calc(100vw - 40px);
   padding: 38px 28px 24px;
   border: 3px solid var(--combo-tv-accent, #00a7e5);
   border-radius: 36px;
   background: #fff;
   box-shadow: none;
   scroll-snap-align: start;
}
.combo-tv-card__badge {
   position: absolute;
   top: 0;
   left: 50%;
   transform: translate(-50%, -70%);
   max-width: calc(100% - 32px);
   padding: 6px 16px;
   border-radius: 999px;
   background: #f8ed59;
   color: #111;
   font: 500 14px/1.25 'Noto Sans', sans-serif;
   text-align: center;
}
.combo-tv-card__section {
   padding-bottom: 14px;
   margin-bottom: 10px;
   border-bottom: 2px solid #d9d9d9;
}
.combo-tv-card__tv {
   flex-grow: 1;
   padding: 4px 0 24px;
   margin-bottom: 24px;
   border-bottom: 2px solid var(--combo-tv-accent, #00a7e5);
}
.combo-tv-card__channels {
   display: inline-block;
   margin-top: 8px;
   padding: 5px 12px;
   border-radius: 999px;
   background: var(--combo-tv-accent, #00a7e5);
   color: #fff;
}
.combo-tv-card > div:last-child > div:first-child > p.flex {
   flex-wrap: wrap;
   gap: 3px;
}
.combo-tv-card > div:last-child > .mt-4 {
   margin-top: 18px;
}
.combo-tv-card > div:last-child > .mt-4 > button {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
   margin-top: 16px;
   padding: 6px 0 0;
   border: 0;
   color: var(--combo-tv-accent, var(--color-05));
}
.combo-tv-card__channels:hover,
.combo-tv-card > div:last-child a:hover,
.combo-tv-card > div:last-child button:hover {
   opacity: .85;
}
@media (max-width: 767px) {
   .combo-tv-carousel { gap: 24px; }
   .combo-tv-card { padding: 32px 24px 24px; }
}

/* Usa as cores já definidas pelo tema e pelo card de torcedor. */
body[data-club] .combo-tv-card {
   --combo-tv-accent: var(--club-card-color, var(--color-45));
}
.combo-tv-card.club-plan-card > .font-noto-sans {
   padding-right: 64px;
}

.combo-tv-modal {
   width: min(896px, calc(100vw - 32px));
   max-height: calc(100dvh - 48px);
   margin: auto;
   padding: 0;
   border: 0;
   border-radius: 8px;
   overflow-y: auto;
}
.combo-tv-modal::backdrop {
   background: rgb(0 0 0 / 50%);
}
body:has(.combo-tv-modal[open]) {
   overflow: hidden;
}
