/* Site-wide layout fixes — prevent horizontal document scroll from off-canvas UI */

html {
  overflow-x: clip;
}

body {
  max-width: 100%;
  overflow-x: clip;
}

/* Preserve LuxFind. mixed case when parent styles use text-transform: uppercase */
.brand-case {
  text-transform: none;
}

.brand-mark {
  text-transform: none;
  letter-spacing: 0.02em;
}

.logo.brand-case,
h1.brand-case,
h2.brand-case,
.page-title.brand-case,
.space-title.brand-case,
.member-title.brand-case,
.section-title.brand-case,
.kicker.brand-case,
.space-kicker.brand-case,
.member-kicker.brand-case {
  letter-spacing: 0.02em;
}

body.is-header-menu-open {
  overflow: hidden;
}

.bag-drawer {
  right: 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: min(390px, calc(100% - 32px)) !important;
  overflow: hidden !important;
  transform: none !important;
  transition: width 0.35s ease !important;
}

.bag-drawer.is-open {
  width: min(390px, calc(100% - 32px)) !important;
}

.welcome-drawer {
  left: 0 !important;
  right: auto !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: min(420px, calc(100% - 32px)) !important;
  overflow: hidden !important;
  transform: none !important;
  transition: width 0.35s ease !important;
}

.welcome-drawer.is-open {
  width: min(420px, calc(100% - 32px)) !important;
}

/* PC/tablet (≥768px): menu shell も非表示 */
@media (min-width: 768px) {
  .header-menu-overlay,
  .header-menu-panel {
    display: none !important;
  }
}

