* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width:100%; height:100%; background:#000; overflow:hidden; font-family: Arial, Helvetica, sans-serif; }

/* FUNDO */
.video-bg{
  position: fixed;
  inset: 0;
  z-index: 1;
  background:#000;
  overflow:hidden;
  pointer-events:none;
}

#player{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

#player iframe{
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  width: 100vw !important;
  height: 56.25vw !important;      /* 16:9 */

  min-width: 177.78vh !important;  /* 16:9 invertido */
  min-height: 100vh !important;

  transform: translate(-50%, -50%) !important;
}



/* Dim */
.video-dim{
  position: fixed;
  inset: 0;
  z-index: 2;
  background: rgba(0,0,0,0.25);
  pointer-events:none;
}

/* Overlay */
#overlay{
  position: fixed;
  inset: 0;
  z-index: 30;
  pointer-events:none;
}

#logo{
  position:absolute;
  top: 18px;
  left: 18px;
  width: 250px;
  opacity: .95;
}

/* Plans (começa escondido via .hidden) */
#plans{
  position:absolute;
  inset: 0;
  background: rgba(0,0,0,0.86);
  display:flex;
  align-items:center;
  justify-content:center;
}

#plans img{
  width: 100%;
  /*max-width: 92%;
  max-height: 92%;*/
}

.hidden{ display:none !important; }

/* HUD */
#hud{
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 40;

  display:flex;
  gap: 10px;
  align-items:center;

  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 10px 12px;
  border-radius: 12px;
  backdrop-filter: blur(6px);
}

#hud.hidden{ display:none; }

#hud select, #hud button{
  background-color: black;
  color:#fff;
  border: 1px solid rgba(255,255,255,0.18);
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 14px;
  outline:none;
}

#hud button:hover{
  background: rgba(255,255,255,0.18);
  cursor:pointer;
}

/* ========== SIDE BANNERS ==========*/

/*#side-banners{
    position: fixed;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 360px;
    max-height: 95vh;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}*/

#side-banners{
    position: fixed;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 450px;
    max-height: 95vh;
    z-index: 20;
    pointer-events: none;
}

.side-banner{
    width: 100%;
    max-height: 95vh;
    overflow: hidden;

    background:
        radial-gradient(circle at top left, rgba(47,179,255,0.18), transparent 28%),
        radial-gradient(circle at bottom right, rgba(47,179,255,0.14), transparent 28%),
        linear-gradient(180deg, rgba(5,10,20,0.96) 0%, rgba(2,6,14,0.96) 100%);

    border: 1px solid rgba(47,179,255,0.55);
    border-radius: 18px;

    padding: 22px 18px;

    color: #fff;
    font-family: Arial, Helvetica, sans-serif;

    box-shadow:
        0 0 30px rgba(0,0,0,0.55),
        0 0 18px rgba(47,179,255,0.18),
        inset 0 0 18px rgba(47,179,255,0.08);

    backdrop-filter: blur(8px);
    position: relative;
}

.side-banner::before{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    pointer-events: none;
    box-shadow: inset 0 0 30px rgba(47,179,255,0.08);
}

