/**
 * StayWorld Bookings brand wordmark — StayWorld (blue) + Bookings (grey)
 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&display=swap');

:root {
  --sw-logo-blue: #3b82f6;
  --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;
}

.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;
}

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

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

.page-banner .sw-brand-bookings,
.legal-doc .page-banner .sw-brand-bookings {
  color: #cbd5e1 !important;
}

/* Dark / hero / footer bands (not page banner — banner uses rules above) */
.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: var(--sw-logo-blue);
}

.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 and Bookings always match */
.sw-brand-wordmark--xl .sw-brand-stayworld,
.sw-brand-wordmark--xl .sw-brand-bookings {
  font-size: clamp(1.55rem, 3.8vw, 1.9rem);
}

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

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

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

/* Hosted page banner headers — compact, one line */
.page-banner-brand-lockup .sw-brand-wordmark--xl,
.page-banner-brand-lockup .sw-brand-wordmark--lg,
.page-banner-brand-lockup .sw-brand-wordmark--md,
.page-banner-brand-lockup .sw-brand-wordmark,
.page-banner-brand .sw-brand-wordmark--xl,
.page-banner-brand .sw-brand-wordmark--lg,
.page-banner-brand .sw-brand-wordmark--md,
.page-banner-brand .sw-brand-wordmark {
  display: inline-flex;
  flex-wrap: nowrap;
  margin-bottom: 0;
  max-width: 100%;
}

.page-banner-brand-lockup .sw-brand-stayworld,
.page-banner-brand-lockup .sw-brand-bookings,
.page-banner-brand .sw-brand-stayworld,
.page-banner-brand .sw-brand-bookings {
  font-size: clamp(1rem, 2.7vw, 1.26rem);
}

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

/* Header-specific override: ensure wordmark is visible on colored header bands */
.site-header .sw-brand-stayworld {
  color: var(--sw-logo-blue) !important;
}
.site-header .sw-brand-bookings {
  color: var(--sw-brand-bookings-grey-light) !important;
}
