/*
 * Shared MyDancr visual language.
 *
 * This stylesheet is intentionally scoped to content surfaces. Primary
 * navigation is owned by its existing components and is not styled here.
 */

:root {
  --mydancr-verified-foreground: var(--dancr-color-verification-foreground);
  --mydancr-verified-surface: var(--dancr-color-verification);
  --mydancr-verified-outline: var(--dancr-color-verification-outline);
  --mydancr-preview-banner-height: 38px;
  --mydancr-preview-banner-offset: calc(var(--mydancr-preview-banner-height) + env(safe-area-inset-top, 0px));
}

body.dancr-button-system {
  padding-top: var(--mydancr-preview-banner-offset) !important;
}

.mydancr-preview-banner {
  position: fixed;
  z-index: 1450;
  inset: 0 0 auto;
  box-sizing: content-box;
  min-width: 0;
  height: var(--mydancr-preview-banner-height);
  padding: env(safe-area-inset-top, 0px) 16px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-bottom: 1px solid rgba(139, 92, 246, .52);
  color: #f5f1ff;
  background: rgba(8, 6, 15, .96);
  box-shadow: 0 8px 24px rgba(8, 3, 20, .4);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: center;
}

.mydancr-preview-banner strong {
  flex: 0 0 auto;
  color: #c4a7ff;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mydancr-preview-banner span {
  min-width: 0;
  color: rgba(245, 241, 255, .86);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

@media (max-width: 520px) {
  :root {
    --mydancr-preview-banner-height: 50px;
  }

  .mydancr-preview-banner {
    padding-inline: 12px;
    flex-direction: column;
    gap: 3px;
  }

  .mydancr-preview-banner strong {
    font-size: 10px;
  }

  .mydancr-preview-banner span {
    max-width: 42ch;
    font-size: 10.5px;
    line-height: 1.2;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .mydancr-preview-banner {
    background: #08060f;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/*
 * Verification uses a flat sapphire badge with a crisp white check and a darker
 * sapphire edge. It has no gradient or glow. Sizes remain owned by each surface
 * so dense cards, TV, and full profiles retain their existing layout.
 */

/*
 * Repeating each class gives this shared rule enough specificity to supersede
 * the legacy device-targeted badge colors in the live shell. It changes no
 * geometry and keeps the same treatment on iOS, Android, and desktop.
 */
:root :is(
  .verified-mark.verified-mark.verified-mark,
  .verified-check.verified-check.verified-check,
  .home-tv-feed-verified.home-tv-feed-verified.home-tv-feed-verified,
  .profile-modal-verified.profile-modal-verified.profile-modal-verified,
  .profile-verified.profile-verified.profile-verified,
  .tv-verified-mark.tv-verified-mark.tv-verified-mark
) {
  border: 1px solid var(--mydancr-verified-outline) !important;
  color: var(--mydancr-verified-foreground) !important;
  background: var(--mydancr-verified-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  #customerDashboard,
  #dancerDashboard,
  #venueDashboard,
  #adminDashboard,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) {
  --mydancr-bg: var(--dancr-color-background);
  --mydancr-surface: var(--dancr-color-surface-translucent);
  --mydancr-surface-raised: var(--dancr-color-surface-raised);
  --mydancr-line: var(--dancr-color-border-subtle);
  --mydancr-line-accent: var(--dancr-color-border-strong);
  --mydancr-text: var(--dancr-color-text-primary);
  --mydancr-muted: var(--dancr-color-text-muted);
  --mydancr-cyan: var(--dancr-color-info);
  --mydancr-violet: var(--dancr-color-brand-primary);
  --mydancr-pink: var(--dancr-color-brand-primary);
  color: var(--mydancr-text) !important;
  background: var(--mydancr-bg) !important;
}

/* The production homepage owns full-screen account and operations panels
 * outside the Next.js shells. Rebind their legacy color variables to the same
 * brand system without changing their geometry, typography, or behavior. */
body.dancr-button-system .page-panel {
  --bg: var(--dancr-color-background);
  --panel: var(--dancr-color-surface);
  --panel-2: var(--dancr-color-surface-raised);
  --line: var(--dancr-color-border-subtle);
  --text: var(--dancr-color-text-primary);
  --muted: var(--dancr-color-text-muted);
  --cyan: var(--dancr-color-info);
  --cyan-blue: var(--dancr-color-info);
  --magenta: var(--dancr-color-brand-primary);
  --gold: var(--dancr-color-featured);
  --green: var(--dancr-color-success);
  --amber: var(--dancr-color-featured);
  --danger: var(--dancr-color-danger);
  --shadow: var(--dancr-shadow-modal);
  border-color: var(--dancr-color-border) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-background) !important;
  background-image: none !important;
  box-shadow: var(--dancr-shadow-surface) !important;
}

body.dancr-button-system .page-panel :is(h1, h2, h3, strong) {
  color: var(--dancr-color-text-primary) !important;
  text-shadow: none !important;
}

body.dancr-button-system .page-panel :is(
  p,
  small,
  .meta,
  .muted,
  .rule-note,
  .value-message,
  .customer-card-copy,
  .section-context,
  .dashboard-collapse-title > span,
  .account-control-copy
) {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system .page-panel :is(.eyebrow, label, legend) {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system .page-panel :is(
  .auth-card,
  .admin-login-form,
  .customer-summary,
  .stat,
  .approval-command,
  .dancer-next-shift,
  .dancer-quick-actions > button,
  .dancer-glance-metrics > div,
  .status-chip,
  .approved-tool-dropdown,
  .setup-panel,
  .approved-analytics,
  .metric-card,
  .rank-notification-list,
  .dancer-control-card,
  .account-center,
  .account-center-section,
  .info-tile,
  .lock-row,
  .customer-notification-card,
  .customer-venue-list .venue-card,
  .saved-deal-pass,
  .venue-offer-qr,
  .admin-grid > *,
  .submission-section,
  .submission-value,
  .submission-review-card,
  .submitted-social-review,
  .venue-admin-row,
  .report-row,
  .support-inbox-thread,
  .support-inbox-message
) {
  border-color: var(--dancr-color-border-subtle) !important;
  background-color: var(--dancr-color-surface-translucent) !important;
  background-image: none !important;
  box-shadow: inset 0 1px 0 var(--dancr-color-white-soft) !important;
}

/* The live dashboards have legacy ID-scoped declarations. Repeat the neutral
 * surface rule with matching ID specificity so those old cyan/violet borders
 * cannot outrank the shared palette. */
body.dancr-button-system :is(
  #customerDashboard,
  #dancerDashboard,
  #venueDashboard,
  #adminDashboard
) :is(
  .auth-card,
  .admin-login-form,
  .customer-summary,
  .stat,
  .approval-command,
  .dancer-next-shift,
  .dancer-quick-actions > button,
  .dancer-glance-metrics > div,
  .status-chip,
  .approved-tool-dropdown,
  .setup-panel,
  .approved-analytics,
  .metric-card,
  .rank-notification-list,
  .dancer-control-card,
  .account-center,
  .account-center-section,
  .info-tile,
  .lock-row,
  .customer-notification-card,
  .customer-venue-list .venue-card,
  .saved-deal-pass,
  .venue-offer-qr,
  .admin-grid > *,
  .submission-section,
  .submission-value,
  .submission-review-card,
  .submitted-social-review,
  .venue-admin-row,
  .report-row,
  .support-inbox-thread,
  .support-inbox-message
) {
  border-color: var(--dancr-color-border-subtle) !important;
  background-color: var(--dancr-color-surface-translucent) !important;
  background-image: none !important;
  box-shadow: inset 0 1px 0 var(--dancr-color-white-soft) !important;
}

body.dancr-button-system .page-panel :is(input, select, textarea) {
  border-color: var(--dancr-color-border) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system .page-panel :is(input, select, textarea):focus {
  border-color: var(--dancr-color-brand-primary) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body.dancr-button-system .page-panel :is(
  .ghost,
  .view-all,
  .auth-tab,
  .password-toggle,
  .close-btn,
  .action-btn.secondary,
  .dancer-quick-actions > button,
  .approved-tool-launcher > button,
  .control-action-row > button,
  .social-edit-field > button,
  .notification-clear-btn,
  .account-control-actions button,
  .customer-summary-actions button
) {
  border-color: var(--dancr-color-border) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system .page-panel :is(
  button[type="submit"],
  .action-btn:not(.secondary):not(.danger),
  .admin-login,
  .dancer-shift-primary,
  .continue-signup
) {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-brand-primary) !important;
  background-image: linear-gradient(
    135deg,
    var(--dancr-color-brand-primary),
    var(--dancr-color-brand-primary-deep)
  ) !important;
  box-shadow:
    var(--dancr-shadow-brand-control),
    inset 0 1px 0 var(--dancr-color-brand-core-soft) !important;
  text-shadow: none !important;
}

body.dancr-button-system .page-panel :is(
  .auth-tab.active,
  .tabs button.active,
  button[aria-pressed="true"]
) {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 18%,
    var(--dancr-color-surface-raised)
  ) !important;
  background-image: none !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

body.dancr-button-system .page-panel :is(
  button,
  a,
  input,
  select,
  textarea,
  summary[tabindex]
):focus-visible {
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body.dancr-button-system .page-panel :is(
  .section-title-row,
  .customer-summary
)::before {
  background: linear-gradient(
    180deg,
    var(--dancr-color-beam-glow),
    var(--dancr-color-brand-primary) 42%,
    var(--dancr-color-beam-core) 50%,
    var(--dancr-color-brand-primary) 58%,
    var(--dancr-color-beam-glow)
  ) !important;
  box-shadow: 0 0 10px var(--dancr-color-beam-glow-soft) !important;
}

body.dancr-button-system :is(
  #customerDashboard,
  #dancerDashboard,
  #venueDashboard,
  #adminDashboard
) :is(.section-title-row, .customer-summary)::before {
  background: linear-gradient(
    180deg,
    var(--dancr-color-beam-glow),
    var(--dancr-color-brand-primary) 42%,
    var(--dancr-color-beam-core) 50%,
    var(--dancr-color-brand-primary) 58%,
    var(--dancr-color-beam-glow)
  ) !important;
  box-shadow: 0 0 10px var(--dancr-color-beam-glow-soft) !important;
}

body.dancr-button-system .page-panel :is(
  .dancer-live-pill,
  .badge.approved,
  .badge.live,
  .is-success
) {
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-success) !important;
  background-color: color-mix(
    in srgb,
    var(--dancr-color-success) 10%,
    var(--dancr-color-surface-raised)
  ) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system .page-panel :is(
  .badge.pending,
  .pending-badge,
  .is-pending
) {
  border-color: var(--dancr-color-featured-medium) !important;
  color: var(--dancr-color-featured) !important;
  background-color: color-mix(
    in srgb,
    var(--dancr-color-featured) 10%,
    var(--dancr-color-surface-raised)
  ) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system .page-panel :is(
  .action-btn.danger,
  .badge.rejected,
  .is-rejected,
  .error
) {
  border-color: var(--dancr-color-danger-medium) !important;
  color: var(--dancr-color-danger) !important;
  background-color: color-mix(
    in srgb,
    var(--dancr-color-danger) 10%,
    var(--dancr-color-surface-raised)
  ) !important;
  background-image: none !important;
  box-shadow: none !important;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(h1, h2, h3) {
  color: var(--mydancr-text);
  font-weight: 950;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(.eyebrow, label, legend) {
  color: var(--dancr-color-text-secondary);
  font-weight: 900;
  letter-spacing: 0.12em;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(p, small, .muted, .empty) {
  color: var(--mydancr-muted);
}

:is(
  .account-shell .account-panel,
  .dashboard-shell .info-panel,
  .admin-shell .admin-panel,
  .dmca-shell .dmca-card,
  .counter-shell .counter-card,
  .redeem-shell .scanner-card,
  .deal-pass-page .deal-pass-card,
  .tv-studio-page .tv-upload-form,
  .tv-studio-page .tv-video-manager,
  .tv-studio-page .tv-studio-lock,
  .tv-studio-page .tv-studio-incognito
) {
  overflow: hidden;
  border: 1px solid var(--mydancr-line) !important;
  border-radius: 18px !important;
  background: var(--mydancr-surface) !important;
  box-shadow: inset 0 1px 0 var(--dancr-color-white-soft) !important;
}

:is(
  .dashboard-shell .metric,
  .dashboard-shell .dashboard-shift,
  .dashboard-shell .photo-review-card,
  .dashboard-shell .saved-deal-item,
  .dashboard-shell .support-thread,
  .dashboard-shell .notification-row,
  .dashboard-shell .event-row,
  .dashboard-shell .commission-tier-table,
  .admin-shell .approval-row,
  .admin-shell .dancer-directory-row,
  .admin-shell .submission-section,
  .admin-shell .submission-value,
  .admin-shell .submission-review-card,
  .admin-shell .submitted-social-review,
  .admin-shell .venue-admin-row,
  .admin-shell .report-row,
  .admin-shell .support-inbox-thread,
  .admin-shell .support-inbox-message,
  .account-shell .signup-benefits,
  .account-shell .dancer-signup-note,
  .account-shell .customer-benefit-tile
) {
  border: 1px solid var(--mydancr-line) !important;
  border-radius: 14px !important;
  background: var(--dancr-color-surface-subtle) !important;
  box-shadow: none !important;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(input, select, textarea) {
  border: 1px solid var(--dancr-color-border) !important;
  border-radius: 12px !important;
  color: var(--mydancr-text) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(input, select, textarea):focus {
  border-color: var(--dancr-color-brand-primary) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(
  button,
  .primary-link,
  .primary-action,
  .secondary-action,
  .venue-sign-in
) {
  border: 1px solid var(--dancr-color-border) !important;
  border-radius: 12px !important;
  color: var(--mydancr-text) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(
  button[type="submit"],
  .submit,
  .continue-signup,
  .counter-submit,
  .dmca-submit,
  .primary-link,
  .primary-action
) {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: linear-gradient(
    135deg,
    var(--dancr-color-brand-primary),
    var(--dancr-color-brand-primary-deep)
  ) !important;
  box-shadow:
    var(--dancr-shadow-brand-control) !important;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(button, a):hover {
  border-color: var(--mydancr-line-accent) !important;
  filter: none !important;
}

:is(
  .account-shell .segmented,
  .admin-shell .segmented,
  .dashboard-shell .segmented
) {
  gap: 4px !important;
  padding: 4px !important;
  border: 1px solid var(--mydancr-line) !important;
  border-radius: 14px !important;
  background: var(--dancr-color-background) !important;
}

:is(
  .account-shell .segmented,
  .admin-shell .segmented,
  .dashboard-shell .segmented
) button {
  border: 0 !important;
  background: transparent !important;
}

:is(
  .account-shell .segmented,
  .admin-shell .segmented,
  .dashboard-shell .segmented
) button.active {
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 18%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

:is(
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .dmca-shell,
  .counter-shell,
  .redeem-shell,
  .deal-pass-page,
  .tv-studio-page
) :is(
  button[class*="close"],
  button[aria-label*="password" i]
) {
  border-radius: 999px !important;
  background: var(--dancr-color-surface-soft) !important;
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
}

.account-shell .account-copy {
  align-content: start;
}

.account-shell .account-copy h1,
.dashboard-shell .dashboard-head h1,
.admin-shell .admin-head h1,
.dmca-shell .dmca-hero h1 {
  max-width: 760px;
  font-size: clamp(40px, 7vw, 72px) !important;
  line-height: 0.96 !important;
}

.account-shell .account-panel {
  padding: clamp(18px, 3vw, 24px) !important;
}

.dashboard-shell .dashboard-grid,
.admin-shell .admin-grid {
  gap: 14px !important;
}

.dashboard-shell .info-panel,
.admin-shell .admin-panel {
  padding: clamp(16px, 2.4vw, 22px) !important;
}

.dashboard-shell .info-panel > h2,
.admin-shell .admin-panel-head h2 {
  font-size: clamp(20px, 3vw, 27px) !important;
}

.dashboard-shell .visibility-panel.is-incognito {
  border-color: var(--dancr-color-border) !important;
  background: var(--dancr-color-surface-translucent) !important;
}

.dashboard-shell .deal-panel {
  border-color: var(--dancr-color-success-medium) !important;
}

/* Customer, dancer, and venue dashboards share the same quiet content
 * hierarchy as public discovery. Color is reserved for verified workflow
 * state; idle cards, navigation, media managers, and empty states stay
 * near-black or charcoal without decorative violet/cyan washes. */
.dashboard-shell :is(
  .customer-top-nav .brand,
  .customer-dashboard-tabs,
  .customer-night-card,
  .customer-saved-group,
  .customer-saved-card,
  .customer-empty-state,
  .customer-settings-section,
  .shift-checkin-card:not(.ready),
  .venue-cover-panel > img,
  .venue-tv-video,
  .tv-managed-video
),
.tv-studio-page .tv-managed-video {
  border-color: var(--dancr-color-border-subtle) !important;
  background-color: var(--dancr-color-surface-subtle) !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.dashboard-shell .customer-dashboard-tabs a {
  color: var(--dancr-color-text-secondary) !important;
  background: transparent !important;
}

.dashboard-shell .customer-dashboard-tabs a:is(:hover, :focus-visible) {
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 14%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

.dashboard-shell :is(
  .customer-saved-card-image,
  .customer-saved-card-image.is-photo-unavailable
) {
  background-color: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.dashboard-shell :is(
  .customer-section-heading.split > strong,
  .notification-title-row > strong,
  .saved-deal-head > strong
) {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

:is(.dashboard-shell, .tv-studio-page) :is(
  .customer-saved-head > button,
  .customer-empty-state a,
  .tv-studio-head > a,
  .tv-managed-video a,
  .venue-tv-title > a,
  .venue-tv-actions a
) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

:is(.dashboard-shell, .tv-studio-page) :is(
  .customer-saved-head > button,
  .customer-empty-state a,
  .tv-studio-head > a,
  .tv-managed-video a,
  .venue-tv-title > a,
  .venue-tv-actions a
):hover {
  border-color: var(--dancr-color-border-strong) !important;
  background-color: var(--dancr-color-surface-raised) !important;
}

.admin-shell .admin-panel-badge,
.dashboard-shell .deal-state.active,
.redeem-shell .status-pill.success {
  border: 1px solid var(--dancr-color-info-medium) !important;
  color: var(--dancr-color-info) !important;
  background: var(--dancr-color-info-soft) !important;
}

.admin-shell :is(
  .submission-review-card.is-approved,
  .submitted-social-review.is-approved
) {
  border-color: var(--dancr-color-success-medium) !important;
  background: var(--dancr-color-success-soft) !important;
}

.admin-shell :is(
  .submission-review-card.is-rejected,
  .submitted-social-review.is-rejected
) {
  border-color: var(--dancr-color-danger-medium) !important;
  background: var(--dancr-color-danger-soft) !important;
}

.tv-studio-page .tv-managed-video {
  overflow: hidden;
  border: 1px solid var(--mydancr-line) !important;
  border-radius: 16px !important;
  background: var(--mydancr-surface) !important;
  box-shadow: none !important;
}

/*
 * Homepage content surfaces. The fixed discovery navigation is intentionally
 * outside every selector in this section.
 */

/*
 * One device-neutral foundation is shared by iPhone, Android, and desktop.
 * Media and semantic status colors remain untouched above these neutral layers.
 */
body.dancr-button-system,
body > .app,
body > .app main.stack {
  background: var(--dancr-color-background) !important;
}

/*
 * Scrolling discovery gutters are part of the neutral foundation, not a brand
 * accent. This removes legacy violet washes between cards on iOS and Android.
 */
body > .app main.stack > section.stack,
body > .app main.stack > section.stack > #results:is(
  .home-dancer-grid,
  .home-discovery-feed,
  .home-tv-feed,
  .card-grid,
  .venue-card-grid
) {
  background-color: var(--dancr-color-background) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body > .app main.stack > section.stack > #results:is(
  .home-dancer-grid,
  .home-discovery-feed,
  .home-tv-feed,
  .card-grid,
  .venue-card-grid
)::before,
body > .app main.stack > section.stack > #results:is(
  .home-dancer-grid,
  .home-discovery-feed,
  .home-tv-feed,
  .card-grid,
  .venue-card-grid
)::after {
  content: none !important;
  display: none !important;
}

/* Keep the vertical gutters near-black while giving every feed item one
 * readable neutral edge. Inactive cards use neutral depth only; color is
 * reserved for explicit state and semantic actions. */
body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-card,
body.dancr-button-system > .app main.stack > section.stack > #results.home-discovery-feed > .home-discovery-feed-slide,
body.dancr-button-system > .app main.stack > section.stack > #results.card-grid > .dancer-card,
body.dancr-button-system > .app main.stack > section.stack > #results.venue-card-grid > .venue-card {
  border: 1px solid rgba(248, 250, 252, 0.15) !important;
  box-shadow:
    0 10px 24px rgba(5, 5, 7, 0.32),
    inset 0 1px 0 rgba(248, 250, 252, 0.035) !important;
  filter: none !important;
}

/* The compact dancer directory reads as one continuous discovery surface.
 * The grid itself supplies the two-pixel separator; repeated card edges and
 * shadows would make the profile tiles look smaller and less scannable. */
body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid.home-dancer-three-column > .home-dancer-grid-card {
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

/* Venue identity stays legible without adding another visible card boundary. */
body.dancr-button-system > .app main.stack > section.stack > #results.home-discovery-feed > .home-venue-discovery-slide .home-discovery-feed-copy {
  border: 0 !important;
}

body > .app main.stack > .hero.reference-hero {
  position: relative;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  -webkit-box-shadow: 0 16px 34px rgba(0, 0, 0, 0.36) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.36) !important;
  filter: none !important;
  -webkit-filter: none !important;
}

/* Preserve the supplied hero pixels exactly. Device-specific brightness,
 * contrast, saturation, blending, or zoom must never recolor or crop it. */
body > .app main.stack > .hero.reference-hero::before,
body > .app main.stack > .hero.reference-hero::after {
  content: none !important;
  display: none !important;
}

body > .app main.stack > .hero.reference-hero > .hero-art {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  mask: none !important;
  -webkit-mask: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  transform: none !important;
  transform-origin: center center !important;
}

body > .app main.stack > .home-discovery-controls {
  gap: 10px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body > .app main.stack > .home-discovery-controls label {
  color: var(--dancr-color-text-secondary) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 0.16em !important;
}

body > .app main.stack > .home-discovery-controls .home-city-filter {
  gap: 7px !important;
}

body > .app main.stack > .home-discovery-controls .home-city-select-shell {
  position: relative;
  min-width: 0;
}

body > .app main.stack > .home-discovery-controls .home-city-select-icon {
  position: absolute;
  top: 50%;
  left: 15px;
  z-index: 1;
  width: 19px;
  height: 19px;
  color: var(--dancr-color-text-secondary);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  transform: translateY(-50%);
  pointer-events: none;
}

body > .app main.stack > .home-discovery-controls :is(select, button) {
  min-height: 44px !important;
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 14px !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body > .app main.stack > .home-discovery-controls #citySelect {
  padding-left: 44px !important;
  font-weight: 850 !important;
}

body > .app main.stack > .home-discovery-controls .home-filter-toggle {
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 104px;
  padding-inline: 12px !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-subtle) !important;
}

body > .app main.stack > .home-discovery-controls .home-filter-toggle-icon {
  width: 19px;
  height: 19px;
  color: var(--dancr-color-text-secondary);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

body > .app main.stack > .home-discovery-controls .home-filter-toggle-count {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding-inline: 5px;
  border: 1px solid var(--dancr-color-info-soft);
  border-radius: 999px;
  color: var(--dancr-color-info);
  background: color-mix(in srgb, var(--dancr-color-info) 13%, transparent);
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
}

body > .app main.stack > .home-discovery-controls .home-filter-toggle-count[hidden] {
  display: none !important;
}

body > .app main.stack > .home-discovery-controls .home-advanced-filters.is-open {
  padding: 12px !important;
  border: 1px solid var(--dancr-color-border-subtle);
  border-radius: 14px;
  background: var(--dancr-color-surface-translucent);
  box-shadow: none;
}

body > .app main.stack > .home-discovery-controls :is(select, button):focus-visible {
  border-color: var(--dancr-color-brand-primary) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body > .app main.stack > .home-live-summary {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  min-height: 20px !important;
  padding: 0 2px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--dancr-color-text-secondary) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body > .app main.stack > .home-live-summary :is(span, strong) {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  color: inherit !important;
  text-overflow: ellipsis;
  text-shadow: none !important;
  white-space: nowrap;
}

body > .app main.stack > .home-live-summary .home-live-summary-divider {
  flex: 0 0 auto;
  color: var(--dancr-color-text-disabled) !important;
}

body > .app main.stack > .home-live-summary #homeLiveRadius {
  flex: 0 1 auto;
  text-align: left !important;
}

body > .app main.stack > .home-live-summary #homeLiveWorking {
  flex: 0 1 auto;
  color: var(--dancr-color-text-primary) !important;
  font-weight: 900 !important;
}

body > .app main.stack > .home-tv-launch {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 18px !important;
  background: var(--dancr-color-surface-translucent) !important;
  box-shadow: none !important;
}

body > .app main.stack > .home-tv-launch .home-tv-launch-icon {
  border: 1px solid var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-brand-primary) !important;
  box-shadow: none !important;
}

body > .app main.stack > :is(.home-results-header, .section-title) h2,
body > .app main.stack > #results :is(h2, h3) {
  color: var(--dancr-color-text-primary) !important;
  font-weight: 950 !important;
  letter-spacing: -0.035em !important;
}

body > .app main.stack > #results :is(
  .home-feed-card,
  .dancer-card,
  .venue-card,
  .empty-state,
  .home-discovery-feed-slide
) {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 20px !important;
  background: var(--dancr-color-surface-translucent) !important;
  box-shadow:
    0 10px 24px var(--dancr-color-black-soft),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
}

/* TV media must meet the black page without any neutral or violet perimeter.
 * Keep this selector at full production-shell specificity so the shared card
 * system can never reintroduce a border, inset edge, or colored ambient glow. */
body.dancr-button-system > .app main.stack > section.stack > #results.home-tv-feed > .home-tv-feed-loading,
body.dancr-button-system > .app main.stack > section.stack > #results.home-tv-feed > .home-tv-feed-slide {
  border: 0 !important;
  outline: 0 !important;
  background: #000 !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.38) !important;
  filter: none !important;
}

/* The feed video intentionally exposes role="button" for keyboard playback,
 * but it is media rather than a button surface. Keep the global button theme
 * from painting a rounded border, inner highlight, or violet fill inside the
 * otherwise perimeter-free TV card. */
body.dancr-button-system > .app main.stack > section.stack > #results.home-tv-feed > .home-tv-feed-slide > video.home-tv-feed-video {
  -webkit-appearance: none !important;
  appearance: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: #000 !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-tv-feed > .home-tv-feed-slide > video.home-tv-feed-video:focus-visible {
  outline: 2px solid var(--dancr-color-info) !important;
  outline-offset: -4px !important;
}

body > .app main.stack > #results .home-venue-discovery-art:not(.has-custom-photo) {
  background:
    repeating-linear-gradient(115deg, rgba(248, 250, 252, 0.018) 0 1px, transparent 1px 4px),
    radial-gradient(circle at 68% 20%, rgba(248, 250, 252, 0.11), transparent 31%),
    linear-gradient(145deg, #1d1e22 0%, #090a0c 48%, #131418 100%) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body > .app main.stack > #results .home-discovery-feed-photo.is-photo-unavailable {
  background:
    radial-gradient(circle at 72% 18%, rgba(248, 250, 252, 0.055), transparent 34%),
    linear-gradient(145deg, var(--dancr-color-surface-raised), var(--dancr-color-background) 72%) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Venue discovery uses a premium black-metal material system. Real cover
 * photography stays intact beneath a restrained titanium grain, and green
 * remains reserved for a published Club Deal. Geometry is intentionally left
 * to the shared discovery-card layout. */
body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide {
  --venue-card-platinum: rgba(248, 250, 252, 0.9);
  --venue-card-platinum-muted: rgba(226, 232, 240, 0.72);
  border-color: transparent !important;
  background:
    linear-gradient(155deg, #15161a, #050608) padding-box,
    linear-gradient(145deg, rgba(248, 250, 252, 0.38), rgba(148, 154, 166, 0.08) 43%, rgba(248, 250, 252, 0.24)) border-box !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.11),
    inset 0 -1px 0 rgba(255, 255, 255, 0.035),
    0 16px 30px rgba(0, 0, 0, 0.42) !important;
  filter: none !important;
  -webkit-filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-art::before,
body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-art::after {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-art::before {
  background: linear-gradient(112deg, transparent 8%, rgba(248, 250, 252, 0.07) 27%, transparent 43%) !important;
  mix-blend-mode: screen !important;
  opacity: 0.28 !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-art::after {
  border-radius: inherit !important;
  background: repeating-linear-gradient(104deg, rgba(248, 250, 252, 0.018) 0 1px, transparent 1px 5px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 -1px 0 rgba(255, 255, 255, 0.04) !important;
  opacity: 0.58 !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-monogram {
  border-color: rgba(226, 232, 240, 0.3) !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.12), transparent 34%),
    linear-gradient(145deg, #25262b 0%, #090a0c 54%, #17181c 100%) !important;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.16),
    inset -1px -1px 0 rgba(0, 0, 0, 0.78),
    0 24px 54px rgba(0, 0, 0, 0.48),
    0 0 0 10px rgba(5, 6, 8, 0.28) !important;
  letter-spacing: 0.035em !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.16), 0 -1px 0 rgba(0, 0, 0, 0.92) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-discovery-feed-shade {
  background:
    linear-gradient(180deg, rgba(2, 3, 4, 0.12) 0%, transparent 32%, rgba(2, 3, 4, 0.1) 46%, rgba(2, 3, 4, 0.985) 88%),
    linear-gradient(90deg, transparent 54%, rgba(2, 3, 4, 0.34) 100%) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-discovery-feed-copy {
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-action-rail .feed-card-action:not(.home-venue-discovery-rail-qr.is-available):not(.home-venue-discovery-profile-action),
body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-context-actions .home-discovery-feed-directions {
  border-color: rgba(226, 232, 240, 0.22) !important;
  color: rgba(248, 250, 252, 0.94) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.07), transparent 46%),
    rgba(7, 8, 10, 0.76) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 9px 20px rgba(0, 0, 0, 0.25) !important;
  text-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-context-actions .home-discovery-feed-directions {
  border-color: rgba(226, 232, 240, 0.28) !important;
  color: rgba(248, 250, 252, 0.96) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.075), transparent 47%),
    linear-gradient(145deg, rgba(20, 21, 24, 0.96), rgba(5, 6, 8, 0.96)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    0 10px 22px rgba(0, 0, 0, 0.28) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-context-actions .home-discovery-feed-directions svg {
  color: rgba(248, 250, 252, 0.9) !important;
  stroke: currentColor !important;
  filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-name {
  color: #f8fafc !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.94) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-location {
  color: var(--venue-card-platinum) !important;
  letter-spacing: 0.015em !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-action-rail [data-venue-follow][aria-pressed="true"] {
  border-color: rgba(226, 232, 240, 0.32) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.09), transparent 46%),
    rgba(19, 20, 24, 0.88) !important;
  box-shadow: inset 0 0 0 1px rgba(248, 250, 252, 0.08) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-hours {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--venue-card-platinum-muted) !important;
  background: transparent !important;
  box-shadow: none !important;
  letter-spacing: 0.035em !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-discovery-feed-status.is-now {
  border-color: rgba(248, 250, 252, 0.14) !important;
  color: rgba(248, 250, 252, 0.88) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 48%),
    rgba(7, 8, 10, 0.74) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-lineup {
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-lineup-avatar {
  border-color: rgba(7, 8, 10, 0.96) !important;
  background-color: #111216 !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-venue-discovery-lineup-count {
  border-color: rgba(7, 8, 10, 0.96) !important;
  color: rgba(248, 250, 252, 0.96) !important;
  background: #18191d !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-venue-discovery-feed > .home-venue-discovery-slide .home-discovery-feed-position {
  border-color: rgba(226, 232, 240, 0.16) !important;
  color: rgba(248, 250, 252, 0.8) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 48%),
    rgba(5, 6, 8, 0.68) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
}

body > .app main.stack > #results :is(
  .info-tile,
  .venue-offer,
  .venue-hours,
  .home-feed-context,
  .home-dancer-grid-context
) {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 14px !important;
  background: var(--dancr-color-black-soft) !important;
  box-shadow: none !important;
}

body > .app main.stack > #results :is(
  .home-dancer-grid-action-rail:not(.home-venue-discovery-action-rail)
) {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 18px !important;
  background: var(--dancr-color-surface-soft) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
}

body > .app main.stack > #results :is(
  .home-dancer-grid-action-rail:not(.home-venue-discovery-action-rail)
) :is(button, a) {
  border: 0 !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body > .app main.stack > #results :is(
  .home-dancer-grid-action-rail:not(.home-venue-discovery-action-rail)
) :is(button, a).is-active {
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-brand-primary) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

body.dancr-button-system #profileBackdrop.modal-backdrop,
body.dancr-button-system #profileBackdrop.modal-backdrop.show,
body.dancr-button-system #profileBackdrop .profile-modal,
body.dancr-button-system #results.venue-profile-overlay,
body.dancr-button-system #results.venue-profile-overlay .venue-detail,
.public-profile-shell {
  background-color: var(--dancr-color-background) !important;
  background-image: none !important;
}

body.dancr-button-system #profileBackdrop.modal-backdrop,
body.dancr-button-system #profileBackdrop.modal-backdrop.show,
body.dancr-button-system #profileBackdrop .profile-modal,
body.dancr-button-system #results.venue-profile-overlay,
body.dancr-button-system #results.venue-profile-overlay .venue-detail {
  box-shadow: none !important;
}

/* Venue details use the same neutral hierarchy as a full dancer profile:
 * near-black page and gutters, charcoal content panels, and no ambient color
 * wash. Real profile media and semantic deal/action colors remain untouched. */
body.dancr-button-system #results.venue-profile-overlay :is(
  .venue-hero,
  .venue-sign,
  .venue-quick-stat,
  .venue-info .info-tile,
  .venue-offer-card,
  .venue-shift-row,
  .locked
) {
  background-color: var(--dancr-color-surface-subtle) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay :is(
  .venue-main-photo,
  .venue-art
) {
  background-color: var(--dancr-color-background) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-main-photo::before,
body.dancr-button-system #results.venue-profile-overlay .venue-main-photo::after,
body.dancr-button-system #results.venue-profile-overlay .venue-art::before,
body.dancr-button-system #results.venue-profile-overlay .venue-art::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Approved venue media replaces the generated sign on the detail hero. The
 * gradient preserves text contrast while the artwork remains the safe fallback. */
body.dancr-button-system #results.venue-profile-overlay
  .venue-main-photo.has-custom-photo.has-venue-cover {
  background-color: var(--dancr-color-background) !important;
  background-image:
    linear-gradient(180deg, rgba(5, 5, 7, .04) 0%, rgba(5, 5, 7, .08) 52%, rgba(5, 5, 7, .56) 100%),
    var(--custom-photo) !important;
  background-position: center 38% !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body.dancr-button-system #results.venue-profile-overlay
  .venue-main-photo.has-custom-photo.has-venue-cover .venue-art {
  background-color: transparent !important;
}

body.dancr-button-system #results.venue-profile-overlay :is(
  .venue-hero-body,
  .venue-shift-list,
  .list.card-grid
) {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

#profileBackdrop .profile-modal,
#results.venue-profile-overlay .venue-detail,
.modal-card {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 22px !important;
  color: var(--dancr-color-text-primary) !important;
}

.modal-card {
  background: var(--dancr-color-surface-translucent) !important;
  box-shadow: var(--dancr-shadow-modal) !important;
}

#profileBackdrop .profile-modal :is(.info-tile, .social-tile),
#results.venue-profile-overlay .venue-detail :is(.info-tile, .venue-section, .venue-offer) {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 15px !important;
  background: var(--dancr-color-surface-subtle) !important;
  box-shadow: none !important;
}

/* The customer actions are already defined by five individually bordered
 * controls. Keep their grid unframed so it does not read as a nested card. */
#profileBackdrop .profile-modal .modal-actions {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Full profiles keep one quiet, device-independent edge system. Persistent
 * purple/cyan outlines are reserved for focus and real semantic states. */
#profileBackdrop .profile-modal :is(
  .modal-identity,
  .profile-modal-summary,
  .social-link,
  .modal-actions .action-btn,
  .profile-share-trigger
),
#results.venue-profile-overlay .venue-detail :is(
  .venue-hero,
  .venue-sign,
  .venue-main-photo,
  .venue-art,
  .venue-quick-stat,
  .venue-info .info-tile,
  .venue-section,
  .venue-shift-row,
  .venue-offer,
  .venue-offer-card,
  .locked,
  .action-btn:not(.venue-directions-btn):not(.venue-qr-launcher)
) {
  border-color: var(--dancr-color-border-subtle) !important;
  box-shadow: none !important;
}

#profileBackdrop .profile-modal :is(
  .social-link,
  .modal-actions .action-btn,
  .profile-share-trigger
):focus-visible,
#results.venue-profile-overlay .venue-detail :is(
  a,
  button
):focus-visible {
  border-color: var(--dancr-color-beam-violet-medium) !important;
  outline-color: var(--dancr-color-beam-violet) !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

#profileBackdrop .profile-modal :is(.close-btn, button[class*="close"]),
#results.venue-profile-overlay .venue-detail :is(.close-btn, button[class*="close"]),
.modal-card :is(.close-btn, button[class*="close"]) {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 999px !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-soft) !important;
  box-shadow: none !important;
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
}

@media (max-width: 720px) {
  :is(
    .account-shell,
    .dashboard-shell,
    .admin-shell,
    .dmca-shell,
    .counter-shell,
    .redeem-shell,
    .deal-pass-page,
    .tv-studio-page
  ) {
    background: var(--dancr-color-background) !important;
  }

  :is(
    .account-shell .account-panel,
    .dashboard-shell .info-panel,
    .admin-shell .admin-panel,
    .dmca-shell .dmca-card,
    .counter-shell .counter-card,
    .redeem-shell .scanner-card,
    .deal-pass-page .deal-pass-card,
    .tv-studio-page .tv-upload-form,
    .tv-studio-page .tv-video-manager
  ) {
    border-radius: 16px !important;
  }

  .account-shell .account-copy h1,
  .admin-shell .admin-head h1,
  .dmca-shell .dmca-hero h1 {
    font-size: clamp(38px, 12vw, 54px) !important;
  }

  /* Shared dashboard mobile identity for customer, dancer, and venue routes. */
  .dashboard-shell {
    color-scheme: dark;
    background-color: var(--dancr-color-background) !important;
    background-image: none !important;
  }

  .dashboard-shell .dashboard-head {
    background-color: var(--dancr-color-background) !important;
    background-image: none !important;
  }

  .dashboard-shell .dashboard-head h1 {
    font-size: clamp(20px, 5.5vw, 26px) !important;
    font-weight: 850 !important;
    line-height: 0.98 !important;
  }

  body > .app main.stack > .hero.reference-hero,
  body > .app main.stack > #results :is(
    .home-feed-card,
    .dancer-card,
    .venue-card,
    .empty-state,
    .home-discovery-feed-slide,
    .home-tv-feed-slide
  ) {
    border-radius: 18px !important;
  }

  body > .app main.stack > .hero.reference-hero {
    width: auto !important;
    margin-inline: 12px !important;
  }

  /* The full-profile shell is the mobile scroll viewport. Keep its fixed outer
     edge square and transparent so it cannot leave a rounded glow sliver over
     profile media as the inner content scrolls. */
  #profileBackdrop.modal-backdrop.show .profile-modal {
    border-top-color: transparent !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    box-shadow: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    .account-shell,
    .dashboard-shell,
    .admin-shell,
    .dmca-shell,
    .counter-shell,
    .redeem-shell,
    .deal-pass-page,
    .tv-studio-page
  ) * {
    transition: none !important;
  }
}

/* Production brand palette: content surfaces only. Navigation is excluded. */

:is(.public-profile-shell, .tv-shell) {
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-background) !important;
}

:is(.public-profile-shell, .tv-shell) :is(h1, h2, h3, strong) {
  color: var(--dancr-color-text-primary);
}

:is(.public-profile-shell, .tv-shell) :is(
  .profile-global-logo,
  .tv-global-logo
) {
  border-color: var(--dancr-color-border) !important;
  color: var(--dancr-color-brand-primary) !important;
  background: var(--dancr-color-background) !important;
  box-shadow: none !important;
}

:is(.public-profile-shell, .tv-shell) :is(
  .profile-global-logo,
  .tv-global-logo
) :is(span, em) {
  color: var(--dancr-color-brand-primary) !important;
  text-shadow: none !important;
}

.public-profile-shell :is(p, small, .profile-action-requirement),
.tv-shell :is(.tv-card-venue-line, .tv-no-shifts-state, .tv-empty p) {
  color: var(--dancr-color-text-secondary) !important;
}

.public-profile-shell :is(
  .profile-titlebar,
  .profile-titlebar-avatar,
  .profile-media,
  .profile-working-card,
  .profile-social-card,
  .profile-social-section,
  .profile-info-card,
  .club-deal-card,
  .profile-deal-availability .venue-qr-unavailable,
  .profile-media-tabs,
  .profile-media-feature,
  .profile-schedule-section,
  .shift-row,
  .profile-account-gate,
  .profile-share-panel
),
.tv-shell :is(.tv-header, .tv-empty, .tv-status, .tv-loading) {
  border-color: var(--dancr-color-border-subtle) !important;
  background: var(--dancr-color-surface-translucent) !important;
  box-shadow: none !important;
}

/* Full-page TV cards stay perimeter-free as the snap feed changes videos.
 * Active, focused, and current states must never paint a violet card edge. */
.tv-shell :is(
  .tv-player,
  .tv-player:hover,
  .tv-player:focus,
  .tv-player:focus-visible,
  .tv-player:focus-within
),
.tv-shell .tv-slide:is(.is-active, [aria-current="true"]) .tv-player {
  border: 0 !important;
  outline: 0 !important;
  background: #000 !important;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.56) !important;
  filter: none !important;
}

.tv-shell .tv-player video {
  border: 0 !important;
  box-shadow: none !important;
}

.tv-shell .tv-player video:focus-visible {
  border: 0 !important;
  outline: 2px solid var(--dancr-color-info) !important;
  outline-offset: -4px !important;
  box-shadow: none !important;
}

.public-profile-shell :is(.profile-metrics, .social-list a, .live-actions > button),
.tv-shell :is(.tv-sound, .tv-playback-retry, .tv-empty button, .tv-empty a) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

.public-profile-shell .live-actions .profile-action-primary {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: linear-gradient(
    135deg,
    var(--dancr-color-brand-primary),
    var(--dancr-color-brand-primary-deep)
  ) !important;
  box-shadow: none !important;
}

.public-profile-shell :is(.club-deal-action > button, .venue-qr-launcher) {
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-success-soft) !important;
  box-shadow: none !important;
}

.public-profile-shell :is(
  .public-profile-close,
  .social-list-toggle,
  .profile-action-share-slot .profile-share button
) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

.public-profile-shell :is(
  .public-profile-close,
  .social-list-toggle,
  .profile-action-share-slot .profile-share button,
  .profile-media-grid-item
):focus-visible,
.tv-shell :is(
  .tv-card-stage-link,
  .tv-card-venue-line,
  .tv-playback-retry
):focus-visible {
  border-color: var(--dancr-color-beam-violet-medium) !important;
  outline-color: var(--dancr-color-beam-violet) !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

.public-profile-shell .profile-media-tabs button {
  color: var(--dancr-color-text-muted) !important;
}

/* Filter and media-tab controls stay neutral until selected. The shared
 * button system intentionally gives ordinary actions a branded glass fill;
 * these repeated choice controls need a quieter hierarchy so one active
 * selection is unmistakable without adding color noise across the screen. */
body.dancr-button-system :is(
  .dancer-directory-filter:not(.is-active),
  .filter-pill:not(.active),
  #profileBackdrop .profile-modal-media-tabs button:not(.active)
),
.public-profile-shell .profile-media-tabs button:not(.active),
.tv-shell .tv-filters button:not(.active) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

body.dancr-button-system :is(
  .dancer-directory-filter:not(.is-active),
  .filter-pill:not(.active),
  #profileBackdrop .profile-modal-media-tabs button:not(.active)
) :is(span, small),
.public-profile-shell .profile-media-tabs button:not(.active) :is(span, small),
.tv-shell .tv-filters button:not(.active) :is(span, small) {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system :is(
  .dancer-directory-filter:not(.is-active),
  .filter-pill:not(.active),
  #profileBackdrop .profile-modal-media-tabs button:not(.active)
):hover,
.public-profile-shell .profile-media-tabs button:not(.active):hover,
.tv-shell .tv-filters button:not(.active):hover {
  border-color: var(--dancr-color-border-strong) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: 0 8px 18px var(--dancr-color-black-soft) !important;
}

body.dancr-button-system :is(
  .dancer-directory-filter.is-active,
  .filter-pill.active,
  #profileBackdrop .profile-modal-media-tabs button.active
),
.public-profile-shell .profile-media-tabs button.active,
.tv-shell .tv-filters button.active {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 18%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
  text-shadow: none !important;
}

body.dancr-button-system :is(
  .dancer-directory-filter.is-active,
  .filter-pill.active,
  #profileBackdrop .profile-modal-media-tabs button.active
) :is(span, small),
.public-profile-shell .profile-media-tabs button.active :is(span, small),
.tv-shell .tv-filters button.active :is(span, small) {
  color: var(--dancr-color-text-primary) !important;
}

/* TV utility controls remain neutral until the viewer makes a stateful
 * selection. Their dark frosted-clear layer keeps white icons readable over
 * bright video without turning the action rail into solid charcoal. */
body.dancr-button-system :is(
  .home-tv-feed-sound,
  .home-tv-feed-action:not(.home-tv-feed-deal-action)
),
.tv-shell .tv-sound {
  border-color: var(--dancr-color-white-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-black-soft) !important;
  background-image: none !important;
  box-shadow:
    0 4px 14px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
  filter: none !important;
  text-shadow: none !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
  backdrop-filter: blur(14px) saturate(1.08) !important;
}

body.dancr-button-system :is(
  .home-tv-feed-sound,
  .home-tv-feed-action:not(.home-tv-feed-deal-action)
) svg,
.tv-shell .tv-sound svg {
  -webkit-filter: drop-shadow(0 1px 2px var(--dancr-color-black-strong)) !important;
  filter: drop-shadow(0 1px 2px var(--dancr-color-black-strong)) !important;
}

body.dancr-button-system :is(
  .home-tv-feed-sound,
  .home-tv-feed-action:not(.home-tv-feed-deal-action)
):hover,
.tv-shell .tv-sound:hover {
  border-color: var(--dancr-color-white-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-black-medium) !important;
  background-image: none !important;
  box-shadow:
    0 6px 18px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-medium) !important;
}

/* Active applause and follow states keep one restrained violet cue. Opening
 * the report menu is not an endorsement state, so it deliberately stays in
 * the neutral rule above. */
body.dancr-button-system .home-tv-feed-action:not(
  .home-tv-feed-deal-action,
  .home-tv-feed-report-action,
  .home-tv-feed-fullscreen
):is(.is-active, [aria-pressed="true"]) {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-surface-raised) !important;
  background-image: linear-gradient(
    var(--dancr-color-brand-primary-soft),
    var(--dancr-color-brand-primary-soft)
  ) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-soft) !important;
}

/* The hero beam is a state signal, reserved for active, selected, and keyboard-focused UI. */
#profileBackdrop .profile-modal-media-tabs button.active,
#profileBackdrop .gallery .thumb.active,
.profile-tv-viewer-gallery button.active,
.public-profile-shell .profile-media-grid-item.active {
  border-color: var(--dancr-color-text-secondary) !important;
  outline-color: var(--dancr-color-white-medium) !important;
  box-shadow: 0 0 0 1px var(--dancr-color-white-medium) !important;
}

#profileBackdrop .profile-modal-media-tabs button.active {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  outline-color: var(--dancr-color-brand-primary-medium) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

#profileBackdrop .profile-modal-media-tabs button.active {
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 18%,
    var(--dancr-color-surface-raised)
  ) !important;
}

:is(
  .home-dancer-grid-link,
  .home-feed-card .dancer-card-link,
  .profile-modal .modal-image,
  .profile-photo-viewer-image,
  .public-profile-shell .profile-media-feature
):focus-visible {
  outline: 2px solid var(--dancr-color-beam-violet) !important;
  outline-offset: 3px !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

@supports selector(:has(*)) {
  #results.home-dancer-grid > .home-dancer-grid-card:has(:focus-visible),
  #results.home-discovery-feed.home-venue-discovery-feed > .home-venue-discovery-slide:has(:focus-visible) {
    border-color: var(--dancr-color-beam-violet-medium) !important;
    box-shadow: var(--dancr-shadow-beam-card) !important;
  }
}

.public-profile-shell :is(.profile-live-state, .profile-working-head .eyebrow),
.tv-shell :is(.tv-status, .tv-loading, .tv-profile-destination) {
  color: var(--dancr-color-info) !important;
}

.public-profile-shell .profile-working-card.is-working,
.public-profile-shell .profile-live-state.is-working,
.tv-shell :is(
  .tv-schedule-row.is-tonight svg,
  .tv-card-schedule-text.tonight
),
.dashboard-shell :is(
  .photo-review-card.is-approved,
  .review-row.is-approved,
  .shift-checkin-card.ready,
  .deal-state.active
) {
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-success) !important;
  background-color: var(--dancr-color-success-soft) !important;
}

.dashboard-shell :is(.photo-review-card.is-pending, .review-row.is-pending) {
  border-color: var(--dancr-color-featured-medium) !important;
  background-color: var(--dancr-color-featured-soft) !important;
  box-shadow: inset 3px 0 0 var(--dancr-color-featured) !important;
}

:is(.dashboard-shell, .admin-shell) :is(
  .photo-review-card.is-rejected,
  .review-row.is-rejected,
  .submission-review-card.is-rejected,
  .submitted-social-review.is-rejected,
  .error,
  [role="alert"]
) {
  border-color: var(--dancr-color-danger-medium) !important;
  color: var(--dancr-color-danger) !important;
  background-color: var(--dancr-color-danger-soft) !important;
}

.tv-shell :is(.tv-verified-mark, .verified-mark),
.public-profile-shell :is(.profile-verified, .verified-mark) {
  border-color: var(--mydancr-verified-outline) !important;
  color: var(--mydancr-verified-foreground) !important;
  background: var(--mydancr-verified-surface) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.tv-shell :is(.tv-card-venue-name, .tv-card-schedule-text.upcoming) {
  color: var(--dancr-color-text-secondary) !important;
  text-shadow: none !important;
}

.tv-shell .tv-player-shade,
.tv-shell .tv-profile-body {
  background: linear-gradient(
    180deg,
    transparent,
    var(--dancr-color-black-medium) 44%,
    var(--dancr-color-background) 100%
  ) !important;
}

/* Full profiles carry one quiet violet side beam only on meaningful state cards. */
.public-profile-shell :is(
  .profile-working-card,
  .profile-schedule-section,
  .profile-working-card .club-deal-card
) {
  position: relative !important;
  overflow: hidden !important;
  border-color: var(--dancr-color-border-subtle) !important;
  box-shadow: none !important;
}

.public-profile-shell :is(
  .profile-working-card,
  .profile-schedule-section,
  .profile-working-card .club-deal-card
)::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 14px;
  bottom: 14px;
  left: 0;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    var(--dancr-color-beam-violet),
    color-mix(
      in srgb,
      var(--dancr-color-beam-violet) 62%,
      var(--dancr-color-beam-blue)
    )
  );
  box-shadow: none;
  pointer-events: none;
}

/* Android and Samsung Browser are visual peers of iPhone. Legacy inline
 * device rules once increased brightness, saturation, violet surface washes,
 * and ambient glow to compensate for older mobile rendering engines. Modern
 * browsers no longer need those mutations, and they caused the same page to
 * look like a different theme on Android. This final layer deliberately wins
 * the cascade for device-only styling while leaving layout and browser chrome
 * behavior untouched. */
:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) {
  background-color: var(--dancr-color-background) !important;
  background-image: none !important;
  color-scheme: dark !important;
}

:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) :is(
  body,
  .app,
  main.stack,
  main.stack > section.stack,
  #results,
  #results.home-dancer-grid,
  #results.home-discovery-feed,
  #results.home-tv-feed,
  #results.card-grid,
  #results.venue-card-grid,
  #results.venue-profile-overlay,
  #results.venue-profile-overlay .venue-detail,
  #profileBackdrop.modal-backdrop,
  #profileBackdrop .profile-modal,
  .public-profile-shell,
  .venue-profile-page,
  .account-shell,
  .dashboard-shell,
  .admin-shell,
  .tv-shell,
  .tv-studio-page
) {
  background-color: var(--dancr-color-background) !important;
  background-image: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}

:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) :is(
  .controls,
  .city-panel,
  .tabs,
  .profile-modal,
  .home-discovery-controls,
  .home-feed-card,
  .dancer-card,
  .venue-card,
  .home-discovery-feed-slide:not(.home-venue-discovery-slide),
  .profile-titlebar,
  .profile-social-section,
  .profile-media-feature,
  .profile-schedule-section,
  .venue-detail,
  .venue-section,
  .dashboard-card,
  .dashboard-panel,
  .customer-night-card,
  .customer-saved-card,
  .customer-empty-state,
  .venue-cover-panel,
  .tv-managed-video
) {
  border-color: var(--dancr-color-border-subtle) !important;
  background-color: var(--dancr-color-surface-subtle) !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}

/* Device rendering never color-corrects the supplied hero, video, or venue
 * media. Approved dancer photography receives its shared low-light lift below. */
body > .app main.stack > .hero.reference-hero,
body > .app main.stack > .hero.reference-hero > .hero-art,
:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) :is(
  .hero.reference-hero,
  .hero.reference-hero > .hero-art,
  .dancer-card .portrait,
  .profile-modal .modal-image,
  .profile-modal .thumb .portrait,
  .home-dancer-grid-photo,
  .home-discovery-feed-photo,
  .home-tv-feed-video,
  .tv-video,
  .profile-media-feature img,
  .profile-media-feature video,
  .venue-main-photo,
  .venue-art,
  .venue-cover-panel > img,
  .venue-tv-video,
  .tv-managed-video
) {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* Keep approved dancer photography equally clear on iPhone, Android, and
 * Samsung Browser. This restrained lift is limited to still dancer photos;
 * video, venue imagery, and the supplied hero remain source-accurate. */
:is(
  #results .home-dancer-grid-photo.has-custom-photo,
  #results .home-feed-card .portrait.has-custom-photo,
  #results .home-discovery-feed-slide:not(.home-venue-discovery-slide) .home-discovery-feed-photo.has-custom-photo,
  #results .dancer-card:not(.home-dancer-grid-card):not(.home-feed-card) .portrait.has-custom-photo,
  #profileBackdrop .modal-image.has-custom-photo,
  #profileBackdrop .profile-modal-avatar.has-photo,
  #profileBackdrop .gallery .thumb .portrait.has-custom-photo,
  .profile-photo-viewer-image,
  .public-profile-shell .profile-titlebar-avatar img,
  .public-profile-shell .profile-media-feature > img,
  .public-profile-shell .profile-media-grid-item img,
  .public-profile-shell .profile-media-viewer-stage > img
) {
  filter: brightness(1.14) contrast(1.03) !important;
  -webkit-filter: brightness(1.14) contrast(1.03) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) :is(
  .verified-mark,
  .verified-check,
  .dancer-card .verified-mark,
  .profile-modal .verified-mark,
  .profile-verified,
  .tv-verified-mark
) {
  border-color: var(--mydancr-verified-outline) !important;
  color: var(--mydancr-verified-foreground) !important;
  background: var(--mydancr-verified-surface) !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-shadow: none !important;
}

:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) :is(
  .tab,
  .menu-btn,
  .location-btn,
  .badge,
  .pill,
  .dancer-directory-filter,
  .filter-pill,
  .home-tv-feed-sound,
  .home-tv-feed-action:not(.home-tv-feed-deal-action)
) {
  border-color: var(--dancr-color-border-subtle) !important;
  background-color: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-shadow: none !important;
}

/* The final Android/Samsung parity layer above ordinary component styles must
 * preserve the same frosted-clear TV controls as iPhone. This selector is
 * intentionally limited to video actions and does not include navigation. */
:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) :is(
  .home-tv-feed-sound,
  .home-tv-feed-action:not(.home-tv-feed-deal-action),
  .tv-shell .tv-sound
) {
  border-color: var(--dancr-color-white-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-black-soft) !important;
  background-image: none !important;
  box-shadow:
    0 4px 14px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-shadow: none !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
  backdrop-filter: blur(14px) saturate(1.08) !important;
}

:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) :is(
  .home-tv-feed-sound,
  .home-tv-feed-action:not(.home-tv-feed-deal-action),
  .tv-shell .tv-sound
) svg {
  -webkit-filter: drop-shadow(0 1px 2px var(--dancr-color-black-strong)) !important;
  filter: drop-shadow(0 1px 2px var(--dancr-color-black-strong)) !important;
}

/* Stateful selection keeps one restrained brand cue. The floating dock's
 * position, scrolling behavior, and Samsung's browser-provided arrow remain
 * outside this visual parity layer. */
:is(html, body):is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) :is(
  .tab.active,
  .tab[aria-selected="true"],
  .dancer-directory-filter.is-active,
  .filter-pill.active
) {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 18%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

/* The supplied hero's violet beam now continues through the content as a
 * restrained visual rhythm. This layer is color-only: it does not target the
 * frozen navigation, change component geometry, or add a perimeter to TV. */
body.dancr-button-system > .app main.stack > .home-discovery-controls {
  background-color: transparent !important;
  background-image: radial-gradient(
    ellipse 92% 120% at 50% -24%,
    color-mix(in srgb, var(--dancr-color-brand-primary) 11%, transparent),
    transparent 72%
  ) !important;
}

body.dancr-button-system > .app main.stack > section.stack > .content-head.discovery-section-head {
  background-color: var(--dancr-color-background) !important;
  background-image: radial-gradient(
    ellipse 82% 130% at 14% 0%,
    color-mix(in srgb, var(--dancr-color-brand-primary) 8%, transparent),
    transparent 74%
  ) !important;
}

/* Major content headings carry a two-pixel hero beam without taking up
 * layout space or widening long mobile titles. */
:is(
  body.dancr-button-system > .app main.stack > section.stack > .content-head.discovery-section-head > h2,
  #profileBackdrop .profile-modal :is(.info-tile, .social-tile) > :is(h2, h3),
  #results.venue-profile-overlay .venue-detail .venue-section > :is(h2, h3),
  .public-profile-shell :is(.profile-section-heading, .profile-working-head, .social-list-heading) h2,
  .account-shell .account-panel > h2,
  .dashboard-shell :is(
    .customer-section-heading,
    .notification-title-row,
    .customer-saved-head,
    .venue-deal-heading,
    .shift-list-head
  ) h2,
  .admin-shell .admin-panel-head h2
) {
  position: relative !important;
}

:is(
  body.dancr-button-system > .app main.stack > section.stack > .content-head.discovery-section-head > h2,
  #profileBackdrop .profile-modal :is(.info-tile, .social-tile) > :is(h2, h3),
  #results.venue-profile-overlay .venue-detail .venue-section > :is(h2, h3),
  .public-profile-shell :is(.profile-section-heading, .profile-working-head, .social-list-heading) h2,
  .account-shell .account-panel > h2,
  .dashboard-shell :is(
    .customer-section-heading,
    .notification-title-row,
    .customer-saved-head,
    .venue-deal-heading,
    .shift-list-head
  ) h2,
  .admin-shell .admin-panel-head h2
)::before {
  content: "";
  position: absolute;
  top: 0.16em;
  bottom: 0.16em;
  left: -9px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    transparent,
    var(--dancr-color-beam-glow) 18%,
    var(--dancr-color-brand-primary) 44%,
    var(--dancr-color-beam-core) 50%,
    var(--dancr-color-brand-primary) 56%,
    var(--dancr-color-beam-glow) 82%,
    transparent
  );
  box-shadow: 0 0 10px var(--dancr-color-beam-glow-soft);
  pointer-events: none;
}