.banner-logo{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.banner-logo img{
    width: 100%;
    max-height: 150px;
    object-fit: contain;
    filter: drop-shadow(0 0 10px rgba(47,179,255,0.35));
}

.banner-title{
    text-align: center;
    font-size: 38px;
    font-weight: 800;
    margin-bottom: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #ffffff;
    text-shadow: 0 0 10px rgba(47,179,255,0.20);
}

/* ===== TIPO TABELA ===== */

.price-card{
    background: rgba(6, 14, 28, 0.86);
    border: 1px solid rgba(47,179,255,0.35);
    padding: 12px 14px;
    border-radius: 14px;
    margin-bottom: 10px;
    text-align: center;
    box-shadow: inset 0 0 12px rgba(47,179,255,0.05);
    font-size: 24px;
}

.price-card strong{
    display: block;
    font-size: 40px;
    margin-top: 6px;
    font-weight: 800;
}

.price-card span{
    display: block;
    font-size: 20px;
    opacity: 0.78;
    margin-top: 4px;
}

.price-card.destaque{
    background: linear-gradient(180deg, #46bfff 0%, #1f8fdd 100%);
    color: #06111f;
    border-color: rgba(255,255,255,0.25);
    box-shadow:
        0 0 18px rgba(47,179,255,0.30),
        inset 0 0 10px rgba(255,255,255,0.10);
}

.price-card.destaque strong{
    font-size: 45px;
}

/* ===== TIPO PROMO ===== */

.promo-price{
    text-align: center;
    margin-bottom: 14px;
    line-height: 1;
}

.promo-price .currency{
    display: inline-block;
    font-size: 38px;
    font-weight: bold;
    vertical-align: top;
    margin-right: 6px;
}

.promo-price .value{
    display: inline-block;
    font-size: 95px;
    font-weight: 900;
    letter-spacing: -2px;
    text-shadow: 0 0 20px rgba(47,179,255,0.20);
}

.promo-price .desc{
    display: block;
    font-size: 24px;
    opacity: 0.85;
    margin-top: 4px;
}

.promo-anual{
    background: rgba(6, 14, 28, 0.86);
    border: 1px solid rgba(47,179,255,0.40);
    border-radius: 14px;
    padding: 14px;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 10px;
    box-shadow: inset 0 0 12px rgba(47,179,255,0.05);
}

.promo-parcelamento{
    text-align: center;
    margin-bottom: 14px;
    font-size: 24px;
    color: #dfefff;
    opacity: 0.9;
}

.promo-strip{
    background: linear-gradient(180deg, #46bfff 0%, #1f8fdd 100%);
    color: #06111f;
    text-align: center;
    border-radius: 12px;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 24px;
    padding: 10px 12px;
    margin-bottom: 14px;
    box-shadow: 0 0 14px rgba(47,179,255,0.25);
}

.promo-benefits{
    margin-top: 10px;
}

.benefit{
    margin-bottom: 10px;
    font-size: 24px;
    line-height: 1.35;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.benefit .check{
    color: #46bfff;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.1;
    text-shadow: 0 0 10px rgba(47,179,255,0.30);
}

/* Ajuste geral */
.side-banner.tabela .price-card:last-child,
.side-banner.promo .benefit:last-child{
    margin-bottom: 0;
}

/* ===== Animação dos banners laterais ===== */

.side-banner-item{
    position: absolute;
    top: 50%;
    right: 0;
    width: 100%;
    transform: translateY(-50%) translateX(40px);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.7s ease,
        transform 0.7s ease,
        visibility 0.7s ease;
}

.side-banner-item.active{
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

.side-banner-item.leaving{
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%) translateX(20px);
}

/* brilho leve no destaque */
.price-card.destaque,
.promo-anual{
    animation: pulseGlow 2.8s ease-in-out infinite;
}

@keyframes pulseGlow{
    0%{
        box-shadow:
            0 0 10px rgba(47,179,255,0.18),
            inset 0 0 10px rgba(255,255,255,0.06);
    }
    50%{
        box-shadow:
            0 0 24px rgba(47,179,255,0.32),
            inset 0 0 12px rgba(255,255,255,0.10);
    }
    100%{
        box-shadow:
            0 0 10px rgba(47,179,255,0.18),
            inset 0 0 10px rgba(255,255,255,0.06);
    }
}

/* ================================
   SHOWCASE DOS PLANOS
================================ */

#plans-showcase{
    position: fixed;
    inset: 0;
    z-index: 9000;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;

    pointer-events: none;
}

#plans-showcase.hidden{
    display:none!important;
}

/* cards */

.showcase-card{
    position: relative;
}

.showcase-card.left,
.showcase-card.right{
    width: 280px;
    margin: 0px 100px;
}

.showcase-card.center{
    width: 390px;
}

/* estrutura interna */

.showcase-card-inner{
    border-radius: 28px;
    padding: 34px 34px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

/* estilos */

.showcase-card-inner.dark{
    background:
        radial-gradient(circle at top left, rgba(27, 54, 100, 0.3), transparent 35%),
        radial-gradient(circle at bottom right, rgba(27, 54, 100, 0.3), transparent 35%),
        linear-gradient(180deg, rgb(6, 14, 28) 0%, rgb(6, 14, 28) 100%);
    border: 2px solid rgba(0, 0, 0, 0.86);
    box-shadow:
        30px rgba(0,0,0,0.55),
        18px rgba(47,179,255,0.18),
        inset 18px rgba(47,179,255,0.08);
    color:#fff;
}

.showcase-card-inner.light{
    background: rgb(170, 170, 170);
    background:
        radial-gradient(circle at top left, rgba(0, 0, 0, 0.3), transparent 35%),
        radial-gradient(circle at bottom right, rgba(0, 0, 0, 0.3), transparent 35%),
        linear-gradient(180deg, rgb(170, 170, 170) 0%, rgb(170, 170, 170) 100%);
    border: 2px solid rgba(6, 14, 28, 0.86);
    box-shadow:
        30px rgba(0,0,0,0.55),
        18px rgba(47,179,255,0.18),
        inset 18px rgba(47,179,255,0.08);
    color:#0d1118;
}

.showcase-card-inner.featured{
    
    color:#0c1017;
    background:
        radial-gradient(circle at top left, rgba(32, 172, 253, 0.3), transparent 45%),
        radial-gradient(circle at bottom right, rgba(32, 172, 253, 0.3), transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);

    border: 2px solid rgba(47,179,255,0.80);
    box-shadow:
        30px rgba(0,0,0,0.55),
        18px rgba(47,179,255,0.18),
        inset 18px rgba(47,179,255,0.08);
}

/* títulos */

.showcase-title{
    font-weight: 900;
    font-size: 30px;
    text-transform: uppercase;
    line-height: 0.95;
    white-space: nowrap;
}

.showcase-card.center .showcase-title{
    font-size: 54px;
    line-height: 0.92;
    white-space: wrap;
}

.showcase-subtitle{
    margin-top: 6px;
    font-weight: 700;
    font-size: 16px;
    opacity: .8;
    text-transform: uppercase;
}

.showcase-card.center .showcase-subtitle{
    font-size: 22px;
}

/* preço */

.showcase-price{
    margin-top: 60px;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    overflow: hidden;
}

.showcase-price .currency{
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 8px;
    flex: 0 0 auto;
}

.showcase-price .value{
    font-size: 44px;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -1px;
    white-space: nowrap;
    flex: 0 1 auto;
}

.showcase-card.center .showcase-price{
    margin-top: 42px;
    gap: 8px;
    color: #4db3ff;
}

.showcase-card.center .showcase-price .currency{
    font-size: 30px;
    margin-bottom: 12px;
}

.showcase-card.center .showcase-price .value{
    font-size: 82px;
    letter-spacing: -2px;
}

/* infos extras */

.showcase-installment{
    margin-top: 18px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    color: #4db3ff;
}

.showcase-cash{
    margin-top: 8px;
    font-size: 14px;
    opacity: .7;
    line-height: 1.25;
    text-align: center;
}

.showcase-note{
    margin-top:8px;
    font-size:15px;
    opacity:.7;
}

/* badge */

.showcase-badge{
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: #4db3ff;
    color: #07111f;
    font-weight: 800;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 15px;
    white-space: nowrap;
}

/* ===== Showcase animado ===== */

#plans-showcase{
    opacity: 0;
    visibility: hidden;
    transform: scale(0.96);
    transition:
        opacity 0.5s ease,
        transform 0.5s ease,
        visibility 0.5s ease;
}

#plans-showcase.active{
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

#plans-showcase.hidden{
    display: flex !important;
    opacity: 0;
    visibility: hidden;
    transform: scale(0.96);
}

/* esconder banner lateral quando showcase estiver ativo */
#side-banners.hidden-by-showcase{
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%) translateX(30px);
    transition:
        opacity 0.4s ease,
        transform 0.4s ease,
        visibility 0.4s ease;
}

