/* ==========================================
   PECHY PLAYERS MOBILE 2.0
   SOLO CELULAR
========================================== */

@media (max-width:768px){

  body{
    --fondo-plataforma:#ff2d2d;
    overflow-x:hidden;
    background:
      radial-gradient(
        circle at 50% 38%,
        color-mix(in srgb, var(--fondo-plataforma) 22%, transparent),
        transparent 38%
      ),
      #03060b;
    transition:background .45s ease;
  }

  /* NAVEGACIÓN */

  .nav{
    padding:12px 14px;
    background:rgba(3,6,11,.92);
  }

  .brand{
    gap:9px;
  }

  .brand img{
    width:42px;
    height:42px;
  }

  .brand span{
    font-size:17px;
    white-space:nowrap;
  }

  .links a:not(.wa){
    display:none;
  }

  .links .wa{
    padding:10px 14px;
    font-size:14px;
  }

  .hero,
.benefits{
  display:none;
}

.promociones-home{
  display:block;
  .mobile-featured{
  display:none !important;
}
}

  /* ==========================
     SPLASH SCREEN
  ========================== */

  #splashMobile{
    position:fixed;
    inset:0;
    z-index:99999;

    width:100vw;
    height:100dvh;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    padding:24px;
    overflow:hidden;

    background:
      radial-gradient(
        circle at center,
        rgba(255,30,30,.25),
        transparent 38%
      ),
      #02050a;

    transition:
      opacity .55s ease,
      visibility .55s ease;
  }

  #splashMobile,
  #splashMobile *{
    box-sizing:border-box;
  }

  #splashMobile.oculto{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }

  #splashMobile img{
    display:block !important;

    width:96px !important;
    height:96px !important;

    min-width:96px !important;
    min-height:96px !important;

    max-width:96px !important;
    max-height:96px !important;

    object-fit:cover !important;

    margin:0 !important;
    padding:0 !important;

    border-radius:24px;
    border:2px solid rgba(255,255,255,.12);

    box-shadow:
      0 0 45px rgba(255,30,30,.5),
      0 20px 50px rgba(0,0,0,.65);

    animation:splashLogo 1s ease;
  }

  #splashMobile h1{
    margin:20px 0 0;
    padding:0;

    font-size:26px;
    line-height:1;
    text-align:center;
    letter-spacing:1px;

    animation:splashTexto 1s ease;
  }

  #splashMobile h1 span{
    color:#ff2d2d;
  }

  .splash-loader{
    position:relative;

    width:150px;
    height:4px;

    margin-top:24px;

    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.12);
  }

  .splash-loader::after{
    content:"";
    position:absolute;
    inset:0;

    width:45%;
    border-radius:999px;
    background:linear-gradient(90deg,#ff1e1e,#ff6b35);

    animation:cargando 1.4s infinite ease-in-out;
  }

  @keyframes splashLogo{
    from{
      transform:scale(.6);
      opacity:0;
    }

    to{
      transform:scale(1);
      opacity:1;
    }
  }

  @keyframes splashTexto{
    from{
      transform:translateY(18px);
      opacity:0;
    }

    to{
      transform:translateY(0);
      opacity:1;
    }
  }

  @keyframes cargando{
    from{
      transform:translateX(-120%);
    }

    to{
      transform:translateX(260%);
    }
  }

  /* ==========================
     PROMOCIÓN DESTACADA
  ========================== */

  .mobile-featured{
    position:relative;

    min-height:620px;
    margin-top:66px;

    overflow:hidden;

    display:flex;
    align-items:flex-end;

    background:#050912;
  }

  .mobile-featured-bg{
  position:absolute;
  inset:0;

  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;

  transform-origin:center;
  will-change:transform;

  animation:promoZoom 12s ease-in-out infinite alternate;
}

  .mobile-featured-overlay{
    position:absolute;
    inset:0;

    background:
      linear-gradient(
        to top,
        #03060b 0%,
        rgba(3,6,11,.88) 20%,
        rgba(3,6,11,.18) 58%,
        rgba(3,6,11,.05) 100%
      );
  }

 .mobile-featured-content{

position:absolute;

left:20px;
right:20px;
bottom:22px;

display:flex;
justify-content:space-between;
align-items:end;

z-index:5;

}

  .mobile-featured-tag{

display:inline-flex;

align-items:center;

padding:10px 18px;

border-radius:999px;

background:rgba(0,0,0,.55);

backdrop-filter:blur(12px);

border:1px solid rgba(255,255,255,.12);

color:#ffb100;

font-size:12px;

font-weight:900;

letter-spacing:.8px;

}

  .mobile-featured h2{
    max-width:330px;

    margin-top:13px;

    font-size:34px;
    line-height:1;
  }

  .mobile-featured p{
    max-width:330px;

    margin:12px 0 20px;

    color:#d1d5db;
    line-height:1.45;
  }

  .mobile-featured-btn{

display:inline-flex;

align-items:center;
justify-content:center;

padding:14px 20px;

border-radius:999px;

background:#25d366;

color:#04110a;

font-size:15px;
font-weight:900;

text-decoration:none;

box-shadow:
0 10px 25px rgba(37,211,102,.35);

backdrop-filter:blur(10px);

transition:.25s;

}

.mobile-featured-btn:active{

transform:scale(.96);

}

  /* ==========================
     CATÁLOGO
  ========================== */

  .catalogo{
    width:100%;
    padding:28px 0 45px;
    overflow:hidden;
  }

  .top-section{
    display:block;
    padding:0 17px;
    margin-bottom:18px;
  }

  .top-section > div{
    width:100%;
  }

  .top-section small{
    color:#ff2d2d;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.5px;
  }

  .top-section h2{
    margin:7px 0 15px;

    font-size:27px;
    line-height:1.1;
  }

  #buscador{
    width:100%;
    max-width:none;

    padding:14px;
    border-radius:14px;
  }

  #productosGrid{
    display:flex;

    gap:14px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;

    padding:8px 42px 24px;

    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  #productosGrid::-webkit-scrollbar{
    display:none;
  }

  #productosGrid .card{
    --color-plataforma:#ff2d2d;

    flex:0 0 calc(100vw - 95px);
    width:calc(100vw - 95px);
    max-width:390px;

    margin:0;

    scroll-snap-align:center;
    scroll-snap-stop:always;

    border-radius:24px;
    overflow:hidden;

    transform:scale(.88) translateY(12px);
    opacity:.38;
    filter:brightness(.58) blur(.6px);

    transition:
      transform .3s ease,
      opacity .3s ease,
      filter .3s ease,
      border-color .3s ease,
      box-shadow .3s ease;
  }

  #productosGrid .card.card-activa{
    transform:scale(1) translateY(0);
    opacity:1;
    filter:brightness(1) blur(0);

    border-color:var(--color-plataforma);

    box-shadow:
      0 0 30px
      color-mix(
        in srgb,
        var(--color-plataforma) 48%,
        transparent
      ),
      0 22px 55px rgba(0,0,0,.7);
  }

  #productosGrid .cover{
    width:100%;
    height:320px !important;

    padding:0 !important;
    overflow:hidden;

    aspect-ratio:auto;
  }

  #productosGrid .cover-img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center;

    transform:scale(1.03);
    transition:transform .45s ease;
  }

  #productosGrid .card.card-activa .cover-img{
    transform:scale(1.08);
  }

  #productosGrid .cover-overlay{
    background:
      linear-gradient(
        to top,
        rgba(0,0,0,.98),
        rgba(0,0,0,.10) 70%
      );
  }

  #productosGrid .cover-overlay h3{
    left:18px;
    right:18px;
    bottom:18px;

    font-size:30px;
    line-height:1;
  }

  #productosGrid .plans{
    padding:18px;
  }

  #productosGrid .plan{
    padding:10px 0;
    font-size:16px;
  }

  #productosGrid .buy{
    width:calc(100% - 36px);

    margin:0 18px 18px;
    padding:16px;

    border-radius:15px;
    font-size:17px;
  }

  #productosGrid .card.card-activa .buy{
    background:
      linear-gradient(
        135deg,
        var(--color-plataforma),
        color-mix(
          in srgb,
          var(--color-plataforma) 72%,
          white
        )
      );

    box-shadow:
      0 0 26px
      color-mix(
        in srgb,
        var(--color-plataforma) 46%,
        transparent
      );

    animation:botonPremium 1.8s ease-in-out infinite;
  }

  @keyframes botonPremium{
    0%,100%{
      transform:translateY(0);
    }

    50%{
      transform:translateY(-3px);
    }
  }

  /* CONTADOR Y PUNTOS */

  .catalogo-contador{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;

    margin-top:2px;

    color:#9ca3af;
    font-weight:900;
  }

  .catalogo-contador strong{
    color:white;
    font-size:17px;
  }

  .catalogo-puntos{
    display:flex;
    justify-content:center;
    gap:7px;

    margin-top:12px;
  }

  .catalogo-punto{
    width:8px;
    height:8px;

    border-radius:50%;

    background:rgba(255,255,255,.28);
    transition:.25s;
  }

  .catalogo-punto.activo{
    width:26px;

    border-radius:999px;

    background:var(--fondo-plataforma);

    box-shadow:
      0 0 12px
      color-mix(
        in srgb,
        var(--fondo-plataforma) 60%,
        transparent
      );
  }

  /* PIE DE PÁGINA */

  .info{
    grid-template-columns:1fr;
    padding:20px 15px 35px;
  }

  footer{
    flex-direction:column;
    text-align:center;
    padding:28px 18px;
  }

  footer a{
    margin-left:0;
  }

  .float-wa{
    right:14px;
    bottom:16px;

    width:55px;
    height:55px;
  }
}

