﻿/* Master Carousel Styles - Swiper Wrapper - V4 (Refined Gamer Tech) */

:root {
    --swiper-nav-color: #8faab9;
    /* Tech Blue-Grey Default */
    --swiper-nav-hover-bg: #ff4d1d;
    /* Laranja Gamer */
    --swiper-nav-hover-text: #fff;
    --swiper-border-default: rgba(255, 255, 255, 0.15);
}

/* O container principal do carrossel */
#master-hero-carousel {
    position: relative;
    width: 100%;
    height: 680px;
    /* Reduzido para 680px para maior consistência */
    background: #050b14;
    overflow: hidden;
    margin-top: 0;
    padding-top: 0;
}

/* Backgrounds temáticos (Desktop) */
#master-hero-carousel #tv-assinatura {
    background-image:
        linear-gradient(180deg, rgba(5, 11, 20, 0.65) 0%, rgba(5, 11, 20, 0.92) 100%),
        url("/static/img/hero/master_carousel/tv_desktop.bd8a878fa213.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#master-hero-carousel .hero-gamer-section {
    background-image:
        linear-gradient(180deg, rgba(5, 11, 20, 0.65) 0%, rgba(5, 11, 20, 0.92) 100%),
        url("/static/img/hero/master_carousel/gamer_desktop.cdd6b610ffec.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#master-hero-carousel .quem-somos-section {
    background-image:
        linear-gradient(90deg, rgba(5, 11, 20, 0.94) 0%, rgba(5, 11, 20, 0.76) 36%, rgba(5, 11, 20, 0.32) 67%, rgba(5, 11, 20, 0.48) 100%),
        linear-gradient(180deg, rgba(5, 11, 20, 0.14) 0%, rgba(5, 11, 20, 0.66) 100%),
        url("/static/img/hero/master_carousel/quem_somos_ai_desktop.1d5d11266615.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#master-hero-carousel .trabalhe-hero-section {
    background-image:
        linear-gradient(90deg, rgba(5, 11, 20, 0.88) 0%, rgba(5, 11, 20, 0.58) 38%, rgba(5, 11, 20, 0.14) 72%, rgba(5, 11, 20, 0.34) 100%),
        linear-gradient(180deg, rgba(5, 11, 20, 0.06) 0%, rgba(5, 11, 20, 0.12) 52%, rgba(5, 11, 20, 0.56) 100%),
        image-set(
            url("/static/img/hero/master_carousel/trabalhe_conosco_desktop_v2.8f64b8feb50e.webp") type('image/webp'),
            url("/static/img/hero/master_carousel/trabalhe_conosco_desktop_v2.09611d7cf7b8.jpg") type('image/jpeg')
        );
    background-size: 100% 100%, 100% 100%, cover;
    background-position: center center, center center, center center;
    background-repeat: no-repeat;
}

.carousel-swipe-hint {
    position: absolute;
    left: 50%;
    bottom: 54px;
    transform: translateX(-50%);
    display: none;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(5, 11, 20, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    padding: 6px 12px;
    z-index: 60;
    pointer-events: none;
}

.carousel-swipe-hint .hint-arrows {
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    animation: hintSwipe 1.6s ease-in-out infinite;
}

@keyframes hintSwipe {
    0% { transform: translateX(-6px); opacity: 0.6; }
    50% { transform: translateX(6px); opacity: 1; }
    100% { transform: translateX(-6px); opacity: 0.6; }
}

/* Grid do tema aplicado no carrossel (mesma lógica do background global) */
#master-hero-carousel .hero-streaming-section,
#master-hero-carousel .hero-gamer-section,
#master-hero-carousel #tv-assinatura,
#master-hero-carousel .quem-somos-section,
#master-hero-carousel .trabalhe-hero-section {
    position: relative;
}

#master-hero-carousel .hero-streaming-section::before,
#master-hero-carousel .hero-gamer-section::before,
#master-hero-carousel #tv-assinatura::before,
#master-hero-carousel .quem-somos-section::before,
#master-hero-carousel .trabalhe-hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 50% 50%, transparent 20%, #000 120%),
        linear-gradient(90deg, rgba(0, 255, 234, 0.03) 1px, transparent 1px),
        linear-gradient(rgba(0, 255, 234, 0.03) 1px, transparent 1px);
    background-size: 100% 100%, 40px 40px, 40px 40px;
    opacity: 0.45;
    pointer-events: none;
    z-index: 2;
}

#master-hero-carousel .hero-gamer-content,
#master-hero-carousel #tv-assinatura .section-content,
#master-hero-carousel .trabalhe-hero-content {
    position: relative;
    z-index: 3;
}

