/* Custom animations and utilities */

.glass {
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.text-balance {
    text-wrap: balance;
}

.mask-fade-bottom {
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

.text-mask {
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: url('https://images.unsplash.com/photo-1582407947304-fd86f028f716?auto=format&fit=crop&q=80&w=1000');
    background-size: cover;
    background-position: center;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: #F9F7F2;
}

::-webkit-scrollbar-thumb {
    background: #C5A059;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #D4B483;
}

/* Navbar Scrolled State */
nav.scrolled {
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    padding-top: 1rem;
    padding-bottom: 1rem;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

nav.scrolled .nav-logo {
    color: #1A1A1A !important;
}

nav.scrolled .nav-logo span {
    color: #C5A059 !important;
    /* Keep gold dot for brand consistency */
}

nav.scrolled .nav-link,
nav.scrolled .nav-action,
nav.scrolled #mobile-menu-toggle {
    color: #1A1A1A !important;
}

nav.scrolled .nav-button {
    border-color: rgba(26, 26, 26, 0.3) !important;
    color: #1A1A1A !important;
}

nav.scrolled .nav-button:hover {
    background-color: #1A1A1A !important;
    color: #FFFFFF !important;
}

/* AOS Custom Animations */
[data-aos="width-full"] {
    width: 0;
    transition-property: width;
}

[data-aos="width-full"].aos-animate {
    width: 100%;
}

/* Parallax Effect */
#hero-parallax {
    will-change: transform;
}

/* Mobile Menu Open */
#mobile-menu.open {
    transform: translateX(0);
}

/* Smooth Scroll */
html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

/* Elementor Editor Visibility Fix */
.elementor-editor-active [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    transition: none !important;
}

/* Red Border / Focus Reset */
button:focus,
button:active,
.elementor-widget-container button {
    outline: none !important;
    box-shadow: none !important;
}

.hero-play-button,
.hero-play-button:hover,
.hero-play-button:focus,
.hero-play-button:active {
    background-color: transparent !important;
    background: transparent !important;
    outline: none !important;
    border: none !important;
}

/* About Section Capsule Fix */
.about-capsule-container img.about-capsule-img {
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
}

/* Property Card Image Fix */
.property-card-img-container img.property-card-img {
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
}