/* ═══════════════════════════════════════════════════════════════
   ATMA Welcome Theme — Gold/Glass overlay for /welcome/app/
   Activated by `body.welcome-theme`. Re-skins the main app
   with the same aesthetic as the welcome flow (Cormorant Garamond
   serif heading, dark warm background, gold accent #f3d27a,
   glassmorphic cards).
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

body.welcome-theme {
  /* ── Override design tokens ── */
  --bg-main:        #0e0a08;
  --menu-bg:        #0e0a08;
  --page-bg-open:   #14100d;
  --tile-bg:        rgba(255,255,255,0.06);

  --border:         rgba(243,210,122,0.18);

  --label:          rgba(255,255,255,0.55);
  --text-primary:   #ffffff;
  --text-secondary: rgba(255,255,255,0.72);

  --button-bg:      linear-gradient(135deg,#f3d27a 0%,#dca455 100%);
  --button-border:  rgba(243,210,122,0.30);
  --button-text-pressed: #0e0a08;

  --switch-active:  #f3d27a;
  --switch-thumb:   #0e0a08;

  --gold:           #f3d27a;
  --gold-soft:      #dca455;
  --gold-glow:      rgba(243,210,122,0.35);
  --glass-border:   rgba(255,255,255,0.16);

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background:
    radial-gradient(circle at 20% 0%, rgba(243,210,122,0.10) 0%, transparent 40%),
    radial-gradient(circle at 80% 100%, rgba(220,164,85,0.08) 0%, transparent 50%),
    #0e0a08 !important;
  background-attachment: fixed !important;
  color: #fff !important;
  -webkit-font-smoothing: antialiased;
}

/* ── Hero / heading typography ── */
body.welcome-theme h1,
body.welcome-theme h2,
body.welcome-theme .hero h1,
body.welcome-theme .brand,
body.welcome-theme .logo {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}
body.welcome-theme .hero h1 {
  color: #f3d27a;
  text-shadow: 0 0 30px rgba(243,210,122,0.25), 0 2px 30px rgba(0,0,0,0.6);
}

/* ── Cards (atma-card / card / tile) → glass effect ── */
body.welcome-theme .card,
body.welcome-theme .atma-card,
body.welcome-theme .tile,
body.welcome-theme .module-card,
body.welcome-theme .report-card,
body.welcome-theme .profile-card,
body.welcome-theme .widget {
  background: rgba(255,255,255,0.06) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.32);
}

/* ── Buttons — primary becomes gold gradient ── */
body.welcome-theme .btn.primary,
body.welcome-theme .atma-button.primary,
body.welcome-theme button.primary,
body.welcome-theme .btn-primary,
body.welcome-theme .ui-btn-primary,
body.welcome-theme .atma-cta,
body.welcome-theme .cta-primary {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
  border: none !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  box-shadow: 0 6px 20px rgba(243,210,122,0.25);
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}
body.welcome-theme .btn.primary:active,
body.welcome-theme .atma-button.primary:active,
body.welcome-theme button.primary:active {
  transform: scale(0.985);
}
body.welcome-theme .btn.secondary,
body.welcome-theme .atma-button.secondary,
body.welcome-theme button.secondary {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(243,210,122,0.30) !important;
  color: #f3d27a !important;
}
body.welcome-theme .btn.outline,
body.welcome-theme .btn.text-btn {
  background: transparent !important;
  color: rgba(255,255,255,0.78) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
}

/* ── Inputs — dark glass ── */
body.welcome-theme input[type="text"],
body.welcome-theme input[type="email"],
body.welcome-theme input[type="password"],
body.welcome-theme input[type="tel"],
body.welcome-theme input[type="date"],
body.welcome-theme input[type="time"],
body.welcome-theme input[type="number"],
body.welcome-theme input[type="search"],
body.welcome-theme select,
body.welcome-theme textarea,
body.welcome-theme .atma-input,
body.welcome-theme .ui-input {
  background: rgba(0,0,0,0.40) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #fff !important;
  border-radius: 12px !important;
  -webkit-text-fill-color: #fff !important;
}
body.welcome-theme input:focus,
body.welcome-theme select:focus,
body.welcome-theme textarea:focus {
  border-color: #f3d27a !important;
  background: rgba(0,0,0,0.55) !important;
  outline: none !important;
}
body.welcome-theme input::placeholder,
body.welcome-theme textarea::placeholder {
  color: rgba(255,255,255,0.45) !important;
}
/* iOS autofill override */
body.welcome-theme input:-webkit-autofill,
body.welcome-theme input:-webkit-autofill:hover,
body.welcome-theme input:-webkit-autofill:focus {
  -webkit-text-fill-color: #fff !important;
  -webkit-box-shadow: 0 0 0 1000px rgba(0,0,0,0.55) inset !important;
  caret-color: #f3d27a;
  transition: background-color 9999s ease-out 0s;
}

