@import url('https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;0,900;1,400;1,700&display=swap');

/* Base Variables based strictly on the user's Logo Colors */
:root {
    --red-brand: #ff0000;
    --wine-brand: #660000;
    --black-brand: #1a1a1a;
    --white-brand: #ffffff;
    --light-bg: #fffcfc; /* Acolhedor / Warm off-white */
}

/* Typography Enhancements */
body {
    font-family: 'Nunito', sans-serif;
    color: var(--black-brand);
    background-color: var(--light-bg);
}

.font-nunito { font-family: 'Nunito', sans-serif; }
.font-fredoka { font-family: 'Fredoka One', cursive; } /* O estilo da fonte em "Anjinhos de Rua" */

h1, h2, h3, h4, h5, h6 {
    font-weight: 800;
    letter-spacing: -0.5px;
    font-family: 'Nunito', sans-serif;
}

/* Color Utilities */
.text-red { color: var(--red-brand) !important; }
.text-wine { color: var(--wine-brand) !important; }
.bg-red { background-color: var(--red-brand) !important; }
.bg-wine { background-color: var(--wine-brand) !important; }

/* Emocional Buttons */
.btn-primary.bg-red {
    background-color: var(--red-brand) !important;
    transition: all 0.3s ease;
}
.btn-primary.bg-red:hover {
    background-color: #cc0000 !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(255, 0, 0, 0.4) !important;
}

.btn-outline-danger {
    color: var(--wine-brand);
    border-color: var(--wine-brand);
    border-width: 2px;
}
.btn-outline-danger:hover {
    background-color: var(--wine-brand);
    border-color: var(--wine-brand);
    color: white;
}

/* Navigation Hover Effect - Vinho e Vermelho */
.nav-link.text-wine { color: var(--wine-brand) !important; font-weight: 700; }
.nav-hover:hover { color: var(--red-brand) !important; }

/* Micro-animations */
.hover-lift {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease !important;
}
.hover-lift:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 30px rgba(102,0,0,0.15) !important;
}

.interaction-hover {
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.interaction-hover:hover {
    opacity: 1 !important;
    transform: scale(1.05);
}

.tracking-wider { letter-spacing: 2px; }
.line-height-lg { line-height: 1.8; }

/* Pulse animation for the Doar Button */
@keyframes pulse-red {
    0% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.7); }
    70% { box-shadow: 0 0 0 15px rgba(255, 0, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
}
.pulse-btn { animation: pulse-red 2s infinite; }
.pulse-btn:hover { animation: none; transform: translateY(-2px); }

/* Fade in animation for emotional hero text */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-up {
    animation: fadeUp 1s ease forwards;
    opacity: 0; 
}
.animate-delay-1 { animation-delay: 0.3s; }
.animate-delay-2 { animation-delay: 0.6s; }

/* Responsive Adjustments for Navbar Brand */
@media (max-width: 991.98px) {
    .display-3 { font-size: 2.2rem; }
    .display-4 { font-size: 1.8rem; }
    .brand-text span { transform: scale(0.85); transform-origin: left; }
    .brand-text { margin-top: 5px; }
}

/* Card aesthetics */
.card { border-radius: 1.2rem; overflow: hidden; }