#master-hero-carousel .hero-streaming-content {
    position: relative;
    z-index: 3 !important;
}

.master-swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    width: 100%;
    height: 100%;
    /* Força o slide a ocupar toda a altura do container */
    background: #050b14;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    /* Centraliza verticalmente o conteúdo */
}

#master-hero-carousel .swiper-slide > .praia-benefit-hero {
    width: 100%;
    align-self: stretch;
}

/* Mobile: Altura dinâmica por slide para evitar corte de conteúdo */
@media (max-width: 991px) {
    :root {
        --master-carousel-mobile-header: 64px;
    }

    #master-hero-carousel {
        height: calc(100vh - var(--master-carousel-mobile-header)) !important;
        height: calc(100svh - var(--master-carousel-mobile-header)) !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .master-swiper,
    .swiper-wrapper {
        height: 100% !important;
    }

    .swiper-slide {
        height: 100% !important;
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        overflow: hidden;
        padding: 0;
    }

    #master-hero-carousel .hero-streaming-section,
    #master-hero-carousel .hero-gamer-section,
    #master-hero-carousel #tv-assinatura,
    #master-hero-carousel .quem-somos-section,
    #master-hero-carousel .trabalhe-hero-section {
        height: 100% !important;
        min-height: 100% !important;
        padding: clamp(10px, 1.8svh, 18px) 0 calc(42px + env(safe-area-inset-bottom, 0px)) !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        overflow: visible !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* Backgrounds temáticos (Mobile) */
    #master-hero-carousel #tv-assinatura {
        background-image:
            linear-gradient(180deg, rgba(5, 11, 20, 0.75) 0%, rgba(5, 11, 20, 0.95) 100%),
            url("/static/img/hero/master_carousel/tv_mobile.1405c25bd725.jpg");
    }

    #master-hero-carousel .hero-gamer-section {
        background-image:
            linear-gradient(180deg, rgba(5, 11, 20, 0.75) 0%, rgba(5, 11, 20, 0.95) 100%),
            url("/static/img/hero/master_carousel/gamer_mobile.04871f945a90.jpg");
    }

    #master-hero-carousel .quem-somos-section {
        background-image:
            linear-gradient(180deg, rgba(5, 11, 20, 0.9) 0%, rgba(5, 11, 20, 0.78) 42%, rgba(5, 11, 20, 0.44) 64%, rgba(5, 11, 20, 0.82) 100%),
            url("/static/img/hero/master_carousel/quem_somos_ai_mobile.3115df151e64.webp");
        background-position: center center, 30% clamp(96px, 16svh, 145px);
        background-size: cover, cover;
    }

    #master-hero-carousel .trabalhe-hero-section {
        background-image:
            linear-gradient(180deg, rgba(5, 11, 20, 0.78) 0%, rgba(5, 11, 20, 0.48) 36%, rgba(5, 11, 20, 0.46) 62%, rgba(5, 11, 20, 0.9) 100%),
            linear-gradient(90deg, rgba(5, 11, 20, 0.58) 0%, rgba(5, 11, 20, 0.16) 52%, rgba(5, 11, 20, 0.42) 100%),
            image-set(
                url("/static/img/hero/master_carousel/trabalhe_conosco_mobile_v2.77d45590abb2.webp") type('image/webp'),
                url("/static/img/hero/master_carousel/trabalhe_conosco_mobile_v2.5e3f660b064f.jpg") type('image/jpeg')
            );
        background-position: center center, center center, 56% center;
        background-size: 100% 100%, 100% 100%, cover;
    }

    /* Ajustes finos do slide TV no mobile para evitar corte */
    #master-hero-carousel #tv-assinatura .tv-solar-wrapper {
        height: 200px;
        margin: -6px auto 0 auto;
    }

    #master-hero-carousel #tv-assinatura .tv-solar-system {
        transform: translateX(-50%) scale(0.38);
    }

    #master-hero-carousel #tv-assinatura .tv-center-app {
        width: 210px !important;
        margin-top: 8px;
    }

    .carousel-swipe-hint {
        display: inline-flex;
    }

    /* Compactação geral dos slides no mobile */
    #master-hero-carousel .hero-streaming-section .hero-title {
        font-size: clamp(1.5rem, 5.5vw, 2.1rem);
        margin-bottom: 10px;
    }

    #master-hero-carousel .hero-streaming-section .text-gradient-hero {
        font-size: clamp(1.2rem, 5vw, 1.6rem);
    }

    #master-hero-carousel .hero-streaming-section .lead {
        font-size: 0.95rem;
        margin-bottom: 10px;
    }

    #master-hero-carousel .hero-streaming-section .streaming-cards-container {
        gap: 12px;
        margin-top: 12px;
    }

    #master-hero-carousel .hero-streaming-section .streaming-card {
        width: 90px;
        height: 130px;
    }

    #master-hero-carousel .hero-streaming-section .combo-dynamic-title {
        font-size: 1.2rem;
    }

    #master-hero-carousel .hero-gamer-section .gamer-title {
        font-size: clamp(2rem, 6vw, 2.5rem);
        margin-bottom: 10px;
    }

    #master-hero-carousel .hero-gamer-section .gamer-features {
        padding: 10px 0;
        margin-bottom: 12px;
    }

    #master-hero-carousel .hero-gamer-section .price-value {
        font-size: 3rem;
    }

    #master-hero-carousel .hero-gamer-section .gamer-hero-img {
        max-height: 220px;
    }

    #master-hero-carousel .quem-somos-section .section-title {
        font-size: 1.6rem;
        margin-bottom: 8px;
    }

    #master-hero-carousel .quem-somos-section .section-description {
        font-size: 0.85rem;
        margin-bottom: 12px;
    }

    #master-hero-carousel .quem-somos-section .digital-human-img {
        max-height: 210px;
    }

    /* Avatares sobrepostos (atrás do texto) */
    #master-hero-carousel .hero-gamer-section .hero-gamer-content {
        position: relative;
        z-index: 2;
    }

    #master-hero-carousel .hero-gamer-section .gamer-hero-image-wrapper {
        margin-top: -110px;
        z-index: 1;
    }

    #master-hero-carousel .hero-gamer-section .gamer-hero-img {
        opacity: 0.4;
    }

    #master-hero-carousel .quem-somos-section .quem-somos-content {
        position: relative;
        z-index: 2;
    }

    #master-hero-carousel .quem-somos-section .digital-human-container {
        margin-top: -110px;
        z-index: 1;
    }

    #master-hero-carousel .quem-somos-section .digital-human-img {
        opacity: 0.4;
    }

    /* Remove avatares no mobile (mantém apenas backgrounds) */
    #master-hero-carousel .hero-gamer-section .gamer-hero-image-wrapper,
    #master-hero-carousel .quem-somos-section .digital-human-container {
        display: none !important;
    }
}

