/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Inter:wght@100..900&display=swap');

/* Define Brand Colors for Light Theme */
:root {
    --bs-primary: #D77F21; /* Rich Orange/Brown (EXCLUSIVE for Newsletter/key CTA) */
    --bs-secondary: #666666; /* Medium Gray for secondary text */
    --bs-main-text: #222222; /* Primary text color */
    --bs-light-bg: #FFFFFF; /* Primary Light Background (Hero, About, Cards) */
    --bs-alt-bg: #dbd8d8; /* Alternate Light Background (Pricing, Detailed Services, FAQ) */
    --bs-card-border: #E0E0E0; /* Light border color for cards */
    --bs-dark-footer: #1F1F1F; /* Footer background */
    --bs-cta-unique: #5A779C; /* Unique cool dark color for CTA section */

    /* Font Definitions */
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Inter', sans-serif;
}
body {
    font-family: var(--font-body);
    background-color: var(--bs-light-bg);
    color: var(--bs-main-text);
}
/* Apply Playfair Display to all headings and lead text */
h1, h2, h3, h4, h5, h6, .display-5, .lead {
    font-family: var(--font-heading); 
}

/* Overriding Bootstrap classes for the custom primary color */
.bg-primary-custom { background-color: var(--bs-primary) !important; }
.text-primary-custom { color: var(--bs-primary) !important; }
.btn-primary-custom {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.btn-primary-custom:hover {
    background-color: #BD6D1A; 
    border-color: #BD6D1A;
    box-shadow: 0 6px 12px rgba(215, 127, 33, 0.4);
    transform: translateY(-2px);
}

/* --- ACTIVE NAVBAR STYLES (Orange Text and Stroke) --- */
.navbar-nav .nav-link {
     padding-bottom: 8px; /* Ensure consistent padding space for the stroke */
     transition: all 0.3s ease;
     color: var(--bs-main-text); 
}

/* Orange text and stroke for the active link */
.navbar-nav .nav-link.active {
    color: var(--bs-primary) !important;
    font-weight: 600;
    border-bottom: 3px solid var(--bs-primary);
    padding-bottom: 5px; /* Adjust padding to center the stroke */
}
/* --- END ACTIVE NAVBAR STYLES --- */


/* Hero Section Styling */
#contact-hero {
    background-color: var(--bs-alt-bg);
    padding: 8rem 0; 
}

/* CTA Section - Unique Cool Color */
#business-cta {
    background-color: var(--bs-cta-unique);
    color: white;
}

/* Footer - Dark background for strong separation */
footer {
    background-color: var(--bs-dark-footer) !important;
}

/* Contact Info/Map Section */
.info-card {
    background-color: var(--bs-light-bg);
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--bs-card-border);
}
.info-icon {
    fill: var(--bs-primary);
    width: 28px;
    height: 28px;
}


/* ============================================= */
/* SCROLL ANIMATION CLASSES */
/* ============================================= */
.animate-on-scroll {
    opacity: 0;
    transition: opacity 0.7s ease-out, transform 0.7s ease-out;
    transform: translateY(30px);
}
.animate-on-scroll.active {
    opacity: 1;
    transform: translateY(0);
}
.delay-1 { transition-delay: 0.15s; }
.delay-2 { transition-delay: 0.3s; }
.delay-3 { transition-delay: 0.45s; }
.delay-4 { transition-delay: 0.6s; }
.delay-5 { transition-delay: 0.75s; }
.delay-6 { transition-delay: 0.9s; }
.delay-7 { transition-delay: 1.05s; }
.delay-8 { transition-delay: 1.2s; }

/* Newsletter Section - EXCLUSIVE ORANGE */
        #newsletter {
            background-color: var(--bs-primary);
            color: white;
        }   