body:has(> #root > .booking-search-fallback) {
  margin: 0;
  background: #f6f1e9;
}

.booking-search-fallback,
.booking-search-fallback * {
  box-sizing: border-box;
}

.booking-search-fallback {
  color: #111827;
  font-family: Geist, Pretendard, "Noto Sans", "Noto Sans KR", "Noto Sans JP", system-ui, sans-serif;
}

.booking-search-fallback a { color: inherit; }

.booking-search-fallback > section {
  width: min(1240px, calc(100% - 44px));
  margin: 0 auto;
  padding: clamp(72px, 10vw, 128px) 0;
  border-top: 1px solid #d8cdbf;
}

.booking-search-fallback .booking-fallback-hero {
  width: 100%;
  min-height: 760px;
  padding: clamp(120px, 17vw, 210px) max(22px, calc((100vw - 1240px) / 2));
  border: 0;
  background: #eee3d4 url("/images/landing/hero-moa-studio-real.webp") center / cover no-repeat;
}

.booking-search-fallback .booking-fallback-hero > * {
  max-width: 690px;
  margin-left: auto;
}

.booking-fallback-kicker {
  color: #526072;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.booking-search-fallback h1,
.booking-search-fallback h2 {
  max-width: 16ch;
  margin: 18px 0 24px;
  font-size: clamp(2.4rem, 6.5vw, 5.8rem);
  line-height: 1.02;
  letter-spacing: -.065em;
}

.booking-search-fallback h2 { font-size: clamp(2rem, 4.6vw, 4rem); }

.booking-search-fallback p,
.booking-search-fallback li {
  max-width: 720px;
  color: #5f6b7a;
  font-size: 1.02rem;
  line-height: 1.8;
}

.booking-search-fallback nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 30px;
  font-weight: 850;
}

.booking-search-fallback nav a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
}

.booking-search-fallback .booking-fallback-primary {
  padding: 0 20px;
  border-radius: 12px;
  background: #111827;
  color: #fff;
  text-decoration: none;
}

.booking-search-fallback ol,
.booking-search-fallback ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 42px 0 0;
  padding: 1px;
  background: #d8cdbf;
  list-style: none;
}

.booking-search-fallback ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.booking-search-fallback li {
  min-height: 180px;
  padding: 24px;
  background: #fffaf3;
}

.booking-search-fallback li strong,
.booking-search-fallback li span {
  display: block;
}

.booking-search-fallback li span { margin-top: 14px; }

.booking-search-fallback details {
  max-width: 900px;
  padding: 22px 0;
  border-bottom: 1px solid #d8cdbf;
}

.booking-search-fallback summary {
  cursor: pointer;
  font-weight: 850;
}

.booking-search-fallback .booking-fallback-final {
  width: 100%;
  min-height: 560px;
  padding-inline: max(22px, calc((100vw - 1240px) / 2));
  background: #07101e;
  color: #fff;
}

.booking-search-fallback .booking-fallback-final p { color: #aab3c2; }

@media (max-width: 640px) {
  .booking-search-fallback > section { width: min(100% - 32px, 1240px); }
  .booking-search-fallback .booking-fallback-hero,
  .booking-search-fallback .booking-fallback-final { width: 100%; padding-inline: 20px; }
  .booking-search-fallback .booking-fallback-hero { min-height: 720px; background-position: 42% center; }
  .booking-search-fallback ol,
  .booking-search-fallback ul { grid-template-columns: 1fr; }
  .booking-search-fallback li { min-height: 0; }
}
