/**
 * StayWorld Bookings brand wordmark - StayWorld (pure brand blue) + Bookings (smaller, muted)
 * Matches Explore-tab lockup: larger StayWorld, smaller Bookings.
 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&display=swap');

:root {
  --sw-logo-blue: #2563EB;
  --sw-brand-bookings-grey: #94a3b8;
  --sw-brand-bookings-grey-light: #64748b;
}

.sw-brand-wordmark {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 0.38em;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: -0.02em;
  max-width: 100%;
  vertical-align: baseline;
}

/* Two-line lockup -matches Explore tab / BrandLogo. */
.sw-brand-wordmark--stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.04em;
  white-space: normal;
  line-height: 1.05;
}

.sw-brand-stayworld {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 800;
  color: var(--sw-logo-blue);
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.sw-brand-bookings {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 600;
  color: var(--sw-brand-bookings-grey-light);
  letter-spacing: 0.02em;
  margin-left: 0;
  line-height: 1.1;
}

.page-banner .sw-brand-stayworld,
.legal-doc .page-banner .sw-brand-stayworld {
  color: #2563EB !important;
}

/* Default on photo heroes: muted light Bookings. Legal pages override to slate on the light brand card. */
.page-banner .sw-brand-bookings {
  color: #cbd5e1 !important;
}
.legal-doc .page-banner .sw-brand-bookings {
  color: #64748b !important;
}

.on-dark .sw-brand-bookings,
.site-footer .sw-brand-bookings,
.cta-band .sw-brand-bookings {
  color: var(--sw-brand-bookings-grey);
}

.on-dark .sw-brand-stayworld,
.site-footer .sw-brand-stayworld {
  color: #2563EB !important;
}

.legal-doc .page-main .sw-brand-bookings,
.card .sw-brand-bookings {
  color: var(--sw-brand-bookings-grey-light);
}

.legal-doc .site-footer .sw-brand-bookings {
  color: var(--sw-brand-bookings-grey);
}

/* Size presets -StayWorld larger; Bookings distinctly smaller */
.sw-brand-wordmark--xl .sw-brand-stayworld {
  font-size: clamp(1.55rem, 3.8vw, 1.95rem);
}
.sw-brand-wordmark--xl .sw-brand-bookings {
  font-size: clamp(1.05rem, 2.5vw, 1.28rem);
}

.sw-brand-wordmark--lg .sw-brand-stayworld {
  font-size: 1.48rem;
}
.sw-brand-wordmark--lg .sw-brand-bookings {
  font-size: 1.02rem;
}

.sw-brand-wordmark--md .sw-brand-stayworld {
  font-size: 1.28rem;
}
.sw-brand-wordmark--md .sw-brand-bookings {
  font-size: 0.9rem;
}

.sw-brand-wordmark--sm .sw-brand-stayworld {
  font-size: 1rem;
}
.sw-brand-wordmark--sm .sw-brand-bookings {
  font-size: 0.72rem;
}

.sw-brand-wordmark--stacked .sw-brand-bookings {
  font-weight: 600;
}

/* Hosted page banner headers -stacked lockup with size hierarchy */
.page-banner-brand-lockup .sw-brand-wordmark--stacked,
.page-banner-brand .sw-brand-wordmark--stacked {
  flex-direction: column;
  align-items: flex-start;
  flex-wrap: nowrap;
  white-space: normal;
}

.page-banner-brand-lockup .sw-brand-wordmark--stacked .sw-brand-stayworld,
.page-banner-brand .sw-brand-wordmark--stacked .sw-brand-stayworld {
  font-size: clamp(1.12rem, 2.9vw, 1.38rem);
  color: #2563EB !important;
  display: block;
  line-height: 1.1;
}

.page-banner-brand-lockup .sw-brand-wordmark--stacked .sw-brand-bookings,
.page-banner-brand .sw-brand-wordmark--stacked .sw-brand-bookings {
  font-size: clamp(0.78rem, 2vw, 0.95rem);
  display: block;
  line-height: 1.1;
}

.page-banner-brand-lockup .sw-brand-wordmark:not(.sw-brand-wordmark--stacked) .sw-brand-stayworld,
.page-banner-brand .sw-brand-wordmark:not(.sw-brand-wordmark--stacked) .sw-brand-stayworld {
  font-size: clamp(1.12rem, 2.9vw, 1.38rem);
  color: #2563EB !important;
}

.page-banner-brand-lockup .sw-brand-wordmark:not(.sw-brand-wordmark--stacked) .sw-brand-bookings,
.page-banner-brand .sw-brand-wordmark:not(.sw-brand-wordmark--stacked) .sw-brand-bookings {
  font-size: clamp(0.78rem, 2vw, 0.95rem);
}

.wordmark.sw-brand-wordmark,
.wordmark .sw-brand-wordmark,
.footer-wordmark .sw-brand-wordmark {
  display: inline-flex;
  flex-wrap: nowrap;
}

.site-header .sw-brand-stayworld {
  color: #2563EB !important;
}
.site-header .sw-brand-bookings {
  color: var(--sw-brand-bookings-grey-light) !important;
}
