/* Custom Styles & Animations */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Lato:wght@300;400;700&display=swap');

:root {
    --gold-primary: #C5A059;
    --gold-hover: #b08d4b;
    --dark-navy: #0F172A;
}

body {
    font-family: 'Lato', sans-serif;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
}

/* Smooth Scroll */
html {
    scroll-behavior: smooth;
}

/* Hero Overlay Gradient */
.hero-overlay {
    background: linear-gradient(to bottom, rgba(15, 23, 42, 0.4) 0%, rgba(15, 23, 42, 0.8) 100%);
}

/* Fallback background for Hero if image fails */
#home {
    background-color: var(--dark-navy);
}

/* Fade In Animation Classes */
.fade-in-section {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, visibility;
}

.fade-in-section.is-visible {
    opacity: 1;
    transform: none;
}

/* Card Hover Effects */
.property-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.property-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Language Switcher Active State */
.lang-btn.active {
    border-bottom: 2px solid var(--gold-primary);
    color: var(--gold-primary);
    font-weight: 700;
}

/* Form Styles */
.custom-input {
    transition: border-color 0.2s ease;
}

.custom-input:focus {
    border-color: var(--gold-primary);
    ring-color: var(--gold-primary);
}

/* Phone Input Override */
.iti { width: 100%; }
.iti__country-list { z-index: 100; color: #333; }
