:root {
    --cor-bege: #ffedc8;
    --cor-azul: #255EE8;
    --cor-laranja: #FE4A19;
    --tamanho-fonte: 100%;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
    font-size: var(--tamanho-fonte);
}

body {
    /* Define a Fira Sans como fonte padrão de todo o site */
    /*          (Anderosn desativou para colocar Londrina Solid que cliente pediu) font-family: 'Fira Sans', sans-serif; */
    
    /* Aplica o fundo Bege via Design Token Oficial */
    background-color: var(--cor-bege);
    
    /* Define a cor padrão do texto via Design Token Azul */
    color: var(--cor-azul);
}

#texto-digitacao,
.font-destaque {
    font-family: 'Londrina Solid', cursive;
    letter-spacing: 0.05em;
}

/* Correções de Resets (WYSIWYG) */
b, strong {
    font-weight: 700 !important;
}

/* Atualizado para a nova fonte LosLana Niu (Typekit).
   Fallback graceful: se Typekit cair/for bloqueado, cai pra Londrina Solid (já carregada via Google Fonts). */
h1, h2, h3, h4, h5, h6 {
    font-family: 'loslana-niu', 'Londrina Solid', 'Inter', sans-serif;
}

/* Gradiente do Hero Section (Ajustado para legibilidade) */
.gradiente-hero {
    background: linear-gradient(to right, 
        rgba(0, 0, 0, 0.9) 0%, 
        rgba(0, 0, 0, 0.5) 50%, 
        rgba(0, 0, 0, 0) 100%
    );
}

/* Cursor de Digitação (Animação) */
.cursor-digitacao::after {
    content: '|';
    display: inline-block;
    margin-left: 2px;
    font-weight: 100;
    opacity: 1;
}

.cursor-digitacao.piscando::after {
    animation: piscarCursor 0.8s step-end infinite;
}

@keyframes piscarCursor {
    from, to { opacity: 1; }
    50% { opacity: 0; }
}

/* Efeito de Zoom nos Cards */
.zoom-card .h-56 img {
    transition: transform 0.5s ease;
}

.zoom-card:hover .h-56 img {
    transform: scale(1.1);
}

/* Animação Fade In */
.fade-in {
    animation: aparecerSuave 0.5s ease-in-out forwards;
}

@keyframes aparecerSuave {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsividade */
@media (max-width: 640px) {
    h1 {
        font-size: 2.5rem;
    }
    .gradiente-hero {
        background: linear-gradient(to top, 
            rgba(0, 0, 0, 0.95) 0%, 
            rgba(0, 0, 0, 0.7) 50%, 
            rgba(0, 0, 0, 0) 100%
        );
    }
}

/* --- Acessibilidade: Alto Contraste --- */
.high-contrast {
    background-color: #000 !important;
    color: #fff !important;
}
.high-contrast * {
    background-color: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}
.high-contrast .text-asa-laranja, 
.high-contrast .text-asa-azul,
.high-contrast .text-asa-azulEscuro {
    color: #ffff00 !important;
}
.high-contrast .bg-asa-laranja,
.high-contrast .bg-asa-azul {
    background-color: #ffff00 !important;
    color: #000 !important;
}
.high-contrast img {
    filter: grayscale(100%) contrast(120%);
}

/* Animação de descida para o Saiba Mais */
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-slide-down {
    animation: slideDown 0.4s ease-out forwards;
}

/* Destaque para o card de doação no mobile */
@media (max-width: 768px) {
    .card-destaque-mobile {
        border: 2px solid var(--cor-laranja);
        box-shadow: 0 20px 40px rgba(254, 118, 36, 0.15);
    }
}

.transition-all-custom {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Esconder barra de rolagem mas manter funcionalidade */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.scrollbar-hide {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
@keyframes swipeHint { 0%, 100% { transform: translateX(-20%); opacity: 0.3; } 50% { transform: translateX(20%); opacity: 1; } } .animate-swipe-hint { animation: swipeHint 2s ease-in-out infinite; }