/* estado normal do side banner */
#side-banners{
    transition:
        opacity 0.4s ease,
        transform 0.4s ease,
        visibility 0.4s ease;
}

/* ===== animação individual dos cards do showcase ===== */

.showcase-card{
    opacity: 0;
    transition:
        opacity 0.45s ease,
        transform 0.55s ease;
}

.showcase-card.left{
    transform: translateX(-35px) scale(0.96);
}

.showcase-card.right{
    transform: translateX(35px) scale(0.96);
}

.showcase-card.center{
    transform: translateY(18px) scale(0.96);
}

/* quando o showcase estiver ativo */
#plans-showcase.active .showcase-card{
    opacity: 1;
}

#plans-showcase.active .showcase-card.center{
    transform: translateY(0) scale(1);
    transition-delay: 0.08s;
}

#plans-showcase.active .showcase-card.left{
    transform: translateX(0) scale(1);
    transition-delay: 0.22s;
}

#plans-showcase.active .showcase-card.right{
    transform: translateX(0) scale(1);
    transition-delay: 0.30s;
}

/* ===== zoom suave no card central do showcase ===== */

#plans-showcase.active .showcase-card.center{
    animation: showcaseCenterPop 0.65s ease-out 0.08s both,
               showcaseCenterBreath 3.2s ease-in-out 0.9s infinite;
    transform-origin: center center;
}

