/* =========================
   RESET
========================= */

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* =========================
   VARIABLES
========================= */

:root {

    --bg: hwb(0 0% 100%);
    --text: #ffffff;

    --header-height: 70px;
    --bottom-nav-height: 70px;

    --safe-top: env(safe-area-inset-top);
    --safe-right: env(safe-area-inset-right);
    --safe-bottom: env(safe-area-inset-bottom);
    --safe-left: env(safe-area-inset-left);
}

/* =========================
   HTML
========================= */

html {

    width: 100%;
    height: 100%;

    font-size: 16px;

    scroll-behavior: smooth;

    overflow-x: hidden;

    -webkit-text-size-adjust: 100%;
}

/* =========================
   BODY
========================= */

body {

    width: 100%;
    min-width: 320px;

    height: 100%;
    min-height: 100vh;
    min-height: 100dvh;

    background: var(--bg);
    color: var(--text);

    overflow-x: hidden;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    touch-action: manipulation;
}

/* =========================
   APP
========================= */

#app {

    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;

    padding-top: var(--safe-top);
    padding-right: var(--safe-right);
    padding-bottom: var(--safe-bottom);
    padding-left: var(--safe-left);
}

/* =========================
   MAIN
========================= */

.main {

    display: flex;
    flex-direction: column;

    width: 100%;
    min-height: 100dvh;

    position: relative;
}

/* =========================
   HEADER
========================= */

.header {

    width: 100%;
    height: var(--header-height);

    flex-shrink: 0;
}

.content {

    flex: 1;

    width: 100%;

    display: flex;
    flex-direction: column;
}

/* =========================
   BOTTOM NAV
========================= */

.bottom-nav {

    width: 100%;
    height: var(--bottom-nav-height);

    flex-shrink: 0;
}


/* =========================
   MEDIA
========================= */

img,
picture,
video,
canvas,
svg {

    display: block;

    max-width: 100%;
    height: auto;
}

/* =========================
   FORM ELEMENTS
========================= */

button,
input,
textarea,
select {

    font: inherit;
}

/* =========================
   TABLET
========================= */

@media (min-width: 768px) {

    html {
        font-size: 17px;
    }

}

/* =========================
   LARGE SCREENS
========================= */

@media (min-width: 1024px) {

    html {
        font-size: 18px;
    }

}




/* =========================
   SPLASH SCREEN
========================= */

#splash-screen {

    position: fixed;
    inset: 0;

    background: #000000;

    display: flex;
    justify-content: center;
    align-items: center;

    z-index: 99999;

    transition: opacity .8s ease;
}

.splash-content {

    display: flex;
    flex-direction: column;
    align-items: center;
}

.splash-logo {

    width: 220px;
    height: auto;

    max-width: 60vw;

    object-fit: contain;

    margin-bottom: 35px;

    animation: speakerPulse 1s infinite ease-in-out;

    transform-origin: center center;
}

/* =========================
   DOTS
========================= */

.loading-dots {

    display: flex;
    gap: 10px;
}

.loading-dots span {

    width: 12px;
    height: 12px;

    border-radius: 50%;

    background: #ff0000;

    box-shadow:
        0 0 10px #ff0000,
        0 0 20px #ff0000,
        0 0 35px #ff0000;

    animation: neonDots 1.2s infinite;
}

.loading-dots span:nth-child(2) {

    animation-delay: .2s;
}

.loading-dots span:nth-child(3) {

    animation-delay: .4s;
}

/* =========================
   ANIMATION
========================= */

@keyframes neonDots {

    0% {
        opacity: .3;
        transform: scale(.8);
    }

    50% {
        opacity: 1;
        transform: scale(1.3);
    }

    100% {
        opacity: .3;
        transform: scale(.8);
    }

}

/* =========================
   HIDE SPLASH
========================= */

#splash-screen.hide {

    opacity: 0;
    pointer-events: none;
}




/* =========================
   SPEAKER ANIMATION
========================= */

