/* Slide Transition for Images */
.promo-img-desktop, .promo-img-mobile {
    transition: opacity 0.6s ease-in-out;
    opacity: 1;
}

.promo-fade-out {
    opacity: 0;
}

/* DEFAULT — Mobile / Tablet layout */
.promo-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 680px;
    gap: 1.5rem;
    margin-top: 2rem;
    box-sizing: border-box;
    z-index: 15;
}

.promo-banner {
    position: static;
    transform: none;
    width: 100%;
    height: auto; 
    aspect-ratio: 1000 / 360; 
    border: 4px solid #333;
    box-shadow: 6px 6px 0 #000;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
    background-color: #212121;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    border-radius: 8px;
}

.promo-banner img {
    pointer-events: none;
}

.promo-img-desktop { display: none; }

.promo-img-mobile {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain; 
}

/* STANDARD DESKTOP (1080p+) */
@media (min-width: 1400px) and (min-height: 800px) {
    .promo-wrapper {
        display: contents;
    }

    .promo-banner {
        position: fixed;
        top: 50%;
        transform: translateY(-50%);
        width: 120px;
        height: 320px;
        aspect-ratio: auto; 
        border: 5px solid #333;
        box-shadow: 10px 10px 0 #000;
        cursor: pointer;
        text-decoration: none;
        border-radius: 12px;
    }

    .left-promo  { left: 2vw; }
    .right-promo { right: 2vw; }

    .promo-img-desktop {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .promo-img-mobile { display: none; }
}

/* LARGE DESKTOP (1920x1080) */
@media (min-width: 1600px) and (min-height: 900px) {
    .promo-banner {
        width: 300px;
        height: 800px;
    }
}

/* ULTRAWIDE & 2K/4K */
@media (min-width: 2400px) and (min-height: 1300px) {
    .promo-banner {
        width: 360px;
        height: 1000px;
    }
}