@media (min-width:769px){

  #splashMobile,
  .mobile-featured{
    display:none;
  }
}

@media (max-width:768px){

  .modal-favorito{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin:0 0 18px;
    padding:10px 14px;

    border:1px solid rgba(255,255,255,.15);
    border-radius:999px;

    background:rgba(255,255,255,.06);
    color:white;

    font-size:13px;
    font-weight:900;
    cursor:pointer;

    transition:
      transform .2s ease,
      background .2s ease,
      border-color .2s ease;
  }

  .modal-favorito:active{
    transform:scale(.96);
  }

  .modal-favorito.activo{
    background:
      color-mix(
        in srgb,
        var(--modal-color) 22%,
        rgba(255,255,255,.05)
      );

    border-color:var(--modal-color);
    color:var(--modal-color);
  }
  .card-favorita::after{
  content:"♥";
  position:absolute;
  top:14px;
  right:14px;
  z-index:50;

  width:38px;
  height:38px;

  display:grid;
  place-items:center;

  border-radius:50%;

  background:rgba(3,6,11,.92);
  border:1px solid rgba(255,255,255,.12);

  color:#ff4d67;
  font-size:20px;

  box-shadow:
    0 0 20px rgba(255,77,103,.48),
    0 8px 20px rgba(0,0,0,.45);

  backdrop-filter:blur(10px);
}
}
@media (max-width:768px){
  #productosGrid .card{
    position:relative;
  }
}
@media (max-width:768px){

.recordatorios-screen{

position:fixed;
inset:0;
z-index:99998;

display:none;

background:#03060b;

overflow:hidden;

}

.recordatorios-screen.mostrar{

display:flex;

justify-content:center;
align-items:center;

}

.recordatorios-overlay{

position:absolute;
inset:0;

background:
radial-gradient(circle at center,
rgba(255,30,30,.22),
transparent 42%);

}

.recordatorios-slider{

position:relative;
z-index:2;

width:100%;
padding:22px;

}

.recordatorios-slider small{

color:#ff5d5d;
font-weight:900;
letter-spacing:2px;

}

.recordatorios-slider h2{

margin:10px 0 30px;

font-size:28px;

line-height:1.1;

}

#recordatoriosTrack{

display:flex;

overflow-x:auto;

gap:20px;

scroll-snap-type:x mandatory;

scrollbar-width:none;

}

#recordatoriosTrack::-webkit-scrollbar{

