/**
 * QuickBolt WC - Phase 3 Design System & Tokens
 * Optimized for Indian quick-commerce (Electrical, Plumbing, Hardware, Tools)
 */
:root {
  /* Color Palette - WCAG 2.1 AA Verified */
  --qb-primary: #0C831F;
  --qb-primary-hover: #096818;
  --qb-primary-light: #E8F7EB;
  --qb-primary-surface: #F7FFF9;
  --qb-brand-amber: #F8CB46;
  --qb-brand-amber-dark: #D9A406;
  --qb-bg-app: #F3F5F9;
  --qb-bg-card: #FFFFFF;
  --qb-bg-elevated: #FFFFFF;
  --qb-bg-spec: #F1F5F9;
  --qb-text-primary: #111827;
  --qb-text-secondary: #374151;
  --qb-text-muted: #6B7280;
  --qb-border-subtle: #E5E7EB;
  --qb-border-strong: #CBD5E1;

  /* Semantic Status Colors */
  --qb-wallet-bg: #EFF6FF;
  --qb-wallet-text: #1E40AF;
  --qb-wallet-border: #BFDBFE;
  --qb-cod-warn-bg: #FEF3C7;
  --qb-cod-warn-text: #92400E;
  --qb-cod-warn-border: #FDE68A;
  --qb-danger-bg: #FEE2E2;
  --qb-danger-text: #B91C1C;
  --qb-success-bg: #DCFCE7;
  --qb-success-text: #166534;

  /* Typography */
  --qb-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
  --qb-font-mono: 'JetBrains Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;

  /* Spacing & Layout Proportions (Blinkit-inspired high-density ergonomics) */
  --qb-container-max: 1280px;
  --qb-header-height-desktop: 72px;
  --qb-radius-xs: 4px;
  --qb-radius-sm: 8px;
  --qb-radius-md: 12px;
  --qb-radius-lg: 16px;
  --qb-radius-pill: 9999px;
  --qb-shadow-xs: 0 1px 2px rgba(17, 24, 39, 0.05);
  --qb-shadow-card: 0 1px 3px rgba(17, 24, 39, 0.06), 0 1px 2px rgba(17, 24, 39, 0.04);
  --qb-shadow-hover: 0 8px 20px rgba(17, 24, 39, 0.08);
  --qb-shadow-floating: 0 10px 25px -4px rgba(12, 131, 31, 0.32);
  --qb-shadow-drawer: -8px 0 32px rgba(17, 24, 39, 0.18);
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--qb-font-sans);
  background-color: var(--qb-bg-app);
  color: var(--qb-text-primary);
  line-height: 1.45;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

img,
svg,
video,
canvas {
  max-width: 100%;
  height: auto;
}

.qb-site-main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  overflow-x: clip;
}

/* Accessibility & Keyboard Focus */
:focus-visible {
  outline: 3px solid var(--qb-primary);
  outline-offset: 2px;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #FFFFFF;
  border-radius: var(--qb-radius-sm);
  box-shadow: var(--qb-shadow-hover);
  clip: auto !important;
  clip-path: none;
  color: var(--qb-primary);
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 8px;
  line-height: normal;
  padding: 12px 16px;
  text-decoration: none;
  top: 8px;
  width: auto;
  z-index: 100000;
}

/* Reduced Motion Compliance */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.qb-container {
  width: 100%;
  max-width: var(--qb-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 12px;
  padding-right: 12px;
  min-width: 0;
}

/* Prevent double horizontal padding when a shortcode template inside page.php renders its own .qb-container */
.qb-container .qb-container {
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 768px) {
  .qb-container {
    padding-left: 20px;
    padding-right: 20px;
  }
  .qb-container .qb-container {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Tabular Numbers for Prices, SKUs, PLUs, and Technical Specs */
.qb-tabular,
.qb-price,
.qb-spec-pill,
.qb-qty-value {
  font-variant-numeric: tabular-nums;
}
