:root {
  --site-primary: #8B5CF6;
  --site-primary-rgb: 139, 92, 246;
  --site-secondary: #08B9DB;
  --site-secondary-rgb: 8, 185, 219;
  --site-background: #070914;
  --site-background-rgb: 7, 9, 20;
  --site-surface: #111727;
  --site-surface-rgb: 17, 23, 39;
  --site-text: #F5F1FF;
  --site-text-rgb: 245, 241, 255;
  --site-muted: #9AA6C3;
  --site-muted-rgb: 154, 166, 195;
}

html, body { background-color: var(--site-background) !important; }
body { color: var(--site-text) !important; }
body:not(.gtanex-admin) {
  background-image:
    radial-gradient(circle at 12% 8%, rgba(var(--site-primary-rgb), .16), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(var(--site-secondary-rgb), .12), transparent 32%) !important;
}

.site-header, .nx-header, .dashboard-header, .admin-header,
.admin-sidebar, .sidebar, .site-footer, .auth-card,
.order-modal-card, .checkout-card, .cart-card {
  border-color: rgba(var(--site-primary-rgb), .20) !important;
}
.site-header, .nx-header, .dashboard-header, .admin-header {
  background: rgba(var(--site-background-rgb), .90) !important;
}
.admin-sidebar, .sidebar, .site-footer {
  background-color: rgba(var(--site-surface-rgb), .94) !important;
}

.firebase-product-card, .review-card, .list-card, .profile-card, .stat-card,
.welcome-card, .quick-actions, .admin-card, .admin-panel-card, .admin-stat-card,
.category-page-hero .wrap, .checkout-card, .cart-card, .auth-card,
.order-modal-card, .products-empty-state, .products-loading-state {
  background-color: rgba(var(--site-surface-rgb), .90) !important;
  border-color: rgba(var(--site-primary-rgb), .20) !important;
}

h1, h2, h3, h4, h5, h6, strong, .brand-word, .footer-word,
.sidebar-brand strong, .dashboard-logo { color: var(--site-text) !important; }
p, small, .footer-note, .firebase-product-description, .category-hero-description,
.list-description, .admin-details, .product-image-help { color: var(--site-muted) !important; }

.site-nav a.active, .nx-nav a.active, .sidebar-link.active, .admin-nav-link.active,
.site-nav a:hover, .nx-nav a:hover, .sidebar-link:hover, .admin-nav-link:hover,
.firebase-product-category, .catalog-eyebrow, .eyebrow, .header-title > span {
  color: var(--site-secondary) !important;
}

.btn-gold, .register-btn, .refresh-button, .update-status-button,
.firebase-order-btn, .firebase-purchase-btn, .checkout-submit,
.gtanex-product-pagination button.active,
.gtanex-product-pagination button:hover:not(:disabled) {
  color: #FFFFFF !important;
  background: linear-gradient(135deg, var(--site-primary), var(--site-secondary)) !important;
  border-color: transparent !important;
}

.btn-ghost, .login-btn, .store-link, .admin-copy-button, .small-button,
.gtanex-header-cart, .gtanex-product-pagination button {
  color: var(--site-text) !important;
  background-color: rgba(var(--site-surface-rgb), .82) !important;
  border-color: rgba(var(--site-primary-rgb), .28) !important;
}

input, textarea, select {
  color: var(--site-text) !important;
  background-color: rgba(var(--site-background-rgb), .72) !important;
  border-color: rgba(var(--site-primary-rgb), .24) !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--site-secondary) !important;
  box-shadow: 0 0 0 3px rgba(var(--site-secondary-rgb), .12) !important;
}

.firebase-best-badge, .user-role-badge, .admin-role-badge,
.gtanex-cart-badge { background: linear-gradient(135deg, var(--site-primary), var(--site-secondary)) !important; }
.firebase-wishlist-btn:hover, .firebase-wishlist-btn.active { color: var(--site-secondary) !important; }

::selection { color: #fff; background: rgba(var(--site-primary-rgb), .75); }

/* Admin color manager */
.site-color-form { display: grid; gap: 18px; }
.site-color-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.site-color-field { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 11px; align-items: center; padding: 12px; border: 1px solid rgba(var(--site-primary-rgb), .20); border-radius: 12px; background: rgba(var(--site-background-rgb), .34); }
.site-color-field > label { grid-column: 1 / -1; margin: 0; font-weight: 800; }
.site-color-field input[type="color"] { width: 54px; height: 44px; padding: 3px; border-radius: 9px; cursor: pointer; }
.site-color-field input[type="text"] { min-width: 0; text-transform: uppercase; }
.site-color-preview { min-height: 150px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; padding: 22px; overflow: hidden; border: 1px solid rgba(var(--site-primary-rgb), .25); border-radius: 16px; background: var(--site-background); }
.site-color-preview-card { max-width: 540px; padding: 18px; border: 1px solid rgba(var(--site-primary-rgb), .28); border-radius: 13px; background: var(--site-surface); }
.site-color-preview-card h3 { margin: 0 0 7px; }
.site-color-preview-card p { margin: 0 0 14px; color: var(--site-muted) !important; }
.site-color-preview-swatch { width: 92px; height: 92px; border-radius: 24px; background: linear-gradient(135deg, var(--site-primary), var(--site-secondary)); box-shadow: 0 18px 50px rgba(var(--site-primary-rgb), .24); }
.site-color-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.site-color-actions button { flex: 1 1 190px; }

@media (max-width: 720px) {
  .site-color-grid { grid-template-columns: 1fr; }
  .site-color-preview { grid-template-columns: 1fr; }
  .site-color-preview-swatch { width: 72px; height: 72px; }
}

/* Purchase buttons always use the admin-controlled brand gradient. */
#card-grid .firebase-purchase-btn,
body.gtanex-category #card-grid .firebase-purchase-btn {
  color: #FFFFFF !important;
  background: linear-gradient(135deg, var(--site-primary), var(--site-secondary)) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 28px rgba(var(--site-primary-rgb), .24) !important;
}
#card-grid .firebase-purchase-btn:hover,
body.gtanex-category #card-grid .firebase-purchase-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-2px) !important;
}

/* High-specificity storefront palette bindings. */
body.nightify-home .nx-header,
body.gtanex-category .site-header,
body.gtanex-commerce-page .site-header {
  background: rgba(var(--site-background-rgb), .92) !important;
  border-color: rgba(var(--site-primary-rgb), .22) !important;
}
#card-grid .firebase-product-card,
body.gtanex-category #card-grid .firebase-product-card {
  background: linear-gradient(145deg, rgba(var(--site-surface-rgb), .96), rgba(var(--site-background-rgb), .90)) !important;
  border-color: rgba(var(--site-primary-rgb), .22) !important;
}
#card-grid .firebase-product-card h3,
body.gtanex-category #card-grid .firebase-product-card h3,
#card-grid .firebase-product-price,
body.gtanex-category #card-grid .firebase-product-price {
  color: var(--site-text) !important;
}
#card-grid .firebase-product-description,
body.gtanex-category #card-grid .firebase-product-description {
  color: var(--site-muted) !important;
}
#card-grid .firebase-product-category,
body.gtanex-category #card-grid .firebase-product-category {
  color: var(--site-secondary) !important;
}
#card-grid .firebase-order-btn,
body.gtanex-category #card-grid .firebase-order-btn,
#card-grid .firebase-purchase-btn,
body.gtanex-category #card-grid .firebase-purchase-btn {
  color: #FFFFFF !important;
  background: linear-gradient(135deg, var(--site-primary), var(--site-secondary)) !important;
  border-color: transparent !important;
}