display:none;

}

}
@media (max-width:768px){

  .recordatorios-screen{
    --recordatorio-fondo:#ff2d2d;
  }

  #recordatoriosTrack{
    padding:4px 26px 28px;
  }

  .recordatorio-card{
    --recordatorio-color:#ff2d2d;

    flex:0 0 calc(100vw - 52px);
    scroll-snap-align:center;

    overflow:hidden;
    border-radius:26px;

    background:
      radial-gradient(
        circle at top,
        color-mix(
          in srgb,
          var(--recordatorio-color) 22%,
          transparent
        ),
        transparent 40%
      ),
      #07101c;

    border:1px solid
      color-mix(
        in srgb,
        var(--recordatorio-color) 60%,
        transparent
      );

    box-shadow:
      0 0 35px
      color-mix(
        in srgb,
        var(--recordatorio-color) 30%,
        transparent
      ),
      0 24px 55px rgba(0,0,0,.65);
  }

  .recordatorio-imagen{
    display:block;
    width:100%;
    height:310px;
    object-fit:cover;
  }

  .recordatorio-contenido{
    padding:20px;
  }

  .recordatorio-contenido small{
    color:var(--recordatorio-color);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.5px;
  }

  .recordatorio-contenido h3{
    margin:8px 0 16px;
    font-size:31px;
    line-height:1;
    text-transform:uppercase;
  }

  .recordatorio-planes{
    display:grid;
    gap:8px;
    margin-bottom:18px;
  }

  .recordatorio-plan{
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .recordatorio-comprar,
  .recordatorio-explorar{
    display:block;
    width:100%;

    padding:15px;
    border:none;
    border-radius:14px;

    text-align:center;
    text-decoration:none;
    font-size:16px;
    font-weight:900;
  }

  .recordatorio-comprar{
    margin-bottom:10px;

    background:
      linear-gradient(
        135deg,
        var(--recordatorio-color),
        color-mix(
          in srgb,
          var(--recordatorio-color) 72%,
          white
        )
      );

    color:white;
  }

  .recordatorio-explorar{
    background:rgba(255,255,255,.07);
    color:white;
    border:1px solid rgba(255,255,255,.12);
  }
}
@media (max-width:768px){

  /* Pantalla completa de recordatorios */
  .recordatorios-screen{
    position:fixed;
    inset:0;
    z-index:99998;
    display:none;
    overflow:hidden;

    background:
      radial-gradient(
        circle at 50% 38%,
        color-mix(
          in srgb,
          var(--recordatorio-fondo, #ff2d2d) 22%,
          transparent
        ),
        transparent 40%
      ),
      #03060b;

    transition:background .45s ease;
  }

  .recordatorios-screen.mostrar{
    display:flex;
    align-items:center;
  }

  .recordatorios-slider{
    position:relative;
    z-index:2;
    width:100%;
  }

  .recordatorios-slider > small,
  .recordatorios-slider > h2{
    display:block;
    padding-left:18px;
    padding-right:18px;
  }

  .recordatorios-slider > small{
    color:#ff7070;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.5px;
  }

  .recordatorios-slider > h2{
    margin:8px 0 20px;
    font-size:25px;
    line-height:1.1;
  }

  /* Carrusel igual al catálogo */
  #recordatoriosTrack{
    display:flex;
    gap:14px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;

    padding:8px 42px 24px;

    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  #recordatoriosTrack::-webkit-scrollbar{
    display:none;
  }

  .recordatorio-card{
    --recordatorio-color:#ff2d2d;

    flex:0 0 calc(100vw - 95px);
    width:calc(100vw - 95px);
    max-width:390px;

    margin:0;
    overflow:hidden;

    scroll-snap-align:center;
    scroll-snap-stop:always;

    border-radius:24px;
    border:1px solid rgba(255,255,255,.10);

    background:#07101c;

    transform:scale(.88) translateY(12px);
    opacity:.38;
    filter:brightness(.58) blur(.6px);

    transition:
      transform .3s ease,
      opacity .3s ease,
      filter .3s ease,
      border-color .3s ease,
      box-shadow .3s ease;
  }

  .recordatorio-card.recordatorio-activo{
    transform:scale(1) translateY(0);
    opacity:1;
    filter:brightness(1) blur(0);

    border-color:var(--recordatorio-color);

    box-shadow:
      0 0 30px
      color-mix(
        in srgb,
        var(--recordatorio-color) 48%,
        transparent
      ),
      0 22px 55px rgba(0,0,0,.72);
  }

  .recordatorio-imagen{
    display:block;
    width:100%;
    height:290px;
    object-fit:cover;
    object-position:top;

    transform:scale(1.03);
    transition:transform .45s ease;
  }

  .recordatorio-card.recordatorio-activo .recordatorio-imagen{
    transform:scale(1.08);
  }

  .recordatorio-contenido{
    padding:18px;
  }

  .recordatorio-contenido h3{
    margin:7px 0 14px;
    font-size:28px;
    line-height:1;
    text-transform:uppercase;
  }

  .recordatorio-plan{
    padding:9px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .recordatorio-comprar,
  .recordatorio-explorar{
    display:block;
    width:100%;
    padding:15px;
    border-radius:14px;

    text-align:center;
    text-decoration:none;
    font-size:16px;
    font-weight:900;
  }

  .recordatorio-comprar{
    margin-top:16px;
    margin-bottom:10px;

    color:white;

    background:
      linear-gradient(
        135deg,
        var(--recordatorio-color),
        color-mix(
          in srgb,
          var(--recordatorio-color) 72%,
          white
        )
      );
  }

  .recordatorio-explorar{
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.07);
    color:white;
  }

  .recordatorios-contador{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:2px;

    color:#9ca3af;
    font-weight:900;
  }

  .recordatorios-contador strong{
    color:white;
    font-size:17px;
  }

  .recordatorios-puntos{
    display:flex;
    justify-content:center;
    gap:7px;
    margin-top:10px;
  }

  .recordatorio-punto{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(255,255,255,.28);
    transition:.25s;
  }

  .recordatorio-punto.activo{
    width:26px;
    border-radius:999px;
    background:var(--recordatorio-fondo, #ff2d2d);
  }
}
@media (max-width:768px){

  .recordatorio-card{
    transform:scale(.86) translateY(14px) !important;
    opacity:.35 !important;
    filter:brightness(.55) blur(.7px) !important;

    transition:
      transform .32s ease,
      opacity .32s ease,
      filter .32s ease,
      border-color .32s ease,
      box-shadow .32s ease !important;
  }

  .recordatorio-card.recordatorio-activo{
    transform:scale(1) translateY(0) !important;
    opacity:1 !important;
    filter:brightness(1) blur(0) !important;

    border-color:var(--recordatorio-color) !important;

    box-shadow:
      0 0 32px
      color-mix(
        in srgb,
        var(--recordatorio-color) 52%,
        transparent
      ),
      0 24px 58px rgba(0,0,0,.75) !important;
  }

  .recordatorio-card .recordatorio-imagen{
    transform:scale(1.02);
    transition:transform .45s ease;
  }

  .recordatorio-card.recordatorio-activo .recordatorio-imagen{
    transform:scale(1.09);
  }
}
.pechy-toast{

position:fixed;

left:50%;
bottom:-180px;

transform:translateX(-50%);

width:calc(100% - 36px);
max-width:380px;

display:flex;
align-items:center;
gap:16px;

padding:18px;

background:#111827;

border:1px solid rgba(255,255,255,.08);

border-radius:22px;

box-shadow:
0 30px 70px rgba(0,0,0,.45);

z-index:999999;

transition:.45s cubic-bezier(.22,.61,.36,1);

}

.pechy-toast.mostrar{

bottom:28px;

}

.pechy-toast-icono{

width:56px;
height:56px;

border-radius:50%;

display:flex;
justify-content:center;
align-items:center;

font-size:28px;

background:#ff2d2d22;

}

.pechy-toast-texto strong{

display:block;

font-size:20px;

margin-bottom:6px;

}

.pechy-toast-texto span{

color:#d1d5db;

line-height:1.4;

font-size:14px;

}
@media (max-width:768px){

  .modal-favorito.confirmado{
    animation:recordatorioConfirmado .55s ease;
  }

  @keyframes recordatorioConfirmado{
    0%{
      transform:scale(1);
    }

    35%{
      transform:scale(.94);
    }

    70%{
      transform:scale(1.06);
    }

    100%{
      transform:scale(1);
    }
  }
}
@media (max-width:768px){

  .swipe-ayuda{
    width:max-content;
    max-width:calc(100% - 36px);
    margin:0 auto 12px;
    padding:9px 15px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;

    background:rgba(3,6,11,.82);
    color:#f3f4f6;

    font-size:12px;
    font-weight:900;
    letter-spacing:.4px;

    box-shadow:0 10px 28px rgba(0,0,0,.35);
    backdrop-filter:blur(10px);

    animation:swipeAyuda 1.2s ease-in-out infinite;
    transition:opacity .35s ease, transform .35s ease;
  }

  .swipe-ayuda span{
    color:var(--fondo-plataforma, #ff2d2d);
    font-size:18px;
  }

  .recordatorios-screen .swipe-ayuda span{
    color:var(--recordatorio-fondo, #ff2d2d);
  }

  .swipe-ayuda.oculta{
    opacity:0;
    transform:translateY(-6px);
    pointer-events:none;
  }

  @keyframes swipeAyuda{
    0%,100%{
      transform:translateX(0);
    }

    50%{
      transform:translateX(7px);
    }
  }
}
@media (max-width:768px){

  .flecha-deslizar{
    width:max-content;
    margin:0 20px 10px auto;

    display:flex;
    align-items:center;
    gap:9px;

    padding:8px 13px;
    border-radius:999px;

    background:rgba(3,6,11,.82);
    border:1px solid rgba(255,255,255,.13);

    color:#e5e7eb;
    font-size:12px;
    font-weight:900;

    backdrop-filter:blur(10px);
    box-shadow:0 10px 25px rgba(0,0,0,.35);

    animation:flechaMovimiento 1s ease-in-out infinite;
    transition:opacity .3s ease, transform .3s ease;
  }

  .flecha-deslizar strong{
    color:var(--recordatorio-fondo, #ff2d2d);
    font-size:24px;
    line-height:1;
  }

  .flecha-deslizar.oculta{
    opacity:0;
    transform:translateX(15px);
    pointer-events:none;
  }

  @keyframes flechaMovimiento{
    0%,100%{
      transform:translateX(0);
    }

    50%{
      transform:translateX(8px);
    }
  }
}
@media (max-width:768px){

  .promociones-home{
    padding:88px 14px 24px;
  }

  .promociones-titulo{
    margin-bottom:16px;
  }

  .promociones-titulo h2{
    font-size:26px;
    line-height:1.1;
  }

  .promo-slider{
    position:relative;
    width:100%;
    overflow:hidden;
    border-radius:22px;
  }

  .promo-track{
    display:flex;
    width:100%;
    transition:transform .55s cubic-bezier(.22,.61,.36,1);
  }

  .promo-slide{
    flex:0 0 100%;
    width:100%;
    display:block;
  }

  .promo-slide img{
    display:block;
    width:100%;
    height:auto;
    max-height:520px;
    object-fit:contain;
    background:#050912;
  }

  .promo-flecha{
    display:grid;
    place-items:center;
    z-index:10;
  }

  .promo-puntos{
    z-index:10;
  }
}
@media (max-width:768px){

  .promociones-home{
    padding:28px 0 36px;
    overflow:hidden;
  }

  .promociones-titulo{
    padding:0 18px;
  }

  .promo-slider{
    width:100%;
    overflow:visible;
  }

  .promo-track{
    display:flex;
    gap:14px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;

    padding:8px 42px 24px;

    transform:none !important;
    transition:none !important;

    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .promo-track::-webkit-scrollbar{
    display:none;
  }

  .promo-card{
    flex:0 0 calc(100vw - 95px);
    width:calc(100vw - 95px);
    max-width:390px;

    display:block;
    overflow:hidden;

    scroll-snap-align:center;
    scroll-snap-stop:always;

    border-radius:24px;
    border:1px solid rgba(255,255,255,.10);

    background:#07101c;
    text-decoration:none;

    transform:scale(.88) translateY(12px);
    opacity:.38;
    filter:brightness(.58) blur(.6px);

    transition:
      transform .3s ease,
      opacity .3s ease,
      filter .3s ease,
      border-color .3s ease,
      box-shadow .3s ease;
  }

  .promo-card.promo-activa{
    transform:scale(1) translateY(0);
    opacity:1;
    filter:brightness(1) blur(0);

    border-color:#ff2d2d;

    box-shadow:
      0 0 30px rgba(255,45,45,.45),
      0 22px 55px rgba(0,0,0,.72);
  }

  .promo-card img{
    display:block;
    width:100%;
    height:340px;
    object-fit:cover;
  }

  .promo-card-info{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;

    padding:16px;
  }

  .promo-card-info strong{
    color:white;
    font-size:14px;
  }

  .promo-card-info span{
    flex-shrink:0;

    padding:9px 12px;
    border-radius:999px;

    background:#25d366;
    color:#04110a;

    font-size:12px;
    font-weight:900;
  }

  .promo-flecha{
    display:none !important;
  }
}

/* La promoción destacada y las ofertas secundarias comparten composición. */
@media (max-width:768px){
  .mobile-featured{
    min-height:0;
    aspect-ratio:3 / 5;
  }

  .mobile-featured-bg{
    animation:none;
    transform:none;
    will-change:auto;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
    background-size:0 0;
  }

  .mobile-featured-bg::before,
  .mobile-featured-bg::after{
    content:"";
    position:absolute;
    background-image:inherit;
    background-repeat:no-repeat;
    background-position:center;
  }

  .mobile-featured-bg::before{
    inset:-24px;
    background-size:cover;
    filter:blur(20px) brightness(.52) saturate(1.08);
    transform:scale(1.08);
  }

  .mobile-featured-bg::after{
    inset:0;
    background-size:contain;
  }

  .mobile-featured-overlay{
    z-index:2;
  }

  .promo-card picture{
    display:block;
    width:100%;
    aspect-ratio:3 / 5;
    overflow:hidden;
    background:#050912;
  }

  .promo-card picture > img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center;
  }
}
@keyframes promoZoom{

0%{

transform:
scale(1)
translateX(0)
translateY(0);

}

100%{

transform:
scale(1.08)
translateX(-10px)
translateY(-8px);

}

}
@keyframes promoZoom{
  0%{
    transform:
      scale(1)
      translateX(0)
      translateY(0);
  }

  100%{
    transform:
      scale(1.08)
      translateX(-10px)
      translateY(-8px);
  }
}
.categoria-home{

margin-top:45px;

}

.categoria-home .top-section{

margin-bottom:18px;

}
.categoria-slider{

overflow-x:auto;

scroll-snap-type:x mandatory;

scrollbar-width:none;

display:flex;

gap:18px;

padding-bottom:10px;

}

.categoria-slider::-webkit-scrollbar{

display:none;

}

.categoria-slider .card{

min-width:85%;

scroll-snap-align:center;

flex-shrink:0;

}
/* =====================================
   COLORES POR CATEGORÍA - MÓVIL
===================================== */

@media (max-width:768px){

  .categoria-home{
    --categoria-color:#ff2d2d;

    position:relative;
    margin-top:54px;
    padding:22px 0 30px;

    overflow:hidden;

    background:
      radial-gradient(
        circle at top left,
        color-mix(
          in srgb,
          var(--categoria-color) 18%,
          transparent
        ),
        transparent 42%
      );
  }

  .categoria-home::before{
    content:"";

    position:absolute;
    top:0;
    left:18px;
    right:18px;

    height:1px;

    background:
      linear-gradient(
        90deg,
        transparent,
        var(--categoria-color),
        transparent
      );

    opacity:.7;

    box-shadow:
      0 0 18px
      color-mix(
        in srgb,
        var(--categoria-color) 45%,
        transparent
      );
  }

  .categoria-home .top-section{
    position:relative;
    z-index:2;

    padding:0 18px;
    margin-bottom:18px;
  }

  .categoria-home .top-section small{
    color:var(--categoria-color);

    font-size:10px;
    font-weight:900;
    letter-spacing:1.6px;
  }

  .categoria-home .top-section h2{
    margin-top:6px;

    color:white;

    font-size:27px;
    line-height:1.05;

    text-shadow:
      0 0 18px
      color-mix(
        in srgb,
        var(--categoria-color) 45%,
        transparent
      );
  }

  .categoria-home .categoria-slider .card{
    border-color:
      color-mix(
        in srgb,
        var(--categoria-color) 32%,
        rgba(255,255,255,.10)
      );

    box-shadow:
      0 18px 42px rgba(0,0,0,.55);
  }

  .categoria-home .categoria-slider .card.card-activa{
    border-color:var(--categoria-color);

    box-shadow:
      0 0 28px
      color-mix(
        in srgb,
        var(--categoria-color) 34%,
        transparent
      ),
      0 24px 55px rgba(0,0,0,.68);
  }

  .categoria-home .catalogo-contador strong{
    color:var(--categoria-color);
  }

  .categoria-home .catalogo-punto.activo{
    background:var(--categoria-color);

    box-shadow:
      0 0 14px
      color-mix(
        in srgb,
        var(--categoria-color) 55%,
        transparent
      );
  }

  .categoria-streaming{
    --categoria-color:#e50914;
  }

  .categoria-deportes{
    --categoria-color:#1464f4;
  }

  .categoria-musica{
    --categoria-color:#1db954;
  }

  .categoria-iptv{
    --categoria-color:#8b2cff;
  }

  .categoria-anime{
    --categoria-color:#f47521;
  }

  .categoria-combos{
    --categoria-color:#e5a800;
  }
}
/* =====================================
   COLOR DINÁMICO EN CADA CATEGORÍA
===================================== */

@media (max-width:768px){

  .categoria-home{
    --categoria-color:#ff2d2d;

    position:relative;
    overflow:hidden;

    transition:
      background .4s ease,
      border-color .4s ease;
  }

  .categoria-home::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:
      radial-gradient(
        circle at 50% 15%,
        color-mix(
          in srgb,
          var(--categoria-color) 20%,
          transparent
        ),
        transparent 45%
      );

    transition:background .4s ease;
  }

  .categoria-home .top-section,
  .categoria-home .categoria-slider,
  .categoria-home .catalogo-contador,
  .categoria-home .catalogo-puntos{
    position:relative;
    z-index:2;
  }

  .categoria-home .top-section small{
    color:var(--categoria-color);
    transition:color .35s ease;
  }

  .categoria-home .top-section h2{
    text-shadow:
      0 0 20px
      color-mix(
        in srgb,
        var(--categoria-color) 45%,
        transparent
      );

    transition:text-shadow .35s ease;
  }

  .categoria-home .card{
    border-color:
      color-mix(
        in srgb,
        var(--color-plataforma) 30%,
        rgba(255,255,255,.10)
      );
  }

  .categoria-home .card.card-activa{
    border-color:var(--color-plataforma);

    box-shadow:
      0 0 30px
      color-mix(
        in srgb,
        var(--color-plataforma) 38%,
        transparent
      ),
      0 24px 55px rgba(0,0,0,.68);
  }

  .categoria-home .card .buy{
    background:
      linear-gradient(
        135deg,
        var(--color-plataforma),
        color-mix(
          in srgb,
          var(--color-plataforma) 70%,
          white
        )
      );

    color:white;
  }

  .categoria-home .catalogo-contador strong{
    color:var(--categoria-color);
    transition:color .35s ease;
  }

  .categoria-home .catalogo-punto.activo{
    background:var(--categoria-color);

    box-shadow:
      0 0 14px
      color-mix(
        in srgb,
        var(--categoria-color) 55%,
        transparent
      );
  }
}
/* =====================================
   ENCABEZADOS PREMIUM POR CATEGORÍA
===================================== */

@media (max-width:768px){

  .categoria-home{
    margin-top:58px;
    padding:24px 0 34px;
  }

  .categoria-home .top-section{
    padding:0 18px;
    margin-bottom:18px;
  }

  .categoria-home .top-section > div{
    width:100%;
  }

  .categoria-home .top-section small{
    display:block;
    margin-bottom:6px;

    color:var(--categoria-color);

    font-size:10px;
    font-weight:900;
    letter-spacing:1.8px;
    text-transform:uppercase;

    transition:color .35s ease;
  }

  .categoria-home .top-section h2{
    margin:0;

    color:#fff;

    font-size:27px;
    line-height:1.05;
    font-weight:900;

    text-shadow:
      0 0 18px
      color-mix(
        in srgb,
        var(--categoria-color) 45%,
        transparent
      );

    transition:text-shadow .35s ease;
  }

  .categoria-home .top-section::after{
    content:"";

    display:block;

    width:64px;
    height:4px;

    margin-top:12px;

    border-radius:999px;

    background:var(--categoria-color);

    box-shadow:
      0 0 16px
      color-mix(
        in srgb,
        var(--categoria-color) 55%,
        transparent
      );

    transition:
      background .35s ease,
      box-shadow .35s ease;
  }

  .categoria-home .catalogo-contador{
    margin-top:14px;
  }

  .categoria-home .catalogo-puntos{
    margin-top:8px;
  }
}
/* =====================================
   PROFUNDIDAD EN CARRUSELES POR CATEGORÍA
===================================== */

@media (max-width:768px){

  .categoria-slider .producto-item{
    opacity:.62;

    transform:
      scale(.90)
      translateY(8px);

    filter:
      brightness(.72)
      saturate(.82);

    transition:
      transform .35s ease,
      opacity .35s ease,
      filter .35s ease,
      border-color .35s ease,
      box-shadow .35s ease;
  }

  .categoria-slider .producto-item.card-activa{
    opacity:1;

    transform:
      scale(1)
      translateY(0);

    filter:
      brightness(1)
      saturate(1);

    border-color:var(--color-plataforma);

    box-shadow:
      0 0 28px
      color-mix(
        in srgb,
        var(--color-plataforma) 35%,
        transparent
      ),
      0 24px 55px rgba(0,0,0,.68);
  }

  .categoria-slider .producto-item.card-activa .cover-img{
    transform:scale(1.04);
  }

  .categoria-slider .cover-img{
    transition:transform .45s ease;
  }
}
/*====================================
RESPIRACIÓN TARJETA ACTIVA
====================================*/

@keyframes respirarCard{

    0%{

        transform:
        scale(1);

    }

    50%{

        transform:
        scale(1.018);

    }

    100%{

        transform:
        scale(1);

    }

}

.categoria-slider .producto-item.card-activa{

    animation:
    respirarCard 3.8s ease-in-out infinite;

}
/* =====================================
   ANIMACIÓN DE ENTRADA POR CATEGORÍA
===================================== */

@media (max-width:768px){

  .categoria-home{
    opacity:0;

    transform:
      translateY(38px)
      scale(.98);

    transition:
      opacity .65s ease,
      transform .65s cubic-bezier(.22,.61,.36,1);
  }

  .categoria-home.categoria-visible{
    opacity:1;

    transform:
      translateY(0)
      scale(1);
  }

  .categoria-home .top-section{
    opacity:0;
    transform:translateY(18px);

    transition:
      opacity .55s ease .08s,
      transform .55s ease .08s;
  }

  .categoria-home.categoria-visible .top-section{
    opacity:1;
    transform:translateY(0);
  }

  .categoria-home .categoria-slider{
    opacity:0;
    transform:translateY(24px);

    transition:
      opacity .6s ease .16s,
      transform .6s ease .16s;
  }

  .categoria-home.categoria-visible .categoria-slider{
    opacity:1;
    transform:translateY(0);
  }

  .categoria-home .catalogo-contador,
  .categoria-home .catalogo-puntos{
    opacity:0;
    transform:translateY(12px);

    transition:
      opacity .45s ease .24s,
      transform .45s ease .24s;
  }

  .categoria-home.categoria-visible .catalogo-contador,
  .categoria-home.categoria-visible .catalogo-puntos{
    opacity:1;
    transform:translateY(0);
  }
}
/* =====================================
   BOTÓN VER TODO EN CATEGORÍAS
===================================== */

@media (max-width:768px){

  .categoria-encabezado{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:14px;
  }

  .categoria-ver-todo{
    flex-shrink:0;

    padding:10px 13px;

    border:1px solid
      color-mix(
        in srgb,
        var(--categoria-color) 45%,
        transparent
      );

    border-radius:999px;

    background:
      color-mix(
        in srgb,
        var(--categoria-color) 12%,
        rgba(0,0,0,.35)
      );

    color:white;

    font-size:11px;
    font-weight:900;

    box-shadow:
      0 0 16px
      color-mix(
        in srgb,
        var(--categoria-color) 18%,
        transparent
      );

    transition:
      transform .2s ease,
      background .3s ease,
      border-color .3s ease;
  }

  .categoria-ver-todo:active{
    transform:scale(.94);
  }
}
@media (max-width:768px){

  .categoria-slider.categoria-expandida{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;

    overflow:visible;
    padding:0 18px;
  }

  .categoria-slider.categoria-expandida .producto-item{
    min-width:100%;
    width:100%;

    opacity:1;
    transform:none;
    filter:none;
    animation:none;
  }

  .categoria-slider.categoria-expandida
  .producto-item.card-activa{
    transform:none;
  }
}
/* =====================================
   VISTA VER TODOS - BASE
===================================== */

@media (max-width:768px){

  .categoria-vista-todos{
    display:none;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:12px;

    width:100%;

    padding:4px 16px 18px;
  }

  .categoria-vista-todos.vista-activa{
    display:grid;
  }

}
/* =====================================
   CAMBIO CARRUSEL / VER TODO
===================================== */

@media (max-width:768px){

  .categoria-slider.vista-oculta{
    display:none;
  }

  .categoria-vista-todos{
    opacity:0;
    transform:translateY(22px);
  }

  .categoria-vista-todos.vista-activa{
    display:grid;

    animation:
      aparecerGrid .45s
      cubic-bezier(.22,.61,.36,1)
      forwards;
  }

  @keyframes aparecerGrid{

    from{
      opacity:0;
      transform:translateY(22px);
    }

    to{
      opacity:1;
      transform:translateY(0);
    }

  }

  .categoria-abierta
  .catalogo-contador,

  .categoria-abierta
  .catalogo-puntos{
    display:none;
  }

}
/* =====================================
   MODAL VER TODO POR CATEGORÍA
===================================== */

@media (max-width:768px){

  body.modal-categorias-abierto{
    overflow:hidden;
  }

  .categorias-modal{
    position:fixed;
    inset:0;

    z-index:99999;

    display:none;

    align-items:flex-end;

    padding-top:45px;
  }

  .categorias-modal.modal-activo{
    display:flex;
  }

  .categorias-modal-fondo{
    position:absolute;
    inset:0;

    background:
      rgba(0,0,0,.78);

    backdrop-filter:
      blur(10px);
  }

  .categorias-modal-contenido{
    position:relative;

    width:100%;
    max-height:92vh;

    padding:
      18px
      14px
      30px;

    overflow-y:auto;

    border-radius:
      28px
      28px
      0
      0;

    background:
      linear-gradient(
        180deg,
        #111827,
        #050914
      );

    box-shadow:
      0 -18px 60px
      rgba(0,0,0,.75);

    animation:
      subirCategoriasModal
      .42s
      cubic-bezier(.22,.61,.36,1);
  }

  @keyframes subirCategoriasModal{

    from{
      opacity:0;
      transform:translateY(100%);
    }

    to{
      opacity:1;
      transform:translateY(0);
    }

  }

  .categorias-modal-header{
    position:sticky;
    top:-18px;

    z-index:5;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;

    margin:
      -18px
      -14px
      18px;

    padding:
      18px
      16px
      15px;

    background:
      rgba(8,13,24,.95);

    backdrop-filter:
      blur(15px);

    border-bottom:
      1px solid
      rgba(255,255,255,.08);
  }

  .categorias-modal-header small{
    display:block;

    margin-bottom:4px;

    color:#7da8ff;

    font-size:10px;
    font-weight:900;
    letter-spacing:1.8px;
  }

  .categorias-modal-header h2{
    margin:0;

    color:white;

    font-size:24px;
    font-weight:950;
  }

  #cerrarCategoriasModal{
    width:40px;
    height:40px;

    border:
      1px solid
      rgba(255,255,255,.12);

    border-radius:50%;

    background:
      rgba(255,255,255,.06);

    color:white;

    font-size:17px;
    font-weight:900;
  }

  .categorias-modal-grid{
    display:grid;

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:12px;
  }

  .categoria-modal-producto{
    overflow:hidden;

    border:
      1px solid
      rgba(255,255,255,.09);

    border-radius:18px;

    background:
      linear-gradient(
        160deg,
        rgba(255,255,255,.07),
        rgba(255,255,255,.025)
      );

    box-shadow:
      0 12px 28px
      rgba(0,0,0,.35);
  }

  .categoria-modal-imagen{
    width:100%;
    height:100px;

    overflow:hidden;

    background:#02050c;
  }

  .categoria-modal-imagen img{
    width:100%;
    height:100%;

    object-fit:cover;
  }

  .categoria-modal-info{
    padding:11px;
  }

  .categoria-modal-info h3{
    margin:
      0
      0
      9px;

    color:white;

    font-size:14px;
    line-height:1.2;
    font-weight:900;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .categoria-modal-planes{
    display:grid;
    gap:6px;

    margin-bottom:10px;
  }

  .categoria-modal-planes .plan{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;

    padding:7px 8px;

    border-radius:10px;

    background:
      rgba(255,255,255,.045);
  }

  .categoria-modal-planes .plan span{
    color:
      rgba(255,255,255,.68);

    font-size:9px;
    font-weight:700;
  }

  .categoria-modal-planes .plan strong{
    color:white;

    font-size:10px;
    font-weight:900;
  }

  .categoria-modal-comprar{
    display:block;

    width:100%;

    padding:9px 7px;

    border-radius:11px;

    background:
      linear-gradient(
        135deg,
        #10c968,
        #07a451
      );

    color:white;

    text-align:center;
    text-decoration:none;

    font-size:10px;
    font-weight:950;

    box-shadow:
      0 8px 20px
      rgba(16,201,104,.22);
  }

  .categoria-modal-producto:active{
    transform:scale(.97);
  }

}
/* =====================================
   COLORES DINÁMICOS MODAL CATEGORÍAS
===================================== */

@media (max-width:768px){

  .categoria-modal-producto{
    position:relative;

    border:
      1px solid
      color-mix(
        in srgb,
        var(--color-producto) 52%,
        rgba(255,255,255,.08)
      );

    background:
      linear-gradient(
        155deg,
        color-mix(
          in srgb,
          var(--color-producto) 12%,
          #121827
        ),
        #0b101d 65%
      );

    box-shadow:
      0 12px 30px rgba(0,0,0,.38),
      0 0 20px
      color-mix(
        in srgb,
        var(--color-producto) 14%,
        transparent
      );

    transition:
      transform .22s ease,
      border-color .3s ease,
      box-shadow .3s ease;
  }

  .categoria-modal-producto::before{
    content:"";

    position:absolute;
    inset:0;

    z-index:0;

    pointer-events:none;

    border-radius:18px;

    background:
      linear-gradient(
        135deg,
        color-mix(
          in srgb,
          var(--color-producto) 12%,
          transparent
        ),
        transparent 45%
      );
  }

  .categoria-modal-producto:active{
    transform:scale(.97);

    border-color:
      var(--color-producto);

    box-shadow:
      0 0 28px
      color-mix(
        in srgb,
        var(--color-producto) 40%,
        transparent
      );
  }

  .categoria-modal-imagen{
    position:relative;

    z-index:1;

    width:100%;
    height:auto;

    aspect-ratio:16 / 9;

    overflow:hidden;

    background:#02040a;
  }

  .categoria-modal-imagen img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transform:scale(1.01);

    transition:
      transform .4s ease;
  }

  .categoria-modal-producto:active
  .categoria-modal-imagen img{
    transform:scale(1.05);
  }

  .categoria-modal-imagen-sombra{
    position:absolute;
    inset:0;

    background:
      linear-gradient(
        to bottom,
        transparent 48%,
        rgba(5,8,15,.82) 100%
      );

    pointer-events:none;
  }

  .categoria-modal-info{
    position:relative;
    z-index:2;
  }

  .categoria-modal-info h3{
    color:white;

    text-shadow:
      0 0 14px
      color-mix(
        in srgb,
        var(--color-producto) 42%,
        transparent
      );
  }

  .categoria-modal-linea{
    width:32px;
    height:3px;

    margin:
      -3px
      0
      10px;

    border-radius:999px;

    background:
      var(--color-producto);

    box-shadow:
      0 0 12px
      color-mix(
        in srgb,
        var(--color-producto) 70%,
        transparent
      );
  }

  .categoria-modal-planes .plan{
    border:
      1px solid
      color-mix(
        in srgb,
        var(--color-producto) 12%,
        transparent
      );

    background:
      color-mix(
        in srgb,
        var(--color-producto) 7%,
        rgba(255,255,255,.04)
      );
  }

  .categoria-modal-planes
  .plan strong{
    color:
      color-mix(
        in srgb,
        var(--color-producto) 68%,
        white
      );
  }

  .categoria-modal-comprar{
    border:
      1px solid
      color-mix(
        in srgb,
        var(--color-producto) 75%,
        white 10%
      );

    background:
      linear-gradient(
        135deg,
        color-mix(
          in srgb,
          var(--color-producto) 88%,
          white 8%
        ),
        color-mix(
          in srgb,
          var(--color-producto) 72%,
          black
        )
      );

    box-shadow:
      0 8px 22px
      color-mix(
        in srgb,
        var(--color-producto) 28%,
        transparent
      );
  }

}
/* ==========================================
   IMÁGENES DE TARJETAS EN LAS CATEGORÍAS
========================================== */

@media (max-width:768px){

  .categoria-slider .cover{
    width:100%;
    height:230px !important;
    aspect-ratio:auto !important;
    padding:0 !important;
    overflow:hidden;
    background:#03060b;
  }

  .categoria-slider .cover-img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover !important;
    object-position:center 32% !important;
    transform:scale(1.02) !important;
  }

  .categoria-slider .card:hover .cover-img,
  .categoria-slider .card.card-activa .cover-img{
    transform:scale(1.05) !important;
  }
}
/* =====================================
   PRODUCTO AGOTADO EN CELULAR
===================================== */

@media (max-width:768px){

  #productosGrid .card:has(.agotado-ribbon),
  .categoria-grid .card:has(.agotado-ribbon){
    opacity:.88 !important;
    filter:none !important;
    border-color:rgba(160,160,160,.35) !important;
    box-shadow:none !important;
  }

  #productosGrid .card.card-activa:has(.agotado-ribbon),
  .categoria-grid .card.card-activa:has(.agotado-ribbon){
    opacity:.88 !important;
    filter:none !important;
    border-color:rgba(160,160,160,.35) !important;
    box-shadow:none !important;
  }

  #productosGrid .card:has(.agotado-ribbon) .cover-img,
  .categoria-grid .card:has(.agotado-ribbon) .cover-img{
    filter:brightness(.18) grayscale(.9) contrast(.85) !important;
    transform:scale(1.03) !important;
  }

  #productosGrid .card.card-activa:has(.agotado-ribbon) .cover-img,
  .categoria-grid .card.card-activa:has(.agotado-ribbon) .cover-img{
    filter:brightness(.18) grayscale(.9) contrast(.85) !important;
    transform:scale(1.03) !important;
  }

  #productosGrid .card:has(.agotado-ribbon) .cover-overlay,
  .categoria-grid .card:has(.agotado-ribbon) .cover-overlay{
    z-index:4;
  }

  #productosGrid .card:has(.agotado-ribbon) .cover-overlay h3,
  .categoria-grid .card:has(.agotado-ribbon) .cover-overlay h3{
    color:rgba(255,255,255,.72) !important;
    text-shadow:none !important;
  }

  #productosGrid .card:has(.agotado-ribbon) .plans,
  .categoria-grid .card:has(.agotado-ribbon) .plans{
    opacity:.72;
  }

  #productosGrid .card:has(.agotado-ribbon) .plan strong,
  .categoria-grid .card:has(.agotado-ribbon) .plan strong{
    color:#bdbdbd !important;
  }

  #productosGrid .card:has(.agotado-ribbon) .plan span,
  .categoria-grid .card:has(.agotado-ribbon) .plan span{
    color:#b0b0b0 !important;
  }

  #productosGrid .card.card-activa:has(.agotado-ribbon) .buy,
  .categoria-grid .card.card-activa:has(.agotado-ribbon) .buy{
    background:linear-gradient(135deg,#4b5563,#2d3748) !important;
    box-shadow:none !important;
    animation:none !important;
  }

  .agotado-ribbon{
    position:absolute;
    top:55px;
    left:-62px;
    width:280px;
    padding:12px 0;
    background:linear-gradient(135deg,#630000,#e50914,#630000);
    transform:rotate(-32deg);
    z-index:30;
    text-align:center;
    pointer-events:none;
    border-top:1px solid rgba(255,255,255,.25);
    border-bottom:1px solid rgba(255,255,255,.25);
    box-shadow:0 10px 30px rgba(0,0,0,.75);
  }

  .agotado-ribbon span{
    color:#fff;
    font-size:17px;
    font-weight:900;
    letter-spacing:4px;
    text-transform:uppercase;
    text-shadow:0 3px 8px rgba(0,0,0,.9);
  }
}
/* =====================================
   AGOTADO EN RECOMENDACIONES DEL MODAL
===================================== */

.modal-recomendacion-imagen{
    position:relative;
    overflow:hidden !important;
}

.modal-recomendacion-imagen .agotado-ribbon{
    position:absolute;
    top:12px;
    right:-42px;
    z-index:20;

    width:150px;

    transform:rotate(45deg);

    background:#e50914;

    color:#fff;

    text-align:center;

    font-size:10px;
    font-weight:900;
    letter-spacing:1px;

    padding:6px 0;

    box-shadow:0 8px 20px rgba(0,0,0,.45);
}

.modal-recomendacion-imagen .agotado-ribbon span{
    display:block;
}
/* =====================================
   AGOTADO SOLO EN RECOMENDACIONES
===================================== */

@media (max-width:768px){

  .modal-recomendacion-imagen{
    position:relative !important;
    overflow:hidden !important;
  }

  .recomendacion-ribbon-agotado{
    position:absolute;
    left:-34px;
    top:18px;

    width:140px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    transform:rotate(-35deg);

    background:linear-gradient(
        135deg,
        #7a0000,
        #e50914,
        #7a0000
    );

    border-top:1px solid rgba(255,255,255,.28);
    border-bottom:1px solid rgba(255,255,255,.28);

    box-shadow:0 8px 18px rgba(0,0,0,.6);

    z-index:30;
    pointer-events:none;
    opacity:1;
    visibility:visible;
}

  .recomendacion-ribbon-agotado span{
    display:block;
    color:#fff;
    font-size:11px;
    font-weight:900;
    line-height:1;
    letter-spacing:3px;
    text-align:center;
    text-transform:uppercase;
 }
}

/* ==========================================
   CARTELERA PÚBLICA MÓVIL
========================================== */

@media (max-width:768px){

  .cartelera-home{
    --cartelera-color:#e50914;

    position:relative;
    display:block;

    width:100%;
    padding:30px 0 24px;

    overflow:hidden;

    background:
      radial-gradient(
        circle at 50% 42%,
        color-mix(
          in srgb,
          var(--cartelera-color) 24%,
          transparent
        ),
        transparent 48%
      ),
      #03060b;

    transition:background .45s ease;
  }

  .cartelera-home::before{
    content:"";

    position:absolute;
    top:0;
    left:18px;
    right:18px;

    height:1px;

    background:
      linear-gradient(
        90deg,
        transparent,
        var(--cartelera-color),
        transparent
      );

    box-shadow:
      0 0 20px
      color-mix(
        in srgb,
        var(--cartelera-color) 55%,
        transparent
      );

    pointer-events:none;
  }

  .cartelera-home .top-section{
    position:relative;
    z-index:2;

    padding:0 18px;
    margin-bottom:18px;
  }

  .cartelera-home .top-section small{
    display:block;

    margin-bottom:6px;

    color:var(--cartelera-color);

    font-size:11px;
    font-weight:900;
    letter-spacing:2px;
  }

  .cartelera-home .top-section h2{
    margin:0;

    color:#fff;

    font-size:28px;
    line-height:1;
  }

  #carteleraLista{
    position:relative;
    z-index:2;

    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:flex-start;

    gap:16px;

    width:100%;

    padding:12px calc((100vw - 250px) / 2) 26px;

    overflow-x:auto;
    overflow-y:hidden;

    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;

    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  #carteleraLista::-webkit-scrollbar{
    display:none;
  }

  #carteleraLista .cartelera-card{
    flex:0 0 250px;
    width:250px;
    min-width:250px;
    max-width:250px;

    margin:0;
    padding:0;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;

    background:#07101c;

    scroll-snap-align:center;
    scroll-snap-stop:always;

    transform:scale(.84) translateY(12px);

    opacity:.38;

    filter:
      brightness(.58)
      blur(.6px);

    transition:
      transform .32s ease,
      opacity .32s ease,
      filter .32s ease,
      border-color .32s ease,
      box-shadow .32s ease;
  }

  #carteleraLista .cartelera-card.card-activa{
    transform:scale(1) translateY(0);

    opacity:1;

    filter:
      brightness(1)
      blur(0);

    border-color:var(--cartelera-color);

    box-shadow:
      0 0 30px
      color-mix(
        in srgb,
        var(--cartelera-color) 48%,
        transparent
      ),
      0 22px 55px rgba(0,0,0,.72);
  }

  .cartelera-poster{
    position:relative;

    display:block;

    width:100%;
    height:375px;

    overflow:hidden;

    background:#151515;
  }

  .cartelera-poster img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center;

    transform:scale(1.02);

    transition:transform .45s ease;
  }

  .cartelera-card.card-activa
  .cartelera-poster img{
    transform:scale(1.07);
  }

  .cartelera-poster-sombra{
    position:absolute;
    inset:0;

    background:
      linear-gradient(
        to top,
        rgba(0,0,0,.92) 0%,
        rgba(0,0,0,.15) 52%,
        transparent 75%
      );

    pointer-events:none;
  }

  .cartelera-badges{
    position:absolute;

    top:10px;
    left:9px;
    right:9px;

    z-index:2;

    display:flex;
    flex-wrap:wrap;

    gap:5px;
  }

  .cartelera-badge{
    display:inline-flex;
    align-items:center;

    width:fit-content;

    padding:5px 8px;

    border-radius:999px;

    color:#fff;

    font-size:9px;
    font-weight:800;

    backdrop-filter:blur(10px);
  }

  .cartelera-badge.tendencia{
    background:rgba(229,9,20,.88);
  }

  .cartelera-badge.destacado{
    background:rgba(179,125,0,.90);
  }

  .cartelera-ver{
    position:absolute;

    left:10px;
    right:10px;
    bottom:10px;

    z-index:2;

    padding:11px 8px;

    border:0;
    border-radius:11px;

    background:rgba(255,255,255,.95);
    color:#101010;

    font-size:12px;
    font-weight:900;
  }

  .cartelera-info{
    padding:13px 12px 15px;
  }

  .cartelera-tipo{
    display:block;

    margin-bottom:5px;

    color:var(--cartelera-color);

    font-size:9px;
    font-weight:900;
    letter-spacing:1.3px;
    text-transform:uppercase;
  }

  .cartelera-info h3{
    margin:0;

    overflow:hidden;

    color:#fff;

    font-size:16px;
    line-height:1.25;

    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .cartelera-detalles{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:6px;

    margin-top:6px;

    color:rgba(255,255,255,.62);

    font-size:10px;
  }

  .cartelera-detalles span + span::before{
    content:"•";
    margin-right:6px;
  }

  .cartelera-plataformas{
    display:flex;
    gap:5px;

    margin-top:9px;

    overflow:hidden;
  }

  .cartelera-plataforma{
    flex:0 0 auto;

    padding:4px 7px;

    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;

    background:rgba(255,255,255,.06);
    color:rgba(255,255,255,.80);

    font-size:8px;
    font-weight:700;
  }

  .cartelera-contador{
    position:relative;
    z-index:2;

    display:flex;
    justify-content:center;
    align-items:center;

    gap:8px;

    margin-top:2px;

    color:#9ca3af;

    font-weight:900;
  }

  .cartelera-contador strong{
    color:#fff;
    font-size:17px;
  }

  .cartelera-puntos{
    position:relative;
    z-index:2;

    display:flex;
    justify-content:center;

    gap:7px;

    margin-top:10px;
  }

  .cartelera-punto{
    width:8px;
    height:8px;

    border-radius:50%;

    background:rgba(255,255,255,.28);

    transition:.25s;
  }

  .cartelera-punto.activo{
    width:26px;

    border-radius:999px;

    background:var(--cartelera-color);

    box-shadow:
      0 0 14px
      color-mix(
        in srgb,
        var(--cartelera-color) 60%,
        transparent
      );
  }

}