@keyframes speakerPulse {

    0% {
        transform: rotate(0deg) scale(1);
    }

    15% {
        transform: rotate(-3deg) scale(1.03);
    }

    30% {
        transform: rotate(3deg) scale(1.05);
    }

    45% {
        transform: rotate(-2deg) scale(1.03);
    }

    60% {
        transform: rotate(2deg) scale(1.05);
    }

    75% {
        transform: rotate(-1deg) scale(1.02);
    }

    100% {
        transform: rotate(0deg) scale(1);
    }

}




/* =========================
   MAIN
========================= */

.main{

    display:flex;
    flex-direction:column;

    width:100%;
    min-height:100dvh;
}

/* =========================
   CONTENT
========================= */


    
.content{
    flex:1;
    width:100%;
    padding-bottom:90px;
    background:transparent;
}



/* =========================
   BOTTOM BAR
========================= */

.bottom-bar{

    position:fixed;

    left:0;
    right:0;
    bottom:0;

    width:100%;

    height:80px;

    background:#ff0000;

    display:flex;
justify-content:space-between;
    align-items:center;

    z-index:5000;
}

/* =========================
   PLAYER BUTTON
========================= */

.player-btn{

    width:50px;
    height:50px;

    border:none;
    background:transparent;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:0;
}

/* =========================
   BACK BUTTON
========================= */

.back-btn{

    width:50px;
    height:50px;

    border:none;
    background:transparent;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:0;
}




.player-btn img{

    width:55px;
    height:55px;

    object-fit:contain;

    display:block;

    filter:brightness(0);
}

.back-btn img{

    width:30px;
    height:30px;

    object-fit:contain;

    display:block;

    filter:brightness(0);

    opacity:.55;
}



/* =========================
   CONTENT
========================= */

.content{

    padding-bottom:0px;
}

/* =========================
   BOTTOM BAR
========================= */

.bottom-bar{

    position:fixed;

    left:0;
    right:0;
    bottom:0;

    width:100%;

    height:78px;

    background:
        linear-gradient(
            180deg,
            #ff9a00 0%,
            #ff7300 50%,
            #ff4d00 100%
        );

    border-top-left-radius:32px;
    border-top-right-radius:32px;

    box-shadow:
        0 -8px 30px rgba(255,80,0,.40),
        inset 0 2px 0 rgba(255,255,255,.30),
        inset 0 -10px 20px rgba(0,0,0,.15);


        padding-right:20px;

    z-index:9999;

    overflow:hidden;
}

/* =========================
   PLASTIC SHINE
========================= */

.bottom-bar::before{

    content:"";

    position:absolute;

    top:10px;
    left:20px;
    right:20px;

    height:22px;

    border-radius:20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.35),
            rgba(255,255,255,0)
        );

    pointer-events:none;
}



/* =========================
   PLAYING STATE
========================= */

.player-btn.playing img {

    filter:
        brightness(0)
        drop-shadow(0 0 6px rgba(0,0,0,.35))
        drop-shadow(0 0 12px rgba(0,0,0,.25));

    animation: playerPulse 1.2s infinite ease-in-out;

}

/* =========================
   PLAYER PULSE
========================= */

@keyframes playerPulse {

    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
    }

}






.player-controls{

    display:flex;

    align-items:center;

    gap:0px;

    margin-left:auto;

    margin-right:-10px;
}




/* =========================
   RADIO LOGO
========================= */

.radio-logo{

    display:flex;

    align-items:center;

    margin-left:18px;
}

.radio-logo img{

    width:90px;

    height:auto;

    object-fit:contain;

    display:block;
}





/* =========================
   LOGO ANIMATION
========================= */

.radio-logo.playing img{

    animation: radioBeat 1s infinite ease-in-out;

}

