/* Authoritative control styles, loaded after the page-specific presentation. */
body.storefront-ui {
  --control-height: var(--sys-control-height);
  --control-radius: var(--sys-control-radius);
  --control-ink: var(--sys-ink);
  --control-muted: var(--sys-muted);
  --control-line: var(--sys-line);
  --control-line-hover: var(--sys-line-strong);
  --control-surface: var(--sys-surface);
  --control-soft: var(--sys-surface-soft);
  --control-focus: var(--sys-focus);
  --control-ring: var(--sys-focus-ring);
  --control-primary: var(--sys-action);
  --control-primary-hover: var(--sys-action-hover);
}

/* Shared geometry and state colors apply to native buttons and linked actions. */
body.storefront-ui :where(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore) {
  --button-bg: var(--sys-surface);
  --button-hover: #edf2f8;
  --button-active: #e2eaf5;
  --button-ink: var(--sys-ink);
  --button-line: var(--sys-line-strong);
  --button-hover-line: #708aad;
}
body.storefront-ui :is(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: var(--sys-control-height);
  padding: 10px 17px;
  border: 1px solid var(--button-line)!important;
  border-radius: var(--sys-control-radius)!important;
  background: var(--button-bg)!important;
  color: var(--button-ink)!important;
  box-shadow: 0 1px 1px #142b4909!important;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
  letter-spacing: 0;
  text-decoration: none;
  text-shadow: none;
  filter: none;
  transition: background-color .14s ease, border-color .14s ease, box-shadow .14s ease;
}
body.storefront-ui :is(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore)>i { margin-inline: 0!important; }
body.storefront-ui .btn-sm { min-height: 44px; padding: 9px 13px; font-size: 12px; }
body.storefront-ui .btn-lg { min-height: 48px; padding: 12px 20px; font-size: 14px; }
body.storefront-ui .btn:has(>i:only-child) { min-width: 44px; padding-inline: 10px; }
body.storefront-ui .btn.rounded-circle { min-width: 44px; border-radius: 50%!important; }

