/* Importa a fonte Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

/* Variáveis de Cores (Modo Claro) */
:root {
    --cor-verde: #04b223;
    --cor-azul: #173dff;
    --cor-vermelho: #bd0217;
    --cor-branco: #ffffff;
    --cor-amarelo: #ffb905;
    --cor-texto: #1f2937;
    --cor-fundo: #f9fafb;
    --font-montserrat: 'Montserrat', sans-serif;
}

body {
    font-family: var(--font-montserrat);
    background-color: var(--cor-fundo);
    color: var(--cor-texto);
    overflow-x: hidden;
}

/* Utilitários de Cor */
.text-amarelo { color: var(--cor-amarelo); }
.text-azul    { color: var(--cor-azul); }
.text-verde   { color: var(--cor-verde); }
.text-vermelho{ color: var(--cor-vermelho); }
.text-branco  { color: var(--cor-branco); }

.bg-amarelo { background-color: var(--cor-amarelo); }
.bg-azul    { background-color: var(--cor-azul); }
.bg-verde   { background-color: var(--cor-verde); }
.bg-vermelho{ background-color: var(--cor-vermelho); }
.bg-branco  { background-color: var(--cor-branco); }

/* =========================================
   ANIMAÇÃO DO GRADIENTE
   ========================================= */

@keyframes color-scroll {
    /* Começa no 0% (início do gradiente esticado) */
    from { background-position: 0% 0%; }
    /* Termina no 400% (movendo 4x a largura para criar o loop perfeito) */
    to { background-position: 400% 0%; }
}

.gradiente-topo {
    /* Inclui todas as cores principais + a cor de repetição (azul) para o loop */
    background: linear-gradient(to right, var(--cor-azul), var(--cor-vermelho), var(--cor-verde), var(--cor-amarelo), var(--cor-azul));
    /* Estica o background 4x a largura da barra */
    background-size: 400% auto; 
    /* Aplica a animação: 30 segundos, linear (contínuo), infinito */
    animation: color-scroll 30s linear infinite; 
    height: 0.5rem;
    width: 100%;
}

/* =========================================
   ANIMAÇÕES DE ENTRADA (MANTIDAS)
   ========================================= */
@keyframes fadeInUp {
    from { opacity: 0; transform: translate3d(0, 20px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.animate-fade-in {
    animation: fadeInUp 0.6s ease-out forwards;
}

@keyframes spin-slow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.animate-spin-slow {
    animation: spin-slow 12s linear infinite;
}

/* =========================================
   AJUSTES RESPONSIVOS (MANTIDOS)
   ========================================= */
@media (max-width: 640px) {
    h1 { font-size: 1.75rem !important; line-height: 2.25rem !important; }
    h2 { font-size: 1.5rem !important; }
    .container { padding-left: 1rem !important; padding-right: 1rem !important; }
}

/* Ajuste específico para os cards de Governadores */
.gov-profile-container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-top: -2.5rem; 
    z-index: 20;
    pointer-events: none;
}
@media (min-width: 768px) {
    .gov-profile-container { margin-top: -3.5rem; }
}

.gov-profile-img {
    width: 5rem;
    height: 5rem;
    border-radius: 9999px;
    object-fit: cover;
    border: 3px solid white;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    flex-shrink: 0;
    pointer-events: auto;
}
@media (min-width: 768px) {
    .gov-profile-img { width: 7rem; height: 7rem; border: 4px solid white; }
}

.text-shadow-md { text-shadow: 0 2px 4px rgba(0,0,0,0.8); }

/* Correção do Calendário no Mobile */
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(80px, 1fr)); 
    gap: 1px;
    background-color: #e5e7eb;
    border: 1px solid #e5e7eb;
}
.calendar-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.calendar-day {
    background-color: white;
    min-height: 80px;
    padding: 0.25rem;
}

/* Estilos de Créditos (Mantidos) */
.team-member img {
    transition: all 0.3s ease;
    filter: grayscale(20%);
}
.team-member:hover img {
    filter: grayscale(0%);
    transform: scale(1.05);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.team-member {
    cursor: pointer;
}