/* ==========================================================================
   ROOT LAYOUT RULES — HORIZONTAL OVERFLOW & RIGHT-SIDE WHITE SPACE LOCK
   ========================================================================== */
html,
body,
#page,
.site,
.site-content {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   HERO BANNER PARENT SECTION & SWIPER WRAPPER CONSTRAINTS
   Pure Dark Background (#000000) & Zero Margin/Padding
   ========================================================================== */
.elementor-element-651c92ad {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: none !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    background-color: #000000 !important;
    background: #000000 !important;
    box-sizing: border-box !important;
}

.elementor-element-651c92ad > .elementor-container,
.elementor-element-651c92ad .elementor-column,
.elementor-element-651c92ad .elementor-widget-wrap,
.elementor-element-651c92ad .elementor-widget-image-carousel,
.elementor-element-651c92ad .elementor-image-carousel-wrapper,
.elementor-element-651c92ad .swiper,
.elementor-element-651c92ad .swiper-container,
.elementor-element-651c92ad .swiper-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: none !important;
    background-color: #000000 !important;
    background: #000000 !important;
    box-sizing: border-box !important;
}

/* Base Swiper Slide */
.elementor-element-651c92ad .swiper-slide {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #000000 !important;
    background: #000000 !important;
    overflow: hidden !important;
    position: relative !important;
    cursor: pointer !important;
}

/* ==========================================================================
   1. DESKTOP VIEWPORT (>= 768px): CALC(100VH - 80PX) & 16:9 RATIO
   ========================================================================== */
@media (min-width: 768px) {
    .elementor-element-651c92ad,
    .elementor-element-651c92ad > .elementor-container,
    .elementor-element-651c92ad .elementor-column,
    .elementor-element-651c92ad .elementor-widget-wrap,
    .elementor-element-651c92ad .elementor-widget-image-carousel,
    .elementor-element-651c92ad .elementor-image-carousel-wrapper,
    .elementor-element-651c92ad .swiper,
    .elementor-element-651c92ad .swiper-container,
    .elementor-element-651c92ad .swiper-wrapper,
    .elementor-element-651c92ad .swiper-slide {
        height: calc(100vh - 80px) !important;
        min-height: 480px !important;
        max-height: 820px !important;
        aspect-ratio: 16 / 9;
        background-color: #000000 !important;
        background: #000000 !important;
    }

    .elementor-element-651c92ad .swiper-slide .elementor-carousel-image,
    .elementor-element-651c92ad .swiper-slide img,
    .elementor-element-651c92ad img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        display: block !important;
        background-color: #000000 !important;
        background: #000000 !important;
        margin: 0 auto !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }

    .pluggone-hero-cta {
        bottom: 40px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        padding: 13px 36px !important;
        font-size: 13px !important;
        z-index: 15 !important;
    }

    .elementor-element-651c92ad .swiper-pagination {
        bottom: 16px !important;
    }
}

/* ==========================================================================
   2. MOBILE VIEWPORT (< 768px): STRICT 16:9 ASPECT RATIO & ZERO CROPPING
   ========================================================================== */