@media (min-width: 576px) and (max-width: 991px) {
    :root {
        --master-carousel-mobile-header: 72px;
    }
}

@media (max-width: 768px) {
    #master-hero-carousel .hero-streaming-section::before,
    #master-hero-carousel .hero-gamer-section::before,
    #master-hero-carousel #tv-assinatura::before,
    #master-hero-carousel .quem-somos-section::before,
    #master-hero-carousel .trabalhe-hero-section::before {
        display: none;
    }
}

/* --- CUSTOM NAVIGATION ARROWS (REFINED GAMER STYLE - V5 COMPACT PULSE) --- */
/* Menores, mais sutis e menos "pesadas" */
.swiper-button-next,
.swiper-button-prev {
    color: var(--swiper-nav-color);
    width: 38px;
    /* Reduzido de 42px (Era 50px) */
    height: 38px;
    /* Reduzido de 42px (Era 50px) */

    /* Estilo Base: Mais visível para não sumir */
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.3);
    appearance: none;
    padding: 0;

    /* Clip-path Tech Sutil */
    clip-path: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);

    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);

    display: flex;
    align-items: center;
    justify-content: center;

    /* Afastar mais da borda */
    margin-top: 0;
    /* Reset */

    /* ANIMAÇÃO PULSANTE MAIS INTENSA */
    animation: arrowPulse 2s infinite ease-in-out;
    /* Mais rápido (2s) */
}

