/* ============================================================
   TUBIASCONTIGO — Inicio / Mobile Snap Scroll Styles
   /public/assets/css/inicio.css
   ============================================================ */

/* ---- Hero Swiper Styles ---- */
.hero-swiper-pagination {
    bottom: 24px !important;
}

.hero-swiper-pagination .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    background: rgba(255, 255, 255, 0.4) !important;
    opacity: 1 !important;
    transition: all 0.3s ease-in-out;
}

.hero-swiper-pagination .swiper-pagination-bullet-active {
    background: #ffffff !important;
    transform: scale(1.25);
}

/* ---- Product slider transitions ---- */
.prod-slide {
    transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}

.prod-slide.inactive {
    opacity: 0;
    position: absolute;
    inset: 0;
    pointer-events: none;
    transform: translateX(20px);
}

.prod-slide.active {
    opacity: 1;
    position: relative;
    transform: translateX(0);
}

/* ============================================================
   MOBILE SNAP SCROLL EXPERIENCE
   ============================================================ */
@media (max-width: 768px) {

    body {
        overflow: hidden !important;
        height: 100vh;
        height: 100dvh;
        margin: 0;
        padding: 0;
    }

    /* Main scrollable snap container */
    main {
        height: 100vh;
        height: 100dvh;
        overflow-y: scroll !important;
        scroll-snap-type: y mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding-top: 0 !important;

        /* Hide scrollbar */
        -ms-overflow-style: none !important;
        scrollbar-width: none !important;
    }

    main::-webkit-scrollbar {
        display: none !important;
    }

    .mobile-snap-section {
        scroll-snap-align: start;
        scroll-snap-stop: always;
        height: 100vh;
        height: 100dvh;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        padding-top: 5rem;
        /* Space for the floating header */
        box-sizing: border-box;
    }

    /* Float the header over the snapped pages with gradient transparency */
    header {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 50;
        background: linear-gradient(to bottom,
                rgba(255, 255, 255, 0.92) 0%,
                rgba(255, 255, 255, 0.75) 35%,
                rgba(255, 255, 255, 0.35) 65%,
                rgba(255, 255, 255, 0.0) 100%) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        -webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
        mask-image: linear-gradient(to bottom, black 40%, transparent 100%);
        border-bottom: none !important;
        box-shadow: none !important;
    }

    /* Snap footer */
    footer {
        scroll-snap-align: none !important;
        scroll-snap-stop: normal !important;
    }

    /* Compact mobile card elements */
    .mobile-card-img {
        height: 90px !important;
        width: 90px !important;
    }

    .mobile-card-title {
        font-size: 11px !important;
        line-height: 1.2 !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        height: 26px;
    }

    .mobile-card-badge {
        font-size: 8px !important;
        padding: 2px 6px !important;
    }

    .mobile-grid-container {
        gap: 10px !important;
        padding: 0 12px !important;
    }

    /* Natural height and scrolling for infinite products on mobile */
    #grid-section {
        height: auto !important;
        min-height: 100vh !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: normal !important;
        overflow: visible !important;
        padding-bottom: 5rem !important;
    }
}

/* ============================================================
   DESKTOP PREMIUM SLIDER STYLING (>=769px)
   ============================================================ */
@media (min-width: 769px) {

    #hero-section,
    #featured-section {
        height: 680px !important;
    }
}