/* How it works section styling */

/* Fix for parent containers overflow */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.hero,
.hero-content,
.hero-animated,
.clean-logo-container,
header {
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

.how-it-works-section {
    background-color: white;
    padding: 0;
    text-align: center;
    width: 100%;
    margin: 0;
    position: relative;
    z-index: 2;
    overflow: hidden !important;
    margin-bottom: 0;
}

.how-it-works-section .section-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0;
    margin-top: 0;
    padding-top: 0;
    color: #333;
    position: relative;
    display: inline-block;
}

.how-it-works-section .section-title:after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background-color: #FF8C00; /* Brand orange */
    margin: 0 auto 0;
}

/* Desktop Cards Layout */
.how-cards-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    width: 100%;
    max-width: none;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden !important;
    position: relative;
}

/* Single Card Image Container */
.how-cards-single {
    text-align: center;
    width: 100%;
    max-width: 100vw;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: block;
    line-height: 0;
}

.how-cards-single img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 0;
}

.how-card {
    flex: 0 0 20%;
    margin: 0;
    width: 20%;
    padding: 0;
    position: relative;
    box-sizing: border-box;
}

.how-card:first-child {
    position: relative;
    left: -10%;
}

.how-card:last-child {
    position: relative;
    right: -10%;
}

/* No hover effects */

.how-card img {
    width: 100%;
    height: auto;
    display: block;
    margin-left: 0;
    max-width: none;
}

/* Mobile Card Slider */
.how-cards-swiper {
    display: none;
    width: 100%;
    padding-bottom: 0px;
    margin: 0 auto;
    overflow: visible;
    touch-action: pan-y !important;
}

.how-cards-swiper * {
    touch-action: pan-y !important;
}

.swiper-slide.how-card-slide {
    width: 100%;
    height: auto;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.swiper-slide.how-card-slide img {
    display: block;
    margin-bottom: 0 !important;
}

/* No special styling for active slides */

.swiper-pagination-bullet {
    background-color: #ccc;
    opacity: 0.6;
}

.swiper-pagination-bullet-active {
    background-color: #FF8C00; /* Brand orange */
    opacity: 1;
}

/* Responsive Design */
@media (max-width: 768px) {
    .how-cards-container {
        display: none;
    }
    
    .how-cards-swiper {
        display: block;
        max-width: 100%;
        padding: 0;
        margin-bottom: 30px;
    }
    
    .how-it-works-section {
        margin-top: 0;
        padding: 0;
    }
    
    .how-it-works-section .section-title {
        font-size: 2rem;
        margin: 5px 0 15px 0;
        padding: 0;
    }
    
    .how-cards-swiper .swiper-pagination {
        bottom: 0px;
        display: block !important;
        position: relative !important;
        margin-top: -90px;
    }
}

@media (max-width: 480px) {
    .how-it-works-section {
        margin: 0;
        padding: 0;
        overflow: hidden;
    }
    
    .how-it-works-section .section-title {
        font-size: 1.8rem;
        margin: 0 0 10px 0;
    }
    
    .how-it-works-section .section-title:after {
        width: 40px;
        margin: 5px auto 0;
    }
    
    .how-cards-swiper {
        padding: 0;
        margin: 0;
        overflow: hidden;
    }
    
    .swiper-slide.how-card-slide {
        width: 100%;
        padding: 0;
        overflow: hidden;
    }
    
    .swiper-slide.how-card-slide img {
        width: 100%;
        margin-left: 0;
    }
    
    .how-cards-swiper .swiper-pagination {
        bottom: 0;
        padding-top: 5px;
        display: block !important;
        position: relative !important;
        margin-top: -90px;
    }
}