@keyframes arrowPulse {
    0% {
        box-shadow: 0 0 0 rgba(255, 77, 29, 0);
        border-color: rgba(255, 255, 255, 0.3);
        background: rgba(255, 255, 255, 0.05);
        transform: scale(1);
    }

    50% {
        /* Glow Forte Laranja */
        box-shadow: 0 0 15px rgba(255, 77, 29, 0.6);
        border-color: #ff4d1d;
        /* Borda acende total */
        background: rgba(255, 77, 29, 0.1);
        /* Fundo pisca levemente */
        transform: scale(1.08);
        /* Aumenta mais */
    }

    100% {
        box-shadow: 0 0 0 rgba(255, 77, 29, 0);
        border-color: rgba(255, 255, 255, 0.3);
        background: rgba(255, 255, 255, 0.05);
        transform: scale(1);
    }
}

/* Ícone */
.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 0.9rem;
    /* Mais delicado */
    font-weight: 700;
}

/* Hover Effects - O "Pop" Gamer acontece aqui (Para a animação) */
.swiper-button-next:hover,
.swiper-button-prev:hover {
    animation: none;
    /* Para o pulso para focar no hover */
    background: var(--swiper-nav-hover-bg);
    /* Laranja Sólido no Hover */
    color: var(--swiper-nav-hover-text);
    border-color: var(--swiper-nav-hover-bg);
    transform: scale(1.1);
    /* Leve aumento fixo */
    box-shadow: 0 0 20px rgba(255, 77, 29, 0.6);
    /* Glow Forte */
}

/* Posicionamento - Mais para dentro (Ainda mais) - FORÇADO */
.swiper-button-prev {
    left: clamp(12px, 1.8vw, 24px) !important;
}

.swiper-button-next {
    right: clamp(12px, 1.8vw, 24px) !important;
}

/* --- PAGINATION (Barra de Loadout Style - VOTO VISUAL) --- */
.swiper-pagination {
    bottom: 25px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    /* Espaço entre as barras */
}

.swiper-pagination-bullet {
    background: transparent;
    /* Fundo visual fica no trilho interno para manter a area clicavel maior */
    opacity: 1;
    /* Opacidade controlada pelo background */
    width: 64px;
    /* Largura da barra */
    height: 32px;
    /* Area de clique maior que a barra visual */
    margin: 0 !important;
    border-radius: 12px;
    transition: all 0.3s ease;
    position: relative;
    overflow: visible;
    /* Permitir tooltip sair */
    cursor: pointer;
}

.swiper-pagination-bullet::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 4px;
    transform: translateY(-50%);
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.2);
}

.swiper-pagination-bullet .bullet-title {
    pointer-events: none;
}

/* Barra de Progresso Interna */
.progress-bar-fill {
    display: block;
    width: 0%;
    height: 4px;
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    background-color: #ff4d1d;
    /* Laranja da marca */
    border-radius: 2px;
    transition: width 0s linear;
    /* Controlado pelo JS/Autoplay se complexo, ou CSS */
}

/* Estado Ativo: Barra Cheia */
.swiper-pagination-bullet-active {
    background: transparent;
    /* Fundo continua */
    width: 84px;
    /* Barra ativa um pouco maior */
}

