/* BravaGuest 2.3.1 — final spacing and layout system.
   This file is intentionally loaded last. It provides a single consistent
   rhythm across public sales pages, registration, host tools and guest guides. */

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page,.bg-guide) {
  --bg-space-1: clamp(6px, .45vw, 8px);
  --bg-space-2: clamp(10px, .75vw, 14px);
  --bg-space-3: clamp(15px, 1.05vw, 20px);
  --bg-space-4: clamp(20px, 1.5vw, 28px);
  --bg-space-5: clamp(28px, 2.2vw, 42px);
  --bg-space-6: clamp(42px, 4vw, 72px);
  --bg-section-y: clamp(54px, 7vw, 96px);
  --bg-page-x: max(16px, min(var(--bg-page-gutter,24px), 48px));
  box-sizing: border-box;
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
}

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page,.bg-guide),
:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page,.bg-guide) *,
:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page,.bg-guide) *::before,
:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page,.bg-guide) *::after {
  box-sizing: border-box;
}

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page,.bg-guide) :where(h1,h2,h3,h4,p,ul,ol,figure) {
  min-width: 0;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-wrap: pretty;
}

:where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page,.bg-guide) :where(img,svg,video,iframe) {
  max-width: 100%;
}

/* Shared page frames */
:where(.bg-marketing-page,.bg-registration-page,.bg-legal-page) {
  width: 100% !important;
  margin: 0 !important;
  padding: max(18px, env(safe-area-inset-top)) var(--bg-page-x) max(28px, env(safe-area-inset-bottom)) !important;
}

.bg-account-shell {
  width: min(calc(100% - (2 * var(--bg-page-x))), var(--bg-site-max,1440px)) !important;
  margin-inline: auto !important;
  padding: clamp(20px, 2vw, 34px) 0 clamp(48px, 6vw, 84px) !important;
}

:where(.bg-marketing-page,.bg-registration-page,.bg-legal-page) > :where(.bg-site-nav,.bg-marketing-hero,.bg-registration-hero,.bg-registration-steps,.bg-marketing-section,.bg-registration-section,.bg-legal-card,.bg-legal-footer),
.bg-account-shell > :where(.bg-account-header,.bg-portal-overview,.bg-dashboard-toolbar,.bg-guide-list,.bg-dashboard-upgrades,.bg-dashboard-product-group,.bg-upgrade-guide-picker,.bg-legal-footer,.bg-auth-card) {
  width: min(100%, var(--bg-site-max,1440px)) !important;
  margin-inline: auto !important;
}

/* Navigation */
.bg-site-nav {
  min-height: 72px !important;
  padding: 12px clamp(16px, 2.2vw, 30px) !important;
  gap: var(--bg-space-3) !important;
  border-radius: clamp(16px, 2vw, 24px) !important;
}
.bg-site-brand { gap: 12px !important; min-width: 0 !important; }
.bg-site-brand-logo { width: 38px !important; height: 38px !important; object-fit: contain !important; }
.bg-site-nav-links { gap: clamp(8px, 1.15vw, 18px) !important; align-items: center !important; }
.bg-site-nav-links > a:not(.bg-button) { padding: 10px 4px !important; }
.bg-nav-cta { padding-inline: clamp(18px, 2vw, 28px) !important; white-space: nowrap !important; }

/* Shared section rhythm */
.bg-marketing-section,
.bg-registration-section {
  padding: var(--bg-section-y) clamp(18px, 4vw, 64px) !important;
  margin-top: clamp(18px, 2.5vw, 36px) !important;
  border-radius: clamp(20px, 2.5vw, 34px) !important;
  scroll-margin-top: 110px;
}
.bg-marketing-section + .bg-marketing-section,
.bg-registration-section + .bg-registration-section { margin-top: clamp(22px, 3vw, 44px) !important; }

