/* ========================================
   SORA 45 — Liquid Glass Effects
   iPhone "Liquid Glass" optimized for iOS Safari
   ======================================== */

/* ---- Liquid Glass Utility Classes ---- */

/* Frosted glass panel — nav bar, overlays (warm cream) */
.liquid-glass {
  background: rgba(242, 217, 138, 0.5);
  backdrop-filter: blur(40px) saturate(1.8);
  -webkit-backdrop-filter: blur(40px) saturate(1.8);
  border: 1px solid rgba(55, 88, 83, 0.08);
  border-radius: 20px;
}

/* Subtle glass — lighter blur for cards */
.liquid-glass--subtle {
  background: rgba(242, 217, 138, 0.35);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: 1px solid rgba(55, 88, 83, 0.06);
  border-radius: 16px;
}

/* Orange-tinted glass — accent panels */
.liquid-glass--orange {
  background: rgba(228, 126, 63, 0.1);
  backdrop-filter: blur(30px) saturate(1.6);
  -webkit-backdrop-filter: blur(30px) saturate(1.6);
  border: 1px solid rgba(228, 126, 63, 0.15);
  border-radius: 16px;
}


/* ========================================
   Mobile-Specific Glass Effects
   iOS Safari 15.4+ supports backdrop-filter
   ======================================== */
@supports (-webkit-backdrop-filter: blur(1px)) {

  /* Scrolled nav on mobile gets glass effect */
  @media (max-width: 767px) {
    .nav--scrolled {
      background: rgba(242, 217, 138, 0.7);
      backdrop-filter: blur(40px) saturate(1.8);
      -webkit-backdrop-filter: blur(40px) saturate(1.8);
      border-bottom: 1px solid rgba(55, 88, 83, 0.1);
    }

    /* Mobile menu overlay glass */
    .nav__mobile-menu--open {
      background: rgba(242, 217, 138, 0.92);
      backdrop-filter: blur(60px) saturate(2);
      -webkit-backdrop-filter: blur(60px) saturate(2);
    }

    /* Menu tabs glass container */
    .menu__tabs {
      background: rgba(228, 126, 63, 0.08);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-radius: 12px;
      padding: 4px;
      border-bottom: none;
      gap: 4px;
    }

    .menu__tab {
      border-radius: 8px;
      border-bottom: none;
      margin-bottom: 0;
    }

    .menu__tab--active {
      background: rgba(228, 126, 63, 0.15);
      border-bottom: none;
    }

    /* Elevator loader counter glass background */
    .loader__counter-wrapper {
      background: rgba(242, 217, 138, 0.5);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-radius: 16px;
      padding: 24px 40px;
      border: 1px solid rgba(55, 88, 83, 0.1);
    }

    /* Hero content glass card on mobile */
    .hero__content {
      background: rgba(26, 26, 26, 0.25);
      backdrop-filter: blur(24px) saturate(1.5);
      -webkit-backdrop-filter: blur(24px) saturate(1.5);
      border-radius: 20px;
      padding: 32px 24px;
      border: 1px solid rgba(255, 253, 245, 0.1);
    }

    /* Walk-in badge glass pill */
    .hero__walk-in {
      display: inline-block;
      background: rgba(242, 217, 138, 0.15);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(242, 217, 138, 0.2);
      border-radius: 100px;
      padding: 8px 20px;
    }
  }
}


/* ========================================
   iOS Safe Area Handling
   iPhone notch / Dynamic Island / home bar
   ======================================== */