/* Animação simplificada de "enchimento" via CSS quando ativo */
.swiper-pagination-bullet-active .progress-bar-fill {
    width: 100%;
    transition: width 8s linear;
    /* Tempo do autoplay */
}

/* TÍTULOS (TOOLTIPS) NA NAVEGAÇÃO */
.bullet-title {
    position: absolute;
    bottom: 15px;
    /* Acima da barra */
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, bottom 0.3s ease;
    white-space: nowrap;
    letter-spacing: 0.5px;
}

/* Mostrar título só quando o usuário pedir, sem cobrir CTAs o tempo todo */
@media (hover: hover) and (pointer: fine) {
    .swiper-pagination-bullet:hover .bullet-title,
    .swiper-pagination-bullet:focus-visible .bullet-title {
        opacity: 1;
        bottom: 20px;
    }
}

/* Z-Index Fix */
.swiper-button-next,
.swiper-button-prev,
.swiper-pagination {
    z-index: 50 !important;
}

/* Mobile: Ajustes de Usabilidade */
@media (max-width: 768px) {

    .swiper-button-next,
    .swiper-button-prev {
        display: none;
        /* Mantém escondido as setas para limpar a tela */
    }

    .swiper-pagination {
        bottom: 15px !important;
    }

    /* Barras menores no mobile */
    .swiper-pagination-bullet {
        width: 44px;
        height: 32px;
    }

    .swiper-pagination-bullet-active {
        width: 54px;
    }

    /* Esconder títulos no mobile pra não poluir, só a barra basta */
    .bullet-title {
        display: none;
    }
}

@media (max-width: 991px) {
    #master-hero-carousel.is-streaming-active .carousel-swipe-hint,
    #master-hero-carousel.is-praia-v1-active .carousel-swipe-hint,
    #master-hero-carousel.is-praia-v2-active .carousel-swipe-hint {
        display: none !important;
    }

    body.master-carousel-praia-v1-active .n8n-chat-btn,
    body.master-carousel-praia-v2-active .n8n-chat-btn {
        bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    }

    body.master-carousel-praia-v2-active .praia-v2-section .praia-v2-cta-group {
        padding-right: 72px;
    }
}