@keyframes radioBeat{

    0%{
        transform:scale(1);
    }

    25%{
        transform:scale(1.05);
    }

    50%{
        transform:scale(1.10);
    }

    75%{
        transform:scale(1.05);
    }

    100%{
        transform:scale(1);
    }

}/* =========================
   LIVE BADGE
========================= */
.live-badge{

   background:#000000;

    color:#fff;

    font-size:9px;

    font-weight:700;

    padding:4px 8px;

    border-radius:8px;

    line-height:1;

    white-space:nowrap;

    margin-left:-8px;

    margin-bottom:40px;
}




/* =========================
   LIVE TEXT
========================= */
.live-text{

    position:absolute;

    left:112px;      /* más pegado al bloque EN VIVO */

    top:25px;       /* más arriba */

    color:#fff;     /* texto blanco */

    font-size:15px;

    font-weight:700;

    white-space:nowrap;

    transition:opacity .4s ease;

    text-shadow:
        0 1px 2px rgba(0,0,0,.35);
}





/* =========================
   MENU BUTTON
========================= */

.menu-btn{
    position:absolute;
    top:20px;
    left:20px;

    width:50px;
    height:50px;

    border:none;
    background:transparent;

    color:#fff;
    font-size:32px;

    z-index:12000;


transition: transform .15s linear;



    
}


.menu-btn,
.live-header{
    transition:
        transform .35s ease,
        opacity .35s ease;
}





/* =========================
   SIDE MENU
========================= */
#sideMenu{

    position: fixed;

    top: 0;
    left: -280px;

    width: 280px;
    height: 100vh;

    background: rgb(8, 8, 8);

    z-index: 11000;

    transition: left .35s ease;
}


#sideMenu{

    position: fixed;

    top: 0;
    left: -280px;

    width: 280px;
    height: 100vh;

    background:
        linear-gradient(
            180deg,
            #ff9a00 0%,
            #ff7300 50%,
            #ff4d00 100%
        );

    border-top-right-radius: 32px;
    border-bottom-right-radius: 32px;

    box-shadow:
        8px 0 30px rgba(255,80,0,.40),
        inset 0 2px 0 rgba(255,255,255,.30),
        inset -10px 0 20px rgba(0,0,0,.15);

    z-index: 11000;

    overflow: hidden;

    transition: left .35s ease;
}




#sideMenu::before{

    content:"";

    position:absolute;

    top:20px;
    left:20px;
    right:20px;

    height:25px;

    border-radius:20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.35),
            rgba(255,255,255,0)
        );

    pointer-events:none;
}




#sideMenu.open{

    left:0;

}



#menuOverlay.show{

    opacity:1;

    pointer-events:auto;

}




/* =========================
   MENU OVERLAY
========================= */

#menuOverlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    opacity:0;

    pointer-events:none;

    transition:.35s ease;

    z-index:10500;
}




/* =========================
   MENU CONTENT
========================= */

.menu-content{

   padding-top:280px;

    display:flex;

    flex-direction:column;

    gap:8px;
}

/* =========================
   MENU ITEM
========================= */

.menu-item{


    font-family:'Montserrat', sans-serif;

   color:#000000;

  font-size:15px;

    font-weight:800;

    padding:10px 28px;

    cursor:pointer;

    transition:.25s ease;

    letter-spacing:-0.3px;
}

.menu-item:hover{

    background:
        rgba(255,255,255,.15);

}


/* =========================
   MENU DIVIDER
========================= */

.menu-divider{

    height:1px;

    margin:10px 25px;

    background:
        rgba(255,255,255,.25);

}




/* =========================
   MENU LOGO
========================= */

.menu-logo{

    position:absolute;

    top:80px;

    left:50%;

    transform:translateX(-50%);

    width:240px;

    display:flex;

    justify-content:center;

    align-items:center;
}

.menu-logo img{

    width:100%;

    height:auto;

    object-fit:contain;

    display:block;

}




/* =========================
   HIDE MENU BUTTON
========================= */

.menu-btn.hide{

    opacity:0;

    pointer-events:none;

    transition:.25s ease;

}


/* =========================
   VOLUME BUTTON
========================= */

