/* style.css */

/* --- Reset Básico e Estilos Globais --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: #00A99D;
    color: #fff;
    position: relative;
    overflow-x: hidden;
}

.container {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    position: relative;
    z-index: 2;
}

/* --- Formas Decorativas de Fundo --- */
.shape {
    position: absolute;
    width: 200px;
    height: 200px;
    transform: rotate(45deg);
    z-index: 1;
    transition: all 0.3s ease;
}

.shape-red1 { background-color: #D8242A; top: 150px; right: -100px; }
.shape-yellow1 { background-color: #FCEE21; top: 300px; left: -120px; }
.shape-red2 { background-color: #D8242A; top: 1050px; right: -80px; }
.shape-yellow2 { background-color: #FCEE21; top: 1200px; left: -100px; }

/* --- Cabeçalho --- */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
    gap: 20px;
}

.logo {
    display: flex;
    align-items: center;
}

.logo img {
    width: 60px;
    margin-right: 15px;
}

.logo h1 {
    font-size: 1.2em;
    font-weight: bold;
    text-transform: uppercase;
}

.btn-reserva {
    background-color: #01d81e;
    color: #fff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
    white-space: nowrap; /* Evita que o texto do botão quebre */
    
}

a{
    color: #fff;
}

/* --- Seções de Conteúdo --- */
.card {
    background-color: rgba(0, 0, 0, 0.1);
    padding: 25px;
    margin-top: 30px;
    border-radius: 15px;
}

/* Versículo do Dia */
.verse-day {
    background-color: #008479;
    text-align: center;
}

/* Sobre o ADAC */
.about-adac {
    background-color: #003F87;
    display: flex;
    align-items: center;
    gap: 25px;
}

.about-adac .text { flex: 2; }
.about-adac h2 { font-size: 1.4em; font-weight: 900; margin-bottom: 15px; }
.about-adac p { font-size: 0.9em; line-height: 1.7; }
.about-adac .adac-logo { flex: 1; text-align: center; }
.about-adac .adac-logo img { max-width: 180px; }

/* Slogan */
.slogan {
    background-color: #008479;
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
    padding: 20px;
}

/* Colabore */
.collaborate h2 { text-align: center; font-size: 1.5em; margin-bottom: 20px; }
.collaborate p { font-size: 1.1em; margin-bottom: 10px; font-weight: bold; }
.collaborate .social { text-align: right; margin-top: 15px; font-weight: bold; }

/* Ranking */
.ranking-section { text-align: center; margin-top: 40px; }
.ranking-section h2 { font-size: 2em; text-transform: uppercase; margin-bottom: 10px; font-weight: 900; }

/* Wrapper para a tabela ser rolável em telas pequenas */
.table-wrapper {
    overflow-x: auto;
}

.ranking-table {
    width: 100%;
    min-width: 500px; /* Garante que a tabela tenha um tamanho mínimo antes de rolar */
    border-collapse: separate;
    border-spacing: 0 10px;
    background-color: #01213E;
    border: 5px solid #fff;
    border-radius: 10px;
    padding: 10px;
}
.ranking-table th, .ranking-table td { padding: 15px; text-align: center; }
.ranking-table th { color: #FFF; font-size: 1.1em; }
.ranking-table td { background-color: #fff; color: #333; font-weight: bold; }
.ranking-table tr td:first-child { border-top-left-radius: 8px; border-bottom-left-radius: 8px; }
.ranking-table tr td:last-child { border-top-right-radius: 8px; border-bottom-right-radius: 8px; }
.ranking-table td.rank { background-color: #003F87; color: #fff; font-size: 1.4em; }

/* Inscrição */
.inscription {
    background-color: #fff;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.inscription-text h2 { font-size: 1.8em; font-weight: 900; margin-bottom: 10px; color: #01213E; }
.inscription .btn-reserva { padding: 15px 30px; font-size: 1em; }
.inscription-image img { width: 20rem; }

/* Momentos */
.moments { margin-top: 40px; text-align: center; }
.moments h2 { font-size: 2em; margin-bottom: 20px; text-transform: uppercase; font-weight: 900; }
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(3, 150px); gap: 10px; }
.gallery-item { overflow: hidden; border-radius: 10px; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; }
.item-1 { grid-area: 1 / 1 / 3 / 3; }
.item-2 { grid-area: 1 / 3 / 2 / 5; }
.item-3 { grid-area: 2 / 3 / 4 / 5; }
.item-4 { grid-area: 3 / 1 / 4 / 2; }
.item-5 { grid-area: 3 / 2 / 4 / 3; }

/* --- Rodapé --- */
footer { text-align: center; padding: 40px 20px 20px; color: rgba(255, 255, 255, 0.8); }


/*
==============================================
            RESPONSIVIDADE
==============================================
*/

/* --- Estilos para Tablets (até 900px) --- */
@media (max-width: 900px) {
    .container {
        padding: 15px;
    }

    .about-adac, .inscription {
        flex-direction: column; /* Itens ficam um sobre o outro */
        text-align: center;
    }

    .inscription-text {
        margin-bottom: 20px;
    }

    .shape {
        width: 150px;
        height: 150px;
    }
    .inscription-image img {
        width: 15rem; /* Reduz um pouco a imagem em tablets */
    }
}

/* --- Estilos para Celulares (até 600px) --- */
@media (max-width: 600px) {
    /* Esconde as formas decorativas para uma interface mais limpa */
    .shape {
        display: none;
    }

    header {
        flex-direction: column; /* Cabeçalho empilhado */
        gap: 15px;
    }

    .logo h1 {
        font-size: 1em;
    }

    h2 {
        font-size: 1.5em !important;
    }

    .card {
        padding: 20px;
    }

    .collaborate .social {
        text-align: center;
    }
    
    /* Ajusta a galeria de fotos para 2 colunas */
    .gallery {
        grid-template-columns: 1fr 1fr; /* 2 colunas */
        grid-template-rows: auto; /* Altura automática */
    }

    /* Reseta as áreas do grid para que as imagens fluam naturalmente */
    .gallery-item {
        grid-area: auto !important;
        height: 180px;
    }

    .inscription-image img { 
        width: 12rem; /* E um pouco mais em celulares */
    }
}