/* Mobile-first polish for all master carousel heroes */
@media (max-width: 991px) {
    #master-hero-carousel .container {
        width: 100%;
        max-width: 100% !important;
        padding-left: clamp(12px, 3.5vw, 24px) !important;
        padding-right: clamp(12px, 3.5vw, 24px) !important;
    }

    #master-hero-carousel .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #master-hero-carousel .row > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #master-hero-carousel .swiper-pagination {
        bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        gap: 6px;
    }

    #master-hero-carousel .carousel-swipe-hint {
        bottom: calc(34px + env(safe-area-inset-bottom, 0px));
        padding: 5px 10px;
        font-size: 0.66rem;
        background: rgba(5, 11, 20, 0.62);
    }

    #master-hero-carousel .swiper-pagination-bullet {
        width: 40px;
        height: 32px;
    }

    #master-hero-carousel .swiper-pagination-bullet-active {
        width: 52px;
    }

    #master-hero-carousel .bullet-title {
        display: none;
    }

    /* Streaming */
    #master-hero-carousel section#hero-streaming.hero-streaming-section {
        align-items: flex-start !important;
        text-align: center;
    }

    #master-hero-carousel section#hero-streaming .hero-streaming-content {
        padding-top: clamp(4px, 1.2svh, 12px) !important;
    }

    #master-hero-carousel section#hero-streaming .row {
        row-gap: 8px !important;
    }

    #master-hero-carousel section#hero-streaming .hero-title {
        font-size: clamp(1.34rem, 5.4vw, 1.9rem) !important;
        line-height: 1.08 !important;
        margin-bottom: 6px !important;
    }

    #master-hero-carousel section#hero-streaming .text-gradient-hero {
        font-size: clamp(1.05rem, 4.8vw, 1.5rem) !important;
        line-height: 1.12 !important;
    }

    #master-hero-carousel section#hero-streaming .lead {
        max-width: 34rem;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 8px !important;
        font-size: 0.86rem !important;
        line-height: 1.35 !important;
    }

    #master-hero-carousel section#hero-streaming .speed-selector {
        max-width: 360px;
        margin: 0 auto 8px !important;
    }

    #master-hero-carousel section#hero-streaming .speed-selector .d-flex {
        gap: 6px !important;
    }

    #master-hero-carousel section#hero-streaming .btn-speed-ultra {
        min-height: 44px !important;
        padding: 9px 4px !important;
        font-size: 0.72rem !important;
        line-height: 1.08 !important;
    }

    #master-hero-carousel section#hero-streaming .price-display {
        display: flex;
        justify-content: center;
        margin-bottom: 8px !important;
    }

    #master-hero-carousel section#hero-streaming .price-display .value {
        font-size: clamp(2.2rem, 10vw, 2.8rem) !important;
        line-height: 0.9 !important;
    }

    #master-hero-carousel section#hero-streaming .price-display .currency {
        font-size: 1.15rem !important;
    }

    #master-hero-carousel section#hero-streaming .price-display .cents {
        font-size: 1rem !important;
    }

    #master-hero-carousel section#hero-streaming .btn-hero-cta {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: min(100%, 300px);
        min-height: 46px;
        padding: 10px 20px !important;
        color: #ffffff !important;
    }

    #master-hero-carousel section#hero-streaming .streaming-cards-container {
        gap: 8px !important;
        margin-top: 4px !important;
        margin-bottom: 6px !important;
    }

    #master-hero-carousel section#hero-streaming .streaming-card {
        width: clamp(62px, 18vw, 84px) !important;
        height: clamp(88px, 24vw, 116px) !important;
        border-radius: 10px;
    }

    #master-hero-carousel section#hero-streaming .streaming-card .card-content {
        padding: 0 8px !important;
    }

    #master-hero-carousel section#hero-streaming .streaming-logo {
        width: clamp(48px, 13vw, 62px) !important;
        height: 34px !important;
        max-height: 34px !important;
    }

    #master-hero-carousel section#hero-streaming .streaming-desc-container {
        min-height: 0 !important;
        max-width: 340px !important;
        margin: 0 auto !important;
        padding: 4px 8px !important;
    }

    #master-hero-carousel section#hero-streaming #service-description {
        margin-bottom: 0 !important;
        font-size: 0.78rem !important;
        line-height: 1.28 !important;
    }

    /* TV */
    #master-hero-carousel #tv-assinatura {
        justify-content: flex-start !important;
        text-align: center;
    }

    #master-hero-carousel #tv-assinatura .section-content {
        padding-top: 0 !important;
    }

    #master-hero-carousel #tv-assinatura .tv-solar-wrapper {
        height: clamp(236px, 34svh, 336px) !important;
        margin: clamp(2px, 1.2svh, 14px) auto clamp(4px, 1svh, 12px) !important;
    }

    #master-hero-carousel #tv-assinatura .tv-solar-system {
        transform: translateX(-50%) scale(0.56) !important;
        transform-origin: center top !important;
    }

    #master-hero-carousel #tv-assinatura .tv-center-app {
        width: 300px !important;
        margin-top: 28px !important;
    }

    #master-hero-carousel #tv-assinatura .tv-card-title {
        font-size: 1rem !important;
        line-height: 1.1 !important;
        margin: 0 0 4px !important;
        padding-bottom: 0 !important;
    }

    #master-hero-carousel #tv-assinatura .tv-price-display {
        margin: 0 0 4px !important;
    }

    #master-hero-carousel #tv-assinatura .tv-value {
        font-size: clamp(2.4rem, 12vw, 3rem) !important;
        line-height: 0.9 !important;
    }

    #master-hero-carousel #tv-assinatura .tv-currency {
        font-size: 1.1rem !important;
    }

    #master-hero-carousel #tv-assinatura .tv-term {
        font-size: 0.78rem !important;
    }

    #master-hero-carousel #tv-assinatura .tv-features-list {
        margin: 4px 0 8px !important;
        padding-left: 0 !important;
    }

    #master-hero-carousel #tv-assinatura .tv-features-list li {
        font-size: 0.78rem !important;
        line-height: 1.18 !important;
        margin-bottom: 3px !important;
    }

    #master-hero-carousel #tv-assinatura .tv-price-card .d-grid {
        gap: 8px !important;
        margin-top: 8px !important;
    }

    #master-hero-carousel #tv-assinatura .btn-cyber-cta,
    #master-hero-carousel #tv-assinatura .btn-cyber-secondary {
        width: min(100%, 286px) !important;
        max-width: 286px !important;
        min-height: 44px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 10px 12px !important;
        font-size: 0.78rem !important;
        letter-spacing: 0.04em !important;
        line-height: 1.12 !important;
    }

    #master-hero-carousel #tv-assinatura .badge {
        font-size: 0.68rem !important;
        white-space: normal;
    }

    /* Gamer */
    #master-hero-carousel .hero-gamer-section {
        align-items: flex-start !important;
        text-align: center;
    }

    #master-hero-carousel .hero-gamer-section .hero-gamer-content {
        padding-top: clamp(12px, 2svh, 20px) !important;
    }

    #master-hero-carousel .hero-gamer-section .partner-logo-container {
        justify-content: center;
        margin-bottom: 6px !important;
    }

    #master-hero-carousel .hero-gamer-section .gamer-title {
        font-size: clamp(1.85rem, 7vw, 2.3rem) !important;
        margin-bottom: 8px !important;
    }

    #master-hero-carousel .hero-gamer-section .loadout-wrapper {
        max-width: 360px;
        margin-bottom: 12px !important;
    }

    #master-hero-carousel .hero-gamer-section .tech-btn {
        min-height: 42px;
        padding: 8px 4px !important;
        font-size: 0.72rem !important;
    }

    #master-hero-carousel .hero-gamer-section .gamer-description {
        max-width: 34rem;
        margin: 0 auto 12px !important;
        font-size: 0.86rem !important;
        line-height: 1.35 !important;
    }

    #master-hero-carousel .hero-gamer-section .gamer-features {
        max-width: 360px;
        margin: 0 auto 10px !important;
        padding: 10px 0 !important;
    }

    #master-hero-carousel .hero-gamer-section .feature-item {
        flex: 1 1 0;
        padding: 0 8px !important;
    }

    #master-hero-carousel .hero-gamer-section .feature-item strong {
        font-size: 0.92rem !important;
    }

    #master-hero-carousel .hero-gamer-section .feature-item span {
        font-size: 0.64rem !important;
    }

    #master-hero-carousel .hero-gamer-section .price-cta-container {
        max-width: 360px;
        margin: 6px auto 0 !important;
        justify-content: center;
        gap: 12px !important;
    }

    #master-hero-carousel .hero-gamer-section .price-value {
        font-size: clamp(2.7rem, 13vw, 3.2rem) !important;
    }

    #master-hero-carousel .hero-gamer-section .btn-shine-cta {
        width: min(100%, 360px);
        min-height: 48px;
        justify-content: center;
        padding: 13px 20px !important;
        font-size: 0.92rem !important;
    }

    /* Quem Somos */
    #master-hero-carousel .quem-somos-section {
        align-items: flex-start !important;
    }

    #master-hero-carousel .quem-somos-section .quem-somos-content {
        padding-top: clamp(8px, 2svh, 18px) !important;
    }

    #master-hero-carousel .quem-somos-section .section-eyebrow {
        margin-bottom: 8px !important;
        font-size: 0.72rem !important;
        letter-spacing: 0.14em !important;
    }

    #master-hero-carousel .quem-somos-section .section-title {
        font-size: clamp(1.55rem, 6.8vw, 2.35rem) !important;
        line-height: 1.08 !important;
        margin-bottom: 10px !important;
    }

    #master-hero-carousel .quem-somos-section .section-description {
        max-width: 34rem !important;
        margin: 0 auto 12px !important;
        font-size: 0.84rem !important;
        line-height: 1.38 !important;
    }

    #master-hero-carousel .quem-somos-section .feature-list {
        gap: 7px !important;
        margin-bottom: 14px !important;
    }

    #master-hero-carousel .quem-somos-section .feature-list li {
        max-width: 360px;
        justify-content: center;
        padding: 7px 9px !important;
        font-size: 0.72rem !important;
        line-height: 1.18 !important;
    }

    #master-hero-carousel .quem-somos-section .cta-group {
        display: grid !important;
        grid-template-columns: 1fr;
        width: min(100%, 360px);
        margin: 0 auto !important;
        gap: 10px !important;
    }

    #master-hero-carousel .quem-somos-section .btn-shine-cta,
    #master-hero-carousel .quem-somos-section .btn-tech-secondary {
        width: 100%;
        min-height: 48px;
        justify-content: center;
        padding: 13px 18px !important;
        font-size: 0.86rem !important;
    }

    /* Trabalhe Conosco */
    #master-hero-carousel .trabalhe-hero-section {
        background-position: center center, center center, 56% center !important;
        background-size: 100% 100%, 100% 100%, cover !important;
    }

    #master-hero-carousel .trabalhe-hero-section .trabalhe-hero-content {
        padding-top: clamp(8px, 2svh, 20px) !important;
    }

    #master-hero-carousel .trabalhe-hero-section .trabalhe-title {
        font-size: clamp(1.65rem, 7.6vw, 2.5rem) !important;
        line-height: 1.02 !important;
        margin-bottom: 10px !important;
    }

    #master-hero-carousel .trabalhe-hero-section .trabalhe-description {
        max-width: 34rem;
        margin-bottom: 12px !important;
        font-size: 0.84rem !important;
        line-height: 1.4 !important;
    }

    #master-hero-carousel .trabalhe-hero-section .trabalhe-feature-grid {
        max-width: 360px;
        margin-bottom: 14px !important;
        gap: 8px !important;
    }

    #master-hero-carousel .trabalhe-hero-section .trabalhe-feature {
        min-height: 38px;
        padding: 8px 9px !important;
        font-size: 0.72rem !important;
    }

    #master-hero-carousel .trabalhe-hero-section .trabalhe-cta-group {
        width: min(100%, 360px);
        margin: 0 auto !important;
        gap: 10px !important;
    }

    #master-hero-carousel .trabalhe-hero-section .trabalhe-btn {
        min-height: 48px;
        padding: 13px 18px !important;
        font-size: 0.8rem !important;
    }
}