.bg-marketing-heading {
  width: min(100%, 820px) !important;
  margin: 0 auto clamp(30px, 4vw, 54px) !important;
  padding: 0 !important;
  text-align: center !important;
  display: grid !important;
  gap: 12px !important;
}
.bg-marketing-heading > * { margin: 0 !important; }
.bg-marketing-heading h2 { max-width: 18ch !important; margin-inline: auto !important; }
.bg-marketing-heading p { max-width: 68ch !important; margin-inline: auto !important; line-height: 1.65 !important; }

/* Marketing hero */
.bg-marketing-hero,
.bg-registration-hero {
  display: grid !important;
  grid-template-columns: minmax(0,1.02fr) minmax(360px,.98fr) !important;
  gap: clamp(34px, 6vw, 88px) !important;
  align-items: center !important;
  padding: clamp(42px, 6vw, 86px) clamp(24px, 5vw, 74px) !important;
  margin-top: clamp(18px, 2vw, 28px) !important;
  border-radius: clamp(22px, 3vw, 38px) !important;
  overflow: hidden !important;
}
.bg-marketing-copy,
.bg-registration-copy { min-width: 0 !important; max-width: 690px !important; }
.bg-marketing-copy > :where(h1,p),
.bg-registration-copy > :where(h1,p) { margin-inline: 0 !important; }
.bg-marketing-copy h1,
.bg-registration-copy h1 { margin: 14px 0 20px !important; max-width: 15ch !important; line-height: .98 !important; }
.bg-marketing-copy > p,
.bg-registration-copy > p { margin: 0 0 28px !important; max-width: 62ch !important; line-height: 1.65 !important; }
.bg-registration-hero-actions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; margin: 0 0 26px !important; }
.bg-marketing-proof { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px !important; margin-top: 26px !important; }
.bg-marketing-proof > * { min-width: 0 !important; }
.bg-live-preview { width: min(100%, 560px) !important; margin-inline: auto !important; }

/* Marketing grids and cards */
:where(.bg-outcome-grid,.bg-benefit-grid,.bg-feature-grid,.bg-needs-grid,.bg-how-grid,.bg-works-grid,.bg-qr-order-explainer,.bg-faq-grid,.bg-offer-grid,.bg-upgrade-grid,.bg-dashboard-offers) {
  gap: clamp(16px, 2vw, 26px) !important;
}
:where(.bg-outcome-grid,.bg-benefit-grid,.bg-how-grid,.bg-works-grid) {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}
:where(.bg-feature-grid,.bg-needs-grid) {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
}
:where(.bg-outcome-card,.bg-benefit-card,.bg-feature-card,.bg-need-card,.bg-how-card,.bg-works-card,.bg-faq-grid details,.bg-offer-card,.bg-upgrade-card) {
  min-width: 0 !important;
  height: 100% !important;
  padding: clamp(22px, 2.4vw, 34px) !important;
  border-radius: clamp(17px, 2vw, 24px) !important;
}
:where(.bg-outcome-card,.bg-benefit-card,.bg-feature-card,.bg-need-card,.bg-how-card,.bg-works-card) > :where(h3,p) { margin-inline: 0 !important; }
:where(.bg-outcome-card,.bg-benefit-card,.bg-feature-card,.bg-need-card,.bg-how-card,.bg-works-card) h3 {
  margin: 16px 0 10px !important;
  line-height: 1.2 !important;
}
:where(.bg-outcome-card,.bg-benefit-card,.bg-feature-card,.bg-need-card,.bg-how-card,.bg-works-card) p {
  margin: 0 !important;
  line-height: 1.6 !important;
}
.bg-how-card > span,
.bg-works-card > span { position: static !important; margin: 0 0 14px !important; }

