/*
Theme Name: Hotel Indigo Nagasaki Glover Street
Theme URI: https://nagasaki.hotelindigo.com
Author: Local Curator
Author URI: https://nagasaki.hotelindigo.com
Description: A premium, boutique retreat theme shaped by Nagasaki's Wa-Ka-Ran heritage—a harmonious fusion of Japanese (Wa), Chinese (Ka), and Western (Ran) cultures. Tailored with smooth Lenis scrolling, GSAP parallax typography statement, and sophisticated layout grids. Designed as a high-fidelity presentation mockup.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hotel-indigo
Tags: translation-ready, custom-menu, featured-images, custom-colors, full-width-template

This theme is fully self-contained with Tailwind CSS CDN integration, Google Playfair Display & Plus Jakarta Sans typography, and full interactive GSAP parallax animation sets.
*/

/* Custom CSS rule wrappers for Lenis smooth scrolling, accordions and transitions */
.material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 300,
    "GRAD" 0,
    "opsz" 24;
}
body {
  background-color: #f6f4ee;
  color: #1b2226;
}
.parallax-wrap {
  overflow: hidden;
}
.parallax-bg {
  transform: scale(1.2);
  will-change: transform;
}

html.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}

.editorial-title {
  font-family: "Playfair Display", serif;
  font-style: italic;
}

.outline-text {
  -webkit-text-stroke: 1px rgba(27, 34, 38, 0.08);
  color: transparent;
}

.outline-text.text-white {
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.15);
}

/* For dark-background sections (CTA, Gastronomy) — use a white stroke */
.outline-text-light {
  opacity: 0.3;
  -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.15);
  color: white;
}

.js-enabled .reveal-text {
  clip-path: inset(0% 0% 100% 0%);
  opacity: 0;
  transform: translateY(30px);
}
.reveal-text {
  will-change: transform, clip-path, opacity;
}

.js-enabled .reveal-img {
  clip-path: inset(100% 0% 0% 0%);
  opacity: 0;
}
.reveal-img {
  will-change: clip-path, opacity;
}

.text-white {
  color: #ffffff !important;
}

#mobile-menu-trigger.active #bar1 {
  transform: translateY(7px) rotate(45deg);
}
#mobile-menu-trigger.active #bar2 {
  opacity: 0;
  transform: scale(0);
}
#mobile-menu-trigger.active #bar3 {
  transform: translateY(-7px) rotate(-45deg);
}

#mobile-menu {
  background-color: rgba(246, 244, 238, 0.98);
}

#hero-headline,
#hero-overlay-content h2 {
  line-height: 1.2 !important;
}

.faq-item {
  border: 1px solid rgba(27, 34, 38, 0.08);
  border-left: 4px solid transparent;
  background-color: #ffffff;
  transition: all 0.3s ease;
  border-radius: 8px;
  padding: 24px;
}
.faq-item.active {
  border-left-color: #c37a53;
  background-color: #f9f7f2;
  border-color: rgba(27, 34, 38, 0.15);
}
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.4s ease-out,
    opacity 0.4s ease-out,
    margin-top 0.4s ease-out;
  opacity: 0;
}
.faq-item.active .faq-content {
  max-height: 300px;
  margin-top: 16px;
  opacity: 1;
}
.faq-item.active .faq-icon {
  transform: rotate(180deg);
  color: #c37a53;
}

/* Align hero absolute panels with centered max-width container on wide screens */
@media (min-width: 768px) {
  #collage-bg {
    right: calc(4vw + max(0px, (100vw - 1440px) / 2));
  }
  #collage-fg {
    right: calc(26vw + max(0px, (100vw - 1440px) / 2));
  }
  #collage-detail {
    right: calc(2vw + max(0px, (100vw - 1440px) / 2));
  }
}
