@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Nunito:wght@400;600&display=swap');
body {
    font-family: 'Nunito', sans-serif;
    line-height: 1.6;
    color: #2F2A26;
    margin: 0;
    padding: 0;
}

custom-header, custom-footer {
    display: block;
    width: 100%;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}

a {
    transition: color 0.3s ease, background-color 0.3s ease;
}

.bg-primary {
    background-color: #C49A84;
}

.bg-primary-dark {
    background-color: #9E7A63;
}

.text-primary {
    color: #C49A84;
}

.text-primary-dark {
    color: #9E7A63;
}

.bg-secondary {
    background-color: #EADFD7;
}

.bg-light {
    background-color: #F8F4F1;
}

.shadow-card {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.05);
}

.shadow-card-hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.rounded-xl {
    border-radius: 12px;
}

/* Custom animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 0.5s ease-out forwards;
}

/* Responsive spacing */
@media (min-width: 768px) {
    .section-py {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}