:root {
  --ui-radius-control: 10px;
  --ui-radius-card: 16px;
  --ui-radius-panel: 24px;

  --ui-space-8: 8px;
  --ui-space-12: 12px;
  --ui-space-16: 16px;
  --ui-space-20: 20px;
  --ui-space-24: 24px;
  --ui-space-32: 32px;
  --ui-space-40: 40px;

  --ui-border: #e4e7ef;
  --ui-border-strong: #d8ddea;
  --ui-surface: #ffffff;
  --ui-surface-soft: #f8faff;
  --ui-text: #111827;
  --ui-text-muted: #667085;

  --ui-shadow-base: 0 8px 24px rgba(15, 23, 42, 0.07);
  --ui-shadow-hover: 0 14px 30px rgba(15, 23, 42, 0.11);

  --ui-control-height: 42px;
  --ui-control-height-sm: 36px;
}

/* global containers and hierarchy */
.section,
.main-section,
.market-section,
.catalog-section,
.home-section {
  margin-bottom: var(--ui-space-40);
}

.card,
.catalog-card,
.listing-card,
.listing-tile,
.market-card,
.wallet-card,
.reviews-card,
.profile-main-card,
.settings-section--profile,
.settings-danger-zone__card,
.orders-tab,
.order-card,
.sales-card,
.notifications-item,
.auth-card,
.ps-card,
.ld-card,
.market-filters,
.market-kpi,
.chatbox,
.lf-card,
.lf-section {
  border-radius: var(--ui-radius-card) !important;
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface) !important;
  box-shadow: var(--ui-shadow-base) !important;
}

.topbar,
.footer,
.profile-hero,
.wallet-hero,
.reviews-hero,
.market-hero,
.hero,
.lf-page-hero,
.settings-pane,
.settings-section--security {
  border-radius: var(--ui-radius-panel);
}

/* control and button family */
button,
.btn,
.ui-btn,
.settings-cta,
.settings-ghost-btn,
.avatar-action,
.password-modal__cancel,
.orders-tab,
.archive-filter__btn,
.notifications-filter,
.profile-mobile-menu__item,
.nav-link,
.lf-btn,
.lf-btn-primary,
.lf-btn-ghost {
  min-height: var(--ui-control-height);
  border-radius: var(--ui-radius-control) !important;
  font-weight: 600;
  padding: 0 var(--ui-space-16);
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

button:not(.btn-primary):not(.settings-cta):not(.nav-link--cta),
.btn:not(.btn-primary):not(.settings-cta):not(.nav-link--cta),
.ui-btn:not(.ui-btn--primary),
.settings-ghost-btn,
.avatar-action,
.password-modal__cancel,
.notifications-filter,
.archive-filter__btn,
.orders-tab,
.lf-btn-ghost {
  background: var(--ui-surface) !important;
  color: var(--ui-text) !important;
  border: 1px solid var(--ui-border) !important;
  box-shadow: none !important;
}

.btn-primary,
.settings-cta,
.nav-link--cta,
.ui-btn--primary,
.lf-btn-primary,
button[type="submit"],
.btn[type="submit"] {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(124, 58, 237, 0.23) !important;
}

.btn-primary:hover,
.settings-cta:hover,
.nav-link--cta:hover,
.ui-btn--primary:hover,
.lf-btn-primary:hover,
button[type="submit"]:hover,
.btn[type="submit"]:hover {
  background: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
  box-shadow: 0 12px 28px rgba(124, 58, 237, 0.28) !important;
}

button:hover,
.btn:hover,
.ui-btn:hover,
.settings-ghost-btn:hover,
.avatar-action:hover,
.password-modal__cancel:hover,
.notifications-filter:hover,
.archive-filter__btn:hover,
.orders-tab:hover,
.nav-link:hover,
.lf-btn:hover,
.lf-btn-ghost:hover {
  transform: translateY(-1px);
}

button:disabled,
.btn:disabled,
.ui-btn:disabled,
.settings-cta:disabled,
.lf-btn:disabled {
  opacity: .56;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

input,
textarea,
select,
.ui-input,
.auth-input,
.ps-input,
.inp,
.lf-input,
.lf-select,
.lf-textarea,
.lf-file,
.search-input,
.catalog-search input,
.market-filters input,
.market-filters select {
  min-height: var(--ui-control-height);
  border-radius: var(--ui-radius-control) !important;
  border: 1px solid var(--ui-border) !important;
  background: #fff !important;
  color: var(--ui-text) !important;
  box-shadow: none !important;
}

input::placeholder,
textarea::placeholder,
.lf-input::placeholder,
.search-input::placeholder {
  color: #98a2b3 !important;
}

input:focus,
textarea:focus,
select:focus,
.ui-input:focus,
.auth-input:focus,
.ps-input:focus,
.inp:focus,
.lf-input:focus,
.lf-select:focus,
.lf-textarea:focus {
  border-color: rgba(124, 58, 237, .45) !important;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, .18) !important;
}

/* chips/tabs/pills */
.ui-chip,
.ui-badge,
.listing-params-chips__item,
.buyer-chip,
.order-param-chip,
.reviews-rating-pill,
.catalog-chip,
.tab,
.settings-sidebar__link,
.profile-actions .btn,
.lf-check,
.notifications-filter,
.archive-filter__btn {
  border-radius: var(--ui-radius-control) !important;
  border: 1px solid var(--ui-border) !important;
  background: var(--ui-surface-soft);
  color: var(--ui-text);
}

.is-active,
.active,
[aria-selected="true"],
.orders-tab.is-active,
.archive-filter__btn.is-active,
.notifications-filter.is-active,
.settings-sidebar__link.active {
  border-color: rgba(124, 58, 237, .38) !important;
  background: #f3edff !important;
  color: #5b21b6 !important;
}

/* page-level consistency refinements */
.market-filters,
.catalog-filters,
.filters,
.sidebar-filters,
.catalog-sidebar {
  padding: var(--ui-space-20) !important;
  display: grid;
  gap: var(--ui-space-16);
}

.catalog-toolbar,
.catalog-controls,
.market-controls,
.orders-toolbar,
.wallet-controls,
.settings-actions,
.profile-actions,
.reviews-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-12);
  align-items: center;
}