/* Pricing */
.bg-pricing-section { overflow: visible !important; }
.bg-pricing-grid-single { display: grid !important; grid-template-columns: minmax(0,700px) !important; justify-content: center !important; }
.bg-price-card {
  width: 100% !important;
  max-width: 700px !important;
  padding: clamp(28px, 4vw, 48px) !important;
  margin: 0 auto !important;
  border-radius: clamp(20px, 2.5vw, 30px) !important;
}
.bg-price-card-head { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; gap: 20px !important; margin-bottom: 20px !important; }
.bg-price-card-head h3 { margin: 8px 0 0 !important; max-width: 22ch !important; }
.bg-price { display: flex !important; align-items: baseline !important; flex-wrap: wrap !important; gap: 4px 8px !important; margin: 12px 0 24px !important; }
.bg-price strong { line-height: .9 !important; }
.bg-price-card ul {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 14px 26px !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
}
.bg-price-card li { min-width: 0 !important; padding-left: 28px !important; line-height: 1.55 !important; }
.bg-price-card .bg-button { width: 100% !important; justify-content: center !important; }

/* FAQ and CTA */
.bg-faq-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.bg-faq-grid details { padding: 0 !important; overflow: hidden !important; }
.bg-faq-grid summary { padding: 20px 22px !important; line-height: 1.35 !important; }
.bg-faq-grid details > p { padding: 0 22px 22px !important; margin: 0 !important; line-height: 1.65 !important; }
.bg-final-cta,
.bg-referral-promo {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: clamp(24px, 4vw, 54px) !important;
}
.bg-final-cta :where(h2,p),
.bg-referral-promo :where(h2,p) { margin-inline: 0 !important; }
.bg-final-cta h2,
.bg-referral-promo h2 { margin: 10px 0 10px !important; }
.bg-final-cta p,
.bg-referral-promo p { margin: 0 !important; max-width: 68ch !important; }
.bg-final-cta-actions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; }

/* Registration journey */
.bg-registration-steps {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 16px !important;
  margin-top: 18px !important;
}
.bg-registration-steps > div {
  min-width: 0 !important;
  padding: 18px 20px !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  gap: 4px 14px !important;
  align-items: center !important;
}
.bg-registration-steps > div > span { grid-row: 1 / 3 !important; }
.bg-registration-steps strong,
.bg-registration-steps small { min-width: 0 !important; }

.bg-signup-section {
  display: grid !important;
  grid-template-columns: minmax(280px,.8fr) minmax(380px,1fr) !important;
  gap: clamp(34px, 6vw, 86px) !important;
  align-items: center !important;
}
.bg-signup-copy { min-width: 0 !important; max-width: 560px !important; }
.bg-signup-copy h2 { margin: 10px 0 16px !important; }
.bg-signup-copy p { margin: 0 0 22px !important; line-height: 1.65 !important; }
.bg-signup-plan-summary { padding: 16px 18px !important; gap: 10px !important; }
.bg-registration-card,
.bg-auth-card {
  width: min(100%, 620px) !important;
  min-width: 0 !important;
  padding: clamp(26px, 4vw, 46px) !important;
  border-radius: clamp(20px, 2.5vw, 30px) !important;
}
.bg-registration-card > h3 { margin: 0 0 26px !important; }
.bg-registration-card > p { margin: 0 0 20px !important; }
.bg-registration-card > p:not(.bg-terms-check) > label { display: grid !important; gap: 9px !important; margin: 0 !important; }
.bg-registration-card :where(input[type=text],input[type=email],input[type=password],select,textarea),
.bg-auth-card :where(input[type=text],input[type=email],input[type=password],select,textarea) {
  width: 100% !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
}
.bg-registration-card p > small { margin: 8px 0 0 !important; display: block !important; }
.bg-terms-check { padding: 15px 16px !important; }
.bg-terms-check label { display: grid !important; grid-template-columns: auto minmax(0,1fr) !important; gap: 11px !important; align-items: start !important; }
.bg-terms-copy { min-width: 0 !important; line-height: 1.55 !important; }
.bg-terms-copy a { display: inline !important; overflow-wrap: anywhere !important; }
.bg-registration-submit { width: 100% !important; min-height: 54px !important; justify-content: center !important; margin-top: 2px !important; }
.bg-login-link { margin: 16px 0 0 !important; text-align: center !important; }

