/* Base Styles */
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; }

/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* Custom Selection */
::selection {
    background-color: #D4AF37;
    color: #FFFFFF;
}

/* Navbar Scrolled State */
#navbar.scrolled {
    background-color: rgba(253, 251, 247, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* Parallax Image Container */
.parallax-container {
    overflow: hidden;
    position: relative;
}

.parallax-img {
    will-change: transform;
}

/* Glassmorphism Cards */
.glass-card {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* Hover Elevation for Cards */
.hover-elevate {
    transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
.hover-elevate:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(45, 36, 34, 0.08);
}

/* Cinematic Gradient Text */
.text-gradient {
    background: linear-gradient(135deg, #2D2422 0%, #D4AF37 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

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

/* Image Reveal Overlay */
.reveal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FDFBF7;
    z-index: 10;
    transform-origin: right;
}

/* Form inputs */
input:focus ~ label, input:not(:placeholder-shown) ~ label,
textarea:focus ~ label, textarea:not(:placeholder-shown) ~ label,
select:focus ~ label, select:not([value=""]) ~ label {
    transform: translateY(-1.5rem) scale(0.85);
    color: #D4AF37;
}

/* Custom button hover shine effect */
.btn-shine {
    position: relative;
    overflow: hidden;
}
.btn-shine::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-25deg);
    transition: left 0.7s ease;
}
.btn-shine:hover::before {
    left: 200%;
}
