/*
    CSS GERAL
 */

.hero {
    text-align: center;
    width: 100%;
    /* Removido o background e padding fixo daqui, utilizando as classes do Metronic no HTML */
}

/* === Container do carrossel === */
.carousel-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.carousel-wrapper {
    overflow: hidden;
    padding: 15px 0; /* Padding para a sombra (box-shadow) do hover-elevate-up não ser cortada */
}

.carousel-items {
    display: flex;
    transition: transform 0.6s ease;
    scroll-behavior: smooth;
}

/* === Cards === */
.event-card {
    flex: 0 0 auto;
    width: calc(25% - 20px); /* padrão: 4 por linha */
    margin: 0 10px;
    /* As bordas, arredondamento e sombra agora são controladas por classes no HTML */
}

.event-card img {
    width: 100%;
    height: 180px; /* Aumentada a altura da imagem para mais destaque (antes 100px) */
    object-fit: cover;
}

.event-card .card-body {
    flex: 1 1 auto;
}

/* === Responsividade === */
@media (max-width: 1200px) {
    .event-card { width: calc(50% - 20px); } /* 2 por linha */
}

@media (max-width: 767px) {
    .event-card { width: calc(100% - 20px); } /* 1 por linha */
}

/* === Botões de controle === */
.carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); /* Centralização vertical precisa */
    background-color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: 0;
    border-radius: 50%;
    width: 44px; /* Botão ligeiramente maior e mais acessível */
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--bs-primary); /* Utilizando a cor primária do tema para os ícones */
    font-size: 1.25rem;
    transition: all 0.2s ease;
    z-index: 10;
}

.carousel-control:hover {
    background-color: var(--bs-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.carousel-control.prev { left: -22px; }
.carousel-control.next { right: -22px; }

.carousel-control:disabled {
    opacity: 0;
    pointer-events: none;
}

/* Ocultar botões em mobile */
@media (max-width: 767px) {
    .carousel-control { display: none; }
}

.banner-carousel {
    width: 100vw; /* ocupa toda a largura da tela */
    max-width: 100% !important;
}

.banner-carousel .carousel-inner {
    display: flex;
    flex-wrap: nowrap;
}

.banner-carousel .carousel-item {
    flex: 0 0 100%; /* cada item ocupa 100% da largura */
}

.banner-carousel .carousel-caption {
    max-width: 90%;
}

#kt_app_content_container.banner-full {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}