.volume-btn{

    width:42px;
    height:42px;

    border:none;

    background:transparent;

    color:#000;

    font-size:24px;

    display:flex;

    justify-content:center;
    align-items:center;

    cursor:pointer;

    padding:0;
}




/* =========================
   VOLUME BUTTON
========================= */

.volume-btn{

    width:50px;
    height:50px;

    border:none;
    background:transparent;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:0;
}

.volume-btn img{

    width:25px;
    height:25px;

    object-fit:contain;

    display:block;

    filter:brightness(0);
}




/* =========================
   VOLUME PANEL
========================= */

#volumePanel{

    position:fixed;

    right:20px;

    bottom:120px;

top:auto;

transform:none;

width:24px;

height:120px;

    background:
    rgba(255,255,255,.18);

backdrop-filter:
    blur(18px);

box-shadow:
    0 4px 20px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.35);

    border-radius:30px;

    z-index:15000;




    opacity:0;

pointer-events:none;

transition:.25s ease;

}


#volumePanel.show{

    opacity:1;

    pointer-events:auto;

}
/* =========================
   VOLUME FILL
========================= */

#volumeFill{

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:70%;

    background:
        linear-gradient(
            180deg,
            #ffe8c8,
            #ffc980
        );

    border-radius:20px;

    transition:height .25s ease;
}



/* =========================
   TOP LOGO
========================= */

.top-logo{

    position:fixed;

    top:8px;

    left:54%;

    transform:translateX(-50%);

    z-index:11900;
}

.top-logo img{

    width:120px;

    height:auto;

    display:block;

    object-fit:contain;
}


/* =========================
   HIDE ELEMENTS
========================= */

.hide{

    opacity:0;

    pointer-events:none;

    transition:.25s ease;

}



/* =========================
   HIDE LIVE HEADER
========================= */

.transition:
    transform .35s ease,
    opacity .35s ease;

}


/* =========================
   LIVE HEADER
========================= */
.live-header{
    transition:
        transform .35s ease,
        opacity .35s ease;



.live-header{
    transition: transform .25s ease;
}

.live-header.up{
    transform:
        translateX(-50%)
        translateY(-80px);
}

}





/* =========================
   TUNEIN LOGO
========================= */

.tunein-logo{

    width:80px;

    height:auto;

    display:block;

    object-fit:contain;
}

/* =========================
   EN VIVO BADGE
========================= */

.live-header{

    position:fixed;

    top:20px;

    left:50%;

    transform:translateX(-50%);

    width:220px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    z-index:11800;

}

.live-header-badge{

    background:#ff9800;

    color:#000;

    font-size:11px;

    font-weight:700;

    padding:5px 10px;

    border-radius:12px;

    white-space:nowrap;

}








/* =========================
   HERO SLIDER
========================= */
.hero-slider {

    width: 92%;

    height: 260px;

    margin: 100px auto 25px;

    border-radius: 24px;

    overflow: hidden;

    position: relative;

    background: red !important;
}



.hero-slider img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;




}

.slide {

    position: absolute;

    inset: 0;

    opacity: 0;

    transition: opacity .6s ease;

}


.slide.active {

    opacity: 1;

    z-index: 2;

}


.slide img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}


.slide-overlay {

    position: absolute;

    left: 0;

    right: 0;

    bottom: 0;

    padding: 20px;

    background: linear-gradient(
        to top,
        rgba(0,0,0,.90),
        rgba(0,0,0,0)
    );

}



.slide-title {

    color: #fff;

    font-family: 'Montserrat', sans-serif;

    font-size: 20px;

    font-weight: 700;

    margin: 0;

}



.slide-description {

    color: rgba(255,255,255,0.85);

    font-family: 'Montserrat', sans-serif;

    font-size: 13px;

    margin-top: 6px;

    margin-bottom: 0;

}

.slide-tag {

    display: inline-block;

    background: #e31b00;

    color: white;

    padding: 5px 10px;

    border-radius: 20px;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: .5px;

    margin-bottom: 10px;

}