@keyframes showcaseCenterPop{
    0%{
        transform: scale(0.94);
    }
    30%{
        transform: scale(0.98);
    }
    60%{
        transform: scale(1.03);
    }
    85%{
        transform: scale(0.98);
    }
    100%{
        transform: scale(1);
    }
}

@keyframes showcaseCenterBreath{
    0%{
        transform: scale(1);
    }
    25%{
        transform: scale(1.008);
    }
    50%{
        transform: scale(1.015);
    }
    75%{
        transform: scale(1.008);
    }
    100%{
        transform: scale(1);
    }
}

/* =================================
   LOGO FLUTUANTE PROGRAMADA
================================= */

#floating-logo{
    position: fixed;
    left: 50%;
    top: 18%;
    transform: translateX(-50%) scale(0.92);

    z-index: 8500;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity 0.45s ease,
        transform 0.45s ease,
        visibility 0.45s ease;
}

#floating-logo.active{
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) scale(1);
}

#floating-logo.hidden{
    display: block !important;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) scale(0.92);
}

#floating-logo img{
    width: 100%;
    object-fit: contain;
    filter: drop-shadow(0 0 16px rgba(47,179,255,0.22));
}

/* Responsividade */
@media (max-width: 1600px), (max-height: 900px){
    #floating-logo{
        top: 16%;
    }

    #floating-logo img{
        max-width: 230px;
        max-height: 95px;
    }
}

@media (max-width: 1366px), (max-height: 800px){
    #floating-logo{
        top: 14%;
    }

    #floating-logo img{
        max-width: 190px;
        max-height: 80px;
    }
}

@media (max-width: 768px){
    #floating-logo{
        top: 12%;
    }

    #floating-logo img{
        max-width: 140px;
        max-height: 60px;
    }
}


/* ================================
   RESPONSIVIDADE GERAL
================================ */

/* TV/notebook com menos espaço horizontal */
@media (max-width: 1600px) {
    #side-banners{
        right: 10px;
        transform: translateY(-50%) scale(0.88);
        transform-origin: right center;
    }
}

/* telas ainda menores */
@media (max-width: 1366px) {
    #side-banners{
        right: 6px;
        transform: translateY(-50%) scale(0.76);
        transform-origin: right center;
    }
}

/* quando a altura da tela é pequena */
@media (max-height: 900px) {
    #side-banners{
        transform: translateY(-50%) scale(0.80);
        transform-origin: right center;
    }
}

@media (max-height: 800px) {
    #side-banners{
        transform: translateY(-50%) scale(0.70);
        transform-origin: right center;
    }
}

/* Showcase em telas menores */
@media (max-width: 1600px) {
    #plans-showcase{
        gap: 20px;
        transform: scale(0.88);
        transform-origin: center center;
    }
}

@media (max-width: 1366px) {
    #plans-showcase{
        gap: 14px;
        transform: scale(0.76);
        transform-origin: center center;
    }
}

/* altura menor = reduz mais */
@media (max-height: 900px) {
    #plans-showcase{
        transform: scale(0.82);
        transform-origin: center center;
    }
}

