/* Version two only. Legacy snapshots retain their original styles and tokens.
   Coverage: shared header/footer; catalogue/product; cart/checkout; sessions,
   registrations/passwords. Remaining default-only CONTENT: pages/blog/regions/
   shipping/accounts/invites/orders/order_confirmations/checkout_baskets/pwa.
   Product artwork/fallback illustration remains default-only (separate image work).
   Their shared chrome is themed; admin/mailers are excluded entirely. */
.storefront-shell.appearance-v2 {
  --store-surface:#edf3f8; --store-surface-raised:#ffffff; --store-text:#11274a;
  --store-text-muted:#475569; --store-accent:#315f88; --store-accent-contrast:#ffffff;
  --store-border:#66778a; --ew-ink:var(--store-text); --ew-blue-soft:var(--store-accent);
  --ew-line:var(--store-border); --ew-mist:var(--store-surface); --ew-sand:var(--store-border);
  --store-radius:1.5rem; --store-space:1.5rem;
  background:var(--store-surface); color:var(--store-text);
}
.storefront-shell.appearance-v2.typeface-system_sans { font-family:ui-sans-serif,system-ui,sans-serif; }
.storefront-shell.appearance-v2.typeface-system_serif { font-family:ui-serif,Georgia,serif; }
.storefront-shell.appearance-v2.spacing-compact { --store-space:1rem; }
.storefront-shell.appearance-v2.corners-square { --store-radius:0; }
.storefront-shell.appearance-v2.corners-soft { --store-radius:.5rem; }
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) { color:var(--store-text); }
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) :is(a,button,input,select,textarea):focus-visible {
  outline:3px solid var(--store-accent); outline-offset:4px;
}
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) :is(input:not([type=hidden]):not([type=submit]):not([type=radio]):not([type=checkbox]),select,textarea) {
  background:var(--store-surface-raised); color:var(--store-text); border:1px solid var(--store-border);
  border-radius:var(--store-radius); padding:.75rem; min-height:44px;
}
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) :is(button,input[type=submit],.store-button,.vj-cta) {
  background:var(--store-accent); color:var(--store-accent-contrast); border:1px solid var(--store-accent);
  border-radius:var(--store-radius); min-height:44px;
}
.storefront-shell.appearance-v2.button_style-outline :is(header,footer,.appearance-content) :is(button,input[type=submit],.store-button,.vj-cta) {
  background:var(--store-surface-raised); color:var(--store-accent); border-color:var(--store-accent);
}
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) :is(button,input):disabled { opacity:.65; cursor:not-allowed; }
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) a:not(.store-button):not(.vj-cta) { color:var(--store-accent); }
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) [class*="text-slate-"] { color:var(--store-text-muted); }
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) [class*="text-gray-"] { color:var(--store-text-muted); }
.storefront-shell.appearance-v2 .appearance-content :is([class*="bg-white"],[class*="bg-slate-50"],.store-card):not(button):not(input):not(a) {
  background:var(--store-surface-raised); color:var(--store-text);
}
.storefront-shell.appearance-v2 .appearance-content :is(article,aside,.store-card,.store-panel) {
  border-radius:var(--store-radius); padding:var(--store-space);
}
.storefront-shell.appearance-v2.card_style-flat .appearance-content :is(article,aside,.store-card) { border-color:transparent; box-shadow:none; }
.storefront-shell.appearance-v2.card_style-outlined .appearance-content :is(article,aside,.store-card) { border:1px solid var(--store-border); }
.storefront-shell.appearance-v2 :is(header,footer) [class*="bg-white"] { background:var(--store-surface-raised); }
.storefront-shell.appearance-v2 .appearance-content :is([role=alert],.store-error) { color:#881337; background:#fff1f2; border-color:#be123c; }
.storefront-shell.appearance-v2 .appearance-content :is([role=status],.store-success) { color:#14532d; background:#f0fdf4; border-color:#15803d; }
.storefront-shell.appearance-v2 .appearance-content input[aria-invalid=true] { border-color:#be123c; }
@media (max-width:640px) { .storefront-shell.appearance-v2 { --store-space:1rem; } .storefront-shell.appearance-v2.spacing-compact { --store-space:.75rem; } }

.storefront-shell.appearance-v2 .store-button { background:var(--store-accent); color:var(--store-accent-contrast); border:1px solid var(--store-accent); border-radius:var(--store-radius); }
.storefront-shell.appearance-v2.button_style-outline .store-button { background:var(--store-surface-raised); color:var(--store-accent); }
.storefront-shell.appearance-v2 .store-button :is(p,span) { color:inherit; }
.storefront-shell.appearance-v2 .store-button:focus-visible { outline:3px solid var(--store-accent); outline-offset:4px; }
.storefront-shell.appearance-v2 .appearance-content [data-password-toggle-target=button] { background:transparent; color:var(--store-text); border:0; }
.storefront-shell.appearance-v2 .appearance-content :is(input[type=radio],input[type=checkbox]) { accent-color:var(--store-accent); }
.storefront-shell.appearance-v2 .appearance-content label:has(input[type=radio]) { background:var(--store-surface-raised); color:var(--store-text); border-color:var(--store-border); border-radius:var(--store-radius); }
.storefront-shell.appearance-v2 .appearance-content label:has(input:checked) { border-color:var(--store-accent); box-shadow:inset 0 0 0 1px var(--store-accent); }
.storefront-shell.appearance-v2 .appearance-content label:has(input:focus-visible) { outline:3px solid var(--store-accent); outline-offset:4px; }
.storefront-shell.appearance-v2 :is(button,input[type=submit]) :is(span,p) { color:inherit; }
.storefront-shell.appearance-v2:is(.typeface-system_sans,.typeface-system_serif) :is(header,footer,nav,.vj-kicker,.vj-garment-facts,.vj-cta) { font-family:inherit; }

/* Keep existing application-owned illustration colours distinct from runtime palettes. */
.storefront-shell.appearance-v2 .store-artwork { --ew-ink:#11274a; --ew-blue-soft:#5d92bf; --ew-line:#c8d6e2; --ew-mist:#edf3f8; --ew-sand:#cdad6b; }
.storefront-shell.appearance-v2 .store-artwork [class*="text-slate-"] { color:#475569; }
.storefront-shell.appearance-v2 .store-artwork [class*="bg-white"] { background:#ffffff; color:#11274a; }
.storefront-shell.appearance-v2 :is(header,footer,.appearance-content) a[class*="bg-white"]:not(.store-button) { background:var(--store-surface-raised); }
.storefront-shell.appearance-v2 :is(header,footer) a[class*="rounded-"] { border-radius:var(--store-radius); }
.storefront-shell.appearance-v2 .appearance-content pre { background:var(--store-surface-raised); color:var(--store-text); }
.storefront-shell.appearance-v2 .appearance-content :is(input[type=checkbox],input[type=radio]):not(.sr-only) { appearance:none; width:1.25rem; height:1.25rem; border:2px solid var(--store-border); background:var(--store-surface-raised); vertical-align:middle; }
.storefront-shell.appearance-v2 .appearance-content input[type=radio]:not(.sr-only) { border-radius:50%; }
.storefront-shell.appearance-v2 .appearance-content input[type=checkbox]:not(.sr-only) { border-radius:3px; }
.storefront-shell.appearance-v2 .appearance-content :is(input[type=checkbox],input[type=radio]):not(.sr-only):checked { background:var(--store-accent); border-color:var(--store-accent); box-shadow:inset 0 0 0 3px var(--store-surface-raised); }

/* Required operational notices use the validated foreground/background pair. */
.storefront-shell.appearance-v2 .vj-experiment { background:var(--store-accent); color:var(--store-accent-contrast); }
/* Stock labels carry their own paired surface, independent of card/option state. */
.storefront-shell.appearance-v2 .appearance-content .store-stock-status { color:#78350f; background:#fef3c7; }
