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

/* Estilos gerais */
body {
    font-family: 'NunitoSans', sans-serif;
    background-color: #F0FFFF;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
}

/* Header */
header {
    position: relative;
    width: 100%;
    height: 70px;
    background-color: #08262B;
    box-shadow: 0 4px 2px -2px gray;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Centraliza a área do meio */
    padding: 0 20px;
}

/* Logo no canto esquerdo */
.header-img {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.header-img img {
    width: 170px;
    height: auto;
}

/* Centraliza o título na tela */
.header-center {
    text-align: center;
    flex-grow: 1;
}

/* Estilo do título */
header h1 {
    font-size: 24px;
    letter-spacing: 8px;
    background: linear-gradient(173deg, rgba(187, 255, 39, 1) 29%, rgba(0, 255, 133, 1) 54%, rgba(8, 38, 43, 1) 100%);
    -webkit-background-clip: text;
    color: transparent;
    text-shadow: 0 9px 7px rgba(0, 0, 0, 0.2);
    margin: 0;
    text-transform: uppercase;
}

@media (max-width: 600px) {
    header {
        height: auto;
        flex-direction: column;
        padding: 10px;
    }

    .header-img {
        position: static;
        transform: none;
        margin-bottom: 10px;
    }

    .header-center h1 {
        font-size: 20px;
        letter-spacing: 4px;
    }
}

/* Estilos do conteúdo principal */
main {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding: 20px;
    min-height: 100dvh;
}

/* Layout dos cards */
.card {
    flex: 1 1 calc(25% - 20px);
    /* Cards flexíveis */
    max-width: calc(25% - 20px);
    /* Garantia de largura máxima */
    height: auto;
    border: 1px solid #ccc;
    border-radius: 10px;
    background-color: white;
    box-shadow: 0 10px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s;
    text-align: center;
}

@media screen and (max-width: 1300px) {
    .card {
        width: calc(33% - 20px);
        max-width: calc(33% - 20px);
        min-width: calc(33% - 20px);
        /* 4 cards por linha */
    }
}


@media screen and (max-width: 1000px) {
    .card {
        width: calc(33% - 20px);
        max-width: calc(33% - 20px);
        min-width: calc(33% - 20px);
        /* 4 cards por linha */
    }
}

@media screen and (max-width: 900px) {
    .card {
        width: calc(50% - 20px);
        max-width: calc(50% - 20px);
        min-width: calc(50% - 20px);
        /* 4 cards por linha */
    }
}

@media screen and (max-width: 600px) {

    .main {
        flex-direction: column;
    }

    .card {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
        /* 4 cards por linha */
    }

}

.card a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
    height: 100%;
}

.card img {
    width: 40%;
    margin-top: 10px;
    object-fit: contain;
    border-radius: 10px;
}

.orion-img {
    width: 60% !important;
    height: auto;
}


.card h3 {
    margin: 10px 0 5px;
    font-size: 18px;
}

.card p {
    font-size: 14px;
    padding: 0 10px 10px;
}

/* Efeito de hover nos cards */
.card:hover {
    transform: scale(1.05);
}

/* Responsividade */
@media (max-width: 1200px) {
    .card {
        flex: 1 1 calc(25% - 20px);
        /* 4 cards por linha */
    }
}

@media (max-width: 992px) {
    .card {
        flex: 1 1 calc(33.3333% - 20px);
        /* 3 cards por linha */
    }
}

@media (max-width: 768px) {
    .card {
        flex: 1 1 calc(50% - 20px);
        /* 2 cards por linha */
    }
}

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

/* Estilos do footer */
footer {
    text-align: center;
    padding: 20px;
    background-color: #08262B;
    color: white;
    font-size: 16px;
    position: relative;
}