/* Host portal and forms */
.bg-account-header,
.bg-portal-welcome,
.bg-portal-next-step,
.bg-dashboard-toolbar,
.bg-dashboard-product-group-heading {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: clamp(20px, 3vw, 40px) !important;
}
.bg-account-header { padding: clamp(22px, 3vw, 34px) !important; margin-bottom: 24px !important; }
.bg-account-header :where(h1,p),
.bg-portal-welcome :where(h2,p),
.bg-portal-next-step :where(strong,p),
.bg-dashboard-toolbar :where(h2,p) { margin-inline: 0 !important; }
.bg-account-header h1 { margin: 8px 0 8px !important; }
.bg-account-header p { margin: 0 !important; max-width: 72ch !important; }
.bg-account-header-actions,
.bg-portal-next-actions,
.bg-guide-actions { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
.bg-portal-overview { display: grid !important; gap: 20px !important; margin-bottom: 28px !important; }
.bg-portal-welcome,
.bg-portal-next-step { padding: clamp(22px, 3vw, 34px) !important; border-radius: 22px !important; }
.bg-portal-metrics { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 14px !important; }
.bg-portal-metrics > div { min-width: 0 !important; padding: 20px !important; }
.bg-guide-list { gap: 16px !important; }
.bg-guide-row {
  grid-template-columns: 112px minmax(0,1fr) auto !important;
  gap: 20px !important;
  padding: 18px !important;
  align-items: center !important;
}
.bg-guide-row-main { min-width: 0 !important; }
.bg-guide-actions { justify-content: flex-end !important; max-width: 360px !important; }
.bg-guide-actions .bg-button { white-space: normal !important; }

.bg-editor-shell,
.bg-form-shell { min-width: 0 !important; }
.bg-form-section-v2,
.bg-editor-progress-card,
.bg-share-card,
.bg-referral-card,
.bg-dashboard-upgrades,
.bg-dashboard-product-group,
.bg-upgrade-guide-picker {
  padding: clamp(22px, 3vw, 36px) !important;
  border-radius: clamp(18px, 2vw, 26px) !important;
}
.bg-form-section-v2 + .bg-form-section-v2 { margin-top: 20px !important; }
.bg-form-grid,
.bg-field-grid { gap: 18px !important; }
.bg-field { gap: 8px !important; min-width: 0 !important; }
.bg-field :where(input,select,textarea) { width: 100% !important; min-height: 48px !important; padding: 11px 13px !important; }

/* Public guest guide */
.bg-guide { width: 100% !important; padding: 0 max(10px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important; }
.bg-guide .bg-guide-shell,
.bg-guide .bg-guide-header { width: min(100%, var(--bg-max,1120px)) !important; margin-inline: auto !important; }
.bg-guide-header { margin-bottom: clamp(20px, 3vw, 36px) !important; }
.bg-guide-header-inner { padding: clamp(18px, 2.5vw, 32px) !important; }
.bg-guide-main { display: grid !important; grid-template-columns: 220px minmax(0,1fr) !important; gap: clamp(20px, 3vw, 34px) !important; align-items: start !important; }
.bg-guide-content { min-width: 0 !important; display: grid !important; gap: clamp(22px, 3vw, 38px) !important; }
.bg-guide-sidebar { padding: 16px !important; border-radius: 20px !important; }
.bg-guide-search { margin: 0 !important; padding: 0 !important; }
.bg-guide-search-inner { min-height: 58px !important; padding: 9px 12px 9px 18px !important; }

:where(.bg-welcome-panel,.bg-wifi-panel,.bg-gallery-section,.bg-guide-section,.bg-visual-section,.bg-inventory-section,.bg-book-section,.bg-host-panel) {
  padding: clamp(22px, 3.4vw, 40px) !important;
  border-radius: clamp(20px, 2.5vw, 30px) !important;
  margin: 0 !important;
}
.bg-section-kicker { display: flex !important; align-items: flex-start !important; gap: 16px !important; margin: 0 0 24px !important; }
.bg-section-kicker > div { min-width: 0 !important; }
.bg-section-kicker :where(h2,p) { margin-inline: 0 !important; }
.bg-section-kicker h2 { margin: 5px 0 7px !important; }
.bg-section-kicker p { margin: 0 !important; line-height: 1.55 !important; }
.bg-topic-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 16px !important; }
.bg-topic-card { min-width: 0 !important; min-height: 150px !important; padding: 20px !important; }
.bg-topic-card h3 { margin: 0 !important; line-height: 1.25 !important; }
.bg-topic-card p { margin: 16px 0 0 !important; line-height: 1.55 !important; }
.bg-gallery { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 16px !important; }
.bg-gallery-item { min-width: 0 !important; }
.bg-gallery-item img { width: 100% !important; aspect-ratio: 4/3 !important; object-fit: cover !important; border-radius: 16px !important; }
.bg-wifi-panel { display: grid !important; grid-template-columns: minmax(0,1fr) auto !important; gap: 20px !important; align-items: center !important; }
.bg-host-panel { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 24px !important; }
.bg-host-panel > * { min-width: 0 !important; }

/* Legal */
.bg-legal-card { padding: clamp(30px, 5vw, 68px) !important; margin-top: 24px !important; border-radius: clamp(20px, 2.5vw, 30px) !important; }
.bg-legal-card h1 { margin: 12px 0 18px !important; }
.bg-legal-intro { margin: 0 0 18px !important; max-width: 75ch !important; }
.bg-legal-content { max-width: 82ch !important; line-height: 1.72 !important; }
.bg-legal-content :where(h2,h3) { margin: 34px 0 12px !important; }
.bg-legal-content p { margin: 0 0 17px !important; }
.bg-legal-footer { display: flex !important; justify-content: space-between !important; gap: 20px !important; padding: 24px 4px 0 !important; }
.bg-legal-footer nav { display: flex !important; flex-wrap: wrap !important; gap: 14px !important; }

/* WooCommerce/product surfaces */
.bg-offer-grid,
.bg-dashboard-offers { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.bg-offer-card,
.bg-upgrade-card { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.bg-offer-card .bg-button,
.bg-upgrade-card .bg-button { margin-top: auto !important; justify-content: center !important; }
.bg-upgrade-guide-picker label { display: grid !important; grid-template-columns: auto minmax(220px,420px) !important; gap: 14px !important; align-items: center !important; }
.bg-upgrade-guide-picker select { width: 100% !important; min-height: 48px !important; }

/* Laptop / tablet */
@media (max-width: 1120px) {
  .bg-marketing-hero,
  .bg-registration-hero { grid-template-columns: minmax(0,1fr) minmax(320px,.9fr) !important; gap: 36px !important; }
  :where(.bg-outcome-grid,.bg-benefit-grid,.bg-how-grid,.bg-works-grid) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  :where(.bg-feature-grid,.bg-needs-grid,.bg-offer-grid,.bg-dashboard-offers) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .bg-portal-metrics { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .bg-guide-row { grid-template-columns: 96px minmax(0,1fr) !important; }
  .bg-guide-actions { grid-column: 1 / -1 !important; max-width: none !important; justify-content: flex-start !important; padding-left: 116px !important; }
  .bg-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 900px) {
  :where(.bg-marketing-page,.bg-registration-page,.bg-legal-page) { --bg-page-x: max(12px, env(safe-area-inset-left)); }
  .bg-site-nav { min-height: 64px !important; }
  .bg-marketing-hero,
  .bg-registration-hero,
  .bg-signup-section { grid-template-columns: 1fr !important; }
  .bg-marketing-copy,
  .bg-registration-copy,
  .bg-signup-copy { max-width: 760px !important; }
  .bg-live-preview { width: min(100%, 620px) !important; }
  .bg-marketing-proof { grid-template-columns: 1fr !important; }
  .bg-registration-steps { grid-template-columns: 1fr !important; }
  .bg-final-cta,
  .bg-referral-promo,
  .bg-account-header,
  .bg-portal-welcome,
  .bg-portal-next-step,
  .bg-dashboard-toolbar,
  .bg-dashboard-product-group-heading { grid-template-columns: 1fr !important; flex-direction: column !important; align-items: stretch !important; }
  .bg-final-cta-actions,
  .bg-account-header-actions,
  .bg-portal-next-actions { width: 100% !important; }
  .bg-guide-main { grid-template-columns: 1fr !important; }
  .bg-guide-sidebar { position: static !important; overflow-x: auto !important; }
  .bg-guide-sidebar nav,
  .bg-guide-sidebar ul { display: flex !important; gap: 8px !important; width: max-content !important; min-width: 100% !important; }
  .bg-gallery { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

/* Phones */
@media (max-width: 640px) {
  :where(.bg-marketing-page,.bg-registration-page,.bg-legal-page) { padding-inline: max(10px, env(safe-area-inset-left)) !important; }
  .bg-account-shell { width: min(calc(100% - 20px), var(--bg-site-max,1440px)) !important; }
  .bg-site-nav { padding: 10px 12px !important; border-radius: 16px !important; }
  .bg-site-brand-logo { width: 32px !important; height: 32px !important; }
  .bg-marketing-section,
  .bg-registration-section { padding: clamp(36px, 11vw, 54px) 16px !important; border-radius: 20px !important; }
  .bg-marketing-hero,
  .bg-registration-hero { padding: 34px 18px !important; border-radius: 20px !important; }
  .bg-marketing-copy h1,
  .bg-registration-copy h1 { max-width: 100% !important; }
  :where(.bg-outcome-grid,.bg-benefit-grid,.bg-feature-grid,.bg-needs-grid,.bg-how-grid,.bg-works-grid,.bg-faq-grid,.bg-offer-grid,.bg-dashboard-offers) { grid-template-columns: 1fr !important; }
  :where(.bg-outcome-card,.bg-benefit-card,.bg-feature-card,.bg-need-card,.bg-how-card,.bg-works-card,.bg-faq-grid details,.bg-offer-card,.bg-upgrade-card) { padding: 20px !important; }
  .bg-price-card { padding: 24px 18px !important; }
  .bg-price-card ul { grid-template-columns: 1fr !important; }
  .bg-registration-card,
  .bg-auth-card { padding: 24px 18px !important; }
  .bg-signup-plan-summary { align-items: start !important; }
  .bg-portal-metrics { grid-template-columns: 1fr !important; }
  .bg-guide-row { grid-template-columns: 72px minmax(0,1fr) !important; gap: 13px !important; padding: 14px !important; }
  .bg-guide-thumb { width: 72px !important; }
  .bg-guide-actions { padding-left: 0 !important; }
  .bg-guide-actions .bg-button { flex: 1 1 140px !important; justify-content: center !important; }
  :where(.bg-welcome-panel,.bg-wifi-panel,.bg-gallery-section,.bg-guide-section,.bg-visual-section,.bg-inventory-section,.bg-book-section,.bg-host-panel) { padding: 20px 16px !important; border-radius: 20px !important; }
  .bg-topic-grid,
  .bg-gallery { grid-template-columns: 1fr !important; }
  .bg-topic-card { min-height: 0 !important; padding: 18px !important; }
  .bg-wifi-panel { grid-template-columns: 1fr !important; }
  .bg-host-panel { flex-direction: column !important; align-items: stretch !important; }
  .bg-legal-footer { flex-direction: column !important; }
  .bg-upgrade-guide-picker label { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  :where(.bg-marketing-page,.bg-registration-page,.bg-account-shell,.bg-legal-page,.bg-guide) * {
    scroll-behavior: auto !important;
  }
}