#newsPage {

    position: fixed;

    top: 0;

    left: 100%;

    width: 100vw;

    height: 100vh;

   background:
radial-gradient(
    circle at top center,
    rgba(255,120,0,.12),
    transparent 40%
),
linear-gradient(
    180deg,
    #000000 0%,
    #111111 45%,
    #0a0a0a 100%
);

    z-index: 999999;

    transition: left .45s ease-in-out;

}


#closeNews {

    position: absolute;

    top: 15px;

    right: 15px;

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(0,0,0,.45);

    backdrop-filter: blur(8px);

    border-radius: 50%;

    color: white;

    font-size: 22px;

    font-weight: 600;

    cursor: pointer;

    z-index: 1000000;

    transition: .25s ease;

}

#closeNews:hover {

    transform: scale(1.08);

    background: rgba(0,0,0,.65);

}





/* =========================
   NOTE BANNER
========================= */

.note-banner {

    width: 100%;

    height: 220px;

    overflow: hidden;

    position: relative;

}

.note-banner img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}





/* =========================
   NOTE BANNER
========================= */

.note-banner {

    width: 100%;

    height: 260px;

    position: relative;

    overflow: hidden;

}

.note-banner img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}

.note-banner::after {

    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 0;
    bottom: 0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.92) 0%,
            rgba(0,0,0,.70) 35%,
            rgba(0,0,0,.25) 65%,
            rgba(0,0,0,.10) 100%
        );

}


/* =========================
   BANNER INFO
========================= */

.banner-info {

    position: absolute;

    left: 25px;
    right: 25px;
    bottom: 25px;

    z-index: 5;
}

.banner-tag {

    display: inline-block;

    background: #e31b00;

    color: white;

    padding: 6px 12px;

    border-radius: 20px;

    font-size: 11px;

    font-weight: 700;

    font-family: 'Montserrat', sans-serif;
}



/* =========================
   NOTE CONTENT
========================= */

.note-content {

    width: 92%;

    margin: -20px auto 40px;

    background: #1a1a1a;

    border-radius: 24px;

    padding: 25px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.35);

    position: relative;

    z-index: 10;

    max-height: calc(100vh - 300px);

    overflow-y: auto;

    overflow-x: hidden;

    -webkit-overflow-scrolling: touch;

}

/* =========================
   SCROLL PERSONALIZADO
========================= */

.note-content::-webkit-scrollbar {

    width: 4px;

}

.note-content::-webkit-scrollbar-track {

    background: transparent;

}

.note-content::-webkit-scrollbar-thumb {

    background: rgba(255,255,255,.25);

    border-radius: 20px;

}

/* =========================
   PÁRRAFOS
========================= */

.note-content p {

    color: rgba(255,255,255,.90);

    font-size: 16px;

    line-height: 1.8;

    margin-bottom: 18px;

    font-family: 'Montserrat', sans-serif;

}

/* =========================
   FOOTER NOTA
========================= */

.note-meta {

    margin-top: 30px;

    padding-top: 20px;

    border-top: 1px solid rgba(255,255,255,.08);

    text-align: center;

    color: rgba(255,255,255,.45);

    font-size: 12px;

    line-height: 1.7;

    font-family: 'Montserrat', sans-serif;

}

/* =========================
   PUBLICIDAD TOXINOTAS
========================= */

.note-ad {

    margin-top: 25px;

    padding-top: 20px;

    border-top: 1px solid rgba(255,255,255,.08);

}

.note-ad img {

    width: 100%;

    display: block;

    border-radius: 16px;

    box-shadow:
        0 8px 25px rgba(0,0,0,.35);

}


/* =========================
   BANNER PREMIUM
========================= */

.premium-banner{

    width:92%;

    margin:20px auto;

    border-radius:24px;

    overflow:hidden;

    border:2px solid rgba(255,140,0,.6);

    box-shadow:
        0 0 20px rgba(255,120,0,.35);

    position:relative;
}

