:root {
  --theme-module-spacing: 16px;
  --theme-active-bg: var(--color-bg);
  --theme-active-text: var(--color-text-body);
  --theme-home-bg: var(--color-bg-white);
  --theme-home-text: var(--color-text-title);
  --theme-banner-bg: var(--color-bg-white);
  --theme-banner-text: var(--color-text-title);
  --theme-tabs-bg: var(--color-bg-white);
  --theme-tabs-text: var(--color-text-title);
  --theme-goods-list-bg: var(--color-bg);
  --theme-goods-list-text: var(--color-text-body);
  --theme-goods-card-bg: var(--color-bg-card);
  --theme-goods-card-text: var(--color-text-title);
  --theme-cart-bg: var(--color-bg);
  --theme-cart-text: var(--color-text-body);
  --theme-user-center-bg: #f5f6fb;
  --theme-user-center-text: var(--color-text-title);
  --theme-order-bg: #f4f5f7;
  --theme-order-text: var(--color-text-title);
}

body {
  color: var(--theme-active-text);
  background-color: var(--theme-active-bg);
}

.page {
  color: var(--theme-active-text);
  background: var(--theme-active-bg);
}

#home-page {
  background: var(--theme-home-bg);
  color: var(--theme-home-text);
}

#home-page .home-search {
  background: var(--theme-home-bg);
  color: var(--theme-home-text);
}

#home-page .home-banner {
  background: var(--theme-banner-bg);
  color: var(--theme-banner-text);
}

#home-page .home-categories,
#home-page .home-products {
  background: var(--theme-goods-list-bg);
  color: var(--theme-goods-list-text);
}

#home-page .home-products,
.products-grid {
  gap: var(--theme-module-spacing);
}

#home-page .home-tabs {
  background: var(--theme-tabs-bg);
  color: var(--theme-tabs-text);
}

#home-page .home-tab.active,
#home-page .home-tab.active::after {
  color: var(--color-primary);
}

.products-page {
  background: var(--theme-goods-list-bg);
  color: var(--theme-goods-list-text);
}

.product-card {
  background: var(--theme-goods-card-bg);
  color: var(--theme-goods-card-text);
}

.product-card-title {
  color: var(--theme-goods-card-text);
}

body[data-theme-goods-card-style='plain'] .product-card {
  border-radius: 0;
  box-shadow: none;
}

body[data-theme-goods-card-style='soft'] .product-card {
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: none;
}

body[data-theme-goods-card-style='rounded'] .product-card {
  border-radius: var(--radius-lg);
}

body[data-theme-goods-card-style='shadow'] .product-card {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-float);
}

.cart-warehouse-page {
  background: var(--theme-cart-bg);
  color: var(--theme-cart-text);
}

.cart-section-header,
.warehouse-section-header,
.cart-list,
.warehouse-list,
.cart-bottom-bar {
  color: var(--theme-cart-text);
}

body[data-theme-cart-style='plain'] .warehouse-list,
body[data-theme-cart-style='plain'] .cart-item,
body[data-theme-cart-style='plain'] .warehouse-item {
  border-radius: 0;
  box-shadow: none;
}

body[data-theme-cart-style='shadow'] .warehouse-list,
body[data-theme-cart-style='shadow'] .cart-item,
body[data-theme-cart-style='shadow'] .warehouse-item {
  box-shadow: var(--shadow-card);
}

.user-page,
.account-page,
.settings-page {
  background: var(--theme-user-center-bg) !important;
  color: var(--theme-user-center-text);
}

.settings-page .settings-topbar,
.account-page .settings-topbar {
  color: var(--theme-user-center-text);
}

body[data-theme-user-center-style='plain'] .member-section,
body[data-theme-user-center-style='plain'] .member-balance-bar,
body[data-theme-user-center-style='plain'] .member-stat-item,
body[data-theme-user-center-style='plain'] .user-menu,
body[data-theme-user-center-style='plain'] .settings-card {
  border-radius: 0;
  box-shadow: none;
}

body[data-theme-user-center-style='shadow'] .member-section,
body[data-theme-user-center-style='shadow'] .member-balance-bar,
body[data-theme-user-center-style='shadow'] .member-stat-item,
body[data-theme-user-center-style='shadow'] .user-menu,
body[data-theme-user-center-style='shadow'] .settings-card {
  box-shadow: var(--shadow-float);
}

.orders-page {
  background: var(--theme-order-bg) !important;
  color: var(--theme-order-text);
}

.orders-tabs,
.order-card,
.orders-empty-card {
  color: var(--theme-order-text);
}

body[data-theme-order-style='plain'] .order-card,
body[data-theme-order-style='plain'] .orders-tabs {
  border-radius: 0;
  box-shadow: none;
}

body[data-theme-order-style='shadow'] .order-card,
body[data-theme-order-style='shadow'] .orders-tabs {
  box-shadow: var(--shadow-card);
}