@media (max-height: 800px) {
    #plans-showcase{
        transform: scale(0.70);
        transform-origin: center center;
    }
}

/* =========================================================
   RESPONSIVIDADE COMPLETA
========================================================= */

/* Base de segurança */
html, body {
    overflow: hidden;
}

#side-banners,
#plans-showcase,
#plans,
#hud,
#logo {
    will-change: transform;
}

/* Evita corte geral */
#side-banners,
#plans-showcase {
    max-height: 100vh;
}

.side-banner {
    max-height: 92vh;
    overflow: hidden;
}

#plans img,
#plansImg {
    max-width: 92vw;
    max-height: 92vh;
    object-fit: contain;
}

/* ---------------------------------------------------------
   TELAS GRANDES, mas um pouco menores que a sua base
--------------------------------------------------------- */
@media (max-width: 1700px), (max-height: 950px) {

    /* LOGO */
    #logo {
        width: 145px;
        top: 14px;
        left: 14px;
    }

    /* HUD */
    #hud {
        bottom: 14px;
        padding: 9px 10px;
        gap: 8px;
    }

    #hud select,
    #hud button {
        font-size: 13px;
        padding: 7px 9px;
    }

    /* BANNER LATERAL - container */
    #side-banners {
        right: 8px;
        width: 320px;
        transform: translateY(-50%) scale(0.88);
        transform-origin: right center;
    }

    /* BANNER LATERAL - conteúdo */
    .side-banner {
        width: 280px;
        padding: 18px 16px;
        border-radius: 16px;
    }

    .banner-logo {
        margin-bottom: 10px;
    }

    .banner-logo img {
        max-width: 180px;
        max-height: 78px;
    }

    .banner-title {
        font-size: 22px;
        margin-bottom: 12px;
    }

    .price-card {
        padding: 10px 12px;
        border-radius: 12px;
        margin-bottom: 8px;
    }

    .price-card strong {
        font-size: 24px;
    }

    .price-card.destaque strong {
        font-size: 28px;
    }

    .price-card span {
        font-size: 12px;
    }

    .promo-price {
        margin-bottom: 12px;
    }

    .promo-price .currency {
        font-size: 28px;
        margin-right: 4px;
    }

    .promo-price .value {
        font-size: 68px;
        letter-spacing: -1px;
        line-height: 0.9;
        white-space: nowrap;
    }

    .promo-price .desc {
        font-size: 14px;
        margin-top: 4px;
    }

    .promo-anual {
        font-size: 20px;
        padding: 12px;
        margin-bottom: 8px;
        white-space: nowrap;
    }

    .promo-parcelamento {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .promo-strip {
        font-size: 13px;
        padding: 9px 10px;
        margin-bottom: 12px;
        line-height: 1.2;
    }

    .promo-benefits {
        margin-top: 10px;
    }

    .benefit {
        font-size: 15px;
        gap: 8px;
        margin-bottom: 8px;
        line-height: 1.25;
    }

    .benefit .check {
        font-size: 17px;
    }

    /* SHOWCASE */
    #plans-showcase {
        gap: 20px;
        transform: scale(0.88);
        transform-origin: center center;
    }

    .showcase-card.left,
    .showcase-card.right {
        width: 230px;
    }

    .showcase-card.center {
        width: 370px;
    }

    .showcase-card-inner {
        height: 250px;
        padding: 30px 22px;
    }

    .showcase-card.center .showcase-card-inner {
        height: 410px;
    }

    .showcase-title {
        font-size: 28px;
    }

    .showcase-card.center .showcase-title {
        font-size: 48px;
    }

    .showcase-subtitle {
        font-size: 15px;
    }

    .showcase-card.center .showcase-subtitle {
        font-size: 20px;
    }

    .showcase-price {
        margin-top: 28px;
        gap: 6px;
    }

    .showcase-price .currency {
        font-size: 20px;
        margin-bottom: 7px;
    }

    .showcase-price .value {
        font-size: 38px;
    }

    .showcase-card.center .showcase-price .currency {
        font-size: 28px;
        margin-bottom: 10px;
    }

    .showcase-card.center .showcase-price .value {
        font-size: 74px;
    }

    .showcase-installment {
        font-size: 15px;
        margin-top: 14px;
    }

    .showcase-cash {
        font-size: 13px;
        margin-top: 7px;
    }

    .showcase-note,
    .showcase-side-note {
        font-size: 13px;
    }

    .showcase-badge {
        font-size: 14px;
        padding: 7px 14px;
        top: -12px;
    }
}

