body {
    font-family: 'Cairo', sans-serif;
    background-color: #070a14;
    color: #f8fafc;
}

/* Custom Scrollbars */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #0b132b;
}

::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #ca8a04;
}

.glass-card {
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-card-light {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(226, 232, 240, 0.8);
}

.gold-gradient-text {
    background: linear-gradient(135deg, #fef08a 0%, #eab308 50%, #ca8a04 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gold-btn {
    background: linear-gradient(135deg, #eab308 0%, #ca8a04 100%);
    box-shadow: 0 10px 25px -5px rgba(202, 138, 4, 0.4);
}

.gold-btn:hover {
    background: linear-gradient(135deg, #facc15 0%, #eab308 100%);
    box-shadow: 0 15px 30px -5px rgba(202, 138, 4, 0.6);
}

.shine-effect {
    position: relative;
    overflow: hidden;
}

.shine-effect::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -60%;
    width: 20%;
    height: 200%;
    opacity: 0.3;
    background: rgba(255, 255, 255, 0.8);
    background: linear-gradient(to right,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 0.8) 50%,
            rgba(255, 255, 255, 0) 100%);
    transform: rotate(30deg);
    animation: shine 4s infinite;
}

/* Light Theme Overrides */
html.light-theme body {
    background-color: #f8fafc;
    color: #0f172a;
}

html.light-theme ::-webkit-scrollbar-track {
    background: #e2e8f0;
}

html.light-theme ::-webkit-scrollbar-thumb {
    background: #94a3b8;
}

html.light-theme header {
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(15, 23, 42, 0.10) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.10) !important;
}

html.light-theme #mobile-menu,
html.light-theme footer,
html.light-theme #hero,
html.light-theme #mortgage-section,
html.light-theme #why-us {
    background: #f8fafc !important;
    color: #0f172a !important;
}

html.light-theme #hero .absolute.inset-0.bg-gradient-to-t {
    background: linear-gradient(to top, rgba(248, 250, 252, 0.96), rgba(248, 250, 252, 0.70), rgba(248, 250, 252, 0.90)) !important;
}

html.light-theme .glass-card {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(148, 163, 184, 0.35) !important;
    color: #0f172a;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

html.light-theme .bg-navy-950,
html.light-theme .bg-navy-950\/80,
html.light-theme .bg-navy-950\/90,
html.light-theme .bg-navy-900,
html.light-theme .bg-navy-900\/80,
html.light-theme .bg-navy-900\/90,
html.light-theme .bg-navy-800\/60,
html.light-theme .bg-navy-800\/80,
html.light-theme .bg-navy-800\/90,
html.light-theme .bg-slate-800,
html.light-theme .bg-slate-800\/80,
html.light-theme .bg-slate-800\/90 {
    background-color: #ffffff !important;
}

html.light-theme .text-white,
html.light-theme .text-slate-100,
html.light-theme .text-slate-200,
html.light-theme .text-slate-300 {
    color: #0f172a !important;
}

html.light-theme .text-slate-400,
html.light-theme .text-slate-500,
html.light-theme .text-slate-600 {
    color: #64748b !important;
}

html.light-theme .border-white\/5,
html.light-theme .border-white\/10,
html.light-theme .border-white\/20 {
    border-color: rgba(15, 23, 42, 0.12) !important;
}

html.light-theme select,
html.light-theme input,
html.light-theme textarea {
    background-color: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
}

html.light-theme .category-pill:not(.bg-gold-500),
html.light-theme #view-map-btn:not(.bg-gold-500),
html.light-theme #view-grid-btn:not(.bg-gold-500) {
    color: #475569 !important;
}

html.light-theme .property-theme-action,
html.light-theme #theme-toggle {
    background: #ffffff !important;
    color: #334155 !important;
    border-color: #cbd5e1 !important;
}

html.light-theme #theme-toggle:hover {
    background: #f1f5f9 !important;
    color: #ca8a04 !important;
}

/* Keep anchored home sections visible below the sticky navigation header. */
#hero,
#properties-section,
#mortgage-section,
#cities-section,
#why-us {
    scroll-margin-top: 6.5rem;
}