/* ==========================================
   APARIENCIA GLOBAL CONFIGURABLE — MÓVIL
   RESPETA COLORES DE PLATAFORMAS Y CATEGORÍAS
========================================== */

@media (max-width:768px){

  /* ========================================
     VALORES GENERALES DE RESPALDO
  ======================================== */

  body{
    --fondo-plataforma:var(--pechy-principal);

    background:
      radial-gradient(
        circle at 50% 38%,
        color-mix(
          in srgb,
          var(--fondo-plataforma) 22%,
          transparent
        ),
        transparent 38%
      ),
      color-mix(
        in srgb,
        var(--pechy-secundario) 24%,
        #03060b
      );
  }


  #productosGrid .card{
    --color-plataforma:var(--pechy-principal);
  }


  .recordatorios-screen{
    --recordatorio-fondo:var(--pechy-principal);
  }


  .recordatorio-card{
    --recordatorio-color:var(--pechy-principal);
  }


  .categoria-home{
    --categoria-color:var(--pechy-principal);
  }


  /* ========================================
     SPLASH SCREEN
  ======================================== */

  #splashMobile{
    background:
      radial-gradient(
        circle at center,
        color-mix(
          in srgb,
          var(--pechy-principal) 25%,
          transparent
        ),
        transparent 38%
      ),
      color-mix(
        in srgb,
        var(--pechy-secundario) 20%,
        #02050a
      );
  }


  #splashMobile img{
    box-shadow:
      0 0 45px
      color-mix(
        in srgb,
        var(--pechy-principal) 45%,
        transparent
      ),
      0 20px 50px rgba(0,0,0,.65);
  }


  #splashMobile h1 span{
    color:var(--pechy-principal);
  }


  .splash-loader::after{
    background:
      linear-gradient(
        90deg,
        var(--pechy-principal),
        color-mix(
          in srgb,
          var(--pechy-principal) 68%,
          white
        )
      );
  }


  /* ========================================
     TÍTULOS GENERALES
  ======================================== */

  .top-section small{
    color:var(--pechy-principal);
  }


  .promociones-titulo small{
    color:var(--pechy-principal);
  }


  /* Las categorías conservan su propio color */

  .categoria-home .top-section small{
    color:var(--categoria-color);
  }


  /* ========================================
     PROMOCIONES MÓVILES
  ======================================== */

  .promo-card.promo-activa{
    border-color:var(--pechy-principal);

    box-shadow:
      0 0 30px
      color-mix(
        in srgb,
        var(--pechy-principal) 42%,
        transparent
      ),
      0 22px 55px rgba(0,0,0,.72);
  }


  .promo-punto.activo,
  .promocion-punto.activo{
    background:var(--pechy-principal);

    box-shadow:
      0 0 14px
      color-mix(
        in srgb,
        var(--pechy-principal) 48%,
        transparent
      );
  }


  /* ========================================
     RECORDATORIOS
  ======================================== */

  .recordatorios-overlay{
    background:
      radial-gradient(
        circle at center,
        color-mix(
          in srgb,
          var(--recordatorio-fondo) 22%,
          transparent
        ),
        transparent 42%
      );
  }


  .recordatorios-slider > small{
    color:var(--recordatorio-fondo);
  }


  /* ========================================
     MENSAJES Y TOAST
  ======================================== */

  .pechy-toast-icono{
    background:
      color-mix(
        in srgb,
        var(--pechy-principal) 18%,
        transparent
      );

    color:var(--pechy-principal);
  }


  /* ========================================
     SUPERFICIES OSCURAS
  ======================================== */

  .mobile-featured,
  .promo-card,
  .recordatorio-card,
  .pechy-toast{
    background-color:
      color-mix(
        in srgb,
        var(--pechy-secundario) 72%,
        #050912
      );
  }

}


/* ==========================================
   COLORES ESPECÍFICOS QUE SE CONSERVAN
========================================== */

/*
   Estas clases mantienen sus colores propios:

   .categoria-streaming
   .categoria-deportes
   .categoria-musica
   .categoria-iptv
   .categoria-anime
   .categoria-combos

   También se conservan:

   --color-plataforma
   --modal-color
   --recordatorio-color

   cuando JavaScript o el HTML asignen un
   color específico al producto.
*/