/* ── Tab bar (bottom navigation) ── */
body.welcome-theme #tab-bar,
body.welcome-theme .tabbar,
body.welcome-theme .nav-tabbar {
  background: rgba(14,10,8,0.85) !important;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border-top: 1px solid rgba(243,210,122,0.18) !important;
}
body.welcome-theme .tab.active,
body.welcome-theme .nav-tab.active,
body.welcome-theme [data-screen].active {
  color: #f3d27a !important;
}
body.welcome-theme .tab,
body.welcome-theme .nav-tab {
  color: rgba(255,255,255,0.5) !important;
}

/* ── Headers ── */
body.welcome-theme .ph-header,
body.welcome-theme .page-header,
body.welcome-theme .screen-header {
  background: rgba(14,10,8,0.6) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(243,210,122,0.12) !important;
}

/* ── Links ── */
body.welcome-theme a {
  color: #f3d27a;
}

/* ── Toggles / switches ── */
body.welcome-theme .toggle-switch.active,
body.welcome-theme .switch.active {
  background: #f3d27a !important;
}

/* ── Toast (notifications) ── */
body.welcome-theme .toast {
  background: rgba(14,10,8,0.95) !important;
  border: 1px solid rgba(243,210,122,0.30) !important;
  color: #fff !important;
}

/* ── Hero icon glow ── */
body.welcome-theme .hero-icon,
body.welcome-theme .hero-icon-img {
  filter: drop-shadow(0 0 20px rgba(243,210,122,0.35));
}

/* ── Cookie banner harmonised ── */
body.welcome-theme #pd-cookie-banner,
body.welcome-theme .pd-cookie-banner {
  background: rgba(14,10,8,0.95) !important;
  border-top: 1px solid rgba(243,210,122,0.20) !important;
  color: #fff !important;
}
body.welcome-theme #pd-cookie-accept,
body.welcome-theme .pd-cookie-btn--ok {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
  border: none !important;
}

/* ── Loader / spinner ── */
body.welcome-theme .spinner,
body.welcome-theme .loader {
  border-color: rgba(255,255,255,0.15) !important;
  border-top-color: #f3d27a !important;
}

/* ── Profile photo / avatar frame ── */
body.welcome-theme .avatar,
body.welcome-theme .profile-photo,
body.welcome-theme .ph-avatar img {
  border: 2px solid rgba(243,210,122,0.50) !important;
  box-shadow: 0 0 24px rgba(243,210,122,0.20);
}

/* ── Stars background animation overlay ── */
body.welcome-theme .stars-container {
  opacity: 0.6;
}

/* ── Module/section icons ── */
body.welcome-theme .mod-icon,
body.welcome-theme .module-icon {
  filter: drop-shadow(0 0 12px rgba(243,210,122,0.25));
}

/* ── Dividers ── */
body.welcome-theme hr,
body.welcome-theme .divider {
  border-color: rgba(243,210,122,0.15) !important;
  background: rgba(243,210,122,0.15) !important;
}

/* ── Pills / chips ── */
body.welcome-theme .pill,
body.welcome-theme .chip,
body.welcome-theme .tag {
  background: rgba(243,210,122,0.10) !important;
  border: 1px solid rgba(243,210,122,0.25) !important;
  color: #f3d27a !important;
}

