/* Shared semantic tokens. Keep link accents separate from filled actions. */
:root {
  color-scheme: light;
  --ui-page: #ffffff;
  --ui-surface: #ffffff;
  --ui-text: #444444;
  --ui-heading: #012970;
  --ui-link: #4154f1;
  --ui-action: #4154f1;
  --ui-action-hover: #3243cb;
  --ui-on-action: #ffffff;
  --ui-muted: #64748b;
  --ui-field-surface: rgba(255, 255, 255, .92);
  --ui-field-text: #1e293b;
  --ui-field-placeholder: #64748b;
  --ui-field-border: #cbd5e1;
  --ui-focus: #4154f1;
  --ui-focus-ring: rgba(65, 84, 241, .16);
  --ui-error: #c2414c;
  --ui-status-error-bg: #b91c1c;
  --ui-status-success-bg: #15803d;
  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-radius-control: 12px;
  --ui-target-size: 44px;
  --ui-control-height: 46px;
  --ui-motion-fast: .18s;
  --background-color: var(--ui-page);
  --surface-color: var(--ui-surface);
  --default-color: var(--ui-text);
  --heading-color: var(--ui-heading);
  --accent-color: var(--ui-link);
}

[data-theme="dark"] {
  color-scheme: dark;
  --ui-page: #0b0f17;
  --ui-surface: #141b26;
  --ui-text: #d6deea;
  --ui-heading: #eef2f7;
  --ui-link: #7b9cff;
  --ui-action: #4459c9;
  --ui-action-hover: #3548b3;
  --ui-muted: #b8c5d8;
  --ui-field-surface: rgba(35, 48, 68, .78);
  --ui-field-text: #f1f5f9;
  --ui-field-placeholder: #c0ccdc;
  --ui-field-border: rgba(203, 213, 225, .22);
  --ui-focus: #8399e8;
  --ui-focus-ring: rgba(131, 153, 232, .18);
  --ui-error: #fda4af;
  --dm-muted: var(--ui-muted);
}

/* Scope filled actions; secondary/disabled product actions stay unchanged. */
:root body :is(.enmarket-search__btn, .vendor-detail-action--products,
  .app-pagination__btn.is-active, .product-preview-modal__buy,
  .product-buy-btn.btn-primary:not(.disabled):not(:disabled), .btn-getstarted),
:root body[data-page] form.php-email-form[data-dynamic-form] button[type="submit"] {
  background: var(--ui-action) !important;
  color: var(--ui-on-action) !important;
  border-color: transparent;
  min-height: var(--ui-target-size);
  transition: background-color var(--ui-motion-fast) ease;
}

:root body :is(.enmarket-search__btn, .vendor-detail-action--products,
  .app-pagination__btn.is-active, .product-preview-modal__buy,
  .product-buy-btn.btn-primary:not(.disabled):not(:disabled), .btn-getstarted):hover,
:root body[data-page] form.php-email-form[data-dynamic-form] button[type="submit"]:hover {
  background: var(--ui-action-hover) !important;
  color: var(--ui-on-action) !important;
  filter: none;
}

:root body :is(.theme-toggle, .mobile-nav-toggle, .mobile-nav-close,
  .product-preview-modal__close) {
  min-width: var(--ui-target-size);
  min-height: var(--ui-target-size);
  flex-shrink: 0;
}

:root body :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: var(--ui-space-1);
}

/* Validation messages should follow the form's RTL/LTR direction. */
:root body .php-email-form .error-message {
  background: var(--ui-status-error-bg);
  color: var(--ui-on-action);
  text-align: start;
}

:root body .php-email-form .sent-message {
  background: var(--ui-status-success-bg);
  color: var(--ui-on-action);
}

/* Keep loading feedback visible, without continuous motion when requested. */
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0s !important;
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
  }
}