@media (max-width: 767px) {
    /* HERO BANNER CONTAINER: 16:9, height: auto */
    .elementor-element-651c92ad,
    .elementor-element-651c92ad > .elementor-container,
    .elementor-element-651c92ad .elementor-column,
    .elementor-element-651c92ad .elementor-widget-wrap,
    .elementor-element-651c92ad .elementor-widget-image-carousel,
    .elementor-element-651c92ad .elementor-image-carousel-wrapper,
    .elementor-element-651c92ad .swiper,
    .elementor-element-651c92ad .swiper-container,
    .elementor-element-651c92ad .swiper-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 16 / 9 !important;
        height: auto !important;
        min-height: unset !important;
        max-height: unset !important;
        padding: 0 !important;
        margin: 0 auto !important;
        background-color: #000000 !important;
        background: #000000 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .elementor-element-651c92ad .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 16 / 9 !important;
        height: auto !important;
        min-height: unset !important;
        max-height: unset !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: #000000 !important;
        background: #000000 !important;
        box-sizing: border-box !important;
        position: relative !important;
    }

    /* HERO BANNER IMAGE / MEDIA: 100% CONTAINED, CENTER CENTER */
    .elementor-element-651c92ad .swiper-slide .elementor-carousel-image,
    .elementor-element-651c92ad .swiper-slide img,
    .elementor-element-651c92ad img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        display: block !important;
        margin: 0 auto !important;
        background-color: #000000 !important;
        background: #000000 !important;
        box-sizing: border-box !important;
        transform: none !important;
        animation: none !important;
    }

    /* Mobile CTA Button */
    .pluggone-hero-cta {
        bottom: 8px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        padding: 6px 20px !important;
        font-size: 11px !important;
        letter-spacing: 1px !important;
        z-index: 15 !important;
        white-space: nowrap !important;
        box-shadow: 0 3px 12px rgba(255, 107, 53, 0.45) !important;
    }

    /* Edge arrows scaled down on mobile */
    .elementor-element-651c92ad .elementor-swiper-button {
        width: 32px !important;
        height: 32px !important;
        font-size: 11px !important;
    }

    .elementor-element-651c92ad .elementor-swiper-button-prev {
        left: 6px !important;
    }

    .elementor-element-651c92ad .elementor-swiper-button-next {
        right: 6px !important;
    }

    /* Mobile Pagination */
    .elementor-element-651c92ad .swiper-pagination {
        bottom: 2px !important;
        gap: 6px !important;
    }

    .elementor-element-651c92ad .swiper-pagination-bullet {
        width: 6px !important;
        height: 6px !important;
    }

    .elementor-element-651c92ad .swiper-pagination-bullet-active {
        width: 20px !important;
        height: 6px !important;
    }
}

/* ==========================================================================
   ELIMINATE OVERSIZED ZOOMING & CROP ANIMATION
   ========================================================================== */
.elementor-element-651c92ad .swiper-slide-active img,
.elementor-element-651c92ad .swiper-slide:not(.swiper-slide-active) img {
    animation: none !important;
    transform: none !important;
}

.elementor-element-651c92ad .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ==========================================================================
   MINIMALIST EDGE ARROWS
   ========================================================================== */
.elementor-element-651c92ad .elementor-swiper-button {
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    transition: all 0.25s ease !important;
    opacity: 0.75 !important;
    z-index: 12 !important;
}

.elementor-element-651c92ad .elementor-swiper-button:hover {
    background: rgba(255, 255, 255, 0.4) !important;
    opacity: 1 !important;
    transform: scale(1.08) !important;
}

.elementor-element-651c92ad .elementor-swiper-button-prev {
    left: 24px !important;
}

.elementor-element-651c92ad .elementor-swiper-button-next {
    right: 24px !important;
}

/* ==========================================================================
   PAGINATION PILL INDICATOR
   ========================================================================== */
.elementor-element-651c92ad .swiper-pagination {
    bottom: 24px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    z-index: 15 !important;
    width: auto !important;
}

.elementor-element-651c92ad .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background: rgba(255, 255, 255, 0.4) !important;
    opacity: 1 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 9999px !important;
    margin: 0 !important;
}

.elementor-element-651c92ad .swiper-pagination-bullet-active {
    width: 30px !important;
    height: 8px !important;
    background: #FFFFFF !important;
    border-radius: 9999px !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
}

/* ==========================================================================
   HERO CTA "SHOP NOW" BUTTON
   ========================================================================== */
.pluggone-hero-cta {
    position: absolute !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #FF6B35, #FF8F5E) !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 4px 18px rgba(255, 107, 53, 0.45) !important;
    z-index: 12 !important;
}

.pluggone-hero-cta:hover {
    background: linear-gradient(135deg, #FF8F5E, #FF6B35) !important;
    transform: translateX(-50%) translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(255, 107, 53, 0.6) !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}