/* =========================
   PREMIUM SHINE EFFECT
========================= */

.premium-banner::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:40%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.25),
        transparent
    );

    transform:skewX(-20deg);

    animation:premiumShine 5s infinite;

    pointer-events:none;
}

@keyframes premiumShine{

    0%{
        left:-120%;
    }

    20%{
        left:130%;
    }

    100%{
        left:130%;
    }

}

/* =========================
   BANNER PUBLICIDAD NEGOCIOS
========================= */

.promo-banner{

    width:92%;

    margin:20px auto;

    position:relative;

    overflow:hidden;

    border-radius:22px;
}
.program-slider{
    width:92%;
    margin:20px auto;
    position:relative;
    overflow:hidden;
    border-radius:16px;
    height:120px;
}

/* CONTENEDOR DE CADA IMAGEN */
.program-slide{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    opacity:0;
    transform: translateX(100%);
    transition: transform 0.6s ease, opacity 0.6s ease;

    border-radius:25px;   /* 👈 redondeo aquí */
    overflow:hidden;      /* 👈 clave para que no se “salga” la imagen */
}

/* IMAGEN */
.program-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;

    border-radius:25px;   /* 👈 opcional, pero no hace daño */
}

/* ACTIVO */
.program-slide.active{
    opacity:1;
    transform: translateX(0);
    z-index:2;
}

/* SALIENDO */
.program-slide.exit{
    transform: translateX(-100%);
    opacity:0;
    z-index:1;
}



/* =========================
   BRILLO CRISTAL BANNER
========================= */

.promo-banner::before{

    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:40%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.5),
        transparent
    );

    transform:skewX(-25deg);

    animation:bannerShine 4s infinite;

    z-index:2;
}

@keyframes bannerShine{

    0%{
        left:-120%;
    }

    20%{
        left:130%;
    }

    100%{
        left:130%;
    }

}

/* =========================
   BARAJA PREMIUM
========================= */

.premium-stack{
    position:relative;
    width:92%;
    margin:50px auto 60px auto;
    height:200px;








}

.premium-card{

    position:absolute;

    width:100%;

    height:170px;

    border-radius:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:bold;

    color:white;

    font-size:22px;

    overflow:hidden;
}




/* Tarjetas */

.premium-card{

    transition:
        all 1s cubic-bezier(.22,.61,.36,1);

}

/* Imagen del patrocinador */

.premium-card img{

    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:22px;

}

/* Efecto intercambio */

.swap{

    transform:
        translateX(25px)
        translateY(12px)
        rotate(4deg)
        scale(.92);

    opacity:.6;

    box-shadow:
        0 10px 25px rgba(0,0,0,.45),
        0 0 18px rgba(255,102,0,.35);

}



/* =========================
   TOP BAR
========================= */

.top-bar{

    position:fixed;

    top:10px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    align-items:center;

    gap:12px;

    padding:8px 14px;

    background:rgba(0,0,0,.65);

    backdrop-filter:blur(8px);

    border-radius:14px;

    z-index:11800;
}

/* TuneIn */

.top-tunein{

    width:75px;

    height:auto;

    display:block;
}

.top-live{

    background:#ff8a00;

    color:#000;

    font-size:9px;

    font-weight:700;

    padding:4px 8px;

    border-radius:6px;
}


.main-slider{
    width:92%;
    margin:20px auto;
    position:relative;
    overflow:hidden;
    border-radius:16px;
    height:200px;
}

.main-slide{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    opacity:0;
    transform: translateX(100%);
    transition: transform 0.6s ease, opacity 0.6s ease;
}


.main-slide img{
    width:100%;
    height:100%;
    object-fit: contain;
    object-position: center;
    background: #000;
}

.main-slide.active{
    opacity:1;
    transform: translateX(0);
    z-index:2;
}

.main-slide.exit{
    opacity:0;
    transform: translateX(-100%);
    z-index:1;
}