/* TV keeps the compact discovery-title layout without carrying the decorative
 * hero beam beside the feed name. */
body.dancr-button-system > .app main.stack > section.stack
  > .content-head.discovery-section-head.tv-section-head > h2::before {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* One true primary action per surface uses the solid violet beam treatment.
 * Deal, destructive, unavailable, and secondary actions retain their semantic
 * production colors. */
body.dancr-button-system :is(
  #profileBackdrop .modal-actions .going-btn.is-primary-action:not(.is-unavailable),
  #approvedEditProfileDropdown [data-dancer-control-action="save-profile"],
  .public-profile-shell .live-actions .profile-action-primary:not(.profile-action-unavailable),
  .account-shell button[type="submit"],
  .dashboard-shell button[type="submit"],
  .dmca-shell button[type="submit"],
  .counter-shell button[type="submit"],
  .redeem-shell button[type="submit"],
  .tv-studio-page button[type="submit"],
  a.primary-action
):not(
  [class*="danger"],
  [class*="delete"],
  [class*="remove"],
  [class*="reject"],
  [data-club-deal-cta]
) {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: linear-gradient(
    135deg,
    var(--dancr-color-brand-primary),
    var(--dancr-color-brand-primary-deep)
  ) !important;
  box-shadow:
    var(--dancr-shadow-brand-control),
    inset 0 1px 0 var(--dancr-color-brand-core-soft) !important;
}

/* Schedule and popularity chips use semantic colors; violet remains reserved
 * for brand selection instead of impersonating a live or trending state. */
body.dancr-button-system :is(
  .home-dancer-grid-status.is-now,
  .home-tv-feed-schedule.is-now,
  .home-discovery-feed-status.is-now,
  .pill.tonight,
  .public-profile-shell .profile-live-state,
  .public-profile-shell .profile-titlebar-status.is-live
) {
  border-color: var(--dancr-color-live-medium) !important;
  color: var(--dancr-color-live) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-live) 13%,
    var(--dancr-color-surface)
  ) !important;
  box-shadow: none !important;
}

