/* Elite Estate Custom Stylesheet */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root {
    --primary: #0F172A;      /* Slate 900 */
    --secondary: #1E293B;    /* Slate 800 */
    --accent: #0EA5E9;       /* Sky 500 */
    --gold: #C8A96A;         /* Gold Accent */
    --background: #F8FAFC;   /* Slate 50 */
    --text-charcoal: #1F2937;/* Gray 800 */
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Inter', sans-serif;
}

body {
    font-family: var(--font-body);
    background-color: var(--background);
    color: var(--text-charcoal);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, .font-serif {
    font-family: var(--font-heading);
}

/* Custom transitions and scroll bars */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Keyframes and classes for custom animations */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.animate-float {
    animation: float 4s ease-in-out infinite;
}

/* Glassmorphism utility card overrides */
.glass-panel {
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Custom premium hover cards zoom */
.hover-zoom-img {
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.hover-zoom-card:hover .hover-zoom-img {
    transform: scale(1.08);
}

/* Gold border divider accents */
.gold-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--gold) 50%, transparent);
}

/* Custom map canvas frame */
#map-canvas {
    height: 450px;
    width: 100%;
    z-index: 10;
}

/* Input highlights */
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.15);
}