/* ---------------------------------------------------------
   NOTEBOOK / TV MENOR
--------------------------------------------------------- */
@media (max-width: 1366px), (max-height: 820px) {

    /* LOGO */
    #logo {
        width: 125px;
        top: 10px;
        left: 10px;
    }

    /* HUD */
    #hud {
        bottom: 10px;
        padding: 8px 9px;
        gap: 7px;
        transform: translateX(-50%) scale(0.9);
        transform-origin: center bottom;
    }

    #hud select,
    #hud button {
        font-size: 12px;
        padding: 6px 8px;
        border-radius: 9px;
    }

    /* PLANOS FULL */
    #plans {
        inset: 0;
        padding: 18px;
    }

    #plans img,
    #plansImg {
        max-width: 95vw;
        max-height: 88vh;
    }

    /* BANNER LATERAL */
    #side-banners {
        right: 4px;
        width: 290px;
        transform: translateY(-50%) scale(0.76);
        transform-origin: right center;
    }

    .side-banner {
        width: 250px;
        padding: 16px 14px;
        border-radius: 14px;
        max-height: 90vh;
    }

    .banner-logo {
        margin-bottom: 8px;
    }

    .banner-logo img {
        max-width: 155px;
        max-height: 68px;
    }

    .banner-title {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .price-card {
        padding: 9px 10px;
        border-radius: 10px;
        margin-bottom: 7px;
    }

    .price-card strong {
        font-size: 22px;
        margin-top: 4px;
    }

    .price-card.destaque strong {
        font-size: 26px;
    }

    .price-card span {
        font-size: 11px;
    }

    .promo-price {
        margin-bottom: 10px;
    }

    .promo-price .currency {
        font-size: 24px;
        margin-right: 4px;
        margin-bottom: 4px;
    }

    .promo-price .value {
        font-size: 58px;
        letter-spacing: -1px;
        line-height: 0.9;
        white-space: nowrap;
    }

    .promo-price .desc {
        font-size: 13px;
        margin-top: 2px;
    }

    .promo-anual {
        font-size: 18px;
        padding: 10px;
        border-radius: 12px;
        margin-bottom: 8px;
        white-space: nowrap;
    }

    .promo-parcelamento {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .promo-strip {
        font-size: 12px;
        padding: 8px 9px;
        border-radius: 10px;
        margin-bottom: 10px;
        line-height: 1.2;
    }

    .promo-benefits {
        margin-top: 8px;
    }

    .benefit {
        font-size: 13px;
        line-height: 1.25;
        gap: 7px;
        margin-bottom: 7px;
    }

    .benefit .check {
        font-size: 15px;
    }

    /* SHOWCASE */
    #plans-showcase {
        gap: 14px;
        transform: scale(0.76);
        transform-origin: center center;
    }

    .showcase-card.left,
    .showcase-card.right {
        width: 210px;
    }

    .showcase-card.center {
        width: 340px;
    }

    .showcase-card-inner {
        height: 220px;
        padding: 26px 20px;
        border-radius: 24px;
    }

    .showcase-card.center .showcase-card-inner {
        height: 390px;
    }

    .showcase-title {
        font-size: 26px;
    }

    .showcase-card.center .showcase-title {
        font-size: 44px;
    }

    .showcase-subtitle {
        font-size: 14px;
    }

    .showcase-card.center .showcase-subtitle {
        font-size: 18px;
    }

    .showcase-price {
        margin-top: 24px;
        gap: 6px;
    }

    .showcase-price .currency {
        font-size: 18px;
        margin-bottom: 6px;
    }

    .showcase-price .value {
        font-size: 32px;
    }

    .showcase-card.center .showcase-price .currency {
        font-size: 24px;
        margin-bottom: 8px;
    }

    .showcase-card.center .showcase-price .value {
        font-size: 66px;
    }

    .showcase-installment {
        font-size: 14px;
        margin-top: 12px;
    }

    .showcase-cash {
        font-size: 12px;
        margin-top: 6px;
    }

    .showcase-note,
    .showcase-side-note {
        font-size: 12px;
    }

    .showcase-badge {
        font-size: 13px;
        padding: 6px 12px;
        top: -10px;
    }
}