body.dancr-button-system :is(
  .home-dancer-grid-status.is-upcoming,
  .home-tv-feed-schedule.is-upcoming,
  .home-discovery-feed-status.is-upcoming,
  .pill.upcoming
) {
  border-color: var(--dancr-color-info-medium) !important;
  color: var(--dancr-color-info) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-info) 11%,
    var(--dancr-color-surface)
  ) !important;
  box-shadow: none !important;
}

body.dancr-button-system :is(.badge.trend, .card-trend-marker) {
  border-color: var(--dancr-color-featured-medium) !important;
  color: var(--dancr-color-featured) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-featured) 12%,
    var(--dancr-color-surface)
  ) !important;
  box-shadow: none !important;
}

body.dancr-button-system .home-dancer-grid-heading.is-trending > strong {
  color: var(--dancr-color-featured) !important;
  text-shadow: none !important;
}

/* Profile avatars use the same neutral framing as the photo grid. Brand color
 * stays on actions and selection while the adjacent verified mark remains
 * informational cyan. */
#profileBackdrop .profile-modal-avatar,
.public-profile-shell .profile-titlebar-avatar {
  border-color: var(--dancr-color-border-strong) !important;
  box-shadow:
    0 10px 26px var(--dancr-color-black-medium),
    0 0 0 2px var(--dancr-color-border-subtle) !important;
}

#profileBackdrop .profile-modal-avatar:not(.has-photo),
.public-profile-shell .profile-titlebar-avatar:not(.has-photo) {
  background-color: var(--dancr-color-surface-raised) !important;
  background-image: linear-gradient(
    145deg,
    color-mix(in srgb, var(--dancr-color-brand-primary) 18%, var(--dancr-color-surface-raised)),
    var(--dancr-color-surface-raised)
  ) !important;
}

/* The large dancer-profile media frame stays neutral so the approved photo is
 * the focal point. This rule intentionally excludes avatars, media tabs,
 * thumbnails, verified marks, and navigation. */
#profileBackdrop .profile-modal .modal-image,
.public-profile-shell .profile-media-feature {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3) !important;
}

/* Venue discovery keeps its premium black-metal cards neutral. Profile uses
 * electric-white dark glass so the primary identity action reads immediately
 * without adding another violet surface. The fallback venue mark uses a
 * neutral slate edge; real cover photography is never filtered or recolored. */
body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-monogram {
  border-color: var(--dancr-color-border-strong) !important;
  box-shadow:
    inset 1px 1px 0 var(--dancr-color-white-medium),
    inset -1px -1px 0 var(--dancr-color-black-strong),
    0 24px 54px var(--dancr-color-black-medium),
    0 0 0 2px var(--dancr-color-border-subtle) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-profile-action {
  border-color: var(--dancr-color-text-primary) !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(180deg, var(--dancr-color-white-medium), transparent 50%),
    color-mix(
      in srgb,
      var(--dancr-color-text-primary) 10%,
      var(--dancr-color-surface-raised)
    ) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-white-medium),
    0 0 16px color-mix(in srgb, var(--dancr-color-text-primary) 48%, transparent),
    0 9px 20px var(--dancr-color-black-medium) !important;
  text-shadow: 0 0 7px color-mix(in srgb, var(--dancr-color-text-primary) 46%, transparent) !important;
  opacity: 1;
  filter: none;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-profile-action .action-icon {
  color: var(--dancr-color-text-primary) !important;
  filter: drop-shadow(0 0 7px var(--dancr-color-text-primary));
}

/* Directions remain informational cyan on venue discovery and detail. */
body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-context-actions .home-discovery-feed-directions,
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-address-directions,
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-directions-btn {
  border-color: var(--dancr-color-info-medium) !important;
  color: var(--dancr-color-info) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-info) 10%,
    var(--dancr-color-surface)
  ) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-context-actions .home-discovery-feed-directions svg,
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-address-directions svg,
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-directions-btn svg {
  color: currentColor !important;
  stroke: currentColor !important;
  filter: none !important;
}

