/**
 * Ant Design–inspired tokens for the PHP/Bootstrap storefront.
 * @see https://ant.design/
 */
:root {
  --ant-primary: #1677ff;
  --ant-primary-hover: #4096ff;
  --ant-primary-active: #0958d9;
  --ant-success: #52c41a;
  --ant-warning: #faad14;
  --ant-error: #ff4d4f;
  --ant-text: rgba(0, 0, 0, 0.88);
  --ant-text-secondary: rgba(0, 0, 0, 0.65);
  --ant-border: #d9d9d9;
  --ant-bg-container: #ffffff;
  --ant-bg-layout: #f5f5f5;
  --ant-radius: 8px;
  --ant-radius-lg: 12px;
  --ant-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02);
  --ant-shadow-card: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);
  --ant-font: "Public Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.ui-crystal {
  font-family: var(--ant-font);
  color: var(--ant-text);
  background-color: var(--ant-bg-layout);
}

/* Primary actions */
.btn-primary,
.btn-add-cart.btn-primary,
.products-toolbar .btn-primary {
  background: var(--ant-primary) !important;
  border-color: var(--ant-primary) !important;
  border-radius: var(--ant-radius) !important;
  box-shadow: none !important;
  font-weight: 600;
}
.btn-primary:hover,
.btn-primary:focus {
  background: var(--ant-primary-hover) !important;
  border-color: var(--ant-primary-hover) !important;
}
.btn-outline-primary {
  color: var(--ant-primary) !important;
  border-color: var(--ant-primary) !important;
  border-radius: var(--ant-radius) !important;
}
.btn-outline-primary:hover {
  background: var(--ant-primary) !important;
  border-color: var(--ant-primary) !important;
}

/* Product cards */
.product-card,
.pl-product-card,
.app-product-card {
  border-radius: var(--ant-radius-lg) !important;
  border: 1px solid var(--ant-border) !important;
  box-shadow: var(--ant-shadow) !important;
  background: var(--ant-bg-container) !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.product-card:hover,
.pl-product-card:hover,
.app-product-card:hover {
  box-shadow: var(--ant-shadow-card) !important;
  transform: translateY(-2px);
}

/* Filters & chips */
.category-chip.active,
.pl-filter-chip.active,
.filter-pill.active {
  background: var(--ant-primary) !important;
  border-color: var(--ant-primary) !important;
  color: #fff !important;
}
.category-chip,
.pl-filter-chip,
.filter-pill {
  border-radius: 999px !important;
  border: 1px solid var(--ant-border);
}

/* Forms */
.form-control:focus,
.form-select:focus {
  border-color: var(--ant-primary-hover) !important;
  box-shadow: 0 0 0 2px rgba(22, 119, 255, 0.15) !important;
}

/* Storefront header accent */
.storefront-header,
.site-header,
.navbar-brand {
  --bs-primary: var(--ant-primary);
}

/* Pagination */
.pagination .page-item.active .page-link {
  background-color: var(--ant-primary);
  border-color: var(--ant-primary);
}

/* FAQ / accordion (home) */
.home-faq-accordion .accordion-button:not(.collapsed) {
  color: var(--ant-primary);
  background: rgba(22, 119, 255, 0.06);
}