/* ---------------------------------------------------------
   TELAS COM ALTURA PEQUENA
--------------------------------------------------------- */
@media (max-height: 720px) {

    #logo {
        width: 110px;
    }

    #hud {
        transform: translateX(-50%) scale(0.82);
        transform-origin: center bottom;
        bottom: 8px;
    }

    #side-banners {
        transform: translateY(-50%) scale(0.66);
        transform-origin: right center;
    }

    .side-banner {
        max-height: 88vh;
    }

    #plans-showcase {
        transform: scale(0.68);
        transform-origin: center center;
    }

    #plans img,
    #plansImg {
        max-height: 84vh;
    }
}

/* ---------------------------------------------------------
   TABLET / CELULAR GRANDE
--------------------------------------------------------- */
@media (max-width: 900px) {

    #logo {
        width: 100px;
        top: 8px;
        left: 8px;
    }

    #hud {
        transform: translateX(-50%) scale(0.82);
        transform-origin: center bottom;
        bottom: 8px;
        max-width: calc(100vw - 20px);
        overflow: hidden;
    }

    /* banner vai mais para o canto e reduz */
    #side-banners {
        right: 0;
        width: 240px;
        transform: translateY(-50%) scale(0.62);
        transform-origin: right center;
    }

    .side-banner {
        width: 210px;
        padding: 14px 12px;
        border-radius: 12px;
    }

    .banner-logo img {
        max-width: 130px;
        max-height: 56px;
    }

    .banner-title {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .promo-price .currency {
        font-size: 20px;
    }

    .promo-price .value {
        font-size: 46px;
    }

    .promo-anual {
        font-size: 16px;
        padding: 8px;
    }

    .promo-parcelamento {
        font-size: 12px;
    }

    .promo-strip {
        font-size: 11px;
        padding: 7px 8px;
    }

    .benefit {
        font-size: 12px;
    }

    .price-card strong {
        font-size: 20px;
    }

    .price-card.destaque strong {
        font-size: 22px;
    }

    /* showcase */
    #plans-showcase {
        transform: scale(0.58);
        transform-origin: center center;
        gap: 10px;
    }

    .showcase-card.left,
    .showcase-card.right {
        width: 190px;
    }

    .showcase-card.center {
        width: 300px;
    }

   .showcase-title {
        font-size: 20px;
    }

}

/* ---------------------------------------------------------
   CELULAR
--------------------------------------------------------- */
@media (max-width: 768px) {

    #logo {
        width: 90px;
        top: 6px;
        left: 6px;
    }

    #hud {
        transform: translateX(-50%) scale(0.75);
        transform-origin: center bottom;
        bottom: 6px;
        max-width: calc(100vw - 12px);
    }

    /* Em celular, o banner lateral fica menor e mais baixo */
    #side-banners {
        transform: scale(0.52); 
    }

    .side-banner {
        max-height: 75vh;
    }

    /* Showcase bem reduzido */
    #plans-showcase {
        transform: scale(0.50);
        transform-origin: center center;
        gap: 8px;
        padding: 10px;
    }

    #plans img,
    #plansImg {
        max-width: 96vw;
        max-height: 80vh;
    }
}

/* ---------------------------------------------------------
   CELULAR MUITO PEQUENO
--------------------------------------------------------- */
@media (max-width: 480px) {

    #logo {
        width: 78px;
    }

    #hud {
        transform: translateX(-50%) scale(0.68);
    }

    #side-banners {
        transform: scale(0.46);
    }

    #plans-showcase {
        transform: scale(0.42);
        transform-origin: center center;
    }

    #plans img,
    #plansImg {
        max-width: 98vw;
        max-height: 76vh;
    }
}