/* Custom Styles for Novascape Uptown */

/* Lenis Recommended CSS for 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;
}

/* Base Adjustments */
body {
    overflow-x: hidden;
}

/* Custom Scrollbar for a premium feel */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #F8F8F8;
}

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

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

/* Image overlay for hero */
.hero-overlay {
    background: linear-gradient(to right, rgba(248, 248, 248, 0.95) 0%, rgba(248, 248, 248, 0.4) 100%);
}

/* Premium Slick Slider Custom Styles */
.slick-dots {
    bottom: -50px;
}
.slick-dots li {
    width: 6px;
    height: 6px;
    margin: 0 4px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: #3B3B3B;
    opacity: 0.15;
    border-radius: 9999px;
}
.slick-dots li button {
    width: 100%;
    height: 100%;
    padding: 0;
}
.slick-dots li button:before {
    display: none;
}
.slick-dots li.slick-active {
    width: 32px;
    opacity: 1;
    background-color: #Ed7336;
}

/* Ensure default pseudo arrows are hidden */
.slick-prev:before, .slick-next:before {
    display: none !important;
}

/* intl-tel-input overrides */
.iti {
    width: 100%;
}
.iti__flag-container {
    z-index: 10;
}
.iti__selected-flag {
    border-radius: 4px 0 0 4px;
}
.iti__country-list {
    background-color: white;
    color: #3B3B3B;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Adjust body padding for fixed footer */
body {
    padding-bottom: 70px;
}
.hero-section-height {
    height: calc(100vh - 70px);
}
.hero-slider .slick-list,
.hero-slider .slick-track,
.hero-slider .slick-slide {
    height: 100%;
}

@media (max-width: 768px) {
    body {
        padding-bottom: 30px;
    }
    .hero-section-height {
        height: calc(100vh - 30px);
    }
}

section{
    overflow-x: hidden;
}

/* CTA Pulse Animation */
@keyframes borderPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(237, 115, 54, 0.8);
    }
    70% {
        box-shadow: 0 0 0 20px rgba(237, 115, 54, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(237, 115, 54, 0);
    }
}

.animate-border-pulse {
    animation: borderPulse 2s infinite;
}

/* Prevent Layout Shift for Hero Slider before Slick initializes */
.hero-slider:not(.slick-initialized) {
    display: flex;
    overflow: hidden;
    height: 100%;
}
.hero-slider:not(.slick-initialized) > div {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
}
.hero-slider:not(.slick-initialized) > div:not(:first-child) {
    display: none;
}

/* Prevent Layout Shift for Amenities Slider before Slick initializes */
.amenities-slider:not(.slick-initialized) {
    display: flex;
    overflow: hidden;
}
.amenities-slider:not(.slick-initialized) > div {
    width: 33.333%;
    flex-shrink: 0;
}
@media (max-width: 1024px) {
    .amenities-slider:not(.slick-initialized) > div {
        width: 50%;
    }
}
@media (max-width: 600px) {
    .amenities-slider:not(.slick-initialized) > div {
        width: 100%;
    }
    .amenities-slider:not(.slick-initialized) > div:not(:first-child) {
        display: none;
    }
}

/* Prevent Layout Shift for Gallery Slider before Slick initializes */
.gallery-slider:not(.slick-initialized) {
    display: flex;
    overflow: hidden;
}
.gallery-slider:not(.slick-initialized) > div {
    width: 50%;
    flex-shrink: 0;
}
@media (max-width: 768px) {
    .gallery-slider:not(.slick-initialized) > div {
        width: 100%;
    }
    .gallery-slider:not(.slick-initialized) > div:not(:first-child) {
        display: none;
    }
}