body {
  --shop-accent: #1265f2;
  --shop-on-accent: #fff;
  --shop-page: #fff;
  --shop-surface: #fff;
  --shop-ink: #101f38;
  --shop-muted: #60718b;
  --shop-line: #e1e9f5;
}
body.shop-seasonal-accent {
  --shop-accent: var(--shop-theme-primary, #1265f2);
  --shop-on-accent: var(--shop-theme-on-primary, #fff);
}
body.shop-seasonal-full:not(.shop-dark) {
  --shop-page: var(--shop-theme-background, #fff);
  --shop-surface: var(--shop-theme-surface, #fff);
  --shop-ink: var(--shop-theme-text, #101f38);
}
body.shop-dark {
  --shop-page: #0b1424;
  --shop-surface: #152238;
  --shop-ink: #edf3fc;
  --shop-muted: #a9bad1;
  --shop-line: #30435c;
  --shop-link: color-mix(in srgb, var(--shop-accent) 52%, #fff);
}

.shop-theme-toggle {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: none;
  border: 1px solid var(--shop-line);
  border-radius: 8px;
  background: var(--shop-surface);
  color: var(--shop-ink);
  font: 700 22px/1 Arial, sans-serif;
}
.shop-theme-toggle:hover { border-color: var(--shop-accent); color: var(--shop-accent); }
.shop-theme-toggle:focus-visible { outline: 3px solid var(--shop-accent); outline-offset: 2px; }
.shop-front .head-inner > .shop-theme-toggle { margin-left: auto; }
.shop-front .head-inner > .shop-theme-toggle + .actions { margin-left: 0; }
.shop-admin-header-actions { display: flex; align-items: center; gap: 12px; }

.shop-seasonal-banner {
  position: relative;
  z-index: 22;
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 18px;
  background: var(--shop-theme-primary, var(--shop-accent));
  color: var(--shop-theme-on-primary, var(--shop-on-accent));
  border-bottom: 3px solid var(--shop-theme-accent, var(--shop-accent));
  text-align: center;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.shop-seasonal-banner span::before, .shop-seasonal-banner span::after { content: '✦'; margin-inline: 12px; opacity: .75; }

body.shop-front { background: var(--shop-page); color: var(--shop-ink); }
body.shop-front :is(.head, .nav, .features, .cat, .product, .modal, .icon-btn, .filter, .empty, .search, .cart-quantity button:not(.cart-remove), .shop-coupon-apply, .shop-quote-form :is(input, select, textarea), .shop-checkout-form input:not([type="radio"]), .shop-account-form input) {
  background: var(--shop-surface);
  color: var(--shop-ink);
  border-color: var(--shop-line);
}
body.shop-front :is(.hero-wrap, .catalog, .shop-detail-visual, .shop-quote-reply) { background: var(--shop-page); }
body.shop-front :is(.hero-wrap, .catalog, .shop-detail-visual, .product .photo) { border-color: var(--shop-line); }
body.shop-front :is(.brand-t strong, .section h2, .cat strong, .product h3, .shop-detail-info h1, .price, .modal h2, .modal .row b, .shop-product-price) { color: var(--shop-ink); }
body.shop-front :is(.brand-t span, .nav a.selected, .mini, .over, .see-all, .shop-secondary-action, .shop-breadcrumb button, .shop-order span, .seller-info a) { color: var(--shop-accent); }
body.shop-front :is(.section p.sub, .cat small, .detail, .modal p, .shop-detail-description, .shop-order small, .seller-info, .shop-quote-note, .shop-checkout-form .fulfillment-detail) { color: var(--shop-muted); }
body.shop-front :is(.logo, .search button, .btn.primary, .cartadd, .filter.active, .shop-quote-form .btn, .shop-detail-actions .btn, .modal .btn) { background: var(--shop-accent); color: var(--shop-on-accent); }
body.shop-front :is(.cat-icon, .feature .bubble) { color: var(--shop-accent); }
body.shop-front.shop-seasonal-full :is(.hero, .service-box) { background: color-mix(in srgb, var(--shop-accent) 45%, #07152f); }
body.shop-front.shop-seasonal-full .hero h1 em { color: color-mix(in srgb, var(--shop-theme-accent, #70c7ff) 65%, #fff); background: none; }
body.shop-front.shop-dark :is(.search, .product .photo, .shop-detail-visual, .shop-quote-reply, .shop-pix-code textarea) { background: #1c2b43; color: var(--shop-ink); }
body.shop-front.shop-dark :is(.search input, .shop-sort, .shop-pix-code textarea) { color: var(--shop-ink); }
body.shop-front.shop-dark :is(.nav a, .shop-detail-fulfillment, .modal ul, .shop-quote-form label, .shop-breadcrumb span:last-child) { color: var(--shop-muted); }
body.shop-front.shop-dark :is(.nav a.selected, .nav a:hover) { color: var(--shop-accent); }
body.shop-front.shop-dark :is(.nav a.selected, .nav a:hover, .brand-t span, .mini, .over, .see-all, .shop-secondary-action, .shop-breadcrumb button, .shop-order span, .seller-info a) { color: var(--shop-link); }
body.shop-front.shop-dark :is(.product .photo, .shop-product-image) { background: #20344d; }
body.shop-front.shop-dark :is(.shop-sort, .shop-pix-code textarea) { background: var(--shop-surface); border-color: var(--shop-line); }
body.shop-front.shop-dark :is(.cat:hover, .cat.active, .icon-btn:hover) { background: #1d344e; }
body.shop-front.shop-dark .modal-bg { background: #030812df; }
body.shop-front .shop-quote-upload { background: var(--shop-page); border-color: var(--shop-line); }
body.shop-front .shop-quote-upload :is(strong, .shop-quote-photo-name) { color: var(--shop-ink); }
body.shop-front .shop-quote-photo-pick, body.shop-front .shop-quote-photo-remove { color: var(--shop-link); }
body.shop-front .shop-quote-photo-preview { border-color: var(--shop-line); }

body.shop-admin-page { min-height: 100vh; min-height: 100dvh; background: var(--shop-page); color: var(--shop-ink); }
body.shop-admin-page .shop-header { background: var(--shop-surface); border-color: var(--shop-line); }
body.shop-admin-page :is(.admin-section, .shop-metric, .admin-product, .admin-order, .admin-coupon, .admin-quote, .admin-service-orders, .admin-service-order, .admin-service-order select, .settings-actions, .shop-filters input, .shop-filters select, .shop-admin-form input:not([type="checkbox"]):not([type="file"]), .shop-admin-form select, .shop-admin-form textarea, .admin-quote textarea) {
  background: var(--shop-surface);
  color: var(--shop-ink);
  border-color: var(--shop-line);
}
body.shop-admin-page :is(.admin-products, .admin-orders, .admin-coupons, .admin-quotes, .admin-service-orders, .admin-service-order, .shop-admin-nav, .settings-group, .settings-actions, .readiness-list li, .recent-row) { border-color: var(--shop-line); }
body.shop-admin-page :is(.shop-admin-heading h1, .shop-overview-head h2, .shop-view-heading h2, .shop-metric strong, .settings-group h3, .settings-publish h3, .settings-aside h3, .admin-quote strong, .admin-service-order-main strong, .admin-coupon strong, .brand-wordmark strong, .recent-row strong) { color: var(--shop-ink); }
body.shop-admin-page #admin-status.is-error { color: #b42318; }
body.shop-admin-page :is(.shop-overview-head p, .shop-view-heading p, .shop-metric span, .settings-description, .field-hint, .admin-coupon span, .admin-product-info span, .admin-order small, .admin-service-order-main small, .shop-admin-heading p) { color: var(--shop-muted); }
body.shop-admin-page .admin-service-order-main span{color:var(--shop-ink)}
body.shop-admin-page :is(.shop-eyebrow, .shop-admin-nav a:hover, .shop-admin-nav a[aria-current="page"], .shop-admin-nav a span, .text-action, .settings-preview-link) { color: var(--shop-accent); }
body.shop-admin-page :is(.brand-mark, .shop-view-action, .shop-admin-form button:not(.secondary), .admin-product button:not(.secondary), .admin-coupon button:not(.secondary), .admin-order button:not(.secondary), .admin-quote button:not(.secondary), .admin-service-order button:not(.secondary)) { background: var(--shop-accent); color: var(--shop-on-accent); }
body.shop-admin-page .shop-admin-nav a[aria-current="page"] { border-bottom-color: var(--shop-accent); }
body.shop-admin-page.shop-dark :is(.shop-admin-nav a[aria-current="page"], .settings-publish, .publish-row, .shop-state, .admin-product-no-photo) { background: #1b3047; color: var(--shop-ink); border-color: var(--shop-line); }
body.shop-admin-page.shop-dark :is(.back-link, .shop-admin-nav a, .shop-admin-heading #admin-status, .settings-section .shop-admin-form label, .readiness-list li, .settings-aside p, .settings-publish p, .settings-actions > span, .admin-empty, .admin-quote small) { color: var(--shop-muted); }
body.shop-admin-page.shop-dark #admin-status.is-error { color: #ffaaa3; }
body.shop-admin-page.shop-dark :is(.shop-admin-nav a:hover, .shop-admin-nav a[aria-current="page"]) { color: var(--shop-ink); }
body.shop-admin-page.shop-dark :is(.shop-eyebrow, .shop-admin-nav a span, .text-action, .settings-preview-link) { color: var(--shop-link); }
body.shop-admin-page.shop-dark .admin-empty { background: var(--shop-surface); }
body.shop-admin-page.shop-dark :is(.shop-filters input::placeholder, .shop-admin-form input::placeholder, .shop-admin-form textarea::placeholder) { color: #8da0b9; }
body.shop-admin-page.shop-dark :is(.shop-admin-form button.secondary, .admin-product button.secondary, .admin-coupon button.secondary, .admin-quote button.secondary, .admin-service-order button.secondary) { background: #29415c; color: #eaf3ff; }
body.shop-admin-page.shop-dark :is(.shop-metric:hover, .admin-products, .admin-coupons, .admin-orders, .admin-quotes) { background: var(--shop-line); }

@media (max-width: 680px) {
  .shop-front .head-inner > .shop-theme-toggle { width: 40px; height: 40px; }
  .shop-admin-header-actions { gap: 6px; }
  .shop-admin-header-actions .shop-theme-toggle { width: 38px; height: 38px; }
  body.shop-admin-page.shop-dark .shop-admin-header .back-link { background: var(--shop-surface); border-color: var(--shop-line); }
  .shop-seasonal-banner { min-height: 28px; font-size: 10px; }
}
