/* One control language across browsing, forms and account screens. */
body.storefront-ui {
  --control-height: 44px;
  --control-radius: 11px;
  --control-ink: #233149;
  --control-muted: #68768b;
  --control-line: #d9dfe9;
  --control-line-hover: #aebbcf;
  --control-surface: #fff;
  --control-soft: #f5f7fa;
  --control-focus: #8197bb;
  --control-ring: 0 0 0 3px #526f9c1c;
  --control-primary: #24344f;
  --control-primary-hover: #304664;
}

/* Logo marks stand on their own, without a circular frame or glow. */
body.storefront-ui :is(.sa-top__brand,.auth-logo) img,
body.storefront-ui .sa-top__row .sa-top__brand img,
body.storefront-ui .foot--refresh .sa-top__brand img {
  border: 0;
  border-radius: 0;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
  filter: none;
}

/* Shared fields; hidden inputs, checkboxes and radio controls are unaffected. */
body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid select,.tc-filter-grid input) {
  min-height: var(--control-height);
  border: 1px solid var(--control-line);
  border-radius: var(--control-radius);
  background-color: var(--control-surface);
  color: var(--control-ink);
  padding: 10px 13px;
  line-height: 1.5;
  font-weight: 400;
  box-shadow: 0 1px 2px #18243a03;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
body.storefront-ui .form-select { padding-right: 36px; }
body.storefront-ui textarea.form-control { min-height: 132px; resize: vertical; }
body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid select,.tc-filter-grid input):hover:not(:disabled):not([readonly]) {
  border-color: var(--control-line-hover);
}
body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid select,.tc-filter-grid input):focus {
  border-color: var(--control-focus)!important;
  background-color: #fff;
  outline: none;
  box-shadow: var(--control-ring)!important;
}
body.storefront-ui :is(.form-control,.tc-filter-grid input)::placeholder {
  color: #65748a;
  opacity: 1;
  font-weight: 400;
}
body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid select,.tc-filter-grid input):disabled {
  background-color: #edf1f6;
  color: #6b788c;
  cursor: not-allowed;
  box-shadow: none;
}
body.storefront-ui :is(.form-control,.form-select)[readonly] { background-color: #f6f8fb; }
body.storefront-ui :is(.form-control,.form-select).is-invalid,
body.storefront-ui .renewal-field.has-error :is(.form-control,.form-select),
body.storefront-ui .was-validated :is(.form-control,.form-select):invalid { border-color: #b34c5c!important; }
body.storefront-ui :is(.form-control,.form-select).is-invalid:focus,
body.storefront-ui .renewal-field.has-error :is(.form-control,.form-select):focus,
body.storefront-ui .was-validated :is(.form-control,.form-select):invalid:focus { border-color: #b34c5c!important; box-shadow: 0 0 0 3px #b34c5c18!important; }
body.storefront-ui :is(.form-label,.tc-filter-grid label,.tc-filter-grid legend) {
  color: #44536b;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 7px;
}
body.storefront-ui :is(.form-text,.invalid-feedback,.auth-note) { line-height: 1.65; }
body.storefront-ui .form-check-label { font-weight: 400; }
body.storefront-ui .form-check-input { border-color: #aebbcf; }
body.storefront-ui .form-check-input:checked { background-color: #354b6d; border-color: #354b6d; }
body.storefront-ui .form-check-input:focus { border-color: var(--control-focus)!important; box-shadow: var(--control-ring)!important; }
body.storefront-ui .input-group-text { border-color: var(--control-line); background: var(--control-soft); color: var(--control-muted); border-radius: var(--control-radius); }
body.storefront-ui .input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.invalid-tooltip) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
body.storefront-ui .input-group>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) { border-top-right-radius: 0; border-bottom-right-radius: 0; }

/* Primary and secondary actions share weight, corners and states. */
body.storefront-ui :is(.btn,.sa-cta,.tc-filter-actions button,.tc-empty>a,.tc-empty button,.sa-results-filter-button,.foot__explore) {
  min-height: var(--control-height);
  border-radius: var(--control-radius);
  padding: 11px 17px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
  box-shadow: none;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body.storefront-ui :is(.btn-primary,.btn-primary:active,.btn-primary:focus,.tc-apply,.tc-empty>a,.tc-empty button) {
  background: var(--control-primary)!important;
  border: 1px solid var(--control-primary)!important;
  color: #fff!important;
}
body.storefront-ui :is(.btn-primary,.tc-apply,.tc-empty>a,.tc-empty button):hover:not(:disabled) {
  background: var(--control-primary-hover)!important;
  border-color: var(--control-primary-hover)!important;
  color: #fff!important;
  box-shadow: 0 3px 10px #18243a12;
}
body.storefront-ui :is(.btn-secondary,.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark,.tc-reset,.sa-results-filter-button) {
  background: #fff;
  border: 1px solid var(--control-line);
  color: #344660;
}
body.storefront-ui :is(.btn-secondary,.btn-outline-primary,.btn-outline-secondary,.btn-outline-dark,.tc-reset,.sa-results-filter-button):hover:not(:disabled) {
  background: #f3f6fa;
  border-color: #afbed3;
  color: #1d2e49;
}
body.storefront-ui .btn-sm { min-height: 36px; padding: 8px 12px; font-size: 12px; border-radius: 9px; }
body.storefront-ui .btn-lg { min-height: 48px; padding: 12px 20px; font-size: 14px; }
body.storefront-ui :is(.btn,.tc-filter-actions button):disabled,
body.storefront-ui .btn.disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
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 #5b749b;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #fff;
}
body.storefront-ui .btn-link { background: transparent; box-shadow: none; }
body.storefront-ui .btn.rounded-circle { padding: 8px; border-radius: 50%; }
body.storefront-ui .sa-cta { background: #ead59a!important; border: 1px solid #e1c987; color: #243149!important; }
body.storefront-ui .sa-cta:hover { background: #f2e2b4!important; border-color: #ead59a; color: #18243a!important; }
body.storefront-ui .sa-utils>.sa-cta { min-height: 40px; border-radius: 10px; font-weight: 600; }

/* Integrated header search: quiet surfaces and a compact inset action. */
body.storefront-ui .sa-search {
  height: 50px;
  min-width: 0;
  align-items: center;
  padding: 4px;
  border: 1px solid #ffffff30;
  border-radius: 13px;
  background: #fbfcfe;
  box-shadow: 0 2px 8px #06101f12;
  transition: box-shadow .16s ease, border-color .16s ease;
}
body.storefront-ui .sa-search:focus-within { border-color: #d4c393; box-shadow: 0 0 0 3px #e3cd8f26; }
body.storefront-ui .sa-search__cat {
  height: 34px;
  width: 128px;
  padding: 0 26px 0 12px;
  border-radius: 8px 0 0 8px!important;
  border-right: 1px solid #dfe4ec!important;
  color: #516078;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  background-position: right 12px center!important;
}
body.storefront-ui .sa-search input,
body.storefront-ui .sa-search input[type=search] {
  height: 40px;
  padding: 0 13px;
  border-radius: 0!important;
  font-size: 14px;
  font-weight: 400;
  color: #27354e;
}
body.storefront-ui .sa-search input::placeholder { color: #65748a; opacity: 1; }
body.storefront-ui .sa-search>button[type=submit] {
  flex: 0 0 40px;
  min-width: 40px;
  width: 40px;
  height: 40px;
  border: 1px solid #e9d8a4;
  border-radius: 9px;
  background: #f0e3bd;
  color: #39455b;
}
body.storefront-ui .sa-search>button[type=submit]:hover { background: #ead49b; border-color: #e2c77e; }
body.storefront-ui .sa-search>button[type=submit]:focus-visible { outline: 2px solid #5b749b; outline-offset: 1px; box-shadow: none; }
body.storefront-ui .sa-search__clear { flex-basis: 32px; width: 32px; height: 32px!important; border-radius: 8px; color: #7b879a; font-size: 22px; }
body.storefront-ui .sa-search__clear:hover { background: #edf1f6; color: #344660; }
body.storefront-ui .sa-search__clear[hidden] { display: none; }
body.storefront-ui .search-dropdown { border: 1px solid #dce3ed; border-radius: 14px; top: calc(100% + 9px); box-shadow: 0 12px 30px #111f3817; overflow: hidden; }
body.storefront-ui .search-dropdown__head { background: #f7f9fc; color: #68768b; font-size: 11px; letter-spacing: .04em; border-color: #e5eaf1; padding: 12px 15px; }
body.storefront-ui .search-result-item { border-color: #eef1f5; padding: 12px 15px; }
body.storefront-ui .search-result-item:hover,
body.storefront-ui .search-result-item:focus { background: #f4f7fb; }
body.storefront-ui .search-result-name { font-size: 13px; font-weight: 600; color: #283852; }
body.storefront-ui .search-result-item:focus-visible { outline: 2px solid #5b749b; outline-offset: -3px; }
body.storefront-ui .search-result-group-title { margin: 0; padding: 10px 15px; border-bottom: 1px solid #edf0f5; background: #f7f9fc; color: #52627b; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 0; }
body.storefront-ui .search-result-service { gap: 12px; }
body.storefront-ui .search-result-service .search-result-image { flex: 0 0 44px; width: 44px; height: 44px; padding: 4px; object-fit: contain; border: 1px solid #e6ebf2; border-radius: 10px; background: #f7f9fc; box-shadow: none; }
body.storefront-ui .search-result-service .search-result-name { display: block; overflow: visible; white-space: normal; overflow-wrap: anywhere; }
body.storefront-ui .search-result-kind { display: block; margin-top: 3px; color: #536985; font-size: 11px; font-weight: 500; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
body.storefront-ui .search-result-service-note { display: block; margin-top: 3px; color: #607087; font-size: 12px; font-weight: 400; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
body.storefront-ui .search-footer { border-top: 1px solid #edf0f5; padding: 10px; }
body.storefront-ui .search-footer .btn { min-height: 40px; border-radius: 9px; background: #f5f7fa; color: #354862; font-weight: 500; border: 1px solid #e3e8f0; }

/* Category search matches the global search and uses the same measured action. */
body.storefront-ui .tc-discovery { border-radius: 20px; border-color: #dde3ec; box-shadow: 0 2px 6px #18243a03; }
body.storefront-ui .tc-search { min-height: 54px; gap: 12px; padding: 5px 5px 5px 16px; border: 1px solid #ffffff40; border-radius: 13px; box-shadow: 0 3px 10px #050f2212; }
body.storefront-ui .tc-search:focus-within { border-color: #c2cee3; box-shadow: 0 0 0 3px #d3ddec2e; }
body.storefront-ui .tc-search>i { font-size: 16px; color: #7a879b; }
body.storefront-ui .tc-search input { padding: 10px 0; font-size: 15px; font-weight: 400; color: #27354e; }
body.storefront-ui .tc-search input:focus { border: 0!important; box-shadow: none!important; outline: none; }
body.storefront-ui .tc-search input::placeholder { color: #65748a; }
body.storefront-ui .tc-search button { min-height: 42px; padding: 11px 16px; gap: 12px; border: 1px solid #dfe6ef; border-radius: 9px; background: #edf2f8; color: #364b6c; font-size: 13px; font-weight: 600; }
body.storefront-ui .tc-search button:hover { background: #e0e8f3; border-color: #c9d5e6; filter: none; }
body.storefront-ui .tc-search button:focus-visible { outline: 2px solid #5b749b; outline-offset: 1px; }
body.storefront-ui .tc-total { border-radius: 13px; background: #ffffff05; border-color: #ffffff20; }
body.storefront-ui .tc-filters summary { color: #46556d; font-weight: 500; }
body.storefront-ui .tc-filter-grid :is(input,select) { height: var(--control-height); }
body.storefront-ui .tc-filter-hint { color: #65748a; }
body.storefront-ui .tc-filter-actions { gap: 10px; }
body.storefront-ui .tc-types a { border-radius: 11px; border-color: #dde3ec; font-weight: 500; box-shadow: none; }
body.storefront-ui .tc-types a.is-current { background: #263750; border-color: #263750; color: #fff; box-shadow: none; }
body.storefront-ui .tc-types a:not(.is-current):hover { background: #f7f9fc; border-color: #b5c1d3; color: #304664; }

/* Catalog filter widgets, native fields and custom dropdowns stay visually equal. */
body.storefront-ui .sa-catalog--search .sa-filter { border-color: #dde3ec; border-radius: 16px; box-shadow: 0 2px 7px #18243a03; }
body.storefront-ui .sa-catalog--search .sa-filter__toggle { font-size: 13px; color: #334660; }
body.storefront-ui .sa-catalog--search .sa-filter__toggle>span>i { background: #f0f4fa; color: #687c9d; border-radius: 8px; }
body.storefront-ui :is(.sa-category-trigger,.sa-price-input) { height: var(--control-height); border: 1px solid var(--control-line); border-radius: var(--control-radius); background: #fff; color: #35465f; font-size: 13px; font-weight: 500; box-shadow: 0 1px 2px #18243a03; }
body.storefront-ui .sa-category-trigger:hover { border-color: var(--control-line-hover); background: #fcfdff; }
body.storefront-ui .sa-category-trigger[aria-expanded=true],
body.storefront-ui .sa-category-trigger:focus-visible,
body.storefront-ui .sa-price-input:focus-within { border-color: var(--control-focus); background: #fff; box-shadow: var(--control-ring); outline: none; }
body.storefront-ui .sa-select-panel { border-color: #dce3ed; border-radius: 12px; box-shadow: 0 8px 24px #15243d0c; padding: 7px; }
body.storefront-ui #filterForm .sa-select-search,
body.storefront-ui .sa-select-search { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 40px; height: 40px; margin: 0 0 7px; border: 1px solid #e1e7ef; border-radius: 8px; background: #f7f9fc; padding: 0 11px; color: #35465f; font-size: 13px; font-weight: 400; }
body.storefront-ui .sa-select-search:focus { border-color: var(--control-focus)!important; outline: none!important; box-shadow: var(--control-ring)!important; }
body.storefront-ui .sa-select-search::placeholder { color: #65748a; opacity: 1; }
body.storefront-ui .sa-category-options { border-color: #e1e7ef; border-radius: 10px; scrollbar-color: #b4bfd1 transparent; }
body.storefront-ui .sa-category-options button { min-height: 40px; border-radius: 8px; color: #43536b; font-size: 13px; font-weight: 400; }
body.storefront-ui .sa-category-options button:hover,
body.storefront-ui .sa-category-options button:focus { background: #f2f5fa; }
body.storefront-ui .sa-category-options button[aria-selected=true] { background: #eaf0f8; color: #263e62; font-weight: 600; }
body.storefront-ui #filterForm .sa-price-input input { font-weight: 400; color: #35465f; }
body.storefront-ui :is(.sa-category-shortcuts,.sa-active-filters) button { border-radius: 9px; border-color: #dce3ed; font-weight: 500; box-shadow: none; }
body.storefront-ui .sa-category-shortcuts button.is-selected { background: #263750; color: #fff; border-color: #263750; }
body.storefront-ui .sa-active-filters button { background: #eef3fa; color: #435977; }
body.storefront-ui .sa-filter-actions .btn-outline-secondary { border: 1px solid transparent; background: transparent; color: #65748a; font-weight: 500; }
body.storefront-ui .sa-filter-actions .btn-outline-secondary:hover { background: #f3f6fa; color: #344660; }
body.storefront-ui .sa-results-sort .sa-category-trigger { min-height: var(--control-height); }
body.storefront-ui :is(.sa-pagination__number,.sa-pagination__arrow) { border-radius: 10px; border-color: #dce3ed; font-weight: 500; color: #506078; }
body.storefront-ui .sa-pagination .is-current { background: #263750; border-color: #263750; color: #fff; }
body.storefront-ui .sa-pagination :is(.sa-pagination__number,.sa-pagination__arrow):hover:not(.is-current):not(.is-disabled) { background: #f1f5fa; border-color: #b8c5d8; color: #263e62; }

/* Quiet card surfaces around forms and restrained secondary chrome. */
body.storefront-ui .auth-card { border: 1px solid #dfe5ee; border-radius: 20px; box-shadow: 0 12px 36px #18243a08; }
body.storefront-ui :is(.pd-panel,.pd-page .product-info) { border-color: #dfe5ee; box-shadow: 0 2px 6px #18243a03; }
body.storefront-ui .pd-page .action-buttons .btn { border-radius: var(--control-radius); }
body.storefront-ui .pd-page .quantity .input-group { border-color: var(--control-line); border-radius: var(--control-radius); background: #fff; }
body.storefront-ui .pd-page .quantity .form-control { border: 0; border-radius: 0; background: transparent; box-shadow: none!important; }
body.storefront-ui .pd-page .quantity .btn { padding: 8px; border-radius: 0; background: transparent; }
body.storefront-ui .pd-page .quantity .btn:hover { background: #edf2f8; }
body.storefront-ui .pd-offers .btn { border-radius: 9px; }
body.storefront-ui .sa-sub__plus { min-height: 44px; border: 1px solid #ffffff28; border-radius: 10px; background: #ffffff08; color: #e8d8ab!important; box-shadow: none; font-weight: 500; }
body.storefront-ui .sa-sub__plus:hover { background: #ffffff12; border-color: #ffffff40; color: #fff2ce!important; }
body.storefront-ui .sa-sub__a.is-on { box-shadow: none; background: #ffffff0d; }
body.storefront-ui .foot__explore { min-height: 40px; border-radius: 10px; padding: 9px 13px; }
body.storefront-ui .foot__language .form-select { min-height: 40px; border-radius: 10px; background-color: #ffffff09; border-color: #ffffff20; color: #dde5f2; }
body.storefront-ui .foot__language .form-select:focus { background-color: #202d44; color: #fff; }
body.storefront-ui .foot__language .form-select option { background: #1c2940; color: #f1f4fa; }
body.storefront-ui.page-dash :is(.nav-pills,.nav-tabs) { border-radius: 12px; background: #eef2f7; }
body.storefront-ui.page-dash :is(.nav-pills,.nav-tabs) .nav-link { border-radius: 9px; font-weight: 500; }
body.storefront-ui.page-dash :is(.nav-pills,.nav-tabs) .nav-link.active { background: #2b3d59; }
body.storefront-ui.page-dash .pagination .page-link { border-radius: 9px!important; border-color: #dce3ed; }
body.storefront-ui.page-dash .pagination .active .page-link { background: #263750; border-color: #263750; }

@media(max-width:767.98px) {
  body.storefront-ui .sa-search { height: 48px; padding: 3px; border-radius: 12px; }
  body.storefront-ui .sa-search input,
  body.storefront-ui .sa-search input[type=search] { height: 40px; padding-left: 11px; font-size: 16px; }
  body.storefront-ui .sa-search>button[type=submit] { min-width: 40px; flex-basis: 40px; height: 40px; border-radius: 8px; }
  body.storefront-ui .sa-search__clear { flex-basis: 28px; width: 28px; }
  body.storefront-ui :is(.form-control,.form-select,.tc-filter-grid select,.tc-filter-grid input) { font-size: 16px; }
  body.storefront-ui #filterForm .sa-select-search,
  body.storefront-ui .sa-select-search { font-size: 16px; }
  body.storefront-ui .tc-search { min-height: 52px; padding: 4px 4px 4px 12px; gap: 9px; border-radius: 12px; }
  body.storefront-ui .tc-search input { font-size: 16px; }
  body.storefront-ui .tc-search button { min-width: 42px; padding: 11px; gap: 0; font-size: 0; }
  body.storefront-ui .tc-search button i { font-size: 15px; }
  body.storefront-ui .tc-discovery { border-radius: 16px; }
  body.storefront-ui .tc-filter-actions button { flex: 1; padding-inline: 10px; }
  body.storefront-ui .sa-results-sort .sa-category-trigger { min-height: 48px; padding: 18px 13px 5px; }
  body.storefront-ui :is(.btn,.sa-cta) { font-weight: 600; }
  body.storefront-ui .sa-sub__plus { min-height: 46px; }
  body.storefront-ui .sa-pagination__links { gap: 4px; }
}
@media(prefers-reduced-motion:reduce) {
  body.storefront-ui :is(.form-control,.form-select,.btn,.sa-cta,.sa-search,.sa-search button,.tc-search button,.sa-category-trigger) { transition: none; }
}