body.storefront-ui :is(.btn-primary,.tc-apply,.tc-empty>a,.tc-empty button) {
  --button-bg: var(--sys-action); --button-hover: var(--sys-action-hover); --button-active: var(--sys-action-active);
  --button-ink: var(--sys-on-action); --button-line: var(--sys-action); --button-hover-line: var(--sys-action-hover);
}
body.storefront-ui :is(.btn-outline-primary,.btn-outline-info) { --button-ink: var(--sys-action); --button-line: #6c87ac; --button-hover: var(--sys-action-soft); --button-hover-line: var(--sys-action); }
body.storefront-ui :is(.btn-secondary,.btn-outline-secondary,.btn-outline-dark,.btn-outline-light,.tc-reset) { --button-ink: #304a6b; --button-line: var(--sys-line-strong); }
body.storefront-ui .btn-success { --button-bg: var(--sys-success); --button-hover: var(--sys-success-hover); --button-active: #0b422f; --button-ink: #fff; --button-line: var(--sys-success); --button-hover-line: var(--sys-success-hover); }
body.storefront-ui .btn-danger { --button-bg: var(--sys-danger); --button-hover: var(--sys-danger-hover); --button-active: #6e192e; --button-ink: #fff; --button-line: var(--sys-danger); --button-hover-line: var(--sys-danger-hover); }
body.storefront-ui .btn-info { --button-bg: var(--sys-info); --button-hover: #1c4b81; --button-active: #183d69; --button-ink: #fff; --button-line: var(--sys-info); --button-hover-line: #1c4b81; }
body.storefront-ui :is(.btn-warning,.sa-cta) { --button-bg: var(--sys-gold); --button-hover: var(--sys-gold-hover); --button-active: #d2ad4d; --button-ink: var(--sys-on-gold); --button-line: #c9a64d; --button-hover-line: #ad8b39; }
body.storefront-ui .btn-dark { --button-bg: var(--sys-ink); --button-hover: #203e64; --button-active: #10233c; --button-ink: #fff; --button-line: var(--sys-ink); --button-hover-line: #203e64; }
body.storefront-ui .btn-outline-success { --button-ink: var(--sys-success); --button-line: #5b8e77; --button-hover: var(--sys-success-soft); --button-active: #d6ecdf; --button-hover-line: var(--sys-success); }
body.storefront-ui .btn-outline-danger { --button-ink: var(--sys-danger); --button-line: #c17c8d; --button-hover: var(--sys-danger-soft); --button-active: #f4d8e0; --button-hover-line: var(--sys-danger); }
body.storefront-ui .btn-outline-warning { --button-ink: var(--sys-warning); --button-line: #a47d3b; --button-hover: var(--sys-warning-soft); --button-active: #f2e2bb; --button-hover-line: var(--sys-warning); }
body.storefront-ui :is(.btn-ghost,.btn-link) { --button-bg: transparent; --button-line: transparent; --button-hover-line: var(--sys-line); --button-ink: #405a7b; box-shadow: none!important; }
body.storefront-ui .buyer-remove { --button-bg: #fff; --button-ink: var(--sys-danger); --button-line: #c17c8d; --button-hover: var(--sys-danger-soft); --button-active: #f4d8e0; --button-hover-line: var(--sys-danger); }
body.storefront-ui .buyer-workspace .buyer-remove { color: var(--sys-danger)!important; }
body.storefront-ui .sa-utils>.sa-cta { min-height: 44px; }
body.storefront-ui :is(.sa-cta,.sa-utils>.sa-cta) { color: var(--button-ink)!important; }
body.storefront-ui .buyer-workspace .cart-item-actions :is(.btn,input[name=quantity]) { min-height: 44px; }

/* The declarations below deliberately replace legacy !important button colors. */
body.storefront-ui :is(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore):is(:focus,:active,.active),
body.storefront-ui .seller-workspace .btn-outline-light {
  background: var(--button-bg)!important; color: var(--button-ink)!important; border: 1px solid var(--button-line)!important;
}
body.storefront-ui :is(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore):hover:not(:disabled):not(.disabled):not([aria-disabled=true]),
body.storefront-ui .seller-workspace .btn-outline-light:hover:not(:disabled) {
  background: var(--button-hover)!important; border-color: var(--button-hover-line)!important; color: var(--button-ink)!important;
  box-shadow: 0 2px 3px #142b4910!important; filter: none; text-decoration: none;
}
body.storefront-ui :is(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore):active:not(:disabled):not(.disabled):not([aria-disabled=true]) {
  background: var(--button-active)!important; border-color: var(--button-hover-line)!important; box-shadow: inset 0 1px 2px #142b4924!important;
}
body.storefront-ui :is(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore):focus-visible {
  outline: 2px solid var(--sys-focus)!important; outline-offset: 3px; box-shadow: 0 0 0 2px #fff!important;
}
body.storefront-ui :is(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore):is(:disabled,.disabled,[aria-disabled=true]),
body.storefront-ui .seller-workspace .btn-outline-light:disabled {
  background: #e7edf5!important; border-color: #c7d2e1!important; color: #61728a!important; opacity: 1!important; box-shadow: none!important; cursor: not-allowed; filter: none;
}
body.storefront-ui :is(.btn,.tc-filter-actions button):is([aria-busy=true],:has(:is(.fa-spinner,.fa-circle-notch,.spinner-border):not(.d-none):not([hidden]))) {
  background: var(--button-bg)!important; border-color: var(--button-line)!important; color: var(--button-ink)!important; opacity: .85!important; cursor: progress;
}
body.storefront-ui [aria-busy=true] .btn[type=submit]:disabled { background: var(--button-bg)!important; border-color: var(--button-line)!important; color: var(--button-ink)!important; opacity: .85!important; cursor: progress; }
body.storefront-ui :is(.btn[aria-busy=true],[aria-busy=true] .btn[type=submit]:disabled):not(:has(:is(.fa-spinner,.fa-circle-notch,.spinner-border):not(.d-none):not([hidden])))::before {
  content: ''; width: 14px; height: 14px; flex: 0 0 14px; box-sizing: border-box; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: system-control-spin .75s linear infinite;
}
@keyframes system-control-spin { to { transform: rotate(360deg); } }

/* Forms share boundaries, labels and a visible keyboard focus treatment. */
body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid input,.tc-filter-grid select,.sa-select-search),
body.storefront-ui.page-account-manage .account-manage-panel :is(input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=tel],input[type=search],select,textarea) {
  min-height: 44px; border: 1px solid var(--sys-line-strong); border-radius: var(--sys-control-radius); background-color: var(--sys-surface); color: var(--sys-ink);
  box-shadow: inset 0 1px 1px #142b4903; font-size: 14px; font-weight: 400; line-height: 1.5;
}
body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid input,.tc-filter-grid select,.sa-select-search):hover:not(:disabled):not([readonly]) { border-color: #6f8aac; }
body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid input,.tc-filter-grid select,.sa-select-search):focus,
body.storefront-ui.page-account-manage .account-manage-panel :is(input,select,textarea):focus {
  border-color: var(--sys-focus)!important; outline: none; background-color: #fff; box-shadow: var(--sys-focus-ring)!important;
}
body.storefront-ui :is(.form-control,.sa-select-search,.tc-filter-grid input)::placeholder { color: #62748c; opacity: 1; }
body.storefront-ui :is(.form-control,.form-select):disabled { border-color: #ccd6e4; background-color: #edf1f6; color: #5c6e85; opacity: 1; }
body.storefront-ui :is(.form-control,.form-select)[readonly] { background-color: #f3f6fa; border-color: var(--sys-line); }
body.storefront-ui :is(.form-label,.col-form-label,.tc-filter-grid label,.tc-filter-grid legend) { color: #334b6b; font-weight: 550; }
body.storefront-ui .input-group-text { border-color: var(--sys-line-strong); background: var(--sys-surface-soft); color: #405a7b; border-radius: var(--sys-control-radius); }
body.storefront-ui .form-check-input { border-color: #7d94b0; width: 1.15em; height: 1.15em; }
body.storefront-ui .form-check-input:checked { background-color: var(--sys-action); border-color: var(--sys-action); }
body.storefront-ui .form-check-input:focus { box-shadow: var(--sys-focus-ring)!important; border-color: var(--sys-focus)!important; }
body.storefront-ui .form-check-input:disabled { opacity: .65; }
body.storefront-ui :is(.form-control,.form-select).is-invalid,
body.storefront-ui :is(.form-control,.form-select)[aria-invalid=true],
body.storefront-ui .was-validated :is(.form-control,.form-select):invalid,
body.storefront-ui .renewal-field.has-error :is(.form-control,.form-select),
body.storefront-ui.page-account-manage .account-manage-panel .has-error :is(input,select,textarea),
body.storefront-ui.page-account-manage .account-manage-panel [aria-invalid=true] { border-color: var(--sys-danger)!important; }
body.storefront-ui :is(.form-control,.form-select).is-invalid:focus,
body.storefront-ui :is(.form-control,.form-select)[aria-invalid=true]:focus,
body.storefront-ui .was-validated :is(.form-control,.form-select):invalid:focus,
body.storefront-ui .renewal-field.has-error :is(.form-control,.form-select):focus,
body.storefront-ui.page-account-manage .account-manage-panel .has-error :is(input,select,textarea):focus,
body.storefront-ui.page-account-manage .account-manage-panel [aria-invalid=true]:focus { border-color: var(--sys-danger)!important; box-shadow: 0 0 0 3px #a12b471c!important; }
body.storefront-ui :is(.invalid-feedback,.errorlist,.text-danger.invalid-feedback) { color: var(--sys-danger)!important; font-weight: 500; }
body.storefront-ui.page-account-manage :is(.account-field-errors,.account-form-errors) { color: var(--sys-danger); }
body.storefront-ui.page-account-manage .account-form-errors { background: var(--sys-danger-soft); border-color: #dfabb9; }
body.storefront-ui .form-control[type=file]::file-selector-button { color: var(--sys-action); background: var(--sys-action-soft); border-right: 1px solid var(--sys-line-strong); font-weight: 600; }
body.storefront-ui .pd-page .quantity :is(.btn,.form-control) { border-radius: 0!important; box-shadow: none!important; }
body.storefront-ui .pd-page .quantity .btn { min-width: 44px; width: 44px; min-height: 44px; padding-inline: 8px; }
body.storefront-ui .pd-page .quantity .form-control { border: 0!important; }
body.storefront-ui .pd-page .quantity .input-group { border-color: var(--sys-line-strong); border-radius: var(--sys-control-radius); overflow: hidden; }
body.storefront-ui .pd-page .quantity .input-group:focus-within { border-color: var(--sys-focus); box-shadow: var(--sys-focus-ring)!important; }

/* Search, dropdowns and compact icon actions have the same edge and focus. */
body.storefront-ui .sa-search { height: 54px; border-radius: 11px; border-color: #c3cfdf; padding: 4px; box-shadow: none; }
body.storefront-ui .sa-search:focus-within { border-color: #8aade0; box-shadow: 0 0 0 3px #8aade025; }
body.storefront-ui .sa-search input,
body.storefront-ui .sa-search input[type=search] { height: 44px; color: var(--sys-ink); }
body.storefront-ui .sa-search input[type=search]:focus { border: 0!important; outline: none; box-shadow: none!important; }
body.storefront-ui .sa-search>button[type=submit] { flex: 0 0 44px; min-width: 44px; width: 44px; height: 44px; border: 1px solid var(--sys-action); border-radius: 8px; background: var(--sys-action); color: #fff; }
body.storefront-ui .sa-search>button[type=submit]:hover { background: var(--sys-action-hover); border-color: var(--sys-action-hover); }
body.storefront-ui .sa-search>button[type=submit]:active { background: var(--sys-action-active); }
body.storefront-ui .sa-search__clear { flex: 0 0 44px; width: 44px; height: 44px!important; border-radius: 8px; color: var(--sys-muted); }
body.storefront-ui .sa-search__clear:hover { background: var(--sys-action-soft); color: var(--sys-action); }
body.storefront-ui .sa-search__clear[hidden] { display: none!important; }
body.storefront-ui .sa-menu-toggle { width: 44px; height: 44px; border-radius: 9px; border: 1px solid #7286a270; background: #ffffff08; color: #f0d58a; }
body.storefront-ui .sa-menu-toggle:hover,
body.storefront-ui .sa-menu-toggle[aria-expanded=true] { background: #ffffff15; border-color: #b3c3dc; }
body.storefront-ui .tc-search { border-radius: 11px; }
body.storefront-ui .tc-search button { min-height: 44px; border-radius: 8px; border: 1px solid var(--sys-action); background: var(--sys-action); color: #fff; }
body.storefront-ui .tc-search button:hover { background: var(--sys-action-hover); border-color: var(--sys-action-hover); color: #fff; }
body.storefront-ui :is(.sa-category-trigger,.sa-price-input) { border-color: var(--sys-line-strong); border-radius: var(--sys-control-radius); color: var(--sys-ink); box-shadow: none; }
body.storefront-ui :is(.sa-category-trigger[aria-expanded=true],.sa-category-trigger:focus-visible,.sa-price-input:focus-within) { border-color: var(--sys-focus); box-shadow: var(--sys-focus-ring); }
body.storefront-ui .sa-category-options button { min-height: 44px; border-radius: 7px; }
body.storefront-ui .sa-category-options button[aria-selected=true] { background: var(--sys-action-soft); color: var(--sys-action-active); font-weight: 650; box-shadow: inset 3px 0 var(--sys-action); }
body.storefront-ui .discovery-rail-controls button { width: 44px; height: 44px; border: 1px solid var(--sys-line-strong); border-radius: 9px; background: #fff; color: var(--sys-action); box-shadow: 0 1px 1px #142b4909; }
body.storefront-ui .discovery-rail-controls button:hover:not(:disabled) { background: var(--sys-action-soft); border-color: var(--sys-action); }
body.storefront-ui .discovery-rail-controls button:disabled { color: #718198; border-color: #d0d9e5; background: #edf1f6; opacity: 1; }
body.storefront-ui :is(.sa-search>button,.sa-menu-toggle,.discovery-rail-controls button,.tc-search button):focus-visible,
body.storefront-ui .sa-search>button[type=submit]:focus-visible { outline: 2px solid var(--sys-focus); outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }

/* Product-card affordances and the VPN table use the same action vocabulary. */
body.storefront-ui .sa-key__view { min-height: 44px; padding: 9px 11px; border: 1px solid var(--sys-line); border-radius: var(--sys-control-radius); background: var(--sys-action-soft); color: var(--sys-action); font-size: 12px; font-weight: 650; line-height: 1.5; }
body.storefront-ui .sa-key:is(:hover,:focus-visible) .sa-key__view { border-color: var(--sys-action); background: #dce8f8; color: var(--sys-action-active); }
body.storefront-ui .cd-vpn-link.tc-brand-card { min-width: 44px; min-height: 44px; padding: 10px 13px; border: 1px solid var(--sys-line-strong); border-radius: var(--sys-control-radius); background: #fff; color: var(--sys-action); font-weight: 650; box-shadow: 0 1px 1px #142b4909; }
body.storefront-ui .cd-vpn-link.tc-brand-card:hover { border-color: var(--sys-action); background: var(--sys-action-soft); color: var(--sys-action-active); box-shadow: none; }
body.storefront-ui .cd-vpn-link.tc-brand-card:focus-visible { outline: 2px solid var(--sys-focus); outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }

/* Active tabs, category chips and pagination consistently identify selection. */
body.storefront-ui.page-dash :is(.nav-pills,.nav-tabs) .nav-link { min-height: 44px; border-radius: 8px; color: var(--sys-muted); font-weight: 600; }
body.storefront-ui .sa-seg .nav-link { min-height: 44px; border: 1px solid transparent; border-radius: 8px; color: var(--sys-muted); background: transparent; font-weight: 600; }
body.storefront-ui .sa-seg .nav-link:not(.active):hover { background: #e5edf7; color: var(--sys-action-active); }
body.storefront-ui .sa-seg .nav-link.active { background: var(--sys-action); border-color: var(--sys-action); color: #fff; box-shadow: none; }
body.storefront-ui .sa-amt { min-width: 52px; min-height: 44px; padding: 9px 13px; border: 1px solid var(--sys-line-strong); border-radius: var(--sys-control-radius); background: #fff; color: var(--sys-action); font-size: 13px; font-weight: 650; line-height: 1.45; }
body.storefront-ui .sa-amt:hover { background: var(--sys-action-soft); border-color: var(--sys-action); }
body.storefront-ui .sa-amt.is-on { background: var(--sys-action); border-color: var(--sys-action); color: #fff; }
body.storefront-ui .sa-amt:focus-visible { outline: 2px solid var(--sys-focus); outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }
body.storefront-ui.page-dash :is(.nav-pills,.nav-tabs) .nav-link:not(.active):hover { background: #e5edf7; color: var(--sys-action-active); }
body.storefront-ui.page-dash :is(.nav-pills,.nav-tabs) .nav-link.active,
body.storefront-ui.page-dash .seller-workspace .seller-workspace-tabs .nav-link.active,
body.storefront-ui.page-account-manage .account-manage-nav a[aria-current=page] { background: var(--sys-action)!important; color: #fff!important; box-shadow: inset 0 0 0 1px var(--sys-action); }
body.storefront-ui :is(.sa-category-shortcuts,.sa-active-filters) button,
body.storefront-ui .tc-types a { min-width: 44px; min-height: 44px; border-radius: 8px; border-color: var(--sys-line); color: #385577; }
body.storefront-ui .sa-pagination__links,
body.storefront-ui .pagination { flex-wrap: wrap; gap: 5px; }
body.storefront-ui .sa-category-shortcuts button.is-selected,
body.storefront-ui .tc-types a.is-current,
body.storefront-ui.page-dash .seller-workspace .dash-category-shortcuts .badge.bg-primary { background: var(--sys-action)!important; border-color: var(--sys-action)!important; color: #fff!important; }
body.storefront-ui :is(.sa-pagination__number,.sa-pagination__arrow),
body.storefront-ui .pagination .page-link,
body.storefront-ui.page-dash .pagination .page-link { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; width: auto; border-radius: 8px!important; border: 1px solid var(--sys-line-strong); background: #fff; color: #365276; font-weight: 600; box-shadow: none; }
body.storefront-ui .pagination .page-link { font-size: 13px; }
body.storefront-ui .sa-pagination .is-current,
body.storefront-ui .pagination .active .page-link,
body.storefront-ui.page-dash .pagination .active .page-link { background: var(--sys-action); border-color: var(--sys-action); color: #fff; }
body.storefront-ui .sa-pagination :is(.sa-pagination__number,.sa-pagination__arrow):hover:not(.is-current):not(.is-disabled),
body.storefront-ui .pagination :not(.active):not(.disabled)>a.page-link:hover,
body.storefront-ui.page-dash .pagination :not(.active):not(.disabled)>a.page-link:hover { background: var(--sys-action-soft); color: var(--sys-action-active); border-color: #829ec4; }
body.storefront-ui .sa-pagination .is-disabled,
body.storefront-ui .pagination .disabled .page-link,
body.storefront-ui.page-dash .pagination .disabled .page-link { background: #eef2f6; color: #6e7e94; border-color: #d1dbe8; opacity: 1; }
body.storefront-ui :is(.nav-link,.tc-types a,.sa-pagination__number,.sa-pagination__arrow,.page-link,.account-manage-nav a):focus-visible { outline: 2px solid var(--sys-focus); outline-offset: 3px; box-shadow: 0 0 0 2px #fff; }

/* Status meaning is consistent without recoloring product and brand artwork. */
body.storefront-ui :is(.badge.bg-primary,.badge.bg-info,.badge.bg-info-subtle) { background: var(--sys-info-soft)!important; color: var(--sys-info)!important; border: 1px solid #bdd2e9!important; }
body.storefront-ui :is(.badge.bg-success,.badge.bg-success-subtle,.buyer-status--success,.seller-key-available) { background: var(--sys-success-soft)!important; color: var(--sys-success)!important; border: 1px solid #b9d9cb!important; }
body.storefront-ui :is(.badge.bg-danger,.badge.bg-danger-subtle,.buyer-status--danger) { background: var(--sys-danger-soft)!important; color: var(--sys-danger)!important; border: 1px solid #e8bdc8!important; }
body.storefront-ui :is(.badge.bg-warning,.badge.bg-warning-subtle,.buyer-status--pending) { background: var(--sys-warning-soft)!important; color: var(--sys-warning)!important; border: 1px solid #e4cd98!important; }
body.storefront-ui :is(.badge.bg-secondary,.badge.bg-dark,.buyer-status,.seller-key-sold) { border-radius: 7px; }
body.storefront-ui :is(.badge.bg-secondary,.badge.bg-dark,.seller-key-sold) { background: #edf1f6!important; color: #4a607c!important; border: 1px solid #cbd6e3!important; }
body.storefront-ui .buyer-status--info { background: var(--sys-info-soft); color: var(--sys-info); border: 1px solid #bdd2e9; }
body.storefront-ui .alert { border-radius: 10px; border-width: 1px; line-height: 1.65; }
body.storefront-ui .alert-success { color: var(--sys-success); background: var(--sys-success-soft); border-color: #abcdbd; }
body.storefront-ui .alert-warning { color: #76490c; background: var(--sys-warning-soft); border-color: #dec38a; }
body.storefront-ui .alert-danger { color: var(--sys-danger); background: var(--sys-danger-soft); border-color: #dfabb9; }
body.storefront-ui .alert-info { color: var(--sys-info); background: var(--sys-info-soft); border-color: #b5cce5; }
body.storefront-ui .alert :is(.alert-link,strong) { color: inherit; }
body.storefront-ui :is(.sa-dash__main,.seller-page,.pd-page,.renewal-page,.auth-card) .text-primary { color: var(--sys-action)!important; }
body.storefront-ui :is(.sa-dash__main,.seller-page,.pd-page,.renewal-page,.auth-card) .text-warning { color: var(--sys-warning)!important; }
body.storefront-ui :is(.sa-dash__main,.seller-page,.pd-page,.renewal-page,.auth-card) .text-success { color: var(--sys-success)!important; }
body.storefront-ui :is(.sa-dash__main,.seller-page,.pd-page,.renewal-page,.auth-card) .text-danger { color: var(--sys-danger)!important; }
body.storefront-ui :is(.sa-dash__main,.seller-page,.pd-page,.renewal-page,.auth-card) .text-info { color: var(--sys-info)!important; }

/* Existing dark areas intentionally retain an inverse control palette. */
body.storefront-ui :is(.service-cta,.sa-paybox,.tc-intro) .btn:not(.btn-primary):not(.btn-warning):not(.btn-danger):not(.btn-success),
body.storefront-ui .foot--refresh .foot__explore {
  --button-bg: #ffffff0d; --button-hover: #ffffff1c; --button-active: #ffffff29; --button-ink: #f4d98e; --button-line: #a9bbd16b; --button-hover-line: #d6e2f2;
}
body.storefront-ui .foot__language .form-select { min-height: 44px; border-color: #8094af; background-color: #ffffff0b; color: #f0f4fb; border-radius: 9px; }
body.storefront-ui .foot__language .form-select:focus { border-color: #a6c2ed!important; background-color: #203653; color: #fff; }
body.storefront-ui .foot__language .form-select option { background: #1c304d; color: #fff; }
body.storefront-ui .sa-sub__plus { min-height: 44px; border-radius: 9px; border-color: #a9bbd16b; color: #f4d98e!important; }
body.storefront-ui .sa-sub__plus:hover { border-color: #d6e2f2; background: #ffffff18; }

@media(max-width:767.98px) {
  body.storefront-ui .sa-utils>.sa-cta { display: none; }
  body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid input,.tc-filter-grid select,.sa-select-search),
  body.storefront-ui.page-account-manage .account-manage-panel :is(input[type=text],input[type=password],input[type=email],input[type=number],input[type=url],input[type=tel],input[type=search],select,textarea) { font-size: 16px; }
  body.storefront-ui .sa-search { height: 52px; padding: 3px; }
  body.storefront-ui .sa-search input,
  body.storefront-ui .sa-search input[type=search] { height: 44px; font-size: 16px; }
  body.storefront-ui .sa-search>button[type=submit] { flex-basis: 44px; width: 44px; min-width: 44px; height: 44px; }
  body.storefront-ui .sa-search__clear { flex-basis: 44px; width: 44px; }
  body.storefront-ui .tc-search button { min-width: 44px; }
  body.storefront-ui :is(.sa-pagination__number,.sa-pagination__arrow),
  body.storefront-ui .pagination .page-link,
  body.storefront-ui.page-dash .pagination .page-link { min-width: 44px; padding-inline: 10px; }
}
@media(prefers-reduced-motion:reduce) {
  body.storefront-ui :is(.btn,.sa-cta,.form-control,.form-select,.sa-search,.sa-search button,.sa-menu-toggle,.discovery-rail-controls button,.tc-search button) { transition: none; }
  body.storefront-ui :is(.btn[aria-busy=true],[aria-busy=true] .btn[type=submit]:disabled)::before { animation: none!important; }
}
