/* Estilos Responsivos Aprimorados */

/* Geral */
body {
    overflow-x: hidden; /* Evita scroll horizontal */
}

/* Container Principal */
.container {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}

/* Navegação de Provedores */
@media (max-width: 576px) {
    .providers-nav {
        padding: 10px;
    }
    
    .providers-nav .btn {
        font-size: 0.75rem;
        padding: 6px 10px;
    }
    
    .providers-nav .provider-img {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 768px) {
    .providers-nav {
        padding: 12px;
    }
    
    .providers-nav .btn {
        font-size: 0.8rem;
        padding: 7px 12px;
    }
}

/* Seção de Jogos em Destaque */
@media (max-width: 576px) {
    .featured-games-section {
        padding: 20px 15px;
        margin-bottom: 20px;
    }
    
    .featured-title {
        font-size: 1.2rem;
    }
    
    .featured-games-swiper .swiper-slide {
        width: 160px;
    }
    
    .featured-game-card .game-name {
        font-size: 0.8rem;
    }
    
    .featured-badge {
        font-size: 0.6rem;
        padding: 2px 6px;
    }
}

@media (max-width: 768px) {
    .featured-games-section {
        padding: 22px 20px;
    }
    
    .featured-games-swiper .swiper-slide {
        width: 180px;
    }
    
    .featured-game-card .game-name {
        font-size: 0.85rem;
    }
}

@media (max-width: 992px) {
    .featured-games-swiper .swiper-slide {
        width: 190px;
    }
}

/* Cards de Jogos */
@media (max-width: 576px) {
    .game-card {
        margin-bottom: 15px;
    }
    
    .game-card .game-name {
        font-size: 0.8rem;
    }
    
    .game-card .percent {
        margin-top: 5px;
    }
    
    .game-card .btn {
        font-size: 0.7rem;
        padding: 5px 10px;
    }
}

@media (max-width: 768px) {
    .game-card {
        margin-bottom: 20px;
    }
    
    .game-card .game-name {
        font-size: 0.85rem;
    }
}

/* Barra de Busca */
@media (max-width: 576px) {
    .input-group {
        padding: 10px !important;
    }
    
    #searchGames {
        font-size: 0.9rem;
    }
    
    #searchHelper {
        font-size: 0.7rem;
    }
}

@media (max-width: 768px) {
    .input-group {
        padding: 12px !important;
    }
    
    #searchGames {
        font-size: 0.95rem;
    }
}

/* Navegação por Paginação */
@media (max-width: 576px) {
    .pagination {
        margin-top: 20px;
    }
    
    .pagination .page-link {
        font-size: 0.8rem;
        padding: 8px 12px;
    }
}

/* Footer */
@media (max-width: 576px) {
    footer {
        padding: 20px 0;
    }
    
    footer .col-auto {
        margin-bottom: 10px;
    }
}

@media (max-width: 768px) {
    footer {
        padding: 25px 0;
    }
}

/* Correções de Overflow */
.row {
    margin-left: -15px;
    margin-right: -15px;
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, 
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, 
.col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, 
.col-sm-10, .col-sm-11, .col-sm-12, .col-sm-auto,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, 
.col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, 
.col-md-10, .col-md-11, .col-md-12, .col-md-auto,
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, 
.col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, 
.col-lg-10, .col-lg-11, .col-lg-12, .col-lg-auto,
.col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, 
.col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, 
.col-xl-10, .col-xl-11, .col-xl-12, .col-xl-auto,
.col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, 
.col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, 
.col-xxl-10, .col-xxl-11, .col-xxl-12, .col-xxl-auto {
    padding-left: 15px;
    padding-right: 15px;
}

/* Melhorias para Swiper */
.swiper-container {
    overflow: hidden;
}

.swiper-slide {
    overflow: hidden;
}

/* Animações para dispositivos móveis */
@media (max-width: 768px) {
    .fade-in {
        animation-duration: 0.4s;
    }
    
    .slide-in-up {
        animation-duration: 0.5s;
    }
}

/* Ajustes finos para alinhamento */
.text-center {
    text-align: center !important;
}

.d-flex {
    display: flex !important;
}

.justify-content-center {
    justify-content: center !important;
}

.align-items-center {
    align-items: center !important;
}

.w-100 {
    width: 100% !important;
}

.h-100 {
    height: 100% !important;
}