@supports (padding: env(safe-area-inset-top)) {
  .nav {
    padding-top: calc(24px + env(safe-area-inset-top));
  }

  .nav--scrolled {
    padding-top: calc(16px + env(safe-area-inset-top));
  }

  .footer {
    padding-bottom: calc(var(--space-md) + env(safe-area-inset-bottom));
  }

  .hero__scroll-cue {
    bottom: calc(40px + env(safe-area-inset-bottom));
  }

  /* Mobile menu respects safe areas */
  .nav__mobile-menu {
    padding: env(safe-area-inset-top) env(safe-area-inset-right)
             env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
}


/* ========================================
   iOS Safari Scroll Optimizations
   ======================================== */
@media (max-width: 767px) {
  /* Prevent iOS rubber-banding jank on pinned sections */
  .hero,
  .gallery {
    -webkit-overflow-scrolling: touch;
  }

  /* Hardware acceleration for smooth scroll on iOS */
  .hero__image,
  .gallery__image {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }

  /* Prevent text size adjustment on orientation change */
  html {
    -webkit-text-size-adjust: 100%;
  }

  /* Touch targets minimum 44px for iOS HIG */
  .nav__burger {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .menu__tab {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .nav__mobile-link {
    padding: 8px 0;
    min-height: 44px;
  }
}


/* ========================================
   High Refresh Rate / ProMotion
   Smooth 120fps hints for iPhone Pro
   ======================================== */
@media (prefers-reduced-motion: no-preference) {
  .hero__image,
  .gallery__track,
  .gallery__image,
  .nav,
  .access-journey__path,
  .access-journey__marker {
    will-change: transform;
  }
}

/* Disable will-change when reduced motion is preferred */
@media (prefers-reduced-motion: reduce) {
  .hero__image,
  .gallery__track,
  .gallery__image,
  .nav,
  .access-journey__path,
  .access-journey__marker {
    will-change: auto;
  }
}


/* ========================================
   ACCESS JOURNEY — Liquid Glass Overlay
   Schéma d'accès interactif PVM → PH2 → 45e
   ======================================== */

.access-journey {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 80px 24px;
}

.access-journey__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0.95) 0%, rgba(26, 26, 26, 0.85) 100%);
  z-index: 0;
}

.access-journey__container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}

.access-journey__header {
  text-align: center;
  margin-bottom: 60px;
}

.access-journey__title {
  font-size: clamp(32px, 5vw, 48px);
  margin-bottom: 16px;
  color: var(--color-cream);
}

.access-journey__subtitle {
  font-size: 18px;
  color: rgba(245, 240, 235, 0.6);
  font-weight: 300;
}

/* SVG Path Container */
.access-journey__map {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  aspect-ratio: 16/9;
}

@media (max-width: 767px) {
  .access-journey__map {
    aspect-ratio: 9/16;
  }
}

.access-journey__svg {
  width: 100%;
  height: 100%;
}

/* Animated Path Line */
.access-journey__path {
  stroke: rgba(201, 169, 110, 0.3);
  stroke-width: 2;
  fill: none;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
}

.access-journey__path--active {
  stroke: var(--color-gold);
  stroke-width: 3;
  filter: drop-shadow(0 0 8px rgba(201, 169, 110, 0.6));
}

/* Journey Markers (Liquid Glass Pills) */
.access-journey__marker {
  position: absolute;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.access-journey__marker-inner {
  background: rgba(10, 10, 10, 0.4);
  backdrop-filter: blur(40px) saturate(1.8);
  -webkit-backdrop-filter: blur(40px) saturate(1.8);
  border: 1px solid rgba(201, 169, 110, 0.2);
  border-radius: 20px;
  padding: 20px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.access-journey__marker-inner:hover {
  background: rgba(10, 10, 10, 0.6);
  border-color: rgba(201, 169, 110, 0.5);
  transform: scale(1.05);
}

.access-journey__marker-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(201, 169, 110, 0.2), rgba(201, 169, 110, 0.05));
  border-radius: 50%;
  margin-bottom: 8px;
}

.access-journey__marker-number {
  font-size: 32px;
  font-weight: 300;
  color: var(--color-gold);
  font-family: 'Cormorant Garamond', serif;
}

.access-journey__marker-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-cream);
  text-align: center;
  margin-bottom: 4px;
}

.access-journey__marker-desc {
  font-size: 14px;
  color: rgba(245, 240, 235, 0.6);
  text-align: center;
  max-width: 160px;
}

/* Positioning for 3 markers */
.access-journey__marker--1 { top: 80%; left: 20%; }
.access-journey__marker--2 { top: 50%; left: 50%; }
.access-journey__marker--3 { top: 15%; left: 80%; }

@media (max-width: 767px) {
  .access-journey__marker--1 { top: 15%; left: 50%; }
  .access-journey__marker--2 { top: 50%; left: 50%; }
  .access-journey__marker--3 { top: 85%; left: 50%; }
  
  .access-journey__marker-inner {
    padding: 16px 24px;
  }
  
  .access-journey__marker-icon {
    width: 40px;
    height: 40px;
  }
  
  .access-journey__marker-number {
    font-size: 24px;
  }
  
  .access-journey__marker-title {
    font-size: 16px;
  }
  
  .access-journey__marker-desc {
    font-size: 13px;
  }
}
