/* Reset básico */
* { box-sizing: border-box; }

/* Container do carrossel */
.carousel {
    max-width: 1400px; /* Aumentado para dar mais espaço */
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding: 0 20px; /* Espaço para as setas */
}

/* Slides container */
.slides {
    display: flex;
    transition: transform 0.3s ease;
    align-items: stretch;
    cursor: grab;
    user-select: none;
    /* REMOVIDO: overflow: hidden; - isso estava cortando os cards */
}

.slides:active {
    cursor: grabbing;
}

/* REMOVE o CSS que afetou toda a div e substitui por mais específico */

/* Cada card - VOLTA AO BÁSICO SEM INTERFERIR NO LAYOUT ORIGINAL */
.carousel .slides .card {
    min-width: 300px;
    max-width: 300px;
    margin: 0 10px;
    background: transparent;
    border-radius: 12px 12px 0 0;
    border: none; /* Remove a borda que estava causando problemas */
    box-shadow: none; /* Remove sombra que pode interferir */
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Hover super simples - só opacidade */
.carousel .slides .card:hover {
    opacity: 0.95;
    transition: opacity 0.3s ease;
}

/* Deixa o template original cuidar do fundo e estilos internos */
.carousel .slides .card .p-table,
.carousel .slides .card .pricing-1-table {
    /* Remove todas as forçadas de estilo - deixa o template original decidir */
}

/* Aplica fundo branco APENAS no conteúdo interno específico */
.carousel .slides .card .p-table.pricing-1-table.bg--white-100 {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-radius: 10px 10px 0 0 !important; /* Ajustado para compensar a borda */
}

/* Alternativa: força fundo branco no primeiro div filho */
.carousel .slides .card > div:first-child {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-radius: 10px 10px 0 0 !important; /* Ajustado para compensar a borda */
}

/* Mantém os botões na cor original */
.carousel .slides .card .pt-btn,
.carousel .slides .card .btn,
.carousel .slides .card a[class*="btn"] {
    background: #007bff !important;
    background-color: #007bff !important;
    color: #ffffff !important;
}

.carousel .slides .card .btn--theme {
    background: #0066cc !important;
    background-color: #0066cc !important;
}

.carousel .slides .card .pt-btn:hover,
.carousel .slides .card .btn:hover {
    background: #0052a3 !important;
    background-color: #0052a3 !important;
}

/* Hover do card sem afetar o fundo geral */
.carousel .slides .card:hover {
    opacity: 0.95;
    transition: opacity 0.3s ease;
}

/* Botões de navegação */
.nav-btn {
    position: absolute;
    top: 35%;
    transform: translateY(-50%);
    background: #0066cc;
    color: white;
    border: none;
    border-radius: 25%;
    width: 30px;
    height: 30px;
    cursor: pointer;
    font-size: 16px;
    z-index: 10;
    font-weight: bold;
    box-shadow: 0 2px 10px rgba(0,102,204,0.3);
}

.nav-btn:hover {
    background: #004499;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 4px 15px rgba(0,102,204,0.4);
    z-index: 999; /* Mantém por cima mesmo no hover */

}

.prev { left: 27px; }
.next { right: -0px; }

/* Indicadores */
.dots {
    text-align: center;
    padding: 20px 0;
}

.dot {
    height: 10px;
    width: 10px;
    margin: 0 5px;
    background: #ccc;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
}

.dot.active {
    background: #0066cc;
}

/* Mobile - Layout em coluna COM TODOS OS CARDS VISÍVEIS - ESPECÍFICO PARA CARROSSEL */
@media (max-width: 768px) {
    /* APENAS o container do carrossel */
    .carousel {
        overflow: visible !important;
        padding: 10px !important;
        max-width: none !important;
        width: 100% !important;
    }

    /* APENAS o slides do carrossel */
    .carousel .slides {
        flex-direction: column !important;
        transform: none !important;
        transition: none !important;
        display: flex !important;
        width: 100% !important;
        overflow: visible !important;
    }

    /* APENAS os cards dentro do carrossel */
    .carousel .slides .card {
        min-width: 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 15px 0 !important;
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        flex-shrink: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* FORÇA TODOS OS CARDS DO CARROSSEL A SEREM VISÍVEIS */
    .carousel .slides .card:nth-child(n) {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        min-height: 300px !important;
        overflow: visible !important;
        border: 1px dashed #ccc; /* Debug temporário */
    }

    /* FORÇA CONTEÚDO INTERNO DOS CARDS DO CARROSSEL - SEM AFETAR PREÇOS */
    .carousel .slides .card > div:first-child,
    .carousel .slides .card .p-table,
    .carousel .slides .card .pricing-1-table,
    .carousel .slides .card ul,
    .carousel .slides .card li,
    .carousel .slides .card h5,
    .carousel .slides .card p,
    .carousel .slides .card a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* APENAS controles do carrossel */
    .carousel .nav-btn,
    .carousel .dots {
        display: none !important;
    }
}

/* Tablet - 2 colunas */
@media (min-width: 769px) and (max-width: 1024px) {
    .card {
        min-width: calc(50% - 20px);
    }
}