@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');

/* Custom color variables */
:root {
    --primary: #F5F057;
    --dark-neutral: #2B2B2B;
    --light-neutral: #FAFAF2;
    --secondary-accent: #3A7D7C;
    --support-accent: #8C8A3C;
}

body {
    font-family: 'Montserrat', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

/* Tailwind color overrides */
.bg-f5f057 {
    background-color: var(--primary);
}

.bg-2b2b2b {
    background-color: var(--dark-neutral);
}

.bg-fafaf2 {
    background-color: var(--light-neutral);
}

.bg-3a7d7c {
    background-color: var(--secondary-accent);
}

.bg-8c8a3c {
    background-color: var(--support-accent);
}

.text-f5f057 {
    color: var(--primary);
}

.text-2b2b2b {
    color: var(--dark-neutral);
}

.text-fafaf2 {
    color: var(--light-neutral);
}

.text-3a7d7c {
    color: var(--secondary-accent);
}

.text-8c8a3c {
    color: var(--support-accent);
}

.border-3a7d7c {
    border-color: var(--secondary-accent);
}
/* Animation classes */
.transition {
    transition: all 0.3s ease;
}

.hover\:shadow-lg:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Single page styles */
section {
    scroll-margin-top: 80px; /* Account for fixed navbar */
    min-height: calc(100vh - 80px);
    padding-top: 80px;
}

custom-navbar .nav-link.active {
    color: var(--primary);
}

custom-navbar .nav-link.active:after {
    width: 100%;
}

#contact-form input,
#contact-form textarea {
    transition: all 0.3s ease;
}

#contact-form input:focus,
#contact-form textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(245, 240, 87, 0.3);
}
