/* 1.2.239: focused interface improvements using the existing theme tokens. */

/* 1.2.242: compact account forms, consistent actions and a visible password control. */
html body.woocommerce-account .page-shell:has(form:is(.login, .woocommerce-ResetPassword)) {
  padding-block: clamp(24px, 4vw, 48px) !important;
}
html body.woocommerce-account .page-card:has(form:is(.login, .woocommerce-ResetPassword)) {
  max-width: 1040px;
  margin-inline: auto;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.woocommerce-account .page-card:has(form:is(.login, .woocommerce-ResetPassword)) .page-header {
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
}
html body.woocommerce-account .page-card:has(form:is(.login, .woocommerce-ResetPassword)) .page-title {
  font-size: clamp(26px, 3vw, 34px) !important;
  line-height: 1.25;
}
html body.woocommerce-account #customer_login {
  gap: 24px !important;
  align-items: start !important;
}
html body.woocommerce-account #customer_login::before,
html body.woocommerce-account #customer_login::after { content: none !important; display: none !important; }
html body.woocommerce-account #customer_login > :is(.u-column1, .u-column2) {
  height: auto !important;
  padding: 28px !important;
  background: var(--surface-raised) !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
}
html body.woocommerce-account #customer_login h2,
html body.woocommerce-account .woocommerce:has(> form.login) > h2 {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 24px !important;
  line-height: 1.3 !important;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form:is(.login, .register, .woocommerce-ResetPassword) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  text-align: start !important;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form:is(.login, .register, .woocommerce-ResetPassword) > p {
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-size: 14px;
  line-height: 1.65;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form:is(.login, .register, .woocommerce-ResetPassword) > .form-row {
  width: 100% !important;
  float: none !important;
  order: 0 !important;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form:is(.login, .register, .woocommerce-ResetPassword) .form-row > label:not(.woocommerce-form-login__rememberme) {
  margin: 0 0 7px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form:is(.login, .register, .woocommerce-ResetPassword) .input-text {
  height: 48px !important;
  min-height: 48px !important;
  padding: 10px 12px !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 10px !important;
  background: var(--surface) !important;
  color: var(--ink) !important;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form.login > .form-row:has(.woocommerce-form-login__submit) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form.login .woocommerce-form-login__rememberme {
  align-self: flex-start !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-height: 32px;
  margin: 0 !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  cursor: pointer;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form.login > .woocommerce-LostPassword {
  order: 0 !important;
  margin: 14px 0 0 !important;
  font-size: 13px !important;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form.register > .form-row:has(button[type='submit']),
html body.woocommerce-account :is(#customer_login, .woocommerce) form.woocommerce-ResetPassword > .form-row:has(button[type='submit']) {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
html body.woocommerce-account :is(#customer_login, .woocommerce) form:is(.login, .register, .woocommerce-ResetPassword) button[type='submit'] {
  display: flex !important;
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  justify-content: center !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text {
  margin: 0 0 20px !important;
  padding: 16px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 0 !important;
  color: var(--ink-muted) !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}
html body.woocommerce-account #customer_login .woocommerce-privacy-policy-text p { margin: 0 !important; font: inherit !important; }
html body.woocommerce-account .woocommerce:has(> form.login),
html body.woocommerce-account .woocommerce:has(> form.woocommerce-ResetPassword) {
  max-width: 520px !important;
  margin-inline: auto !important;
}
html body.woocommerce-account .page-card:has(.woocommerce > form:is(.login, .woocommerce-ResetPassword)) {
  max-width: 520px !important;
}
html body.woocommerce-account .woocommerce > form:is(.login, .woocommerce-ResetPassword) {
  padding: 24px !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  background: var(--surface-raised) !important;
}
/* Use the existing WooCommerce toggle and accessible label; only replace its fixed black artwork. */
html body.woocommerce-account .woocommerce .password-input { position: relative; width: 100%; }
html body.woocommerce-account .woocommerce .password-input input.input-text { padding-inline-end: 52px !important; }
html body.woocommerce-account .woocommerce .password-input .show-password-input {
  display: grid !important;
  place-items: center;
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  bottom: auto !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--ink-muted) !important;
  transform: none !important;
  cursor: pointer;
}
html body.woocommerce-account .woocommerce .password-input .show-password-input:hover { color: var(--ink) !important; background: var(--brand-tint) !important; }
html body.woocommerce-account .woocommerce .password-input .show-password-input::before {
  content: '' !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  background: currentColor !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body.woocommerce-account .woocommerce .password-input .show-password-input.display-password::before {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10 5a12 12 0 0 1 2 0c6.5 0 10 7 10 7a19 19 0 0 1-3 4M6 6a22 22 0 0 0-4 6s3.5 7 10 7a12 12 0 0 0 5-1M10 10a3 3 0 0 0 4 4'/%3E%3C/svg%3E");
}
html body.woocommerce-account .woocommerce :is(input, button, a):focus-visible {
  outline: 2px solid var(--brand) !important;
  outline-offset: 3px !important;
}
@media (max-width: 900px) {
  html body.woocommerce-account #customer_login { max-width: 520px !important; }
}
@media (max-width: 600px) {
  html body.woocommerce-account #customer_login { gap: 20px !important; }
  html body.woocommerce-account #customer_login > :is(.u-column1, .u-column2),
  html body.woocommerce-account .woocommerce > form:is(.login, .woocommerce-ResetPassword) { padding: 20px !important; }
}

/* 1.2.241: one native radio per delivery option; no legacy pseudo-dot or stripe. */
body.woocommerce-checkout #shipping-option {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
  min-width: 0 !important;
  min-height: 76px !important;
  padding: 16px !important;
  margin: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  background: var(--surface-raised) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  cursor: pointer;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option:hover {
  border-color: var(--brand) !important;
}
body.woocommerce-checkout:not(.rtf-shipping-unconfirmed) #shipping-option .wc-block-components-radio-control__option:has(> input:checked) {
  border-color: var(--brand) !important;
  background: var(--brand-tint) !important;
  box-shadow: none !important;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option:has(> input:focus-visible) {
  outline: 2px solid var(--brand) !important;
  outline-offset: 3px !important;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control::before,
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control::after,
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option::before,
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option::after,
body.woocommerce-checkout #shipping-option input[type='radio']::before,
body.woocommerce-checkout #shipping-option input[type='radio']::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option > input[type='radio'] {
  appearance: auto !important;
  -webkit-appearance: radio !important;
  position: relative !important;
  inset: auto !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  display: block !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: initial !important;
  background: initial !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  accent-color: var(--brand) !important;
  cursor: pointer;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option-layout {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__label-group {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: start !important;
  gap: 8px 12px !important;
  min-width: 0 !important;
  width: 100% !important;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__label {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: start !important;
}
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__secondary-label {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap !important;
}
body.woocommerce-checkout #shipping-option .rtf-royal-mail-badge {
  display: inline-flex !important;
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  gap: 4px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink-muted) !important;
}
body.woocommerce-checkout #shipping-option .rtf-royal-mail-badge__icon { display: none !important; }
body.woocommerce-checkout #shipping-option :is(.rtf-royal-mail-badge__copy, .rtf-royal-mail-badge__copy span, .rtf-royal-mail-badge__copy strong) {
  color: var(--ink-muted) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
body.woocommerce-checkout #shipping-option .rtf-shipping-placeholder-rate,
body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option[hidden] { display: none !important; }
@media (max-width: 600px) {
  body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option { padding: 14px 12px !important; gap: 10px !important; }
  body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__label-group { column-gap: 10px !important; }
  body.woocommerce-checkout #shipping-option :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label) { font-size: 14px !important; }
}
@media (forced-colors: active) {
  body.woocommerce-checkout #shipping-option .wc-block-components-radio-control__option { border-color: ButtonText !important; }
  body.woocommerce-checkout:not(.rtf-shipping-unconfirmed) #shipping-option .wc-block-components-radio-control__option:has(> input:checked) { outline: 2px solid Highlight !important; outline-offset: -3px !important; }
}

/* 1.2.240: address, delivery, live summary, then payment on narrow layouts. */
.rtf-summary-next-step { display: none; }
@media (max-width: 900px) {
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    reading-flow: grid-rows;
  }
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__main,
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__main > form.wc-block-checkout__form {
    display: contents !important;
  }
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__main > form.wc-block-checkout__form > * {
    order: 10 !important;
    min-width: 0;
  }
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__main > form.wc-block-checkout__form > div:empty {
    display: none !important;
  }
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__sidebar {
    order: 20 !important;
    position: static !important;
    min-width: 0;
  }
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .rtf-summary-next-step {
    display: block;
    order: 30 !important;
    min-width: 0;
    width: 100%;
    justify-self: stretch;
  }
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__main > form.wc-block-checkout__form > .wp-block-woocommerce-checkout-payment-block,
  html body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout > .wc-block-checkout__main > form.wc-block-checkout__form > .wp-block-woocommerce-checkout-payment-block ~ * {
    order: 40 !important;
  }
  .rtf-summary-next-step .rtf-continue-to-payment { width: 100%; min-height: 48px; }
  .rtf-summary-pending-delivery { display: none; margin: 0 0 16px; color: var(--ink-muted); font-size: var(--t-sm); }
  body.rtf-shipping-unconfirmed .rtf-summary-pending-delivery { display: block; }
  .wc-block-components-sidebar-layout.wc-block-checkout #payment-method,
  .wc-block-components-sidebar-layout.wc-block-checkout #rtf-payment-options { scroll-margin-top: calc(var(--header-height) + 24px); }
}

/* Preserve list semantics for WordPress menus without changing their layout. */
.nav-main .rtf-primary-menu {
  display: flex;
  align-items: center;
  gap: inherit;
  min-width: 0;
}
.nav-main .rtf-primary-menu > li {
  display: flex;
  align-items: center;
  position: relative;
}
.nav-main .rtf-submenu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  min-height: 44px;
  padding: 0;
  flex-shrink: 0;
  color: var(--ink-muted);
  background: transparent;
  border: 0;
  border-radius: var(--r-xs);
}
.nav-main .rtf-submenu-toggle .icon { width: 15px; height: 15px; }
.nav-main .rtf-submenu-toggle[aria-expanded="true"] { color: var(--brand); background: var(--brand-tint); }
.nav-main .rtf-submenu-toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
.nav-main .sub-menu { top: 100%; min-width: 220px; max-width: min(320px, 85vw); }
.nav-main .sub-menu a { white-space: normal; overflow-wrap: anywhere; min-height: 44px; }
.nav-main .menu-item-has-children.rtf-submenu-enhanced > .sub-menu { display: none; }
.nav-main .menu-item-has-children.rtf-submenu-enhanced.rtf-submenu-open > .sub-menu { display: grid; gap: 2px; }
.nav-main :is(.current-menu-item, .current-menu-ancestor) > a { color: var(--brand); }
.rtf-mobile-primary ul { list-style: none; margin: 0; padding: 0; }
.rtf-mobile-primary li { margin: 0; padding: 0; }
.rtf-mobile-primary .sub-menu { margin-inline-start: 16px; padding-inline-start: 8px; border-inline-start: 1px solid var(--line); }
.rtf-mobile-primary a { min-height: 44px; overflow-wrap: anywhere; }

/* Stop movement without hiding an announcement or changing shop settings. */
.announcement-bar .rtf-announcement-pause {
  flex: 0 0 auto;
  min-width: 48px;
  min-height: 32px;
  margin-inline-start: 4px;
  padding: 4px 8px;
  border: 1px solid #9d8faa;
  border-radius: var(--r-xs);
  color: #fff;
  background: #241f2e;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}
.announcement-bar.rtf-announcement-paused .announcement-track { animation-play-state: paused; }
.rtf-announcement-pause:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

/* A consistent visible focus indicator, including controls with custom skins. */
:where(.nav-main, .product-card, .rtf-choice, .cart-drawer, .wishlist-drawer, .page-content, .rtf-page-search)
  :is(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 3px;
}
#MainContent:focus { outline: none; }
#MainContent, .page-content :is(h2, h3, h4, [id]) {
  scroll-margin-top: calc(var(--header-height) + var(--wp-admin--admin-bar--height, 0px) + 20px);
}
.rtf-choice button[aria-invalid="true"] { border-color: var(--rose) !important; box-shadow: 0 0 0 1px var(--rose); }
.select-error-msg.visible { overflow-wrap: anywhere; }
.product-controls .card-add-error { margin-top: 10px; }
button[aria-busy="true"] { cursor: progress; }
.search-result-title, .search-no-results { overflow-wrap: anywhere; }

/* Full articles, multipage content and useful recovery forms. */
.rtf-article-date { color: var(--ink-muted); margin-block: 12px 0; font-size: var(--t-sm); }
.rtf-article-image { margin-block: 20px; }
.rtf-article-image img { width: 100%; height: auto; border-radius: var(--r-md); }
.page-content { overflow-wrap: anywhere; }
.page-content :is(img, video, iframe) { max-width: 100%; }
.page-content pre { max-width: 100%; overflow-x: auto; overflow-wrap: normal; padding: 16px; }
.rtf-content-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.rtf-content-pagination > :is(a, .post-page-numbers) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-weight: 600;
  text-decoration: none;
}
.rtf-content-pagination > .current { color: var(--ink-on-brand); background: var(--brand); border-color: var(--brand); }
.post-navigation .nav-links { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; margin-top: 24px; }
.post-navigation a { display: inline-block; padding-block: 12px; overflow-wrap: anywhere; }
.rtf-page-search { width: 100%; max-width: 560px; margin: 24px auto; text-align: start; }
.rtf-page-search > label { display: block; margin-bottom: 8px; font-size: var(--t-sm); font-weight: 600; color: var(--ink); }
.rtf-page-search__controls { display: flex; align-items: stretch; gap: 8px; }
.rtf-page-search input[type="search"] {
  min-width: 0;
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  font: inherit;
  font-size: 16px;
}
.rtf-page-search .btn { flex: 0 0 auto; }

/* Improve mobile purchase controls without forcing a single-column catalogue. */
@media (max-width: 900px) {
  body:is(.woocommerce-cart, .woocommerce-checkout) .rtf-checkout-stepper__label { display: inline; font-size: 12px; }
}
@media (max-width: 719px) {
  body.woocommerce-checkout .rtf-checkout-stepper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 12px;
    align-items: start;
  }
  body.woocommerce-checkout .rtf-checkout-stepper > li,
  body.woocommerce-checkout .rtf-checkout-stepper > li > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    min-width: 0;
  }
  body.woocommerce-checkout .rtf-checkout-stepper > li + li::before { display: none; }
  body.woocommerce-checkout .rtf-checkout-stepper__label {
    display: block;
    font-size: 12px;
    line-height: 1.4;
    color: var(--ink-muted);
  }
  body.woocommerce-checkout .rtf-checkout-stepper .is-active .rtf-checkout-stepper__label { color: var(--ink); }
  html body .product-card .btn-view-product { min-height: 44px; font-size: 12px; }
  html body .product-card .product-wishlist,
  html body .product-card .product-zoom { width: 40px; height: 40px; min-width: 40px; min-height: 40px; }
  html body .product-card .product-name { font-size: 13px; line-height: 1.5; }
  html body .quick-add-portal .qty-stepper,
  html body .quick-add-portal .qty-add-btn { min-height: 44px; }
  html body .quick-add-portal .qty-stepper button { min-height: 44px; min-width: 40px; }
  html body :is(.search-input, .wishlist-name-editor input, .rtf-page-search input) { font-size: 16px; }
  .rtf-page-search__controls { flex-wrap: wrap; }
  .rtf-page-search__controls input { flex: 1 1 180px; }
  .rtf-page-search__controls .btn { flex: 1 0 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .rtf-announcement-pause { display: none !important; }
  .rtf-submenu-toggle .icon { transition: none; }
}
@media (forced-colors: active) {
  .rtf-announcement-pause, .rtf-content-pagination > :is(a, .current),
  .rtf-page-search input[type="search"], .rtf-submenu-toggle { border: 1px solid ButtonText; }
  .rtf-content-pagination > .current { outline: 2px solid Highlight; }
  .rtf-choice button[aria-invalid="true"] { outline: 2px dashed CanvasText; }
}
