:root {
  --mobile-visual-guard-release: "20260726-mobile-visual-guard-os-2255";
}

.mobile-visual-guard-os-ready :is(
  .launch-primary,
  .launch-secondary,
  .launch-soft-button,
  .primary-action,
  .secondary-action,
  .launch-actions a,
  .launch-actions button,
  .launch-nav a,
  button
) {
  min-width: 0;
  text-align: center;
  text-wrap: balance;
}

.mobile-visual-guard-os-ready :is(.launch-mobile-toggle, .launch-theme-toggle) {
  flex: 0 0 auto;
}

.mobile-visual-guard-os-ready :is(
  .launch-hero-media,
  .book-hero-photo,
  .portfolio-studio-preview-media,
  .provider-catalog-media
) {
  overflow: hidden;
}

.mobile-visual-guard-os-ready :is(
  .launch-hero-media,
  .book-hero-photo,
  .launch-service-card picture,
  .launch-split-media picture,
  .launch-inspiration-prompt picture,
  .provider-pitch picture,
  .portfolio-studio-preview-media,
  .provider-catalog-media,
  .matched-portfolio figure,
  .account-provider-portfolio figure
) img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.mobile-visual-guard-os-ready img[data-visual-state="loading"] {
  background:
    linear-gradient(135deg, rgba(246, 90, 151, 0.12), rgba(232, 183, 90, 0.1));
}

.mobile-visual-guard-os-ready img[data-visual-state="error"] {
  opacity: 0.18;
}

@media (max-width: 980px) {
  html[data-theme="dark"] body.launch-body .launch-nav.open,
  body[data-theme="dark"].launch-body .launch-nav.open {
    gap: 8px;
    align-items: stretch;
    border: 1px solid rgba(232, 183, 90, 0.16);
    border-radius: 10px;
    background: rgba(18, 8, 17, 0.9);
    padding: 8px;
  }

  html[data-theme="dark"] body.launch-body .launch-nav.open > a,
  body[data-theme="dark"].launch-body .launch-nav.open > a {
    min-height: 42px;
    border-color: rgba(255, 137, 188, 0.24) !important;
    background:
      linear-gradient(135deg, rgba(58, 24, 46, 0.98), rgba(43, 18, 36, 0.96)) !important;
    color: #fff4fa !important;
    opacity: 1 !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.06),
      0 10px 22px rgba(0, 0, 0, 0.16);
  }

  html[data-theme="dark"] body.launch-body .launch-nav.open > a:hover,
  html[data-theme="dark"] body.launch-body .launch-nav.open > a.active,
  body[data-theme="dark"].launch-body .launch-nav.open > a:hover,
  body[data-theme="dark"].launch-body .launch-nav.open > a.active {
    border-color: rgba(255, 137, 188, 0.52) !important;
    background:
      linear-gradient(135deg, rgba(255, 93, 157, 0.38), rgba(226, 176, 78, 0.22)) !important;
    color: #fff9fc !important;
  }

  html[data-theme="dark"] body.launch-body .launch-mobile-toggle,
  body[data-theme="dark"].launch-body .launch-mobile-toggle,
  html[data-theme="dark"] body.launch-body .launch-theme-toggle,
  body[data-theme="dark"].launch-body .launch-theme-toggle {
    border-color: rgba(255, 137, 188, 0.26) !important;
    background: rgba(43, 18, 36, 0.94) !important;
    color: #fff4fa !important;
  }

  .mobile-visual-guard-os-ready .launch-hero-media {
    aspect-ratio: 4 / 5.15;
    min-height: 0 !important;
    height: auto;
  }

  .mobile-visual-guard-os-ready .book-hero-photo {
    aspect-ratio: 16 / 10;
    min-height: 0 !important;
    max-height: none;
  }
}

@media (max-width: 640px) {
  .mobile-visual-guard-os-ready :is(.launch-actions, .booking-flow-controls, .client-chat-form) {
    gap: 8px;
  }

  .mobile-visual-guard-os-ready :is(.launch-primary, .launch-secondary, .launch-soft-button) {
    min-height: 44px;
    line-height: 1.18;
  }

  .mobile-visual-guard-os-ready .launch-hero-media > picture > img {
    object-position: center 46%;
  }
}
