/* Frontend themes: public pages and user console. Admin is excluded. */
html.site-public, html.site-console {
  color-scheme: light;
  --bg-void: #fafafa; --bg-0: #fff; --bg-1: #fff; --bg-2: #f8fafc;
  --bg-hover: #f2f2f6; --bg-glass: rgba(255, 255, 255, .96);
  --line-1: #e5e7eb; --line-2: #f0f0f3; --line-glow: #c7d2fe; --control-border: #8793a5;
  --text-1: #17171c; --text-2: #555660; --text-3: #6b6d78; --text-on-accent: #fff;
  --brand: #4f46e5; --brand-strong: #4338ca; --brand-dim: #eef2ff;
  --accent: #4f46e5; --accent-strong: #4338ca; --accent-dim: #eef2ff; --violet: #6366f1;
  --grad-aurora: linear-gradient(#4f46e5, #4f46e5); --grad-text: linear-gradient(#17171c, #17171c);
  --grad-edge: linear-gradient(90deg, transparent, #e5e7eb, transparent);
  --ok: #15803d; --ok-dim: #f0fdf4; --warn: #a16207; --warn-dim: #fefce8;
  --err: #dc2626; --err-dim: #fef2f2; --info: #2563eb; --info-dim: #eff6ff;
  --shadow-1: 0 1px 3px rgba(16, 24, 40, .04); --shadow-2: 0 6px 24px rgba(16, 24, 40, .06); --shadow-3: 0 14px 40px rgba(16, 24, 40, .08);
  --edge-top: inset 0 1px 0 transparent; --edge-glow: inset 0 1px 0 transparent; --glow-brand: none; --glow-accent: none;
}
html:is(.site-public, .site-console)[data-theme="dark"] {
  color-scheme: dark;
  --bg-void: #0b101b;
  --bg-0: #0f1420;
  --bg-1: #141c2b;
  --bg-2: #192335;
  --bg-hover: #223047;
  --bg-glass: rgba(15, 20, 32, .97);
  --line-1: #34435a;
  --line-2: #26344a;
  --line-glow: #6874cf;
  --control-border: #62718a;
  --text-1: #eef2ff;
  --text-2: #cbd5e1;
  --text-3: #a4b2c8;
  --text-on-accent: #101528;
  --brand: #818cf8;
  --brand-strong: #a5b4fc;
  --brand-dim: #222942;
  --accent: #818cf8;
  --accent-strong: #a5b4fc;
  --accent-dim: #222942;
  --violet: #a5b4fc;
  --grad-aurora: linear-gradient(#818cf8, #818cf8);
  --grad-text: linear-gradient(#eef2ff, #eef2ff);
  --grad-edge: linear-gradient(90deg, transparent, #34435a, transparent);
  --ok: #6ee7b7;
  --ok-dim: #12392e;
  --warn: #fcd34d;
  --warn-dim: #3b3015;
  --err: #fda4af;
  --err-dim: #41232e;
  --info: #93c5fd;
  --info-dim: #1c3351;
  --shadow-1: 0 2px 10px rgba(0, 0, 0, .22);
  --shadow-2: 0 8px 28px rgba(0, 0, 0, .3);
  --shadow-3: 0 16px 44px rgba(0, 0, 0, .38);
}
/* No-JavaScript visitors still get their OS preference, with no inert controls. */
@media (prefers-color-scheme: dark) {
  html:is(.site-public, .site-console):not([data-theme]) {
    color-scheme: dark;
    --bg-void: #0b101b; --bg-0: #0f1420; --bg-1: #141c2b; --bg-2: #192335;
    --bg-hover: #223047; --bg-glass: rgba(15, 20, 32, .97);
    --line-1: #34435a; --line-2: #26344a; --line-glow: #6874cf; --control-border: #62718a;
    --text-1: #eef2ff; --text-2: #cbd5e1; --text-3: #a4b2c8; --text-on-accent: #101528;
    --brand: #818cf8; --brand-strong: #a5b4fc; --brand-dim: #222942;
    --accent: #818cf8; --accent-strong: #a5b4fc; --accent-dim: #222942; --violet: #a5b4fc;
    --grad-aurora: linear-gradient(#818cf8, #818cf8); --grad-text: linear-gradient(#eef2ff, #eef2ff);
    --grad-edge: linear-gradient(90deg, transparent, #34435a, transparent);
    --ok: #6ee7b7; --ok-dim: #12392e; --warn: #fcd34d; --warn-dim: #3b3015;
    --err: #fda4af; --err-dim: #41232e; --info: #93c5fd; --info-dim: #1c3351;
    --shadow-1: 0 2px 10px rgba(0, 0, 0, .22); --shadow-2: 0 8px 28px rgba(0, 0, 0, .3); --shadow-3: 0 16px 44px rgba(0, 0, 0, .38);
  }
}
:is(.site-shell, .console) .nav-preferences { display: flex; align-items: center; gap: 8px; flex: none; }
.site-shell .logo svg { color: var(--brand); }
:is(.site-shell, .console) .theme-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--line-1); border-radius: 8px; flex: none; line-height: 1.2; }
html:is(.site-public, .site-console).js .theme-switch[hidden] { display: inline-flex !important; visibility: hidden; }
:is(.site-shell, .console) .theme-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 0 11px; border: 0; border-radius: 5px; background: transparent; color: var(--text-2); font: 500 12px var(--font-sans); white-space: nowrap; cursor: pointer; }
:is(.site-shell, .console) .theme-switch svg { flex: none; }
html:is(.site-public, .site-console)[data-theme="light"] .theme-switch [data-theme-choice="light"],
html:is(.site-public, .site-console)[data-theme="dark"] .theme-switch [data-theme-choice="dark"] { color: var(--brand); background: var(--brand-dim); }
:is(.site-shell, .console) .theme-switch button:hover { color: var(--text-1); background: var(--bg-hover); }
.site-shell :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.site-shell .catalog-search input:focus-visible { outline: none; }
.site-shell .catalog-search:focus-within { box-shadow: 0 0 0 2px var(--brand-dim); }
.site-shell .btn-ghost:hover { border-color: var(--text-3); }
.site-shell .btn-primary { color: var(--text-on-accent); }
.site-shell :is(.nav-search, .catalog-search, .catalog-sort select, .catalog-mobile-toggle, .theme-switch, .locale-switch, .discovery-button.secondary) { border-color: var(--control-border); }
.site-shell .field :is(input, select, textarea) { border-color: var(--control-border); }
.site-shell :is(.nav-search, .catalog-search):focus-within { border-color: var(--brand); }
.console .btn-primary { color: var(--text-on-accent); }
.console :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
.console :is(input, select, textarea) { color-scheme: inherit; }
.console .locale-switch, .console .theme-switch { border-color: var(--control-border); }
.console .theme-switch[hidden] { display: none; }
.console .theme-switch svg { display: block; }
.console .console-appearance { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: auto; padding: 24px; width: 100%; max-width: 1080px; border-top: 1px solid var(--line-1); color: var(--text-3); font-size: 12px; }
.site-shell .footer-bar .theme-switch { margin-left: auto; }
@media (max-width: 1024px) {
  .console .ctop { height: auto; min-height: 64px; flex-wrap: wrap; padding-block: 8px; }
  .console .ctop-right { flex-wrap: wrap; justify-content: flex-end; }
}
.site-shell input, .site-shell select, .site-shell textarea { color-scheme: inherit; }
.site-shell .discovery-model-brand img, .site-shell .catalog-model-title img { padding: 2px; border-radius: 4px; background: #fff; }
.site-shell ::selection { background: var(--brand-dim); color: var(--text-1); }
@media (max-width: 1300px) {
  .site-shell .nav-search { max-width: 200px; }
  .site-shell .nav-inner { gap: 12px; }
}
@media (max-width: 600px) {
  .site-shell .nav-cta > .btn { display: none; }
  :is(.site-shell, .console) .nav-preferences { gap: 6px; }
  :is(.site-shell, .console) .theme-switch button { min-height: 44px; padding-inline: 12px; }
  .site-shell .footer-bar { flex-direction: column; align-items: center; text-align: center; }
  .site-shell .footer-bar .theme-switch { margin-left: 0; }
}
@media (max-width: 767px) {
  .console .ccontent { padding-bottom: var(--sp-4); }
  .console .console-appearance { flex-direction: column; text-align: center; padding: 20px 16px calc(80px + env(safe-area-inset-bottom)); }
}


/* Shared catalog price rows: current account retail beside exact official reference. */
.catalog-price-comparison { display:flex; flex-direction:column; gap:7px; text-align:left; width:100%; }
.catalog-price-line { display:flex; align-items:baseline; gap:6px 10px; flex-wrap:wrap; line-height:1.6; font-size:13px; }
.catalog-price-label { min-width:2em; color:var(--text-2); }
.catalog-sale { white-space:nowrap; font-variant-numeric:tabular-nums; }
.catalog-sale b { color:var(--text-1); font-size:14px; font-weight:600; }
.catalog-sale small { color:var(--text-3); font-size:11px; }
.catalog-original { color:var(--text-3); font-size:11px; white-space:nowrap; }
.catalog-original s { text-decoration-thickness:1px; }
.catalog-price-offer { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:2px; }
.catalog-discount { display:inline-flex; align-items:center; padding:1px 6px; border:1px solid var(--warn); border-radius:4px; background:var(--warn-dim); color:var(--warn); font-size:11px; line-height:1.6; font-weight:600; white-space:nowrap; }
.catalog-discount-higher { border-color:var(--line-1); color:var(--text-2); background:var(--bg-2); }
.catalog-price-note { color:var(--text-3); font-size:11px; }
.mp-price { padding-top:12px; border-top:1px solid var(--line-1); }