.catalog-grid,
.products-grid,
.market-grid,
.listings-grid,
.reviews-list,
.wallet-grid,
.settings-list,
.profile-highlights {
  gap: var(--ui-space-16) !important;
}

.listing-card,
.listing-tile,
.market-card,
.catalog-card,
.order-card,
.sales-card,
.review-card {
  padding: var(--ui-space-16) !important;
}

.listing-card__title,
.listing-tile__title,
.catalog-card__title,
.market-card__title,
.review-card__title {
  margin-bottom: var(--ui-space-8);
}

.listing-card__meta,
.listing-tile__meta,
.catalog-card__meta,
.market-card__meta,
.review-card__meta,
.profile-main-meta,
.wallet-stat__meta {
  color: var(--ui-text-muted) !important;
  gap: var(--ui-space-8);
}

.settings-layout,
.profile-wrap,
.wallet-page,
.reviews-page,
.catalog-page,
.market-page,
.listing-form,
.listings-form {
  gap: var(--ui-space-24) !important;
}

/* ===== production unification pass (global shell + shared primitives) ===== */
:root {
  --ui-border-subtle: #eaedf3;
  --ui-bg-page: #f4f6fb;
  --ui-shadow-soft: 0 10px 24px rgba(15, 23, 42, 0.06);
  --ui-shadow-panel: 0 18px 34px rgba(15, 23, 42, 0.08);
}

body { background: var(--ui-bg-page) !important; color: var(--ui-text) !important; }

.topbar,
.footer {
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid var(--ui-border-subtle) !important;
  box-shadow: var(--ui-shadow-soft) !important;
}

.nav-link,
.profile-summary,
details.profile-menu .menu-box a,
.footer__list a,
.footer__social-link,
.footer__support-link,
.footer__legal-links a {
  color: #334155 !important;
}

.nav-link.is-active,
.nav-link--catalog.is-active,
details.profile-menu .menu-box a.is-active {
  color: #5b21b6 !important;
  background: #f3edff !important;
  border-color: rgba(124, 58, 237, 0.32) !important;
}

.footer__badge,
.badge-amount,
.sale-status,
.status-badge {
  border-radius: var(--ui-radius-control) !important;
  border: 1px solid var(--ui-border) !important;
  background: #f8fafc !important;
  color: #334155 !important;
}

.table,
.sales-table,
.wallet-history table,
.history-table {
  border: 1px solid var(--ui-border) !important;
  border-radius: var(--ui-radius-card) !important;
  background: #fff !important;
  overflow: hidden;
}

.empty-state,
.mvp-empty-state,
.catalog-empty,
.reviews-empty,
.profile-empty {
  border: 1px dashed var(--ui-border-strong) !important;
  border-radius: var(--ui-radius-card) !important;
  background: #fff !important;
  color: var(--ui-text-muted) !important;
}