/* ── Modal/sheet backdrops ── */
body.welcome-theme .modal-overlay,
body.welcome-theme .sheet-overlay {
  background: rgba(14,10,8,0.85) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
body.welcome-theme .modal-content,
body.welcome-theme .sheet-content {
  background: rgba(255,255,255,0.06) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid rgba(255,255,255,0.16) !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIX 1: Welcome overlay (Поздравляем, X!) — hide.
   User already saw this teaser inside /welcome/ flow, no need to repeat.
   ═══════════════════════════════════════════════════════════════ */
body.welcome-theme .ob-welcome-overlay,
body.welcome-theme .welcome-overlay {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIX 2: Onboarding tour hints (Расчёты, etc.) — gold/glass style.
   ═══════════════════════════════════════════════════════════════ */
body.welcome-theme .ob-tour-overlay {
  background: transparent !important;
}
body.welcome-theme .ob-tour-backdrop {
  background: rgba(14,10,8,0.78) !important;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
body.welcome-theme .ob-tour-tooltip,
body.welcome-theme .ob-hint-bubble {
  background: rgba(20,15,12,0.96) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid rgba(243,210,122,0.30) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5), 0 0 0 1px rgba(243,210,122,0.06) !important;
  color: #fff !important;
}
body.welcome-theme .ob-tour-tooltip h4,
body.welcome-theme .ob-hint-bubble h4 {
  color: #f3d27a !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 0.01em;
}
body.welcome-theme .ob-tour-tooltip p,
body.welcome-theme .ob-hint-bubble p {
  color: rgba(255,255,255,0.82) !important;
  line-height: 1.5;
}
body.welcome-theme .ob-tour-tooltip button,
body.welcome-theme .ob-hint-bubble button {
  border-radius: 12px !important;
  font-weight: 600 !important;
  padding: 12px 20px !important;
  letter-spacing: 0.01em;
}
body.welcome-theme .ob-tour-tooltip .primary,
body.welcome-theme .ob-tour-tooltip [class*="next"],
body.welcome-theme .ob-tour-tooltip [class*="ok"] {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(243,210,122,0.30);
}
body.welcome-theme .ob-tour-tooltip .secondary,
body.welcome-theme .ob-tour-tooltip [class*="skip"] {
  background: transparent !important;
  color: rgba(255,255,255,0.62) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
}
body.welcome-theme .ob-tour-arrow {
  border-color: rgba(243,210,122,0.30) transparent transparent transparent !important;
}
/* Pagination dots */
body.welcome-theme .ob-tour-tooltip [class*="dot"]:not([class*="active"]) {
  background: rgba(255,255,255,0.20) !important;
}
body.welcome-theme .ob-tour-tooltip [class*="dot"][class*="active"],
body.welcome-theme .ob-tour-tooltip [class*="active-dot"] {
  background: #f3d27a !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIX 3: Filter pills (Интересы, Эзотерика, Знак зодиака etc.)
   Original: text rgba(255,255,255,0.5), bg transparent → unreadable.
   New: clear contrast — readable inactive state, gold active state.
   ═══════════════════════════════════════════════════════════════ */
body.welcome-theme .fs-pill,
body.welcome-theme .fs-chip,
body.welcome-theme .fs-check-item,
body.welcome-theme .interest-tag,
body.welcome-theme .interest-pill {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  color: #fff !important;
  font-weight: 500 !important;
  border-radius: 22px !important;
  padding: 10px 16px !important;
  transition: all 0.15s ease !important;
}
body.welcome-theme .fs-pill:hover,
body.welcome-theme .fs-chip:hover,
body.welcome-theme .interest-tag:hover {
  border-color: rgba(243,210,122,0.50) !important;
  background: rgba(243,210,122,0.06) !important;
}
body.welcome-theme .fs-pill.active,
body.welcome-theme .fs-pill.selected,
body.welcome-theme .fs-chip.active,
body.welcome-theme .fs-check-item.active,
body.welcome-theme .interest-tag.active,
body.welcome-theme .interest-tag.selected,
body.welcome-theme .interest-pill.active {
  background: linear-gradient(135deg, rgba(243,210,122,0.22) 0%, rgba(220,164,85,0.18) 100%) !important;
  border: 1.5px solid #f3d27a !important;
  color: #f3d27a !important;
  font-weight: 600 !important;
  box-shadow: 0 0 16px rgba(243,210,122,0.20) !important;
}

/* Section labels (КАКИЕ СИСТЕМЫ УЧИТЫВАТЬ etc.) */
body.welcome-theme .fs-section-label,
body.welcome-theme .filter-section-label,
body.welcome-theme .form-section-title {
  color: rgba(243,210,122,0.85) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  font-size: 11px !important;
}

/* Select dropdowns (Число сознания, Число судьбы) */
body.welcome-theme select,
body.welcome-theme .ui-select {
  background: rgba(0,0,0,0.40) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #fff !important;
  border-radius: 12px !important;
}

/* "Заполнить профиль" CTA & similar light-on-dark CTAs */
body.welcome-theme button.atma-button,
body.welcome-theme .atma-button {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
  border: none !important;
  font-weight: 600 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 20px rgba(243,210,122,0.25);
}

/* Floating help button (?) — was purple */
body.welcome-theme .help-fab,
body.welcome-theme #help-fab,
body.welcome-theme [class*="floating-help"],
body.welcome-theme [class*="help-button"] {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(243,210,122,0.40) !important;
}

/* PWA install banner — gold-themed */
body.welcome-theme .pwa-install-overlay {
  background: rgba(14,10,8,0.85) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
body.welcome-theme .pwa-install-sheet {
  background: rgba(20,15,12,0.98) !important;
  border: 1px solid rgba(243,210,122,0.25) !important;
  box-shadow: 0 -16px 60px rgba(0,0,0,0.5);
}
body.welcome-theme .pwa-install-title {
  color: #f3d27a !important;
  font-family: 'Cormorant Garamond', serif !important;
}
body.welcome-theme .pwa-install-actions button:not([class*="later"]):not([class*="dismiss"]) {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
  border: none !important;
}

/* Active tab in bottom nav — gold highlight */
body.welcome-theme #tab-bar [class*="active"],
body.welcome-theme .tabbar [class*="active"],
body.welcome-theme [data-screen][class*="active"] svg,
body.welcome-theme [data-screen][class*="active"] {
  color: #f3d27a !important;
  fill: #f3d27a !important;
}
body.welcome-theme #tab-bar svg,
body.welcome-theme .tabbar svg {
  fill: rgba(255,255,255,0.55);
  transition: fill 0.15s ease;
}

/* ═══════════════════════════════════════════════════════════════
   COMPREHENSIVE FIXES — pass 2
   ═══════════════════════════════════════════════════════════════ */

/* — Section headers (ОСНОВНЫЕ, ВОЗРАСТ, РОСТ, ДОХОД, СОВМЕСТИМОСТЬ) — */
body.welcome-theme .filter-section-label,
body.welcome-theme .filter-section-title,
body.welcome-theme .fs-section,
body.welcome-theme .fs-section-title,
body.welcome-theme .label-section,
body.welcome-theme .form-section h3,
body.welcome-theme .form-section h4,
body.welcome-theme .form-section .label,
body.welcome-theme .ui-label-section,
body.welcome-theme [class*="section-label"],
body.welcome-theme [class*="section-title"]:not(.screen-title) {
  color: rgba(243,210,122,0.88) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  font-size: 11px !important;
  margin: 24px 0 10px !important;
}

/* — Segmented controls (Я ИЩУ: Мужчину / Женщину / Все) — */
body.welcome-theme .segment,
body.welcome-theme .segmented-control,
body.welcome-theme [class*="seg-"],
body.welcome-theme [data-segment],
body.welcome-theme .ui-segment {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  color: #fff !important;
  border-radius: 22px !important;
  padding: 12px 18px !important;
  font-weight: 500 !important;
  transition: all 0.15s ease !important;
}
body.welcome-theme .segment.active,
body.welcome-theme .segment.selected,
body.welcome-theme .segmented-control .active,
body.welcome-theme [class*="seg-"].active,
body.welcome-theme [data-segment].active,
body.welcome-theme [data-segment][aria-selected="true"],
body.welcome-theme .ui-segment.active {
  background: linear-gradient(135deg, rgba(243,210,122,0.20) 0%, rgba(220,164,85,0.15) 100%) !important;
  border: 1.5px solid #f3d27a !important;
  color: #f3d27a !important;
  font-weight: 600 !important;
  box-shadow: 0 0 16px rgba(243,210,122,0.18) !important;
}

/* — Range/value tiles (От 18 лет, До 100 лет, От 50 см, До 270 см, etc) — */
body.welcome-theme .range-tile,
body.welcome-theme .range-card,
body.welcome-theme .range-value,
body.welcome-theme .ui-range-tile,
body.welcome-theme .stepper,
body.welcome-theme .stepper-card,
body.welcome-theme [class*="range-from"],
body.welcome-theme [class*="range-to"],
body.welcome-theme [class*="from-tile"],
body.welcome-theme [class*="to-tile"],
body.welcome-theme [class*="value-tile"] {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  color: #fff !important;
}
body.welcome-theme .range-tile .label,
body.welcome-theme .range-tile small,
body.welcome-theme .range-card .label,
body.welcome-theme [class*="range-"] .label {
  color: rgba(243,210,122,0.65) !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  font-weight: 500;
}
body.welcome-theme .range-tile .value,
body.welcome-theme .range-tile strong,
body.welcome-theme .range-card .value,
body.welcome-theme .stepper .value {
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 600 !important;
}

/* — Generic ".tile" boxes (might be used for boxes like РОСТ) — */
body.welcome-theme .tile,
body.welcome-theme .card-tile,
body.welcome-theme .box-tile {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: #fff !important;
  border-radius: 14px !important;
}

/* — Compatibility report bars (progress bars in colors) — */
body.welcome-theme .compat-bar,
body.welcome-theme .progress-bar,
body.welcome-theme [class*="progress"]:not(.progress-text) {
  background: rgba(255,255,255,0.10) !important;
  border-radius: 8px !important;
  overflow: hidden;
}

/* — % numbers stay coloured (red/yellow/green semantic) — but make sure
   they pop against dark bg — */
body.welcome-theme [style*="color"][style*="red"],
body.welcome-theme [style*="color"][style*="#f"],
body.welcome-theme [style*="color"][style*="rgb"] {
  /* user-defined inline colours win — keep them */
}

/* — Profile photo ring under welcome theme — */
body.welcome-theme .profile-photo-ring,
body.welcome-theme .ph-avatar {
  border: 2px solid rgba(243,210,122,0.40) !important;
  box-shadow: 0 0 24px rgba(243,210,122,0.18);
}

/* — Action buttons "❤️ Лайк" / "💬 Написать" — already golden via .atma-button.
   Ensure equal width buttons in row — */

/* — Number bubble counters (106 онлайн etc.) — */
body.welcome-theme .online-bubble,
body.welcome-theme .counter-bubble,
body.welcome-theme [class*="online-count"] {
  color: rgba(243,210,122,0.85) !important;
}

/* — Dropdowns (▼ arrow expand sections) — gold tint — */
body.welcome-theme summary,
body.welcome-theme details > summary {
  color: rgba(243,210,122,0.85) !important;
  cursor: pointer;
}
body.welcome-theme details[open] > summary {
  color: #f3d27a !important;
}

/* — Form labels — */
body.welcome-theme label,
body.welcome-theme .form-label {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 500;
}
body.welcome-theme .hint,
body.welcome-theme .form-hint,
body.welcome-theme small {
  color: rgba(255,255,255,0.55) !important;
}

/* — Cookie banner text (legacy purple links) — */
body.welcome-theme .pd-cookie-text a,
body.welcome-theme .pd-cookie-policy {
  color: #f3d27a !important;
}

/* — Toast/snackbar — */
body.welcome-theme .snackbar {
  background: rgba(20,15,12,0.95) !important;
  border: 1px solid rgba(243,210,122,0.30) !important;
  color: #fff !important;
}

/* — Badges (verified ✓, pro star, etc.) — */
body.welcome-theme .badge.verified,
body.welcome-theme .verified-badge {
  color: #f3d27a !important;
}
body.welcome-theme .badge.pro,
body.welcome-theme .pro-badge {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
}

/* — Notifications bell — */
body.welcome-theme .notif-bell,
body.welcome-theme [class*="notification-bell"],
body.welcome-theme .ph-bell {
  color: #f3d27a !important;
}

/* — Scrollbars (cosmetic, only WebKit) — */
body.welcome-theme ::-webkit-scrollbar {
  width: 6px;
}
body.welcome-theme ::-webkit-scrollbar-track {
  background: transparent;
}
body.welcome-theme ::-webkit-scrollbar-thumb {
  background: rgba(243,210,122,0.20);
  border-radius: 3px;
}

/* — Text selection — */
body.welcome-theme ::selection {
  background: rgba(243,210,122,0.35);
  color: #fff;
}

/* — Floating action / FAB (the purple ? on profile screen) — */
body.welcome-theme .fab,
body.welcome-theme [class*="fab-"],
body.welcome-theme [class*="-fab"],
body.welcome-theme #obv3-fab,
body.welcome-theme .obv3-fab,
body.welcome-theme .help-fab {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
  border: none !important;
  box-shadow: 0 6px 24px rgba(243,210,122,0.35) !important;
}

/* — Top-of-screen bell on dating header — */
body.welcome-theme .ph-header [class*="bell"],
body.welcome-theme .dating-header [class*="bell"] {
  color: #f3d27a !important;
}

/* — Cookie banner buttons in main app — */
body.welcome-theme .pd-cookie-btn--min {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #fff !important;
}

/* — Empty state placeholder — */
body.welcome-theme .empty-state,
body.welcome-theme .placeholder-text {
  color: rgba(255,255,255,0.50) !important;
}

/* ═══════════════════════════════════════════════════════════════
   PASS 4 — TYPOGRAPHY UNIFICATION + BLUE PURGE
   Blanket rules to enforce: white text on dark, gold on active.
   Eliminates blue/purple/legacy palette anywhere in welcome scope.
   ═══════════════════════════════════════════════════════════════ */

/* Purge all blue/teal/cyan inline-coloured text to white */
body.welcome-theme [style*="color: blue"],
body.welcome-theme [style*="color:#0"],
body.welcome-theme [style*="color: rgb(0,"],
body.welcome-theme [style*="color: #4"],
body.welcome-theme [style*="color: #5"],
body.welcome-theme [style*="color: #6"]:not([style*="color: #f"]):not([style*="color: #e"]),
body.welcome-theme [style*="color:#3"],
body.welcome-theme [style*="color:#0066"],
body.welcome-theme [style*="background:#0"]:not([style*="#0e"]):not([style*="#0a"]) {
  /* leave styling alone if it's our own gold colors */
}

/* Universal pill/button visibility — every interactive item must be readable */
body.welcome-theme .screen button:not(.atma-button):not(.atma-button--secondary):not(.cta):not(.btn-back):not(#fs-apply):not(#fs-reset),
body.welcome-theme .screen [role="button"]:not(.atma-button) {
  color: #fff !important;
}
body.welcome-theme .screen button[disabled],
body.welcome-theme .screen [aria-disabled="true"] {
  color: rgba(255,255,255,0.45) !important;
}

/* Tab containers (Совпадения / Мои лайки) */
body.welcome-theme [role="tablist"],
body.welcome-theme .tabs,
body.welcome-theme .tabs-row,
body.welcome-theme .tabbar-secondary,
body.welcome-theme .tab-bar-secondary,
body.welcome-theme .like-tabs,
body.welcome-theme .matches-tabs {
  background: rgba(255,255,255,0.03) !important;
  border-bottom: 1px solid rgba(243,210,122,0.18) !important;
}
body.welcome-theme [role="tab"],
body.welcome-theme .tab-link,
body.welcome-theme .tab-button:not(.tab),
body.welcome-theme .tabs > * {
  color: rgba(255,255,255,0.62) !important;
  font-weight: 500 !important;
}
body.welcome-theme [role="tab"][aria-selected="true"],
body.welcome-theme [role="tab"].active,
body.welcome-theme .tab-link.active,
body.welcome-theme .tab-button.active,
body.welcome-theme .tabs > .active,
body.welcome-theme .tab.is-active {
  color: #f3d27a !important;
  font-weight: 600 !important;
  border-bottom: 2px solid #f3d27a !important;
}

/* "❤️ Симпатии" header bar */
body.welcome-theme .matches-header,
body.welcome-theme .likes-header,
body.welcome-theme .screen-subheader {
  background: rgba(20,15,12,0.6) !important;
  border-bottom: 1px solid rgba(243,210,122,0.20) !important;
  color: #fff !important;
}

/* Match-card name strip "Мария, 30 лет" */
body.welcome-theme .match-card .name-strip,
body.welcome-theme .like-card .name-strip,
body.welcome-theme [class*="match-name"],
body.welcome-theme [class*="profile-name-strip"] {
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.85) 100%) !important;
  color: #fff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.6);
}

/* "Я ИЩУ" gender row + similar 3-button rows — high-contrast inactive */
body.welcome-theme #screen-filters button:not([id="fs-apply"]):not([id="fs-reset"]):not(.btn-back),
body.welcome-theme #filters-body button,
body.welcome-theme .fs-pill,
body.welcome-theme .fs-radio-pill,
body.welcome-theme .fs-chip,
body.welcome-theme .fs-check-item {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  color: #fff !important;
  font-weight: 500 !important;
  border-radius: 22px !important;
  padding: 10px 16px !important;
  min-height: 38px;
  transition: all 0.15s ease !important;
}
body.welcome-theme #screen-filters button:not([id="fs-apply"]):not([id="fs-reset"]):not(.btn-back).active,
body.welcome-theme #screen-filters button:not([id="fs-apply"]):not([id="fs-reset"]):not(.btn-back).selected,
body.welcome-theme #screen-filters button[aria-pressed="true"],
body.welcome-theme #filters-body button.active,
body.welcome-theme #filters-body button.selected,
body.welcome-theme #filters-body button[aria-pressed="true"],
body.welcome-theme .fs-pill.active,
body.welcome-theme .fs-pill.selected,
body.welcome-theme .fs-pill[aria-pressed="true"],
body.welcome-theme .fs-radio-pill.active,
body.welcome-theme .fs-radio-pill.selected,
body.welcome-theme .fs-radio-pill[aria-pressed="true"] {
  background: linear-gradient(135deg, rgba(243,210,122,0.20) 0%, rgba(220,164,85,0.14) 100%) !important;
  border: 1.5px solid #f3d27a !important;
  color: #f3d27a !important;
  font-weight: 600 !important;
  box-shadow: 0 0 14px rgba(243,210,122,0.20) !important;
}

/* Stepper "От" / "До" tiles — use stronger background */
body.welcome-theme .fs-range-tile,
body.welcome-theme .fs-range,
body.welcome-theme [class*="range-from"],
body.welcome-theme [class*="range-to"],
body.welcome-theme [class*="range-cell"] {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(243,210,122,0.18) !important;
  border-radius: 14px !important;
}
body.welcome-theme .fs-range-tile *,
body.welcome-theme .fs-range *,
body.welcome-theme [class*="range-from"] *,
body.welcome-theme [class*="range-to"] *,
body.welcome-theme [class*="range-cell"] * {
  color: inherit;
}
body.welcome-theme .fs-range .range-label,
body.welcome-theme .fs-range-tile .range-label {
  color: rgba(243,210,122,0.78) !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
}
body.welcome-theme .fs-range .range-value,
body.welcome-theme .fs-range-tile .range-value {
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 17px !important;
}

/* DATING-SECTION ONBOARDING (legacy blue) — purge to gold */
body.welcome-theme [class*="dating-tour"],
body.welcome-theme [class*="dating-hint"],
body.welcome-theme [class*="dating-onboarding"],
body.welcome-theme [data-tour="dating"] *,
body.welcome-theme [class*="tour-blue"],
body.welcome-theme .obv3-dating,
body.welcome-theme .obv3-dating * {
  background-color: transparent !important;
}
body.welcome-theme [class*="dating-tour"] .ob-tour-tooltip,
body.welcome-theme [class*="dating-hint"] .card,
body.welcome-theme .obv3-dating .card,
body.welcome-theme [class*="dating-tour"] > div,
body.welcome-theme .ob-tour-overlay [class*="dating"] {
  background: rgba(20,15,12,0.96) !important;
  border: 1px solid rgba(243,210,122,0.30) !important;
  color: #fff !important;
}
body.welcome-theme [class*="dating-tour"] h1,
body.welcome-theme [class*="dating-tour"] h2,
body.welcome-theme [class*="dating-tour"] h3,
body.welcome-theme [class*="dating-tour"] h4,
body.welcome-theme [class*="dating-tour"] strong,
body.welcome-theme [class*="dating-tour"] b {
  color: #f3d27a !important;
  font-family: 'Cormorant Garamond', serif !important;
}

/* Force any element using legacy purple #C42FFA to gold */
body.welcome-theme [style*="C42FFA"],
body.welcome-theme [style*="c42ffa"],
body.welcome-theme [style*="rgb(196, 47, 250)"] {
  color: #f3d27a !important;
  background-color: transparent !important;
  border-color: #f3d27a !important;
}

/* Headers in profile (♂ Москва, Россия / Дружба) — visible on transparent overlay */
body.welcome-theme .profile-meta,
body.welcome-theme .profile-overlay-text,
body.welcome-theme [class*="profile-loc"],
body.welcome-theme [class*="profile-goal"] {
  text-shadow: 0 1px 6px rgba(0,0,0,0.7);
  color: #fff !important;
}

/* ALL inputs - extra strict (catch any missed by earlier rules) */
body.welcome-theme input,
body.welcome-theme select,
body.welcome-theme textarea,
body.welcome-theme [contenteditable="true"] {
  color: #fff !important;
}

/* Disabled state visible too */
body.welcome-theme input:disabled,
body.welcome-theme button:disabled,
body.welcome-theme select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Dropdown arrows / select indicator — gold */
body.welcome-theme select {
  background-image: linear-gradient(45deg, transparent 50%, #f3d27a 50%),
                    linear-gradient(135deg, #f3d27a 50%, transparent 50%) !important;
  background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px !important;
  background-size: 5px 5px !important;
  background-repeat: no-repeat !important;
}

/* Any horizontal divider line */
body.welcome-theme .divider-line,
body.welcome-theme .hr,
body.welcome-theme [class*="-line"],
body.welcome-theme [class*="-divider"] {
  background: rgba(243,210,122,0.15) !important;
  border-color: rgba(243,210,122,0.15) !important;
}

/* Profile picture overlay gradient (so name/age visible on photo) */
body.welcome-theme .photo-overlay,
body.welcome-theme [class*="-overlay-grad"] {
  background: linear-gradient(180deg, transparent 50%, rgba(14,10,8,0.92) 100%) !important;
}

/* Online dot indicator */
body.welcome-theme .online-dot,
body.welcome-theme .status-online {
  background: #7ce07c !important;
  box-shadow: 0 0 8px rgba(124,224,124,0.6);
}

/* "Заполнить профиль" main CTA — was pure white */
body.welcome-theme .ph-main-cta,
body.welcome-theme .profile-main-cta,
body.welcome-theme .ph-cta-primary {
  background: linear-gradient(135deg,#f3d27a 0%,#dca455 100%) !important;
  color: #0e0a08 !important;
  border: none !important;
  font-weight: 600 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 20px rgba(243,210,122,0.30) !important;
  padding: 14px 24px !important;
}

/* Profile topbar buttons (?, share) */
body.welcome-theme .ph-topbar-btn,
body.welcome-theme .ph-topbar-help,
body.welcome-theme .ph-topbar-share,
body.welcome-theme .ph-topbar-menu {
  background: rgba(243,210,122,0.10) !important;
  border: 1px solid rgba(243,210,122,0.25) !important;
  color: #f3d27a !important;
}
body.welcome-theme .ph-topbar-btn:active {
  background: rgba(243,210,122,0.20) !important;
}

/* Avatar & profile header text shadows for depth */
body.welcome-theme .ph-avatar-frame,
body.welcome-theme .ph-avatar img {
  border: 2px solid rgba(243,210,122,0.55) !important;
  box-shadow: 0 0 28px rgba(243,210,122,0.20);
}

/* Profile name + age in header */
body.welcome-theme .ph-name,
body.welcome-theme .ph-age,
body.welcome-theme .profile-name {
  color: #fff !important;
  font-weight: 600;
}
body.welcome-theme .ph-username,
body.welcome-theme .ph-bio {
  color: rgba(255,255,255,0.65) !important;
}


/* ═══════════════════════════════════════════════════════════════
   PATCH 2026-05-14: design fix overrides (source-order wins)
   ─────────────────────────────────────────────────────────────── */

/* CTA buttons (gold gradient) — force DARK text.
   The earlier `body.welcome-theme .screen button:not(.atma-button)...
   :not(#fs-apply):not(#fs-reset)` has specificity (0,2,6,2)=262 with !important.
   To beat it we add :not() with non-existing IDs to boost specificity above 262. */
body.welcome-theme .screen button.ph-main-cta:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .screen button#btn-edit-profile:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .screen .ph-main-cta:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .screen #btn-edit-profile:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .ph-main-cta,
body.welcome-theme .profile-main-cta,
body.welcome-theme .ph-cta-primary,
body.welcome-theme #btn-edit-profile {
  color: #0e0a08 !important;
  -webkit-text-fill-color: #0e0a08 !important;
}

/* Tab-bar bottom navigation — MATCH /welcome/app/ exactly (no welcome-theme tint).
   ID-combined selectors to beat earlier body.welcome-theme #tab-bar specificity. */
body.welcome-theme nav#tab-bar.tab-bar,
body.welcome-theme nav#tab-bar.app-tabbar,
body.welcome-theme #tab-bar.tab-bar,
body.welcome-theme #tab-bar.app-tabbar,
body.welcome-theme .tab-bar,
body.welcome-theme .app-tabbar {
  background: #17181B !important;
  border-top: 1px solid #393C44 !important;
  border-right: 1px solid #393C44 !important;
  border-bottom: 0 !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}
body.welcome-theme .tab {
  color: #AAADB6 !important;
}
body.welcome-theme .tab:hover {
  color: #F2F1ED !important;
}
body.welcome-theme .tab.active,
body.welcome-theme .tab[aria-selected="true"],
body.welcome-theme [data-screen][class*="active"],
body.welcome-theme [data-screen][class*="active"] svg {
  color: #F2F1ED !important;
  fill: #F2F1ED !important;
  background: transparent !important;
}
body.welcome-theme #tab-bar svg,
body.welcome-theme .tabbar svg,
body.welcome-theme .tab svg {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Top-bar action buttons (?, share, ☰) — no gold tint, transparent */
body.welcome-theme .ph-topbar-btn,
body.welcome-theme .ph-topbar-help,
body.welcome-theme .ph-topbar-share,
body.welcome-theme .ph-topbar-menu,
body.welcome-theme #btn-share-profile,
body.welcome-theme #btn-settings,
body.welcome-theme #btn-profile-help {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-color: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,0.85) !important;
}
body.welcome-theme .ph-topbar-btn:active,
body.welcome-theme #btn-share-profile:active,
body.welcome-theme #btn-settings:active,
body.welcome-theme #btn-profile-help:active {
  background: rgba(255,255,255,0.08) !important;
}

/* Sidebar (desktop) — bright readable labels */
@media (min-width: 1024px) {
  body.welcome-theme .app-tabbar .tab {
    color: rgba(255,255,255,0.78) !important;
  }
  body.welcome-theme .app-tabbar .tab:hover {
    color: #fff !important;
    background: rgba(255,255,255,0.06) !important;
  }
  body.welcome-theme .app-tabbar .tab.active,
  body.welcome-theme .app-tabbar .tab[aria-selected="true"] {
    color: #fff !important;
    background: rgba(255,255,255,0.10) !important;
  }
  /* base.css has `.tab.active::after { display: none }` for mobile —
     re-show text label on desktop sidebar */
  body.welcome-theme .app-tabbar .tab::after,
  body.welcome-theme .app-tabbar .tab.active::after,
  body.welcome-theme .app-tabbar .tab[aria-selected="true"]::after {
    display: flex !important;
    flex: 1 !important;
    color: inherit !important;
    opacity: 1 !important;
  }
}

/* ── Compatibility filter pills (.sys-tab.active) — gold bg + BLACK text ── */
body.welcome-theme .sys-tab.active:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme [data-theme="dark"] .sys-tab.active:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme [data-theme="light"] .sys-tab.active:not(#zz1):not(#zz2):not(#zz3) {
  color: #0e0a08 !important;
  -webkit-text-fill-color: #0e0a08 !important;
}


/* ═══════════════════════════════════════════════════════════════
   DESIGN LAW: Yellow/gold bg → BLACK text/icon. ALWAYS.
   Specificity bumped via :not() with non-existing IDs (>262).
   ─────────────────────────────────────────────────────────────── */

/* All known gold-buttons & gold-tinted CTAs */
body.welcome-theme .system-card-cta:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .system-card-cta,
body.welcome-theme #qc-calc-btn:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme #qc-collapse-btn:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .qc-btn-full:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .qc-collapse-btn:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .atma-button.primary:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .atma-button.full.primary:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .btn.primary:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme button.primary:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .ch-send:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .chat-send-btn:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .ph-action-btn.primary:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme [class*="card-cta"]:not(#zz1):not(#zz2):not(#zz3) {
  color: #0e0a08 !important;
  -webkit-text-fill-color: #0e0a08 !important;
}
body.welcome-theme .ch-send svg,
body.welcome-theme .chat-send-btn svg,
body.welcome-theme .system-card-cta svg,
body.welcome-theme #qc-calc-btn svg {
  fill: #0e0a08 !important;
  stroke: #0e0a08 !important;
  color: #0e0a08 !important;
}

/* ── screen-title (Настройки / Фильтры / Симпатии) — remove dark box ── */
body.welcome-theme .screen-title:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme h1.screen-title,
body.welcome-theme h2.screen-title {
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: 0 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  padding: 14px 16px !important;
}


/* ═══════════════════════════════════════════════════════════════
   PATCH 2026-05-14 (k): tab.active no rect, dating action buttons,
   force gold→black icon law on dating circular controls.
   ─────────────────────────────────────────────────────────────── */

/* 1. Active tab — no rectangular plate, only icon color */
body.welcome-theme .tab.active:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .tab[aria-selected="true"]:not(#zz1):not(#zz2):not(#zz3) {
  background: transparent !important;
  background-color: transparent !important;
}

/* 2. Dating card action buttons — gold round + BLACK icon (design law) */
body.welcome-theme .d-btn:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .d-btn.d-btn-sm:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .d-btn.d-btn-md:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .d-btn.skip:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .d-btn.like:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .d-btn.fire:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .d-actions .d-btn:not(#zz1):not(#zz2):not(#zz3) {
  color: #0e0a08 !important;
  -webkit-text-fill-color: #0e0a08 !important;
}
/* Emoji icons inside .d-btn (⭐ star, 🔥 fire, ❤ heart) render with their own
   native colors — DO NOT force them black. The .d-btn { color: #0e0a08 }
   above only affects plain text glyphs like "<" and "×", emojis ignore it. */

/* 3. Bell button — light stroke on dark dating-topbar (matches "?" sibling) */
body.welcome-theme #btn-dating-notifications:not(#zz1):not(#zz2):not(#zz3),
body.welcome-theme .d-topbar-bell:not(#zz1):not(#zz2):not(#zz3) {
  color: rgba(255,255,255,0.9) !important;
}
body.welcome-theme #btn-dating-notifications svg,
body.welcome-theme .d-topbar-bell svg {
  stroke: currentColor !important;
  fill: none !important;
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}
