/* =========================================
   Reset Básico e Configurações Globais
   ========================================= */

*,
*::before,
*::after {
    box-sizing: border-box; /* Garante que padding e bordas não aumentem a largura do elemento */
    margin: 0;
    padding: 0;
}

body {
    line-height: 1.6; /* Melhora a legibilidade do texto */
    /* Pilha de fontes nativas modernas para carregamento rápido e visual limpo */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #333333; /* Cor de texto suave (não 100% preto) para descansar a vista */
    background-color: #ffffff;
    -webkit-font-smoothing: antialiased; /* Suaviza a fonte no macOS/iOS */
    -moz-osx-font-smoothing: grayscale;
}

p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word; /* Evita que palavras muito longas vazem do contêiner */
}

a {
    text-decoration: none;

}




/* =========================================
   Estrutura e Layout (Mobile First)
   ========================================= */


/* --- Cabeçalho --- */
body {
    width: 100%;
    height: 100vh;
    background-image: 
    linear-gradient(
        to bottom, 
        rgba(235, 235, 235, 0), 
        rgba(235, 235, 235, 0), 
        rgba(133, 4, 4, 0.534)
    ),
    url(bg-yorkers.jpg);
    
    /* Configurações padrão para a imagem cobrir o espaço e ficar centralizada */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    /* Estilos extras para centralizar o texto dentro da div */
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-items: center;
    color: white;
    padding: 30px 0 30px;
}


section {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0 30px 45px;
    font-size: 1em;
    gap: 20px;
}

section a {
    width: 100%;
    height: 56px;
    border: 2px solid #fdff8e;
    border-radius: 7px;
    display: flex;
    flex-direction: row;
    color: #fdff8e;
    font-weight: 700;
    line-height: 1.2em;
    gap: 15px;
    justify-content: center;
    align-items: center;
    justify-items: center;
    padding: 10px 0;
}

header {
    width: 100%;
    position: absolute;
    top: 30px;
    display: flex;
    justify-content: center;
}

header svg {
    fill: #ffffff;
    width: 50%;
    height: auto;
}

section a:hover, footer a:hover {
color: #fdff8e;
}

section a svg {
    width: auto;
    height: 42px;
    fill: #fdff8e;
    max-width: 60px;
}

/* --- Rodapé --- */
footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    color: #ffffff;
    text-align: center;
    padding: 0 40px;
    align-items: center;
    gap: 10px;
}

footer a {
    color: #ffffff;
    height: auto;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

footer a svg {
    fill: #ffffff;
    width: 26px;
}


footer p {
    width: 100%;
    font-size: .9em;
    font-family: 'Times New Roman', Times, serif;
}


/* =========================================
   Media Queries (Responsividade)
   ========================================= */

/* Dispositivos Médios (Tablets, a partir de 768px) */
@media (min-width: 768px) {

header svg {
    width: 40%;
}

footer a {
    font-size: 22px;
}

section {
    width: 80%;
}

section a {
    height: 70px;
    font-size: 26px;
}

    
}

/* Dispositivos Grandes (Desktops, a partir de 1024px) */
@media (min-width: 1024px) {


header svg {
    width: 360px;
}

footer a {
    font-size: 22px;
}

section {
    flex-direction: row;
    width: 80%;
    justify-content: center;

}

section a {
    width: 30%;
    height: 70px;
    font-size: 22px;
}

    
}