@media (max-width: 575px) {
    #master-hero-carousel.is-quem-somos-active .carousel-swipe-hint {
        display: none !important;
    }

    body.master-carousel-quem-somos-active .n8n-chat-btn {
        display: none !important;
    }

    #master-hero-carousel .carousel-swipe-hint {
        max-width: calc(100% - 120px);
        white-space: normal;
        line-height: 1.15;
        text-align: center;
    }

    #master-hero-carousel section#hero-streaming .streaming-cards-container {
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 575px) and (max-height: 720px) {
    #master-hero-carousel section#hero-streaming .lead,
    #master-hero-carousel section#hero-streaming .streaming-desc-container,
    #master-hero-carousel .trabalhe-hero-section .trabalhe-feature-grid {
        display: none !important;
    }

    #master-hero-carousel section#hero-streaming .streaming-card {
        width: 58px !important;
        height: 78px !important;
    }

    #master-hero-carousel section#hero-streaming .streaming-logo {
        width: 44px !important;
        max-height: 30px !important;
    }

    #master-hero-carousel #tv-assinatura .tv-solar-wrapper {
        height: 168px !important;
        margin-top: -8px !important;
    }

    #master-hero-carousel #tv-assinatura .tv-solar-system {
        transform: translateX(-50%) scale(0.38) !important;
    }

    #master-hero-carousel #tv-assinatura .tv-features-list {
        display: none !important;
    }

    #master-hero-carousel .hero-gamer-section .gamer-description {
        display: none !important;
    }

    #master-hero-carousel .quem-somos-section .feature-list {
        display: none !important;
    }
}
