/* Lenis Smooth Scroll Styles */
html.lenis, html.lenis body {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* Prevent layout shift from GSAP before load */
.gsap-reveal {
  visibility: hidden;
}

:root {
  --color-gold: #ecaa1e;
  --color-gold-muted: #dfd6bf;
  --color-gold-dark: #ce9124;
  --color-terracotta: #9a3a19;
  --color-terracotta-bright: #c44f27;
  --color-bg-dark: #111111;
  --color-bg-header: #171717;
  --color-cream: #e6dfd1;
  --color-sage: #2f5233;
}

/* Button arrow icon hover transitions */
a.btn-hover-light:hover img[src*="arrow"] {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}
a.btn-hover-dark:hover img[src*="arrow"] {
  filter: brightness(0);
  transition: filter 0.3s ease;
}
a img[src*="arrow"] {
  transition: filter 0.3s ease;
}

html, body {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar, 
body::-webkit-scrollbar {
  display: none;
}

body {
  font-family: "Jost", sans-serif;
}

.font-serif {
  font-family: "Jost", serif;
}

/* Auto-scrolling Carousel Animation */
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.animate-carousel {
  animation: scroll 30s linear infinite;
  width: max-content;
}

.animate-carousel:hover {
  animation-play-state: paused;
}

/* Smooth fade for Lightbox */
.lightbox-fade-enter {
  opacity: 0;
}

.lightbox-fade-enter-active {
  opacity: 1;
  transition: opacity 300ms ease-in-out;
}

/* Mobile Menu Styles */
#mobile-menu {
  transform: translateX(100%);
}

/* Responsive adjustments for image offsets */
@media (max-width: 1024px) {
  .offset-box {
    bottom: -1rem !important;
    left: -1rem !important;
    right: -1rem !important;
    top: -1rem !important;
  }
}

/* Prevent horizontal overflow on mobile */
html, body {
  overflow-x: hidden;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Slow down carousel on mobile for better readability */
@media (max-width: 640px) {
  .animate-carousel {
    animation-duration: 20s;
  }
}

/* Hero Flickity Carousel */
#hero-carousel {
  position: relative;
}

#hero-carousel .carousel-cell {
  width: 100%;
  height: 100%;
}

#hero-carousel .carousel-cell img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Flickity page dots theming */
#hero-carousel .flickity-page-dots {
  bottom: 20px;
}

#hero-carousel .flickity-page-dots .dot {
  width: 8px;
  height: 8px;
  background: rgba(236, 170, 30, 0.4);
  border-radius: 50%;
  margin: 0 6px;
}

#hero-carousel .flickity-page-dots .dot.is-selected {
  background: #ecaa1e;
}

/* Desktop floating image offsets — only apply on lg+ */
@media (min-width: 1024px) {
  .float-offset-left {
    transform: translate(-80px, -80px);
  }
  .float-offset-right {
    transform: translate(80px, -80px);
  }
}
