/* 1. FONTE PERSONALIZADA */
@font-face {
    font-family: 'Glancyr';
    src: url('Glancyr-Regular.woff2') format('woff2'),
         url('Glancyr-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* 2. VARIÁVEIS DE CORES */
:root {
    --azul-escuro: #162b42;
    --verde: #00ee02;
    --azul-claro: #003cfe;
    --cinza-fundo: hsl(0, 0%, 98%);
    --branco: hsl(0, 0%, 100%);
}

/* 3. RESET E CONFIGURAÇÕES GERAIS */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Glancyr', 'Montserrat', sans-serif;
}

html { scroll-behavior: smooth; }

body {
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--azul-escuro);
    line-height: 1.6;
    background-color: var(--cinza-fundo);
}

.container { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 20px; 
}

/* 4. HEADER */
header {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.header-flex { 
    display: flex; 
    justify-content: flex-start; /* Centraliza a logo no mobile */
    align-items: center; 
}

.logo-img { 
    height: 50px; 
    width: auto; 
}

/* 5. HERO (Cartaz Responsivo) */
.secao-hero { 
    padding: 30px 0; 
    text-align: center; 
}

.container-imagem {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}

.imagem-poster {
    width: 100%;
    height: auto;
    border-radius: px;
    
    transition: transform 0.4s ease;
}

.imagem-poster:hover {
    transform: scale();
}

/* 6. PATROCINADORES / CORREALIZAÇÃO */
.secao-patrocinadores {
    padding: 30px 0;
    text-align: center;
}

.secao-patrocinadores h2 {
    margin-bottom: 60px;
    font-size: 25px;
    
}

.grid-patrocinadores {
    display: grid;
    /* Cria colunas automáticas de no mínimo 120px */
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 30px;
    align-items: center;
    justify-items: center;
    background: var(--branco);
    padding: 40px;
    border-radius: 30px;
}

.grid-patrocinadores img {
    width: 100%;
    max-width: 110px;
    height: auto;
    max-height: 80px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.grid-patrocinadores img:hover {
    transform: scale(1.1);
}

/* 7. FOOTER */
footer {
    background: var(--azul-escuro);
    color: white;
    padding: 40px 0;
    text-align: center;
    border-radius: 40px 40px 0 0;
    margin-top: 40px;
}

/* 8. MEDIA QUERIES (Ajustes para Celular) */
@media (max-width: 768px) {
    .secao-patrocinadores h2 { font-size: 1.5rem; }
    
    .grid-patrocinadores {
        grid-template-columns: repeat(3, 1fr); /* 3 logos por linha em tablets */
        padding: 20px;
        gap: 20px;
    }
}

@media (max-width: 480px) {
    .grid-patrocinadores {
        grid-template-columns: repeat(2, 1fr); /* 2 logos por linha em celulares */
    }
    
    .logo-img { height: 35px; }
    
    .secao-hero { padding: 15px 0; }
}