/* The venue-detail surface uses quiet slate framing. Brand violet remains in
 * the primary Follow fill, but never traces the card, sign, sections, or
 * control edges. Semantic deal, directions, focus, and navigation colors are
 * preserved by their dedicated rules. */
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-sign.venue-sign {
  border-color: var(--dancr-color-border-subtle) !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .action-btn.follow-venue-btn {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: linear-gradient(
    135deg,
    var(--dancr-color-brand-primary),
    var(--dancr-color-brand-primary-deep)
  ) !important;
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 var(--dancr-color-white-medium) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .action-btn.follow-venue-btn.is-following {
  border-color: var(--dancr-color-border-subtle) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 24%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow: inset 0 1px 0 var(--dancr-color-white-medium) !important;
}

/* Venue identity and operational hierarchy refinements keep the card shell
 * neutral, preserve semantic deal colors, and leave navigation untouched. */
body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-monogram {
  width: 124px !important;
  height: 124px !important;
  border-radius: 38px !important;
  font-size: 34px !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  :is(.home-venue-discovery-name, .home-venue-discovery-location span:last-child) {
  min-width: 0 !important;
  overflow: hidden !important;
  overflow-wrap: anywhere;
  text-overflow: ellipsis !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-operating-status {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid var(--dancr-color-border-subtle);
  border-radius: 999px;
  color: var(--dancr-color-text-muted);
  background: var(--dancr-color-surface-glass);
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-operating-status.is-open {
  border-color: var(--dancr-color-success-strong);
  color: var(--dancr-color-success);
  background: color-mix(in srgb, var(--dancr-color-success) 13%, var(--dancr-color-surface));
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-operating-status:is(.is-closed, .is-unknown) {
  border-color: var(--dancr-color-border-subtle);
  color: var(--dancr-color-text-muted);
  background: color-mix(in srgb, var(--dancr-color-text-muted) 7%, var(--dancr-color-surface));
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-hours {
  color: var(--dancr-color-info) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-action-rail
  .feed-card-action:not(.is-active):not([aria-pressed="true"]):not(.home-venue-discovery-rail-qr.is-available):not(.home-venue-discovery-profile-action) {
  opacity: 0.76;
  filter: saturate(0.72);
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-action-rail
  [data-venue-follow]:is(.is-active, [aria-pressed="true"]) {
  opacity: 1;
  filter: none;
  border-color: var(--dancr-color-brand-primary-medium) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 22%,
    var(--dancr-color-surface-raised)
  ) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-main-photo {
  min-height: clamp(264px, 58vw, 330px) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-sign {
  width: min(84%, 460px) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  :is(#venueDetailName, .venue-sign-name) {
  min-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
}

/* Verified venue identity stays independent from cover photography. The same
 * contain-fit source is rendered on discovery cards and the full venue page,
 * while the existing initials/sign treatment remains the network fallback. */
.venue-card-logo-shell,
.venue-detail-logo-shell {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  overflow: hidden;
  border: 1px solid var(--dancr-color-border-subtle);
  background: rgba(3, 4, 7, 0.72);
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    0 22px 54px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* A verified logo is the venue-card artwork itself. The shell spans the card
 * without a secondary frame; identity, live context, and every action stay
 * layered over the same protected canvas. */
.home-venue-discovery-art .home-venue-discovery-logo-shell {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  transform: none;
  overflow: hidden;
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.venue-card-logo,
.venue-detail-logo {
  display: block;
  width: 92%;
  height: 86%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.52));
}

.home-venue-discovery-logo {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  /* Keep every logo inside the visual canvas to the left of the 48px action
   * rail. The rail sits 10px from the card edge, so 72px preserves a clear
   * 14px gutter instead of letting wide marks run beneath the controls. */
  padding: 42px 72px 142px 18px;
  object-fit: contain;
  object-position: center 34%;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.58));
}

.venue-card-logo-shell {
  width: min(76%, 350px);
  height: 58%;
  min-height: 136px;
  border-radius: 30px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-detail-logo-shell {
  width: min(88%, 480px);
  height: 200px;
  border-radius: 30px;
}

@media (max-width: 420px) {
  body.dancr-button-system > .app main.stack > section.stack
    > #results.home-venue-discovery-feed > .home-venue-discovery-slide
    .home-venue-discovery-logo {
    padding: 40px 72px 138px 16px;
  }

  body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-detail-logo-shell {
    width: min(86%, 360px);
    height: 180px;
    border-radius: 26px;
  }
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail #venueDetailName {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-hero-body > .row {
  flex-wrap: wrap;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-hero-body > .row > div {
  min-width: min(210px, 100%);
  flex: 1 1 210px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-operating-summary {
  display: inline-flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-operating-status {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid var(--dancr-color-border-subtle);
  border-radius: 999px;
  color: var(--dancr-color-text-muted);
  background: var(--dancr-color-surface-glass);
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-operating-status.is-open {
  border-color: var(--dancr-color-success-strong);
  color: var(--dancr-color-success);
  background: color-mix(in srgb, var(--dancr-color-success) 13%, var(--dancr-color-surface));
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-operating-status:is(.is-closed, .is-unknown) {
  border-color: var(--dancr-color-border-subtle);
  color: var(--dancr-color-text-muted);
  background: color-mix(in srgb, var(--dancr-color-text-muted) 7%, var(--dancr-color-surface));
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-status-pill {
  border-color: var(--dancr-color-info-medium) !important;
  color: var(--dancr-color-info) !important;
  background: color-mix(in srgb, var(--dancr-color-info) 9%, var(--dancr-color-surface)) !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-address-copy .meta {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-info .info-tile .meta {
  overflow-wrap: anywhere;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-offer-card.revenue-offer-card {
  border-color: var(--dancr-color-success-strong) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-success) 9%,
    var(--dancr-color-surface-subtle)
  ) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-white-soft),
    0 0 20px color-mix(in srgb, var(--dancr-color-success) 14%, transparent) !important;
}

/* Dancer discovery uses brand violet only for identity, focus, and selected
 * controls. Schedule, trust, and availability remain semantic; cards and
 * idle controls stay neutral. This section intentionally excludes the hero
 * artwork and every floating or bottom-navigation selector. */
body.dancr-button-system > .app main.stack > .home-discovery-controls #citySelect,
body.dancr-button-system > .app main.stack > .home-discovery-controls .home-filter-toggle:not([aria-expanded="true"]) {
  border-color: var(--dancr-color-border) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > .home-discovery-controls #citySelect:focus,
body.dancr-button-system > .app main.stack > .home-discovery-controls #citySelect:focus-visible,
body.dancr-button-system > .app main.stack > .home-discovery-controls .home-filter-toggle[aria-expanded="true"],
body.dancr-button-system > .app main.stack > .home-discovery-controls .home-filter-toggle:focus-visible {
  border-color: var(--dancr-color-brand-primary) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body.dancr-button-system > .app main.stack > .home-live-summary #homeLiveWorking {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system > .app main.stack > .home-live-summary #homeLiveWorking.is-active {
  color: var(--dancr-color-live) !important;
}

body.dancr-button-system > .app main.stack > section.stack > .content-head.discovery-section-head > #tabTitle {
  color: var(--dancr-color-text-primary) !important;
  text-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > .content-head.discovery-section-head > #tabCount {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface-glass) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter:not(.is-active) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter:not(.is-active) > span,
body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter.is-empty:not(.is-active),
body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter.is-empty:not(.is-active) > span {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter.is-active {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-brand-primary) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-brand-core-soft),
    var(--dancr-shadow-brand-subtle) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter.is-active > span {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter[data-dancer-directory-filter="now"]:not(.is-empty):not(.is-active) > span {
  color: var(--dancr-color-live) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter[data-dancer-directory-filter="now"].is-active:not(.is-empty) {
  border-color: var(--dancr-color-live-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-live) 22%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow:
    inset 0 0 0 1px var(--dancr-color-live-medium),
    0 0 12px var(--dancr-color-live-soft) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter[data-dancer-directory-filter="now"].is-active:not(.is-empty) > span {
  color: var(--dancr-color-live) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter[data-dancer-directory-filter="now"].is-active.is-empty {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter[data-dancer-directory-filter="now"].is-active.is-empty > span {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .dancer-directory-filter:focus-visible {
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading:not(:first-child) {
  border-color: var(--dancr-color-border-subtle) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading > span {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface-glass) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading.is-now > strong,
body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading.is-now > span {
  color: var(--dancr-color-live) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading.is-upcoming > strong,
body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading.is-upcoming > span {
  color: var(--dancr-color-info) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading.is-trending > strong,
body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading.is-trending > span {
  color: var(--dancr-color-featured) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading.is-open > strong,
body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-heading.is-open > span {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid > .home-dancer-grid-card {
  border-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .home-dancer-grid-name {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .home-dancer-grid-name .verified-mark {
  border-color: var(--mydancr-verified-outline) !important;
  color: var(--mydancr-verified-foreground) !important;
  background: var(--mydancr-verified-surface) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .home-dancer-grid-venue {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .home-dancer-grid-venue > svg {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.home-dancer-grid .home-dancer-grid-status:not(.is-now):not(.is-upcoming) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: color-mix(in srgb, var(--dancr-color-text-muted) 7%, var(--dancr-color-surface)) !important;
  box-shadow: none !important;
}

/* Venue profile grids inherit the same production card color layer as the
 * main Dancers directory, including verified, venue, and open-shift states. */
body.dancr-button-system > .app main.stack > section.stack > #results.venue-profile-overlay
  .venue-dancer-grid > .home-dancer-grid-card {
  border: 0 !important;
  border-radius: 2px !important;
  border-color: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.venue-profile-overlay
  .venue-dancer-grid .home-dancer-grid-name {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.venue-profile-overlay
  .venue-dancer-grid .home-dancer-grid-name .verified-mark {
  border-color: var(--mydancr-verified-outline) !important;
  color: var(--mydancr-verified-foreground) !important;
  background: var(--mydancr-verified-surface) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.venue-profile-overlay
  .venue-dancer-grid .home-dancer-grid-venue {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.venue-profile-overlay
  .venue-dancer-grid .home-dancer-grid-venue > svg {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system > .app main.stack > section.stack > #results.venue-profile-overlay
  .venue-dancer-grid .home-dancer-grid-status:not(.is-now):not(.is-upcoming) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: color-mix(in srgb, var(--dancr-color-text-muted) 7%, var(--dancr-color-surface)) !important;
  box-shadow: none !important;
}

/* Dancer full profiles keep an 84/10/6 neutral, brand, and semantic color
 * balance across both the live overlay and canonical profile route. The layer
 * is color-only: it intentionally excludes profile media, page geometry,
 * scrolling behavior, and every floating or bottom-navigation selector. */
body.dancr-button-system #profileBackdrop .profile-modal,
body.dancr-button-system .public-profile-shell {
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-background) !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-summary,
body.dancr-button-system .public-profile-shell .profile-titlebar {
  border-color: var(--dancr-color-border-subtle) !important;
  background: var(--dancr-color-background) !important;
  box-shadow: 0 8px 24px var(--dancr-color-black-soft) !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-avatar,
body.dancr-button-system .public-profile-shell .profile-titlebar-avatar {
  border-color: var(--dancr-color-border-strong) !important;
  background-color: var(--dancr-color-surface) !important;
  box-shadow:
    0 10px 26px var(--dancr-color-black-medium),
    0 0 0 2px var(--dancr-color-border-subtle) !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-avatar {
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop #modalName,
body.dancr-button-system .public-profile-shell .profile-titlebar h1 {
  color: var(--dancr-color-text-primary) !important;
  text-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-verified,
body.dancr-button-system .public-profile-shell .profile-verified {
  border-color: var(--mydancr-verified-outline) !important;
  color: var(--mydancr-verified-foreground) !important;
  background: var(--mydancr-verified-surface) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop #modalCity,
body.dancr-button-system .public-profile-shell .profile-titlebar-city {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop #modalClose,
body.dancr-button-system .public-profile-shell .public-profile-close {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: 0 10px 24px var(--dancr-color-black-medium) !important;
}

body.dancr-button-system #profileBackdrop #modalClose {
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop #modalClose:is(:hover, :focus-visible),
body.dancr-button-system .public-profile-shell .public-profile-close:is(:hover, :focus-visible) {
  border-color: var(--dancr-color-brand-primary) !important;
  color: var(--dancr-color-text-primary) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body.dancr-button-system #profileBackdrop #modalClose:is(:hover, :focus-visible) {
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop #modalClose:focus-visible {
  outline: 2px solid var(--dancr-color-text-secondary) !important;
  outline-offset: 2px !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-media-tabs button::before,
body.dancr-button-system .public-profile-shell .profile-media-tabs button::before {
  border-color: var(--dancr-color-border-subtle) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: inset 0 1px 0 var(--dancr-color-white-soft) !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-media-tabs button:not(.active),
body.dancr-button-system .public-profile-shell .profile-media-tabs button:not(.active) {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-media-tabs button.active,
body.dancr-button-system .public-profile-shell .profile-media-tabs button.active {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-media-tabs button.active::before,
body.dancr-button-system .public-profile-shell .profile-media-tabs button.active::before {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  background: linear-gradient(
    145deg,
    var(--dancr-color-brand-primary),
    var(--dancr-color-brand-primary-deep)
  ) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-brand-core-soft),
    var(--dancr-shadow-brand-subtle) !important;
}

body.dancr-button-system #profileBackdrop .modal-image,
body.dancr-button-system .public-profile-shell .profile-media-feature {
  border-color: var(--dancr-color-border-subtle) !important;
  background-color: var(--dancr-color-surface) !important;
  box-shadow: 0 12px 28px var(--dancr-color-black-medium) !important;
}

body.dancr-button-system #profileBackdrop .profile-modal-media-position,
body.dancr-button-system #profileBackdrop .profile-modal-media-expand,
body.dancr-button-system .public-profile-shell :is(.profile-media-position, .profile-media-expand) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-black-strong) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .gallery .thumb.active,
body.dancr-button-system .public-profile-shell .profile-media-grid-item.active {
  border-color: var(--dancr-color-brand-primary) !important;
  outline-color: var(--dancr-color-brand-primary-medium) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

body.dancr-button-system #profileBackdrop .gallery[data-media-tab="video"] .thumb.active {
  border-color: var(--dancr-color-text-secondary) !important;
  outline-color: var(--dancr-color-white-soft) !important;
  box-shadow:
    inset 0 0 0 1px var(--dancr-color-white-medium),
    0 8px 16px var(--dancr-color-black-medium) !important;
}

body.dancr-button-system #profileBackdrop :is(.info-tile, .social-tile),
body.dancr-button-system .public-profile-shell :is(
    .profile-schedule-section,
    .shift-row,
    .profile-working-card,
    .profile-deal-availability,
    .profile-social-section,
    .profile-overview
  ) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop :is(
    .profile-schedule-card.schedule-upcoming,
    .profile-club-deal-tile,
    .social-tile,
    .profile-activity-metrics
  ),
body.dancr-button-system .public-profile-shell :is(
    .profile-schedule-section,
    .profile-working-card,
    .profile-social-section,
    .profile-metrics
  ) {
  position: relative;
}

body.dancr-button-system #profileBackdrop :is(
    .profile-schedule-card.schedule-upcoming,
    .social-tile,
    .profile-activity-metrics
  )::before,
body.dancr-button-system .public-profile-shell :is(
    .profile-schedule-section,
    .profile-social-section,
    .profile-metrics
  )::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 16px;
  bottom: 16px;
  left: 0;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    var(--dancr-color-brand-core),
    var(--dancr-color-brand-primary) 38%,
    var(--dancr-color-brand-glow)
  );
  box-shadow: 0 0 10px var(--dancr-color-brand-glow-soft);
  pointer-events: none;
}

body.dancr-button-system #profileBackdrop .profile-schedule-card.schedule-upcoming > strong,
body.dancr-button-system .public-profile-shell .profile-schedule-section .eyebrow,
body.dancr-button-system .public-profile-shell .profile-schedule-section .shift-date {
  color: var(--dancr-color-info) !important;
}

body.dancr-button-system #profileBackdrop .profile-schedule-primary,
body.dancr-button-system .public-profile-shell .profile-schedule-section h2,
body.dancr-button-system .public-profile-shell .profile-schedule-section .shift-row strong {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system #profileBackdrop .profile-schedule-explanation,
body.dancr-button-system .public-profile-shell .profile-schedule-section :is(p, .shift-time),
body.dancr-button-system .public-profile-shell .profile-section-heading > span {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system #profileBackdrop :is(.upcoming-venue-line, .profile-working-directions),
body.dancr-button-system .public-profile-shell :is(.shift-row svg, .profile-working-head > a) {
  color: var(--dancr-color-info) !important;
}

body.dancr-button-system #profileBackdrop .working-now-tile,
body.dancr-button-system .public-profile-shell .profile-working-card:not(.has-club-deal) {
  border-color: var(--dancr-color-success-medium) !important;
  background: color-mix(in srgb, var(--dancr-color-success) 8%, var(--dancr-color-surface)) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .working-now-tile > strong,
body.dancr-button-system #profileBackdrop .working-now-tile :is(svg, .status-dot),
body.dancr-button-system .public-profile-shell .profile-live-state {
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-success) !important;
  background: var(--dancr-color-success-soft) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .profile-club-deal-tile,
body.dancr-button-system .public-profile-shell .profile-working-card.has-club-deal,
body.dancr-button-system .public-profile-shell .club-deal-card {
  border-color: var(--dancr-color-success-medium) !important;
  background: color-mix(in srgb, var(--dancr-color-success) 8%, var(--dancr-color-surface)) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .profile-club-deal-tile::before,
body.dancr-button-system .public-profile-shell .profile-working-card.has-club-deal::before {
  background: var(--dancr-color-success) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .profile-club-deal-tile :is(.profile-deal-label, .profile-deal-main),
body.dancr-button-system .public-profile-shell :is(.profile-working-card.has-club-deal .profile-live-state, .club-deal-copy h2) {
  color: var(--dancr-color-success) !important;
}

body.dancr-button-system #profileBackdrop .profile-qr-unavailable,
body.dancr-button-system .public-profile-shell :is(.venue-qr-unavailable, .profile-deal-availability) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .profile-qr-unavailable::before,
body.dancr-button-system #profileBackdrop .profile-qr-unavailable::after,
body.dancr-button-system .public-profile-shell .profile-deal-availability::before,
body.dancr-button-system .public-profile-shell .profile-deal-availability::after,
body.dancr-button-system .public-profile-shell .venue-qr-unavailable::before,
body.dancr-button-system .public-profile-shell .venue-qr-unavailable::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

body.dancr-button-system .public-profile-shell .profile-deal-availability {
  width: min(168px, 100%) !important;
  margin-inline: auto !important;
  border: 0 !important;
  background: transparent !important;
}

body.dancr-button-system .public-profile-shell .venue-qr-unavailable {
  width: min(168px, 100%) !important;
  min-height: 168px !important;
  aspect-ratio: 1 / 1;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  place-items: center !important;
  align-content: center !important;
  justify-self: center !important;
  gap: 10px !important;
  padding: 14px !important;
  border-radius: 16px !important;
  text-align: center;
}

body.dancr-button-system .public-profile-shell .venue-qr-placeholder-icon {
  width: 72px !important;
  height: 72px !important;
  padding: 8px !important;
  border-color: var(--dancr-color-border-subtle) !important;
  border-radius: 12px !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface-subtle) !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: .62;
}

body.dancr-button-system .public-profile-shell .venue-qr-unavailable-copy {
  justify-items: center;
}

body.dancr-button-system .public-profile-shell .venue-qr-unavailable-label {
  color: var(--dancr-color-text-muted) !important;
  opacity: .72;
}

body.dancr-button-system .public-profile-shell .venue-qr-unavailable-copy strong {
  max-width: 136px;
  font-size: 12px !important;
  line-height: 1.25;
}

body.dancr-button-system #profileBackdrop .profile-qr-unavailable :is(.profile-deal-label, .profile-deal-main, .profile-deal-meta),
body.dancr-button-system .public-profile-shell .venue-qr-unavailable :is(
    .eyebrow,
    strong,
    p,
    .venue-qr-placeholder-icon,
    .venue-qr-explanation
  ) {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system #profileBackdrop .profile-deal-disclosure summary,
body.dancr-button-system .public-profile-shell .venue-qr-explanation summary {
  color: var(--dancr-color-info) !important;
}

body.dancr-button-system :is(#profileBackdrop, .public-profile-shell)
  :is(.modal-actions, .live-actions)
  :is(
    .going-btn.going-btn.is-primary-action:not(.is-unavailable),
    .profile-action-primary:not(.profile-action-unavailable)
  ) {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-brand-primary) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-brand-core-soft),
    var(--dancr-shadow-brand-subtle) !important;
}

body.dancr-button-system #profileBackdrop .modal-actions :is(
    .action-btn.secondary,
    .profile-action-overflow-toggle,
    .going-btn:not(.is-primary-action)
  ),
body.dancr-button-system .public-profile-shell .live-actions :is(
    .profile-action-secondary,
    .profile-action-share-slot .profile-share button,
    .profile-action-overflow-toggle
  ) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .modal-actions :is(.action-btn, .profile-action-overflow-toggle) :is(svg, span),
body.dancr-button-system .public-profile-shell .live-actions :is(
    .profile-action-secondary,
    .profile-action-share-slot,
    .profile-action-overflow-toggle
  ) :is(svg, span) {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system #profileBackdrop .modal-actions :is(.action-btn.is-following, .action-btn[aria-pressed="true"]),
body.dancr-button-system .public-profile-shell .live-actions :is(.profile-action-secondary, .profile-action-going)[aria-pressed="true"] {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-brand-primary-soft) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

body.dancr-button-system #profileBackdrop .modal-actions .profile-action-overflow-toggle > span:first-child,
body.dancr-button-system .public-profile-shell .profile-action-overflow-toggle > span:first-child {
  color: var(--dancr-color-text-secondary) !important;
  text-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .profile-action-overflow-menu,
body.dancr-button-system .public-profile-shell .profile-action-overflow-menu {
  border-color: var(--dancr-color-border-strong) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-translucent) !important;
  box-shadow: 0 18px 48px var(--dancr-color-black-strong) !important;
}

body.dancr-button-system #profileBackdrop .profile-action-requirement,
body.dancr-button-system .public-profile-shell .profile-action-requirement {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system #profileBackdrop .profile-action-requirement.is-public,
body.dancr-button-system .public-profile-shell :is(
    .profile-action-primary:not(.profile-action-unavailable),
    .profile-action-going:not(.profile-action-unavailable)
  ) .profile-action-requirement {
  color: var(--dancr-color-info) !important;
}

/* The persistent 72px discovery bar remains available inside full profiles.
 * Give mobile profile actions enough trailing scroll space to clear it so the
 * Going and overflow actions remain visible and receive the tap. */
@media (max-width: 759px) {
  body.dancr-button-system #profileBackdrop .profile-modal .modal-body {
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px));
  }
}

body.dancr-button-system #profileBackdrop .social-tile,
body.dancr-button-system .public-profile-shell .profile-social-section {
  border-color: var(--dancr-color-border-subtle) !important;
  background: var(--dancr-color-surface) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .social-tile .social-tile-head strong,
body.dancr-button-system .public-profile-shell .social-list-heading h2 {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system #profileBackdrop .social-link,
body.dancr-button-system .public-profile-shell .social-link {
  border-color: var(--dancr-color-border-subtle) !important;
  background-color: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .social-instagram,
body.dancr-button-system .public-profile-shell .social-link-instagram {
  color: #e4405f !important;
}

body.dancr-button-system #profileBackdrop .social-tiktok,
body.dancr-button-system .public-profile-shell .social-link-tiktok {
  color: #25f4ee !important;
}

body.dancr-button-system #profileBackdrop .social-snapchat,
body.dancr-button-system .public-profile-shell .social-link-snapchat {
  color: #fffc00 !important;
}

body.dancr-button-system #profileBackdrop .social-onlyfans,
body.dancr-button-system .public-profile-shell .social-link-onlyfans {
  color: #00aff0 !important;
}

body.dancr-button-system #profileBackdrop .social-x,
body.dancr-button-system .public-profile-shell .social-link-x {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system #profileBackdrop .social-link:focus-visible,
body.dancr-button-system .public-profile-shell .social-link:focus-visible,
body.dancr-button-system #profileBackdrop .modal-actions :is(.action-btn, .profile-action-overflow-toggle):focus-visible,
body.dancr-button-system .public-profile-shell .live-actions button:focus-visible {
  border-color: var(--dancr-color-brand-primary) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body.dancr-button-system #profileBackdrop .profile-activity-metrics,
body.dancr-button-system .public-profile-shell .profile-overview {
  border-color: var(--dancr-color-border-subtle) !important;
  background: var(--dancr-color-surface) !important;
  box-shadow: none !important;
}

body.dancr-button-system #profileBackdrop .profile-activity-metrics > div + div,
body.dancr-button-system .public-profile-shell .profile-metrics > div + div {
  box-shadow: inset 1px 0 0 var(--dancr-color-border-subtle) !important;
}

body.dancr-button-system #profileBackdrop .profile-activity-metrics dd,
body.dancr-button-system .public-profile-shell .profile-metrics dd {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system #profileBackdrop .profile-activity-metrics dt,
body.dancr-button-system .public-profile-shell .profile-metrics dt {
  color: var(--dancr-color-text-muted) !important;
}

/* Production TV-card branding keeps the moving media as the visual hero.
 * Card framing, idle utilities, playback controls, and progress stay neutral;
 * the beam violet is reserved for profile identity, selection, and keyboard focus.
 * Verification stays neutral while schedule states retain their semantic
 * production colors. */
body.dancr-button-system :is(
    .home-tv-feed-slide,
    .home-tv-feed-slide:hover,
    .home-tv-feed-slide:focus,
    .home-tv-feed-slide:focus-visible,
    .home-tv-feed-slide:focus-within
  ),
.tv-shell :is(
    .tv-player,
    .tv-player:hover,
    .tv-player:focus,
    .tv-player:focus-visible,
    .tv-player:focus-within
  ),
.tv-shell .tv-slide:is(.is-active, [aria-current="true"]) .tv-player {
  border: 0 !important;
  outline: 0 !important;
  background: #000 !important;
  box-shadow: 0 22px 56px var(--dancr-color-black-medium) !important;
  filter: none !important;
}

body.dancr-button-system .home-tv-feed-shade,
.tv-shell :is(.tv-player-shade, .tv-profile-body) {
  background: linear-gradient(
    180deg,
    transparent 28%,
    var(--dancr-color-black-soft) 52%,
    var(--dancr-color-background) 100%
  ) !important;
}

/* Every real dancer avatar keeps its existing outer dimensions and layout.
 * The border is a real child wrapper rather than parent padding, a shadow, or
 * a pseudo-element, so Android paints one complete circular border. */
body.dancr-button-system [data-dancer-avatar] {
  position: relative !important;
  isolation: isolate !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
  forced-color-adjust: none !important;
  -webkit-print-color-adjust: exact !important;
  text-shadow: none !important;
}

body.dancr-button-system [data-dancer-avatar]::before,
body.dancr-button-system [data-dancer-avatar]::after {
  content: none !important;
}

body.dancr-button-system [data-dancer-avatar-border] {
  position: absolute !important;
  z-index: 3 !important;
  inset: 0 !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border: 2px solid var(--dancr-color-avatar-ring-inactive) !important;
  border-radius: 50% !important;
  color: inherit !important;
  background-color: inherit !important;
  background-image: inherit !important;
  background-position: inherit !important;
  background-repeat: inherit !important;
  background-size: inherit !important;
  box-shadow: none !important;
  opacity: 1 !important;
  -webkit-filter: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  pointer-events: none !important;
}

body.dancr-button-system [data-dancer-avatar-border] > img,
body.dancr-button-system [data-dancer-avatar-border] > .tv-profile-photo-image {
  position: absolute !important;
  z-index: 1 !important;
  inset: 2px !important;
  width: calc(100% - 4px) !important;
  height: calc(100% - 4px) !important;
  border: 0 !important;
  border-radius: 50% !important;
  background-color: #000000 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  -webkit-filter: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Working-now status replaces the neutral identity ring with live teal.
 * The real child badge and parent halo avoid changing avatar dimensions or
 * relying on pseudo-elements that can be clipped by Android renderers. */
body.dancr-button-system [data-dancer-avatar] > [data-working-now-indicator] {
  display: none !important;
}

body.dancr-button-system [data-dancer-avatar][data-working-now="true"] {
  overflow: visible !important;
  border-radius: 50% !important;
  box-shadow:
    0 0 0 1px var(--dancr-color-avatar-ring-live),
    0 0 11px var(--dancr-color-success-medium) !important;
}

/* A working dancer's identity ring is one solid live teal on every engine.
 * Styling the real border child avoids the partial/white WebKit composite
 * seen when only the parent halo communicates live status. */
body.dancr-button-system [data-dancer-avatar][data-working-now="true"] > [data-dancer-avatar-border] {
  border-color: var(--dancr-color-avatar-ring-live) !important;
}

body.dancr-button-system [data-dancer-avatar][data-working-now="true"] > [data-working-now-indicator] {
  position: absolute !important;
  z-index: 6 !important;
  right: -8px !important;
  bottom: -4px !important;
  min-width: 27px !important;
  min-height: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1px 4px !important;
  border: 1px solid #d8fff0 !important;
  border-radius: 999px !important;
  color: #02130d !important;
  background: var(--dancr-color-avatar-ring-live) !important;
  box-shadow: 0 0 9px rgba(52, 227, 164, 0.58) !important;
  font-size: 7px !important;
  font-weight: 950 !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
  text-shadow: none !important;
  pointer-events: none !important;
}

body.dancr-button-system :is(
    .home-venue-discovery-lineup-avatar,
    .venue-card-lineup-avatar
  )[data-working-now="true"] > [data-working-now-indicator] {
  right: -1px !important;
  bottom: -1px !important;
  width: 8px !important;
  min-width: 8px !important;
  height: 8px !important;
  min-height: 8px !important;
  padding: 0 !important;
  border-width: 1px !important;
  font-size: 0 !important;
}

body.dancr-button-system .home-tv-feed-dancer-photo:not(:has(img)) {
  background-image: none !important;
  color: var(--dancr-color-brand-primary-deep) !important;
}

body.dancr-button-system .profile-titlebar-avatar:not(.has-photo),
body.dancr-button-system .tv-profile-photo:not(.has-photo) {
  color: var(--dancr-color-brand-primary-deep) !important;
}

body.dancr-button-system .home-tv-feed-dancer-photo:has(img) {
  background-image: none !important;
}

body.dancr-button-system :is(.home-tv-feed-dancer-name, .home-tv-feed-venue),
.tv-shell :is(.tv-card-stage-name, .tv-card-venue-name) {
  color: var(--dancr-color-text-primary) !important;
  text-shadow: 0 2px 12px var(--dancr-color-black-strong) !important;
}

body.dancr-button-system :is(.home-tv-feed-meta, .home-tv-feed-dancer-copy),
.tv-shell :is(.tv-card-venue-line, .tv-no-shifts-state) {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system .home-tv-feed-venue svg,
.tv-shell .tv-card-venue-line svg {
  color: var(--dancr-color-info) !important;
}

body.dancr-button-system .home-tv-feed-verified.home-tv-feed-verified.home-tv-feed-verified,
.tv-shell .tv-verified-mark.tv-verified-mark.tv-verified-mark {
  border-color: var(--mydancr-verified-outline) !important;
  color: var(--mydancr-verified-foreground) !important;
  background: var(--mydancr-verified-surface) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system :is(.home-tv-feed-position, .home-tv-feed-media-position),
.tv-shell .tv-playback-retry {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-overlay) !important;
  box-shadow: 0 8px 20px var(--dancr-color-black-medium) !important;
  text-shadow: none !important;
}

.tv-shell .tv-playback-retry:is(:hover, :focus-visible, :active) {
  border-color: var(--dancr-color-white-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-overlay) !important;
  background-image: none !important;
  box-shadow:
    0 8px 20px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
  filter: none !important;
  text-shadow: none !important;
}

body.dancr-button-system :is(
    .home-tv-feed-sound,
    .home-tv-feed-action:not(.home-tv-feed-deal-action)
  ),
.tv-shell .tv-sound {
  border-color: var(--dancr-color-white-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-black-medium) !important;
  background-image: none !important;
  box-shadow:
    0 5px 16px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
  text-shadow: none !important;
}

body.dancr-button-system .home-tv-feed-action:not(
    .home-tv-feed-deal-action,
    .home-tv-feed-report-action,
    .home-tv-feed-fullscreen
  ):is(.is-active, [aria-pressed="true"]) {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-brand-core) !important;
  background-color: var(--dancr-color-surface-raised) !important;
  background-image: linear-gradient(
    var(--dancr-color-brand-primary-soft),
    var(--dancr-color-brand-primary-soft)
  ) !important;
  box-shadow:
    inset 0 0 0 1px var(--dancr-color-brand-primary-medium),
    0 0 10px var(--dancr-color-brand-glow-soft) !important;
}

body.dancr-button-system :is(
    .home-tv-feed-dancer,
    .home-tv-feed-venue,
    .home-tv-feed-sound,
    .home-tv-feed-action,
    .home-tv-feed-report-option
  ):focus-visible,
.tv-shell :is(.tv-card-stage-link, .tv-card-venue-line, .tv-sound, .tv-playback-retry):focus-visible {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

/* Fullscreen is a viewing mode, not a selected reaction. Keep its control
 * neutral after touch focus and while the video is expanded. */
body.dancr-button-system .home-tv-feed-fullscreen[aria-pressed="true"] {
  border-color: var(--dancr-color-white-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-black-medium) !important;
  background-image: none !important;
  outline: 0 !important;
  box-shadow:
    0 5px 16px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
}

body.dancr-button-system .home-tv-feed-report-action[aria-expanded="true"] {
  border-color: var(--dancr-color-danger-strong) !important;
  color: var(--dancr-color-danger) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-danger) 12%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-danger-medium) !important;
}

body.dancr-button-system .home-tv-feed-report-menu {
  border-color: var(--dancr-color-border-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-translucent) !important;
  box-shadow: 0 18px 44px var(--dancr-color-black-strong) !important;
}

body.dancr-button-system .home-tv-feed-report-menu strong {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system .home-tv-feed-report-option {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-raised) !important;
}

body.dancr-button-system .home-tv-feed-report-option:is(:hover, :focus-visible) {
  border-color: var(--dancr-color-danger-medium) !important;
  color: var(--dancr-color-danger) !important;
  box-shadow: 0 0 0 1px var(--dancr-color-danger-soft) !important;
}

body.dancr-button-system .home-tv-feed-playback {
  border-color: var(--dancr-color-white-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-black-medium) !important;
  background-image: none !important;
  box-shadow:
    0 10px 30px var(--dancr-color-black-medium),
    inset 0 1px 0 var(--dancr-color-white-soft) !important;
  filter: none !important;
  text-shadow: none !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.08) !important;
  backdrop-filter: blur(14px) saturate(1.08) !important;
}

body.dancr-button-system .home-tv-feed-progress {
  background: var(--dancr-color-white-medium) !important;
  box-shadow: 0 1px 5px var(--dancr-color-black-strong) !important;
}

body.dancr-button-system .home-tv-feed-progress > span {
  background: color-mix(in srgb, var(--dancr-color-text-primary) 88%, transparent) !important;
  box-shadow: none !important;
}

body.dancr-button-system .home-tv-feed-feedback {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-overlay) !important;
  box-shadow:
    0 12px 34px var(--dancr-color-black-strong),
    0 0 12px var(--dancr-color-brand-glow-soft) !important;
}

body.dancr-button-system .home-tv-feed-feedback.is-neutral {
  border-color: var(--dancr-color-white-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-black-medium) !important;
  background-image: none !important;
  box-shadow: 0 12px 34px var(--dancr-color-black-strong) !important;
  text-shadow: none !important;
}

body.dancr-button-system .home-tv-feed-schedule.is-now {
  border-color: var(--dancr-color-live-medium) !important;
  color: var(--dancr-color-live) !important;
  background-color: var(--dancr-color-live-soft) !important;
  text-shadow: none !important;
}

body.dancr-button-system .home-tv-feed-schedule.is-upcoming {
  border-color: var(--dancr-color-info-medium) !important;
  color: var(--dancr-color-info) !important;
  background-color: var(--dancr-color-info-soft) !important;
  text-shadow: none !important;
}

.tv-shell :is(.tv-schedule-row.is-tonight svg, .tv-card-schedule-text.tonight) {
  color: var(--dancr-color-success) !important;
  background: transparent !important;
  text-shadow: none !important;
}

.tv-shell :is(.tv-schedule-row.is-upcoming svg, .tv-card-schedule-text.upcoming) {
  color: var(--dancr-color-info) !important;
  background: transparent !important;
  text-shadow: none !important;
}

body.dancr-button-system .home-tv-feed-deal-action {
  border-color: var(--dancr-color-success-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-success) 18%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow: 0 0 10px var(--dancr-color-success-soft) !important;
}

/* Production venue-detail branding is neutral first. The venue's approved
 * artwork remains untouched; Electric Violet is reserved for the primary
 * follow action and focus, while operational meaning uses semantic tokens. */
body.dancr-button-system #results.venue-profile-overlay,
body.dancr-button-system #results.venue-profile-overlay .venue-detail {
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-background) !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* The hero/card supplies the venue detail's single visible frame. Keep the
 * wrapper's border geometry so removing the duplicate line cannot shift it. */
body.dancr-button-system #results.venue-profile-overlay .venue-detail {
  border-color: transparent !important;
}

body.dancr-button-system #results.venue-profile-overlay :is(
    .venue-hero,
    .venue-sign,
    .venue-detail-logo-shell,
    .venue-quick-stat,
    .venue-info .info-tile,
    .venue-offer-card,
    .venue-detail-club-deal-qr-state.is-unavailable,
    .venue-detail-club-deal-qr-state.is-unavailable .venue-detail-club-deal-symbol,
    .venue-shift-row,
    .locked
  ) {
  border-color: var(--dancr-color-border-subtle) !important;
  background-color: var(--dancr-color-surface-subtle) !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail #venueDetailName,
body.dancr-button-system #results.venue-profile-overlay .venue-detail :is(
    .venue-sign-name,
    .venue-quick-stat strong,
    .venue-info strong,
    .venue-offer-card h3,
    .venue-detail-club-deal-qr-copy strong,
    .section-title,
    .venue-shift-copy strong
  ) {
  color: var(--dancr-color-text-primary) !important;
  text-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail :is(
    .venue-sign-meta,
    .venue-quick-stat span,
    .venue-info .meta,
    .venue-address-distance,
    .venue-offer-card p,
    .venue-detail-club-deal-qr-copy small,
    .locked
  ) {
  color: var(--dancr-color-text-muted) !important;
  text-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-club-deal-unavailable,
body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-state.is-unavailable {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-secondary) !important;
  background-color: var(--dancr-color-surface-subtle) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-club-deal-unavailable .eyebrow {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-operating-status,
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-status-pill {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface-subtle) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-operating-status.is-open {
  border-color: var(--dancr-color-success-strong) !important;
  color: var(--dancr-color-success) !important;
  background: var(--dancr-color-success-soft) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail :is(
    .venue-offer-card.revenue-offer-card,
    .venue-detail-club-deal-qr-state.is-available
  ) {
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background-color: var(--dancr-color-success-soft) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-state.is-available :is(strong, small, svg) {
  color: var(--dancr-color-success) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .action-btn.follow-venue-btn {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  color: var(--dancr-color-text-primary) !important;
  background: linear-gradient(
    135deg,
    var(--dancr-color-brand-primary),
    var(--dancr-color-brand-primary-deep)
  ) !important;
  box-shadow: var(--dancr-shadow-brand-control) !important;
  text-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .action-btn.follow-venue-btn.is-following {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-brand-core) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 24%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow: inset 0 0 0 1px var(--dancr-color-brand-primary-medium) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  :is(.venue-address-directions, .venue-directions-btn) {
  border-color: var(--dancr-color-info-medium) !important;
  color: var(--dancr-color-info) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-info) 10%,
    var(--dancr-color-surface)
  ) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  :is(a, button):focus-visible {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-detail-close {
  border-color: var(--dancr-color-border-strong) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-close[data-auto-focus]:is(:focus, :focus-visible) {
  border-color: var(--dancr-color-border-strong) !important;
  outline: 0 !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-close:focus-visible:not([data-auto-focus]) {
  border-color: var(--dancr-color-info) !important;
  outline: 2px solid var(--dancr-color-info) !important;
  outline-offset: 2px !important;
  color: var(--dancr-color-text) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--dancr-color-info) 14%, transparent) !important;
}

body.dancr-button-system #results.venue-profile-overlay {
  scrollbar-color: var(--dancr-color-border) transparent !important;
}

body.dancr-button-system #results.venue-profile-overlay::-webkit-scrollbar-track {
  background: transparent !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay::-webkit-scrollbar-thumb {
  border-color: transparent !important;
  background: var(--dancr-color-border) !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay::-webkit-scrollbar-thumb:is(:hover, :active) {
  background: var(--dancr-color-text-muted) !important;
  box-shadow: none !important;
}

/* Production venue scroll-card branding follows the shared 84/10/6 system:
 * neutral structure, restrained Electric Violet interaction, and semantic
 * status color. Approved venue artwork remains unfiltered, card geometry and
 * navigation remain owned by the live discovery layout. */
body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed {
  scrollbar-color: var(--dancr-color-border) transparent !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed::-webkit-scrollbar-track {
  background: transparent !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed::-webkit-scrollbar-thumb {
  border-color: transparent !important;
  background: var(--dancr-color-border) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed::-webkit-scrollbar-thumb:is(:hover, :active) {
  background: var(--dancr-color-text-muted) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide {
  border-color: transparent !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(
      155deg,
      var(--dancr-color-surface-raised),
      var(--dancr-color-background) 72%
    ) padding-box,
    linear-gradient(
      145deg,
      var(--dancr-color-border),
      var(--dancr-color-border-subtle)
    ) border-box !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-white-soft),
    0 14px 28px var(--dancr-color-black-medium) !important;
  filter: none !important;
  -webkit-filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-art::before,
body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-art::after {
  background: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-logo {
  filter: none !important;
  -webkit-filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-discovery-feed-shade {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--dancr-color-background) 6%, transparent) 0%,
    transparent 30%,
    color-mix(in srgb, var(--dancr-color-background) 76%, transparent) 56%,
    color-mix(in srgb, var(--dancr-color-background) 98%, transparent) 84%,
    var(--dancr-color-background) 100%
  ) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-name {
  color: var(--dancr-color-text-primary) !important;
  text-shadow: 0 2px 12px var(--dancr-color-black-strong) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-location {
  color: var(--dancr-color-text-secondary) !important;
  text-shadow: 0 1px 8px var(--dancr-color-black-strong) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-location svg {
  color: var(--dancr-color-text-muted) !important;
  filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-hours {
  color: var(--dancr-color-text-muted) !important;
  text-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-discovery-feed-position {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-overlay) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-action-rail
  .feed-card-action:not(.is-active):not([aria-pressed="true"]):not(.home-venue-discovery-rail-qr.is-available):not(.home-venue-discovery-profile-action) {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-rail-qr.is-unavailable {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface-raised) !important;
  box-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-profile-action {
  border-color: var(--dancr-color-text-primary) !important;
  color: var(--dancr-color-text-primary) !important;
  background:
    linear-gradient(180deg, var(--dancr-color-white-medium), transparent 50%),
    color-mix(
      in srgb,
      var(--dancr-color-text-primary) 10%,
      var(--dancr-color-surface-raised)
    ) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-white-medium),
    0 0 16px color-mix(in srgb, var(--dancr-color-text-primary) 48%, transparent),
    0 9px 20px var(--dancr-color-black-medium) !important;
  text-shadow: 0 0 7px color-mix(in srgb, var(--dancr-color-text-primary) 46%, transparent) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-profile-action .action-icon {
  color: var(--dancr-color-text-primary) !important;
  filter: drop-shadow(0 0 7px var(--dancr-color-text-primary));
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-profile-action:active {
  border-color: var(--dancr-color-text-primary) !important;
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-text-primary) 22%,
    var(--dancr-color-surface-raised)
  ) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-white-medium),
    0 0 20px color-mix(in srgb, var(--dancr-color-text-primary) 62%, transparent),
    0 9px 20px var(--dancr-color-black-medium) !important;
  text-shadow: 0 0 9px var(--dancr-color-text-primary) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-profile-action:active .action-icon {
  color: var(--dancr-color-text-primary) !important;
  filter: drop-shadow(0 0 9px var(--dancr-color-text-primary));
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-profile-action:focus-visible {
  outline-color: var(--dancr-color-text-primary) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-white-medium),
    0 0 20px color-mix(in srgb, var(--dancr-color-text-primary) 62%, transparent),
    0 9px 20px var(--dancr-color-black-medium) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-action-rail
  [data-venue-follow]:is(.is-active, [aria-pressed="true"]) {
  border-color: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 26%,
    var(--dancr-color-border-subtle)
  ) !important;
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 6%,
    var(--dancr-color-surface-raised) 94%
  ) !important;
  box-shadow: inset 0 0 0 1px color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 8%,
    transparent
  ) !important;
  opacity: 1 !important;
  filter: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-action-rail
  [data-venue-follow]:is(.is-active, [aria-pressed="true"])
  :is(.action-icon, svg, span) {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-rail-qr.is-available {
  border-color: var(--dancr-color-success-strong) !important;
  color: color-mix(
    in srgb,
    var(--dancr-color-success) 52%,
    var(--dancr-color-text-primary)
  ) !important;
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--dancr-color-success) 30%, transparent),
      transparent 58%
    ),
    color-mix(
      in srgb,
      var(--dancr-color-success) 18%,
      var(--dancr-color-surface-raised)
    ) !important;
  box-shadow:
    inset 0 1px 0 var(--dancr-color-white-medium),
    0 0 18px color-mix(in srgb, var(--dancr-color-success) 30%, transparent),
    0 9px 20px var(--dancr-color-black-medium) !important;
  text-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-rail-qr.is-available .action-icon {
  color: color-mix(
    in srgb,
    var(--dancr-color-success) 44%,
    var(--dancr-color-text-primary)
  ) !important;
  filter: drop-shadow(
    0 0 6px color-mix(in srgb, var(--dancr-color-success) 72%, transparent)
  );
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-discovery-feed-status.is-now,
body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-operating-status.is-open {
  border-color: var(--dancr-color-success-strong) !important;
  color: var(--dancr-color-success) !important;
  background: var(--dancr-color-success-soft) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-context-actions .home-discovery-feed-directions {
  border-color: var(--dancr-color-info-medium) !important;
  color: var(--dancr-color-info) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-info) 10%,
    var(--dancr-color-surface)
  ) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  :is(a, button):focus-visible {
  border-color: var(--dancr-color-brand-primary-strong) !important;
  outline: 0 !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

/* Production venue-detail refinement keeps one neutral frame, a compact
 * identity-first hero, truthful live-data sections, and restrained brand and
 * semantic actions. It intentionally excludes all floating navigation. */
body.dancr-button-system #results.venue-profile-overlay .venue-detail {
  gap: 10px !important;
  padding-bottom: 16px !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-hero {
  overflow: hidden !important;
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 20px !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-surface) 18%,
    var(--dancr-color-background)
  ) !important;
  box-shadow: 0 18px 36px var(--dancr-color-black-medium) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-main-photo {
  position: relative !important;
  isolation: isolate;
  min-height: clamp(156px, 35vw, 186px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-detail-logo-shell {
  box-sizing: border-box;
  width: calc(100% - clamp(28px, 8vw, 48px)) !important;
  height: calc(100% - clamp(24px, 6vw, 38px)) !important;
  max-width: 480px !important;
  max-height: 158px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  isolation: isolate;
}

/* Compact venue heroes reserve a clear lane for the fixed close control. Wide
 * marks stay contain-fit, but shift and scale as one unit instead of running
 * beneath the X or being cropped. */
@media (max-width: 650px) {
  body.dancr-button-system #results.venue-profile-overlay .venue-detail
    .venue-detail-logo-shell {
    left: calc(50% - clamp(24px, 6vw, 36px)) !important;
    width: calc(100% - clamp(86px, 22vw, 108px)) !important;
  }
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-logo-shell::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 7% 2%;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at center,
    var(--dancr-color-brand-primary-soft) 0%,
    var(--dancr-color-brand-glow-soft) 48%,
    transparent 76%
  );
  filter: blur(18px);
  opacity: 0.72;
  pointer-events: none;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-detail-logo {
  position: absolute !important;
  z-index: 1;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  filter: none !important;
  -webkit-filter: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-hero-body {
  display: grid !important;
  gap: 8px !important;
  padding: 12px 14px 14px !important;
  border-top: 1px solid color-mix(
    in srgb,
    var(--dancr-color-border-subtle) 72%,
    transparent
  ) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-surface) 24%,
    var(--dancr-color-background)
  ) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-block,
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-copy,
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-meta {
  min-width: 0;
  display: grid;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-block {
  gap: 4px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-copy {
  gap: 4px;
  padding-left: 0;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail #venueDetailName {
  overflow: visible !important;
  color: var(--dancr-color-brand-core) !important;
  font-size: clamp(25px, 7vw, 34px) !important;
  line-height: 1.02 !important;
  text-overflow: clip !important;
  -webkit-line-clamp: unset !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-meta {
  grid-template-columns: repeat(2, max-content);
  align-items: center;
  gap: 7px;
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-identity-meta > .meta {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-distance {
  color: var(--dancr-color-text-secondary) !important;
  font-size: 12px;
  font-weight: 800;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-distance::before {
  content: "·";
  margin-right: 7px;
  color: var(--dancr-color-text-muted);
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-status-grid > :last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  :is(.venue-operating-summary, .venue-quick-stat) {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 60px !important;
  display: grid !important;
  align-content: center;
  justify-items: start;
  gap: 3px !important;
  padding: 9px 11px !important;
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 14px !important;
  background: var(--dancr-color-surface-subtle) !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-operating-summary {
  flex: initial !important;
  flex-wrap: initial !important;
  justify-content: initial !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-status-kicker,
body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-quick-stat span {
  color: var(--dancr-color-text-muted) !important;
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1.15;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-status-kicker {
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  :is(.venue-operating-status, .venue-status-pill) {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-operating-status {
  justify-content: flex-start !important;
  color: var(--dancr-color-text-primary);
  font-size: 12px;
  line-height: 1.2;
  text-align: left;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-status-pill {
  color: var(--dancr-color-text-muted) !important;
  font-size: 10px;
  line-height: 1.15;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-quick-stat {
  min-height: 60px !important;
  border-color: var(--dancr-color-border-subtle) !important;
  background: var(--dancr-color-surface-subtle) !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-quick-stat strong {
  font-size: 17px;
  line-height: 1;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-quick-stat.is-working strong {
  color: var(--dancr-color-success) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-quick-stat.is-upcoming strong {
  color: var(--dancr-color-info) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-info .info-tile {
  min-height: 0 !important;
  padding: 12px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-address-tile {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 9px !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-location-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-location-actions > :only-child {
  grid-column: 1 / -1;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-address-copy .meta {
  display: block !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-address-directions {
  width: 100% !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-inline: 10px !important;
  font-size: 12.5px !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-detail-uber {
  width: 100% !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding-inline: 10px !important;
  font-size: 12.5px !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-state {
  box-sizing: border-box;
  display: grid !important;
  width: min(168px, 100%) !important;
  min-height: 168px !important;
  aspect-ratio: 1 / 1;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  place-items: center !important;
  align-content: center !important;
  justify-self: center !important;
  gap: 10px !important;
  padding: 13px 14px !important;
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 14px !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
  text-align: center;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-state.is-unavailable {
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-muted) !important;
  background: var(--dancr-color-surface) !important;
  background-image: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-state.is-available {
  appearance: none;
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-success) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-success) 6%,
    var(--dancr-color-surface)
  ) !important;
  font: inherit;
  cursor: pointer;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    opacity 0.18s ease,
    transform 0.18s ease;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  button.venue-detail-club-deal-qr-state.is-available:hover,
body.dancr-button-system #results.venue-profile-overlay .venue-detail
  button.venue-detail-club-deal-qr-state.is-available:focus-visible {
  outline: none;
  transform: translateY(-1px);
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  button.venue-detail-club-deal-qr-state.is-available:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dancr-color-success) 14%, transparent) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  button.venue-detail-club-deal-qr-state.is-available:is(.is-loading, :disabled) {
  opacity: 0.72;
  cursor: wait;
  transform: none;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-symbol {
  width: 72px !important;
  min-width: 72px !important;
  height: 72px !important;
  display: grid;
  place-items: center;
  grid-row: 1;
  justify-self: center !important;
  padding: 8px !important;
  border: 1px solid rgba(148, 163, 184, 0.14) !important;
  border-radius: 12px !important;
  color: rgba(148, 163, 184, 0.58) !important;
  background: rgba(148, 163, 184, 0.035) !important;
  box-shadow: none !important;
  opacity: 0.62;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-state.is-unavailable
  .venue-detail-club-deal-symbol {
  border-color: rgba(148, 163, 184, 0.14) !important;
  color: rgba(148, 163, 184, 0.58) !important;
  background: rgba(148, 163, 184, 0.035) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-symbol svg {
  width: 100%;
  height: 100%;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-copy {
  grid-row: 2;
  justify-items: center;
  gap: 7px;
  text-align: center;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-copy .eyebrow {
  margin: 0;
  color: var(--dancr-color-text-muted) !important;
  font-size: 9px;
  letter-spacing: 0.16em;
  opacity: 0.72;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-copy strong {
  max-width: 136px;
  color: inherit;
  font-size: 12px;
  line-height: 1.25;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-copy small {
  max-width: 136px;
  color: inherit;
  font-size: 10.5px;
  line-height: 1.2;
  opacity: 0.72;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-state.is-unavailable
  .venue-detail-club-deal-qr-copy :is(.eyebrow, strong, small) {
  color: inherit !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-detail-club-deal-qr-state.is-available .venue-detail-club-deal-symbol {
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-success) !important;
  background: var(--dancr-color-success-soft) !important;
  opacity: 1;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-club-deal-unavailable.venue-offer-card {
  width: min(168px, 100%) !important;
  justify-self: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .action-btn.follow-venue-btn:not(.is-following) {
  width: 100% !important;
  border-color: var(--dancr-color-border-subtle) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .action-btn.follow-venue-btn:not(.is-following) .action-icon {
  color: var(--dancr-color-brand-core) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .action-btn.follow-venue-btn.is-following {
  border-color: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 28%,
    var(--dancr-color-border-subtle)
  ) !important;
  color: var(--dancr-color-text-primary) !important;
  background: color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 6%,
    var(--dancr-color-surface-raised) 94%
  ) !important;
  box-shadow: inset 0 0 0 1px color-mix(
    in srgb,
    var(--dancr-color-brand-primary) 8%,
    transparent
  ) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .action-btn.follow-venue-btn.is-following :is(.action-icon, svg, span) {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-activity-section {
  display: grid;
  gap: 7px;
  padding: 2px 0 6px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-activity-section .section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding-left: 10px !important;
  border-left: 2px solid var(--dancr-color-brand-primary) !important;
  color: var(--dancr-color-text-primary) !important;
  text-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-activity-count {
  min-width: 28px;
  min-height: 28px;
  display: inline-grid;
  place-items: center;
  padding: 0 8px;
  border: 1px solid var(--dancr-color-border-subtle);
  border-radius: 999px;
  color: var(--dancr-color-text-muted);
  background: var(--dancr-color-surface-subtle);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-activity-section.is-working .section-title {
  border-left-color: var(--dancr-color-success) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-activity-section.is-working .venue-activity-count {
  color: var(--dancr-color-success);
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-activity-section.is-upcoming .section-title {
  border-left-color: var(--dancr-color-info) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-activity-section.is-upcoming .venue-activity-count {
  color: var(--dancr-color-info);
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-activity-section.is-open .section-title {
  border-left-color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-shift-row {
  grid-template-columns: 58px minmax(0, 1fr) 32px;
  min-height: 86px;
  padding: 9px 11px;
  border-color: color-mix(
    in srgb,
    var(--dancr-color-text-muted) 26%,
    transparent
  ) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface-raised) !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail
  .venue-shift-row:is(:hover, :focus-visible) {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  box-shadow: var(--dancr-focus-ring) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-shift-copy strong {
  color: var(--dancr-color-text-primary) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-shift-copy > span {
  color: var(--dancr-color-info) !important;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-shift-chevron {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid var(--dancr-color-border-subtle);
  border-radius: 999px;
  color: var(--dancr-color-text-secondary);
  background: var(--dancr-color-surface);
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-shift-chevron svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-activity-empty {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px 13px;
  border: 1px solid color-mix(
    in srgb,
    var(--dancr-color-border-subtle) 70%,
    transparent
  );
  border-radius: 16px;
  color: var(--dancr-color-text-primary);
  background: color-mix(
    in srgb,
    var(--dancr-color-surface) 62%,
    var(--dancr-color-background)
  );
  box-shadow: none;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-activity-empty > span:last-child {
  min-width: 0;
  display: grid;
  gap: 4px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-activity-empty small {
  color: var(--dancr-color-text-muted);
  font-size: 12px;
  line-height: 1.4;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-activity-empty strong {
  font-size: clamp(16px, 4.4vw, 19px);
  line-height: 1.16;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-activity-empty-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--dancr-color-border-subtle);
  border-radius: 14px;
  color: var(--dancr-color-text-muted);
  background: var(--dancr-color-surface-raised);
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-activity-empty-icon .action-icon {
  width: 18px;
  height: 18px;
}

body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-detail-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 48px !important;
  min-height: 48px !important;
}

@media (max-width: 420px) {
  body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-meta {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-identity-distance::before {
    content: none;
  }

  body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-address-tile {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.dancr-button-system #results.venue-profile-overlay .venue-detail .venue-address-directions {
    justify-self: stretch;
  }
}

/* The persistent test notice owns the topmost viewport band. Full dancer and
 * venue overlays use the remaining viewport so identity content and dismissal
 * controls never render underneath the notice on iPhone or Android. */
body.dancr-button-system .page-panel.show {
  top: var(--mydancr-preview-banner-offset) !important;
  bottom: 0 !important;
  height: calc(100dvh - var(--mydancr-preview-banner-offset)) !important;
}

body.dancr-button-system #profileBackdrop.modal-backdrop,
body.dancr-button-system #profileBackdrop.modal-backdrop.show {
  top: var(--mydancr-preview-banner-offset) !important;
  bottom: 0 !important;
  height: calc(100dvh - var(--mydancr-preview-banner-offset)) !important;
}

body.dancr-button-system #profileBackdrop .profile-modal {
  max-height: min(94vh, calc(100dvh - var(--mydancr-preview-banner-offset))) !important;
}

body.dancr-button-system #results.venue-profile-overlay {
  top: var(--mydancr-preview-banner-offset) !important;
  bottom: 0 !important;
  height: calc(100dvh - var(--mydancr-preview-banner-offset)) !important;
  padding-top: max(10px, var(--dancr-viewport-top)) !important;
  scroll-padding-top: max(10px, var(--dancr-viewport-top)) !important;
}

body.dancr-button-system #profileBackdrop #modalClose {
  top: 8px !important;
  transform: none !important;
}

/* Profile setup is a single scannable checklist. State is carried by one
 * restrained edge and the status control instead of stacked colored shells. */
body.dancr-button-system #dancerDashboard #dancerApprovalCommand {
  padding: 16px !important;
  border-color: var(--dancr-color-border-subtle) !important;
  border-radius: 20px !important;
  background: var(--dancr-color-surface) !important;
  box-shadow: none !important;
}

body.dancr-button-system #dancerDashboard #dancerApprovalCommand:hover {
  border-color: var(--dancr-color-border-subtle) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.dancr-button-system #dancerDashboard .approval-command-summary {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
}

body.dancr-button-system #dancerDashboard .approval-command-summary p {
  color: var(--dancr-color-text-secondary) !important;
  line-height: 1.5 !important;
}

body.dancr-button-system #dancerDashboard .approval-progress {
  width: 100% !important;
  min-width: 0 !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 3px 14px !important;
  justify-items: start !important;
  align-items: center !important;
  padding: 12px 14px !important;
  border-color: var(--dancr-color-border-subtle) !important;
  background: var(--dancr-color-surface-subtle) !important;
  box-shadow: none !important;
}

body.dancr-button-system #dancerDashboard .approval-progress strong {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  color: var(--dancr-color-text-primary) !important;
  font-size: 30px !important;
  text-shadow: none !important;
}

body.dancr-button-system #dancerDashboard .approval-progress span {
  grid-column: 2 !important;
  color: var(--dancr-color-text-secondary) !important;
  text-align: left !important;
}

body.dancr-button-system #dancerDashboard .approval-progress .approval-expand {
  color: var(--dancr-color-brand-primary-strong) !important;
}

body.dancr-button-system #dancerDashboard #dancerApprovalCommand #setupChecklistWrap {
  margin-top: 16px !important;
  padding: 16px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist {
  gap: 10px !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.locked,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step:not(.open),
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.locked:not(.open),
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.complete:not(.open),
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.submitted:not(.open) {
  opacity: 1 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .step-head,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step:not(.open) .step-head,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.locked .step-head,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.complete .step-head,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.submitted .step-head {
  min-height: 64px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 16px !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface) !important;
  box-shadow: none !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.locked .step-head {
  color: var(--dancr-color-text-secondary) !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.open:not(.complete):not(.submitted) .step-head {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-brand-primary-soft) !important;
  box-shadow: inset 3px 0 0 var(--dancr-color-brand-primary) !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.complete .step-head,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.submitted .step-head {
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-surface) !important;
  box-shadow: inset 3px 0 0 var(--dancr-color-success) !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .step-number {
  color: var(--dancr-color-brand-primary-strong) !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.locked .step-number {
  color: var(--dancr-color-text-muted) !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.complete .step-number,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.submitted .step-number {
  color: var(--dancr-color-success) !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .step-check,
body.dancr-button-system #dancerDashboard #setupChecklist .step-expand {
  border: 1px solid var(--dancr-color-border-subtle) !important;
  border-radius: 999px !important;
  color: var(--dancr-color-text-secondary) !important;
  background: var(--dancr-color-surface-subtle) !important;
  box-shadow: none !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .step-expand {
  width: 30px !important;
  height: 30px !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.open .step-expand {
  border-color: var(--dancr-color-brand-primary-medium) !important;
  color: var(--dancr-color-text-primary) !important;
  background: var(--dancr-color-brand-primary-soft) !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.complete .step-check,
body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.submitted .step-check {
  border-color: var(--dancr-color-success-medium) !important;
  color: var(--dancr-color-text-on-bright) !important;
  background: var(--dancr-color-success) !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .step-status-dot {
  box-shadow: none !important;
}

body.dancr-button-system #dancerDashboard #setupChecklist .setup-step.open .step-body {
  border-top-color: var(--dancr-color-border-subtle) !important;
  background: var(--dancr-color-surface-soft) !important;
}

/* Android media luminance recovery must remain the final media layer. The
 * mobile paint-stability rules in the legacy shell intentionally disable
 * filters on coarse pointers; their more-specific selector previously won
 * over the shared dancer-photo lift on Android. These selectors outrank that
 * reset without changing image geometry, spacing, overlays, or non-Android
 * rendering. */
html:is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) body.dancr-button-system > .app main.stack > section.stack
  > #results.home-dancer-grid.home-dancer-three-column
  .home-dancer-grid-photo.has-custom-photo,
html:is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) body.dancr-button-system > .app main.stack > section.stack
  > #results.venue-profile-overlay
  .venue-dancer-grid .home-dancer-grid-photo.has-custom-photo,
html:is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) body.dancr-button-system > .app main.stack > section.stack
  > #results.home-discovery-feed
  .home-discovery-feed-slide:not(.home-venue-discovery-slide)
  .home-discovery-feed-photo.has-custom-photo,
html:is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) body.dancr-button-system #profileBackdrop :is(
  .modal-image.has-custom-photo,
  .profile-modal-avatar.has-photo,
  .gallery .thumb .portrait.has-custom-photo,
  .profile-photo-viewer-image
),
html:is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) body :is(
  .public-profile-shell .profile-titlebar-avatar img,
  .public-profile-shell .profile-media-feature > img,
  .public-profile-shell .profile-media-grid-item img,
  .public-profile-shell .profile-media-viewer-stage > img,
  .tv-shell .tv-profile-photo-image
) {
  filter: brightness(1.14) contrast(1.03) !important;
  -webkit-filter: brightness(1.14) contrast(1.03) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* The venue-card shade is still required for copy legibility. On Android,
 * lift only verified logo artwork above that shade and apply a small source
 * luminance correction; text and action layers already sit above z-index 2. */
html:is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) body.dancr-button-system > .app main.stack > section.stack
  > #results.home-venue-discovery-feed > .home-venue-discovery-slide
  .home-venue-discovery-art.has-venue-logo {
  z-index: 2 !important;
}

html:is(
  .is-android,
  .android-rendering,
  .is-samsung-browser,
  .samsung-rendering
) body.dancr-button-system :is(
  .home-venue-discovery-logo,
  .venue-card-logo,
  .venue-detail-logo
) {
  filter: brightness(1.12) contrast(1.03) !important;
  -webkit-filter: brightness(1.12) contrast(1.03) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
