/* Generated by build_css_bundles from amazon-reference.css, onemkan-storefront.css, om-premium.css, category-nav.css: edit those files, not this one. */
/* ---- amazon-reference.css ---- */
/* OneMkan Amazon-reference parity layer.
   Presentation only. Commerce authority remains server-owned. */

:root {
  --amz-navy: #131921;
  --amz-navy-2: #232f3e;
  --amz-search: #febd69;
  --amz-search-hover: #f3a847;
  --amz-page: #e3e6e6;
  --amz-text: #0f1111;
  --amz-muted: #565959;
  --amz-link: #007185;
  --amz-yellow: #ffd814;
  --amz-yellow-hover: #f7ca00;
  --amz-orange: #ffa41c;
  --amz-line: #d5d9d9;
}

body {
  margin: 0;
  background: #fff;
  color: var(--amz-text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
}

.shell {
  width: min(100% - 32px, 1500px);
  max-width: 1500px;
  margin-inline: auto;
}

.site-header.amazon-shell-header {
  position: relative;
  top: auto;
  z-index: 80;
  border: 0;
  background: var(--amz-navy);
  color: #fff;
  backdrop-filter: none;
}

.amazon-header-main {
  min-height: 60px;
  display: grid;
  grid-template-columns: auto minmax(130px, auto) minmax(320px, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 5px 14px;
}

.amazon-brand {
  display: flex;
  align-items: center;
  min-height: 50px;
  padding: 0 8px;
  border: 1px solid transparent;
  color: #fff;
  text-decoration: none;
}

.amazon-brand:hover,
.amazon-delivery:hover,
.amazon-header-link:hover,
.amazon-cart-link:hover,
.amazon-all-menu > summary:hover {
  border-color: #fff;
}

.amazon-delivery {
  min-width: 148px;
  min-height: 50px;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px 8px;
  border: 1px solid transparent;
  margin: 0;
  color: #fff;
}

.amazon-location-pin {
  align-self: flex-end;
  width: 18px;
  height: 22px;
  margin-bottom: 7px;
  line-height: 1;
}

.amazon-location-pin svg {
  width: 18px;
  height: 22px;
  fill: #fff;
}

.amazon-delivery label {
  display: grid;
  gap: 0;
  min-width: 0;
}

.amazon-delivery-kicker {
  color: #ccc;
  font-size: 11px;
  line-height: 1.05;
}

.amazon-delivery select {
  max-width: 155px;
  height: 22px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  padding: 0 16px 0 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.amazon-delivery select option {
  color: #111;
  background: #fff;
}

.amazon-global-search {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 45px;
  min-height: 40px;
  border: 3px solid transparent;
  border-radius: 7px;
  overflow: hidden;
  background: #fff;
}

.amazon-global-search:focus-within {
  border-color: #ff9900;
}

.amazon-global-search > select {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
  min-height: 38px;
  height: 38px;
  border: 0;
  border-right: 1px solid #cdcdcd;
  border-radius: 0;
  padding: 0 18px 0 8px;
  background: #e6e6e6;
  color: #333;
  font-size: 11px;
  cursor: pointer;
  outline: 0;
}

.amazon-global-search > select:hover {
  background: #dcdcdc;
}

.amazon-global-search input {
  min-height: 38px;
  height: 38px;
  border: 0;
  border-radius: 0;
  padding: 7px 10px;
  background: #fff;
  color: #111;
  font-size: 15px;
  outline: 0;
}

.amazon-global-search button {
  width: 45px;
  min-height: 38px;
  border: 0;
  border-radius: 0;
  display: grid;
  place-items: center;
  padding: 0;
  background: var(--amz-search);
  color: #111;
  cursor: pointer;
}

.amazon-global-search button:hover {
  background: var(--amz-search-hover);
}

.amazon-global-search svg {
  width: 23px;
  height: 23px;
  fill: currentColor;
}

.amazon-header-actions {
  display: flex;
  align-items: stretch;
  min-height: 50px;
  gap: 2px;
}

.amazon-header-link,
.amazon-cart-link {
  min-height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid transparent;
  padding: 3px 8px;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}

.amazon-header-link span {
  font-size: 11px;
  line-height: 1.05;
}

.amazon-header-link strong,
.amazon-cart-link strong {
  font-size: 13px;
  line-height: 1.1;
}

.amazon-cart-link {
  position: relative;
  flex-direction: row;
  align-items: end;
  gap: 3px;
  padding-right: 8px;
}

.amazon-cart-icon {
  width: 34px;
  height: 27px;
  display: grid;
  place-items: end start;
  line-height: 1;
}

.amazon-cart-icon svg {
  width: 34px;
  height: 25px;
  fill: #fff;
}

.amazon-cart-count {
  position: absolute;
  top: 3px;
  left: 29px;
  min-width: 18px;
  color: #f08804;
  font-weight: 800;
  text-align: center;
  line-height: 1;
}

.amazon-subnav {
  min-height: 39px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 10px;
  background: var(--amz-navy-2);
  color: #fff;
}

.amazon-all-menu {
  position: relative;
  flex: 0 0 auto;
}

.amazon-all-menu > summary {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 5px;
  border: 1px solid transparent;
  padding: 0 9px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.amazon-all-menu > summary::-webkit-details-marker { display: none; }

.amazon-menu-panel {
  position: absolute;
  top: 39px;
  left: -10px;
  z-index: 120;
  width: min(365px, 92vw);
  max-height: calc(100vh - 52px);
  overflow-y: auto;
  border: 1px solid #bbb;
  background: #fff;
  color: #111;
  box-shadow: 0 8px 28px rgba(0,0,0,.32);
}

.amazon-menu-head {
  padding: 16px 22px;
  background: var(--amz-navy-2);
}

.amazon-menu-head a {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
}

.amazon-menu-panel nav {
  padding: 13px 0;
  border-bottom: 1px solid #d5dbdb;
}

.amazon-menu-panel h2 {
  margin: 0;
  padding: 6px 24px 8px;
  font-size: 18px;
}

.amazon-menu-panel nav > a {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  color: #111;
  font-size: 14px;
  text-decoration: none;
}

.amazon-menu-panel nav > a:hover {
  background: #eaeded;
}

.amazon-department-nav {
  min-width: 0;
  display: flex;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
}

.amazon-department-nav::-webkit-scrollbar { display: none; }

.amazon-department-nav a {
  min-height: 36px;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  border: 1px solid transparent;
  padding: 0 8px;
  color: #fff;
  font-size: 13px;
  text-decoration: none;
}

.amazon-department-nav a:hover {
  border-color: #fff;
}

.amazon-destination-notice {
  position: absolute;
  z-index: 70;
  top: 100px;
  left: clamp(70px, 15vw, 230px);
  width: min(470px, calc(100vw - 30px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #d5d9d9;
  border-radius: 2px;
  padding: 9px 11px;
  background: #fff;
  color: #111;
  box-shadow: 0 2px 5px rgba(0,0,0,.16);
  font-size: 11px;
}

.amazon-destination-notice[hidden] { display: none; }

.amazon-destination-notice > div:first-child {
  display: grid;
  gap: 2px;
}

.amazon-destination-notice strong { font-weight: 400; }

.amazon-destination-notice span { color: #565959; }

.amazon-destination-notice-actions {
  display: flex;
  gap: 6px;
  flex: 0 0 auto;
}

.amazon-destination-notice button {
  min-height: 27px;
  border: 1px solid #adb1b8;
  border-radius: 8px;
  padding: 0 9px;
  background: linear-gradient(#fff,#f7f8fa);
  color: #111;
  font-size: 11px;
  cursor: pointer;
}

.amazon-destination-notice button.is-primary {
  border-color: #fcd200;
  background: var(--amz-yellow);
}

/* Homepage */
.amazon-home {
  min-height: 520px;
  padding-bottom: 30px;
  background: var(--amz-page);
}

.amazon-home-hero {
  min-height: 315px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 48px 30px 130px;
  background:
    radial-gradient(circle at 85% 35%, rgba(255,255,255,.28), transparent 15%),
    linear-gradient(110deg, #163e68 0%, #1d6b83 42%, #64a6a6 100%);
  color: #fff;
}

/* Search results */
.amazon-search-page {
  padding-top: 14px;
  padding-bottom: 42px;
}

.amazon-filter-sidebar {
  padding-right: 8px;
  font-size: 12px;
}

.amazon-filter-sidebar section {
  display: grid;
  gap: 5px;
  margin-bottom: 18px;
}

.amazon-filter-sidebar h2 {
  margin: 0 0 3px;
  font-size: 14px;
}

.amazon-filter-sidebar a {
  color: #111;
  text-decoration: none;
}

.amazon-filter-sidebar a:hover {
  color: #c7511f;
}

.amazon-filter-sidebar span { color: #333; }

.amazon-empty-results {
  padding: 30px 0;
}

.amazon-empty-results h2 {
  margin: 0 0 8px;
  font-size: 22px;
}

.amazon-empty-results a { color: var(--amz-link); }

.amazon-pagination .button {
  min-height: 34px;
  border-radius: 8px;
  font-size: 12px;
}

/* Shared product cards */
.product-card,
.product-card:hover {
  box-shadow: none;
  transform: none;
}

.product-card {
  border-color: #e5e5e5;
  border-radius: 0;
}

.product-media-frame {
  background: #fff;
}

.product-visual {
  background: #fff;
}

.product-card-cta {
  background: var(--amz-yellow);
  color: #111;
}

.product-card:hover .product-card-cta {
  background: var(--amz-yellow-hover);
  color: #111;
}

.shipping-badge[data-tone="green"] {
  color: #007600;
}

.shipping-badge {
  font-size: 11px;
}

/* Product detail parity */
.product-page {
  width: min(100% - 28px, 1500px);
  max-width: 1500px;
  margin-inline: auto;
  padding-top: 14px;
}

.product-layout {
  grid-template-columns: minmax(390px, 1.15fr) minmax(330px, .9fr) minmax(250px, 300px);
  gap: 22px;
  padding-bottom: 34px;
}

.product-media-stage {
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.product-visual-large {
  border: 0;
  border-radius: 0;
  background: #fff;
}

.product-purchase-panel h1 {
  margin: 4px 0 8px;
  max-width: none;
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: 0;
  font-weight: 400;
}

.product-buy-box {
  border: 1px solid var(--amz-line);
  border-radius: 8px;
  padding: 14px;
  box-shadow: none;
}

.product-buy-box .button,
.product-buy-box .product-cart-form .button {
  min-height: 32px;
  border-radius: 16px;
  font-size: 12px;
}

.product-buy-box .button-primary {
  background: var(--amz-yellow);
  color: #111;
}

.product-buy-box .product-cart-form .button {
  background: var(--amz-orange);
}

.product-trust-strip {
  margin-top: 16px;
  padding: 14px 0;
  font-size: 11px;
}

.checkout-shell {
  width: min(100% - 28px, 1200px);
  margin-inline: auto;
}

.checkout-main,
.checkout-aside {
  border-radius: 8px;
}

/* Cart parity */
.cart-page {
  width: min(100% - 28px, 1500px);
  max-width: 1500px;
  padding-top: 22px;
}

.cart-page .section-heading h1,
.cart-empty h1 {
  font-size: 28px;
}

.cart-overview {
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 18px;
}

.cart-items,
.cart-summary-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.cart-summary-card {
  align-self: start;
  border: 1px solid var(--amz-line);
  padding: 18px;
  background: #fff;
}

.cart-summary-card .button-primary {
  min-height: 34px;
  border-radius: 17px;
  background: var(--amz-yellow);
  color: #111;
  font-size: 12px;
}

.cart-line {
  grid-template-columns: 180px minmax(0,1fr) 190px;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  padding: 14px 0;
}

.cart-line-image {
  background: #fff;
}

.cart-line-main h2 {
  font-size: 18px;
  font-weight: 400;
}

/* Footer */
.amazon-footer {
  border: 0;
  background: var(--amz-navy-2);
  color: #fff;
}

.amazon-back-to-top {
  min-height: 49px;
  display: grid;
  place-items: center;
  background: #37475a;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
}

.amazon-back-to-top:hover { background: #485769; }

.amazon-footer-main {
  width: min(100% - 40px, 1000px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 70px;
  padding: 42px 0 34px;
}

.amazon-footer-main h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 16px;
}

.amazon-footer-main > div {
  display: grid;
  align-content: start;
  gap: 8px;
}

.amazon-footer-main a {
  color: #ddd;
  font-size: 12px;
  text-decoration: none;
}

.amazon-footer-main a:hover { text-decoration: underline; }

.amazon-footer-locale {
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-top: 1px solid #3a4553;
}

.amazon-footer-locale strong {
  margin-right: 55px;
  font-size: 22px;
}

.amazon-footer-locale select {
  min-height: 34px;
  border: 1px solid #848688;
  border-radius: 3px;
  padding: 0 28px 0 9px;
  background: transparent;
  color: #ddd;
  font-size: 12px;
}

.amazon-footer-locale option {
  color: #111;
  background: #fff;
}

.amazon-footer-bottom {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 15px;
  background: var(--amz-navy);
  color: #ddd;
  font-size: 11px;
}

.amazon-footer-bottom a {
  color: #ddd;
  text-decoration: none;
}

/* Account/tracking pages keep functionality but inherit the reference shell. */
.account-page,
.tracking-page {
  width: min(100% - 32px, 1200px);
  margin-inline: auto;
}

/* Responsive */
@media (max-width: 1180px) {
  .amazon-header-main {
    grid-template-columns: auto minmax(120px, auto) minmax(260px, 1fr) auto;
  }

  .amazon-header-link:nth-of-type(2) {
    display: none;
  }

  .amazon-home-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .amazon-home-product-grid.product-grid {
    grid-template-columns: repeat(5,minmax(0,1fr));
  }

  .product-layout {
    grid-template-columns: minmax(340px,1fr) minmax(320px,.9fr);
  }

  .product-buy-box {
    grid-column: 2;
  }
}

@media (max-width: 900px) {
  .amazon-header-main {
    grid-template-columns: auto minmax(0,1fr) auto;
    min-height: 106px;
    align-items: start;
    padding: 6px 10px;
  }

  .amazon-brand {
    grid-column: 1;
    grid-row: 1;
  }

  .amazon-delivery {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
  }

  .amazon-header-actions {
    grid-column: 3;
    grid-row: 1;
  }

  .amazon-global-search {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    align-self: end;
  }

  .amazon-department-nav a:nth-child(n+8) {
    display: none;
  }

  .amazon-destination-notice {
    top: 145px;
    left: 15px;
  }

  .product-layout,
  .cart-overview {
    grid-template-columns: 1fr;
  }

  .product-buy-box {
    grid-column: 1;
  }
}

@media (max-width: 700px) {
  .shell {
    width: min(100% - 20px, 1500px);
  }

  .amazon-header-main {
    grid-template-columns: auto 1fr auto;
  }

  .amazon-delivery {
    min-width: 0;
    padding-inline: 4px;
  }

  .amazon-location-pin {
    display: none;
  }

  .amazon-delivery select {
    max-width: 115px;
    font-size: 12px;
  }

  .amazon-header-link {
    display: none;
  }

  .amazon-cart-link {
    min-width: 65px;
  }

  .amazon-subnav {
    min-height: 42px;
  }

  .amazon-department-nav {
    display: none;
  }

  .amazon-all-menu > summary {
    min-height: 40px;
  }

  .amazon-menu-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: min(365px, 92vw);
    height: 100vh;
    max-height: none;
  }

  .amazon-destination-notice {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    margin: 0;
    border-left: 0;
    border-right: 0;
    box-shadow: none;
  }

  .amazon-home-hero {
    min-height: 235px;
    padding: 36px 18px 100px;
  }

  .amazon-filter-sidebar {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .amazon-filter-sidebar section {
    flex: 0 0 auto;
    min-width: 145px;
    border: 1px solid #ddd;
    border-radius: 7px;
    padding: 8px;
  }

  .cart-line {
    grid-template-columns: 95px minmax(0,1fr);
  }

  .amazon-footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }

  .amazon-footer-locale {
    flex-wrap: wrap;
    padding: 22px 12px;
  }

  .amazon-footer-locale strong {
    flex-basis: 100%;
    margin: 0 0 4px;
    text-align: center;
  }

  .amazon-footer-bottom {
    flex-wrap: wrap;
    gap: 8px 14px;
  }
}

@media (max-width: 430px) {

  .amazon-delivery-kicker {
    font-size: 10px;
  }

  .amazon-cart-icon,
  .amazon-cart-icon svg {
    width: 30px;
  }

  .amazon-footer-main {
    grid-template-columns: 1fr;
  }
}

.amazon-product-price-block {
  display: grid;
  gap: 2px;
  margin-bottom: 10px;
}

.amazon-product-price-block > span,
.amazon-buybox-price > span {
  color: #565959;
  font-size: 12px;
}

.amazon-product-price-block > strong {
  color: #0f1111;
  font-size: 20px;
  font-weight: 500;
}

.amazon-product-price-block > small {
  color: #565959;
  font-size: 11px;
  line-height: 1.35;
}

/* Amazon-reference cart title/subtotal hierarchy */
.amazon-cart-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  border: 0 !important;
  border-bottom: 1px solid #ddd !important;
  padding: 0 0 8px !important;
  background: transparent !important;
}

.amazon-cart-heading h1 {
  margin: 0;
  font-size: 28px !important;
  font-weight: 400;
}

.amazon-cart-heading p {
  margin: 3px 0 0;
  color: #565959;
  font-size: 12px !important;
}

.amazon-cart-price-heading {
  padding-right: 12px;
  color: #565959;
  font-size: 12px;
}

.amazon-cart-subtotal {
  margin: 0 0 4px;
  font-size: 17px;
}

.amazon-cart-subtotal-pending {
  margin: 0 0 12px;
  color: #b12704;
  font-size: 13px;
  font-weight: 600;
}

@media (max-width: 700px) {
  .amazon-cart-price-heading {
    display: none;
  }

  .amazon-cart-heading h1 {
    font-size: 24px !important;
  }
}

/* Amazon-reference account dashboard */
.amazon-account-dashboard {
  max-width: 1100px;
  padding-top: 28px;
}

.amazon-account-heading {
  margin-bottom: 18px;
}

.amazon-account-heading h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 400;
}

.amazon-account-heading p {
  margin: 4px 0 0;
  color: #565959;
  font-size: 12px;
}

.amazon-account-card-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  margin-bottom: 26px;
}

.amazon-account-card {
  min-height: 108px;
  display: grid;
  grid-template-columns: 52px minmax(0,1fr);
  align-items: start;
  gap: 12px;
  border: 1px solid #d5d9d9;
  border-radius: 8px;
  padding: 18px;
  color: #111;
  background: #fff;
  text-decoration: none;
}

.amazon-account-card:hover {
  background: #f7fafa;
}

.amazon-account-card-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #37475a;
  font-size: 28px;
}

.amazon-account-card strong {
  display: block;
  margin: 1px 0 5px;
  font-size: 17px;
  font-weight: 400;
}

.amazon-account-card small {
  display: block;
  color: #565959;
  font-size: 12px;
  line-height: 1.4;
}

.amazon-account-content {
  gap: 18px;
}

.amazon-account-content .account-panel {
  border: 1px solid #d5d9d9;
  border-radius: 8px;
  box-shadow: none;
}

.amazon-account-content .account-panel h2 {
  font-size: 18px;
  font-weight: 400;
}

.amazon-account-content .button-secondary,
.amazon-account-content .account-inline-button {
  min-height: 30px;
  border-radius: 15px;
  font-size: 11px;
}

@media (max-width: 820px) {
  .amazon-account-card-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 520px) {
  .amazon-account-card-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .amazon-account-card {
    min-height: 88px;
    padding: 13px;
  }
}

/* Drawer controls matching the mobile reference */
.amazon-menu-head {
  position: relative;
}

.amazon-menu-close {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.amazon-menu-close:hover,
.amazon-menu-close:focus-visible {
  outline: 1px solid #fff;
  outline-offset: 1px;
}

@media (max-width: 700px) {
  .amazon-all-menu[open]::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 110;
    background: rgba(0,0,0,.58);
  }

  .amazon-all-menu[open] .amazon-menu-panel {
    z-index: 120;
  }

  body:has(.amazon-all-menu[open]) {
    overflow: hidden;
  }
}

/* Amazon-reference account auth/form surfaces */
.account-auth-page {
  max-width: 390px;
  padding-top: 28px;
  padding-bottom: 54px;
}

.account-auth-card,
.account-form-card,
.receipt-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: none;
}

.account-auth-card {
  padding: 22px 26px 24px;
}

.account-auth-card .eyebrow,
.account-form-card .eyebrow {
  display: none;
}

.account-auth-card .section-heading h1,
.account-form-card h1 {
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0;
}

.account-auth-card .section-heading > p {
  margin: 0;
  color: #565959;
  font-size: 12px;
  line-height: 1.45;
}

.account-auth-card .field label,
.account-form-card label {
  color: #111;
  font-size: 12px;
  font-weight: 700;
}

.account-auth-card input,
.account-form-card input,
.account-form-card select,
.account-form-card textarea {
  min-height: 33px;
  border-radius: 3px;
  font-size: 13px;
}

.account-auth-card .button-primary,
.account-form-card .button-primary {
  width: 100%;
  min-height: 34px;
  border: 1px solid #fcd200;
  border-radius: 8px;
  background: var(--amz-yellow);
  color: #111;
  font-size: 12px;
}

.account-auth-card .button-primary:hover,
.account-form-card .button-primary:hover {
  background: var(--amz-yellow-hover);
}

.account-auth-links {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #e7e7e7;
}

.account-auth-links p {
  margin: 6px 0;
  font-size: 12px;
}

.account-auth-links a {
  color: var(--amz-link);
}

.account-form-page {
  max-width: 650px;
  padding-top: 28px;
}

/* Amazon-reference tracking and order-help surfaces */
.tracking-page {
  min-height: 0;
  padding: 30px 0 60px;
  background: #fff;
}

.tracking-shell {
  max-width: 820px;
}

.tracking-intro {
  margin-bottom: 16px;
}

.tracking-intro .eyebrow {
  display: none;
}

.tracking-intro h1 {
  margin: 0 0 7px;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: 0;
  font-weight: 400;
}

.tracking-intro > p {
  color: #565959;
  font-size: 13px;
}

.support-switch {
  margin-top: 14px;
  display: flex;
  gap: 16px;
}

.support-switch a {
  color: var(--amz-link);
  font-size: 12px;
  text-decoration: none;
}

.support-switch a[aria-current="page"] {
  color: #111;
  font-weight: 700;
}

.tracking-card {
  padding: 24px;
  border: 1px solid #d5d9d9;
  border-radius: 8px;
  box-shadow: none;
}

.tracking-card .button-primary {
  min-height: 34px;
  border-radius: 17px;
  border-color: #fcd200;
  background: var(--amz-yellow);
  color: #111;
  font-size: 12px;
}

.tracking-card .button-primary:hover {
  background: var(--amz-yellow-hover);
}

.tracking-card input,
.tracking-card select,
.tracking-card textarea {
  min-height: 34px;
  border-radius: 3px;
  font-size: 13px;
}

.tracking-result {
  margin-top: 24px;
  padding-top: 20px;
}

.tracking-status {
  padding: 5px 9px;
  border-radius: 3px;
  background: #e7f6ec;
  color: #067d62;
  font-size: 11px;
}

.tracking-facts {
  margin-top: 16px;
  gap: 8px;
}

.tracking-facts div {
  padding: 10px;
  border-radius: 4px;
  background: #f7f7f7;
}

.tracking-list {
  gap: 0;
}

.tracking-list li {
  border-radius: 0;
  border-left: 0;
  border-right: 0;
  padding: 12px 0;
}

.tracking-note,
.support-guidance {
  border-radius: 4px;
}

.support-guidance {
  margin-bottom: 18px;
  padding: 12px;
}

@media (max-width: 620px) {
  .tracking-page {
    padding-top: 22px;
  }

  .tracking-card {
    padding: 18px;
  }
}

/* Amazon-reference department landing pages */
.amazon-department-page {
  min-height: 520px;
  padding-bottom: 42px;
  background: #fff;
}

.amazon-department-products {
  width: min(100% - 32px,1450px);
  margin: 24px auto 0;
  padding-top: 18px;
  border-top: 1px solid #ddd;
}

.amazon-department-empty {
  padding: 30px 0;
}

.amazon-department-empty h3 {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 500;
}

.amazon-department-empty p {
  margin: 0;
  color: #565959;
  font-size: 13px;
}

@media (max-width: 520px) {

  .amazon-department-products {
    width: min(100% - 16px,1450px);
  }
}

.amazon-search-count {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.amazon-search-count small {
  margin-left: 3px;
  color: #565959;
  font-size: 11px;
}

@media (max-width: 520px) {

  .amazon-search-count {
    display: grid;
    gap: 1px;
  }

  .amazon-search-count small {
    margin-left: 0;
  }
}

/* Amazon reference: four-up featured homepage panels above the department cards */
.amazon-home-hero {
  min-height: 0;
  display: block;
  padding: 8px 12px 18px;
  background: var(--amz-page);
  color: #111;
}

@media (max-width: 700px) {
  .amazon-home-hero {
    padding: 6px 6px 8px;
  }
}

/* Amazon-reference drawer details */
.amazon-menu-head {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 34px;
  align-items: center;
  gap: 8px;
}

.amazon-menu-user-icon {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
}

.amazon-menu-user-icon svg {
  width: 18px;
  height: 18px;
  fill: var(--amz-navy-2);
}

.product-buy-box .product-cart-form .button {
  width: 100%;
  background: var(--amz-yellow);
  color: #111;
}

.product-buy-box .product-cart-form .button:hover {
  background: var(--amz-yellow-hover);
}

.product-buy-box .product-primary-action {
  background: var(--amz-orange);
  color: #111;
}

.product-buy-box .product-primary-action:hover {
  background: #fa8900;
}

/* Amazon-reference cart line controls */
.amazon-cart-line-controls {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  min-width: 0;
}

.amazon-cart-quantity {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 28px;
  border: 2px solid #ffd814;
  border-radius: 16px;
  padding: 0 8px;
  background: #fff;
  font-size: 11px;
}

.amazon-cart-quantity input {
  width: 42px;
  min-height: 24px;
  height: 24px;
  border: 0;
  border-radius: 0;
  padding: 0 2px;
  background: transparent;
  font-size: 11px;
  text-align: center;
}

.amazon-cart-inline-action {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--amz-link);
  font-size: 11px;
  cursor: pointer;
}

.amazon-cart-inline-action:hover {
  color: #c7511f;
  text-decoration: underline;
}

.amazon-cart-line-price {
  align-self: start;
  display: grid;
  justify-items: end;
  gap: 3px;
  padding-top: 4px;
}

.amazon-cart-line-price span {
  color: #565959;
  font-size: 11px;
}

.amazon-cart-line-price strong {
  color: #b12704;
  font-size: 16px;
  font-weight: 600;
}

@media (max-width: 700px) {
  .amazon-cart-line-price {
    grid-column: 2;
    justify-items: start;
    padding-top: 0;
  }

  .amazon-cart-line-controls {
    flex-wrap: wrap;
  }
}

/* Final reference-parity cleanup */
.product-layout {
  padding: 12px 0 34px;
  border: 0;
  background: #fff;
}

/* Amazon reference keeps search and product-detail canvases white. */
#main-content:has(.amazon-search-page),
#main-content:has(.product-page),
#main-content:has(.account-auth-page) {
  background: #fff;
}

.amazon-search-page,
.product-page,
.account-auth-page {
  background: #fff;
}

@media (max-width: 700px) {
  .amazon-global-search > select {
    width: 58px;
    max-width: 58px;
  }
}

/* Final cart proportion pass against the reference. */
.cart-line-media {
  width: 160px;
  max-width: 100%;
}

@media (max-width: 700px) {
  .cart-line-media {
    width: 96px;
  }
}

.cart-line-media {
  display: grid;
  place-items: center;
  background: #f7f7f7;
}

.cart-line-image {
  object-fit: contain;
}

/* OneMkan brand asset */
.onemkan-logo-image {
  display: block;
  width: 128px;
  height: auto;
  max-height: 42px;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
}
.amazon-footer-logo {
  width: 130px;
  height: auto;
  background: transparent;
  border-radius: 0;
}
.amazon-mobile-bottom-nav,
.amazon-mobile-shortcuts { display: none; }

@media (max-width: 700px) {
  :root {
    --om-mobile-top: #efc17f;
    --om-mobile-top-2: #f4d8ad;
  }
  html, body { background: #fff; }
  body { padding-bottom: 58px; }
  .site-header.amazon-shell-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: linear-gradient(180deg, var(--om-mobile-top-2), var(--om-mobile-top));
    color: #111;
  }
  .amazon-header-main {
    min-height: 0;
    display: grid;
    grid-template-columns: 72px minmax(0,1fr);
    grid-template-rows: 46px 34px;
    gap: 4px 6px;
    padding: 5px 8px 4px;
  }
  .amazon-brand {
    grid-column: 1;
    grid-row: 1;
    min-height: 38px;
    height: 38px;
    padding: 2px 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }
  .amazon-brand:hover { border-color: transparent; }
  .onemkan-logo-image {
    width: 66px;
    max-height: 32px;
    border-radius: 0;
  }
  .amazon-global-search {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-height: 40px;
    height: 40px;
    grid-template-columns: 40px minmax(0,1fr);
    border: 1px solid #879596;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
  }
  .amazon-global-search > select { display: none; }
  .amazon-global-search input {
    grid-column: 2;
    grid-row: 1;
    min-height: 38px;
    height: 38px;
    padding: 7px 10px 7px 10px;
    font-size: 15px;
  }
  .amazon-global-search button {
    grid-column: 1;
    grid-row: 1;
    width: 40px;
    min-height: 38px;
    background: #fff;
    color: #111;
  }
  .amazon-global-search button:hover { background: #fff; }
  .amazon-delivery {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    min-height: 30px;
    height: 30px;
    gap: 6px;
    padding: 0 5px;
    border: 0;
    color: #111;
  }
  .amazon-location-pin {
    display: block;
    align-self: center;
    width: 17px;
    height: 18px;
    margin: 0;
  }
  .amazon-location-pin svg {
    width: 17px;
    height: 18px;
    fill: #111;
  }
  .amazon-delivery-kicker { display: none; }
  .amazon-delivery label { width: calc(100% - 22px); }
  .amazon-delivery select {
    width: 100%;
    max-width: none;
    height: 28px;
    padding: 0 24px 0 0;
    color: #111;
    font-size: 13px;
    font-weight: 600;
  }
  .amazon-header-actions { display: none; }
  .amazon-subnav {
    min-height: 0;
    height: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
  }
  .amazon-all-menu { position: static; }
  .amazon-all-menu > summary,
  .amazon-department-nav { display: none; }
  .amazon-footer { display: none; }
}

@media (max-width: 700px) {
  .amazon-menu-panel {
    position: fixed;
    inset: 0 0 58px 0;
    width: 100vw;
    height: auto;
    max-height: none;
    border: 0;
    background: #fff;
    box-shadow: none;
    overflow-y: auto;
  }
  .amazon-all-menu[open]::before { display: none; }
  .amazon-menu-head {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 56px;
    display: grid;
    grid-template-columns: 30px minmax(0,1fr) 36px;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: linear-gradient(180deg, var(--om-mobile-top-2), var(--om-mobile-top));
  }
  .amazon-menu-head a { color: #111; font-size: 16px; }
  .amazon-menu-user-icon {
    width: 27px;
    height: 27px;
    border: 1px solid rgba(0,0,0,.14);
  }
  .amazon-menu-user-icon svg { fill: #111; }
  .amazon-menu-close { top: 10px; right: 10px; color: #111; }
  .amazon-menu-panel nav { padding: 10px 0; }
  .amazon-menu-panel h2 { padding: 6px 16px 9px; font-size: 17px; }
  .amazon-menu-panel nav > a {
    min-height: 44px;
    padding: 0 16px;
    border-top: 1px solid #edf0f0;
    font-size: 14px;
  }

  .amazon-mobile-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 140;
    height: 58px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    align-items: stretch;
    border-top: 1px solid #cfd3d5;
    background: rgba(255,255,255,.98);
    box-shadow: 0 -1px 4px rgba(0,0,0,.08);
  }
  .amazon-mobile-bottom-nav a,
  .amazon-mobile-bottom-nav button {
    position: relative;
    min-width: 0;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: #111;
    font: inherit;
    font-size: 24px;
    text-decoration: none;
    cursor: pointer;
  }
  .amazon-mobile-bottom-nav a:first-child::before {
    content: "";
    position: absolute;
    top: 0;
    left: 26%;
    right: 26%;
    height: 3px;
    background: #111;
  }
  .amazon-mobile-cart-nav strong {
    position: absolute;
    top: 4px;
    left: 54%;
    min-width: 16px;
    min-height: 16px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #ff7a00;
    color: #111;
    font-size: 10px;
  }

  .amazon-destination-notice {
    position: fixed;
    z-index: 130;
    top: auto;
    left: 0;
    right: 0;
    bottom: 58px;
    width: auto;
    display: grid;
    gap: 12px;
    border: 0;
    border-top: 1px solid #cfd3d5;
    border-radius: 14px 14px 0 0;
    padding: 15px 16px 17px;
    background: #fff;
    box-shadow: 0 -5px 22px rgba(0,0,0,.18);
  }
  .amazon-destination-notice strong { font-size: 18px; font-weight: 700; }
  .amazon-destination-notice-actions { justify-content: flex-end; }
  .amazon-destination-notice button {
    min-height: 34px;
    border-radius: 17px;
    padding: 0 14px;
  }
}

@media (max-width: 700px) {
  .amazon-home {
    min-height: 0;
    padding-bottom: 72px;
    background: #f3f3f3;
  }
  .amazon-home-hero {
    min-height: 0;
    padding: 8px 8px 10px;
    background: linear-gradient(180deg, #f2d0bd 0%, #f7ebe4 100%);
    color: #111;
  }

  .amazon-search-page {
    width: 100%;
    max-width: none;
    padding: 7px 8px 74px;
  }
  .amazon-filter-sidebar {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 0 0 8px;
    scrollbar-width: none;
  }
  .amazon-filter-sidebar::-webkit-scrollbar { display: none; }
  .amazon-filter-sidebar section {
    flex: 0 0 auto;
    min-width: 128px;
    margin: 0;
    border: 1px solid #aeb4b7;
    border-radius: 8px;
    padding: 7px 9px;
    background: #fff;
  }
  .amazon-filter-sidebar h2 { font-size: 12px; }
  .amazon-filter-sidebar a,
  .amazon-filter-sidebar span { font-size: 11px; }
}

@media (max-width: 700px) {
  .product-page {
    width: 100%;
    max-width: none;
    padding: 0 10px 78px;
  }
  .product-layout {
    display: block;
    padding: 0;
  }
  .product-gallery {
    position: static;
    width: calc(100% + 20px);
    margin-left: -10px;
    background: #fff;
  }
  .product-media-stage {
    min-height: 380px;
    display: grid;
    place-items: center;
    background: #fff;
  }
  .product-visual-large {
    width: 100%;
    height: 370px;
    object-fit: contain;
  }
  .product-gallery:has(.product-gallery-thumbnails) { display: block; }
  .product-gallery:has(.product-gallery-thumbnails) .product-media-stage { display: grid; }
  .product-gallery:has(.product-gallery-thumbnails) .product-gallery-thumbnails {
    display: flex;
    flex-direction: row;
    gap: 7px;
    overflow-x: auto;
    padding: 6px 10px 10px;
  }
  .product-purchase-panel { padding-top: 8px; }
  .product-purchase-panel h1 {
    margin: 3px 0 8px;
    font-size: 17px;
    line-height: 1.25;
  }
  .amazon-product-price-block { padding: 9px 0; }
  .amazon-product-price-block > strong { font-size: 26px; }
  .product-facts { font-size: 12px; }
  .product-trust-strip { grid-template-columns: 1fr; }
  .product-buy-box {
    margin-top: 12px;
    border: 0;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    padding: 14px 0;
  }

  .cart-page {
    width: 100%;
    max-width: none;
    padding: 12px 10px 74px;
    background: #fff;
  }
  .cart-overview {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .cart-summary-card {
    grid-row: 1;
    border: 0;
    border-bottom: 1px solid #ddd;
    padding: 4px 0 14px;
  }
  .cart-items { grid-row: 2; }
  .cart-summary-card .button-primary {
    width: 100%;
    min-height: 38px;
    border-radius: 19px;
    font-size: 13px;
  }
  .cart-line {
    grid-template-columns: 40% minmax(0,1fr);
    gap: 10px;
    padding: 12px 0;
  }
  .cart-line-media {
    width: 100%;
    min-height: 150px;
  }
  .cart-line-image {
    width: 100%;
    height: 150px;
    object-fit: contain;
  }
  .amazon-cart-line-price {
    grid-column: 2;
    justify-items: start;
  }
  .amazon-cart-line-controls { gap: 6px; }
  .amazon-cart-quantity { min-height: 30px; }

  .amazon-account-dashboard,
  .account-page,
  .tracking-page,
  .account-auth-page {
    width: 100%;
    max-width: none;
    padding: 12px 10px 74px;
    background: #fff;
  }
  .amazon-account-card-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 700px) {
  body:has(.product-page) {
    padding-bottom: 60px;
  }
  body:has(.product-page) .amazon-mobile-bottom-nav {
    display: none;
  }
  .product-buy-box .product-cart-form {
    position: fixed;
    z-index: 150;
    left: 12px;
    right: 12px;
    bottom: 8px;
    margin: 0;
    padding: 0;
  }
  .product-buy-box .product-cart-form .button {
    width: 100%;
    min-height: 42px;
    border: 0;
    border-radius: 21px;
    background: #ffd814;
    color: #111;
    box-shadow: 0 1px 3px rgba(0,0,0,.16);
    font-size: 13px;
  }
  .product-buy-box .product-primary-action {
    width: 100%;
  }
}

@media (max-width: 700px) {
  .amazon-mobile-bottom-nav > a > span[aria-hidden="true"],
  .amazon-mobile-bottom-nav > button > span[aria-hidden="true"] {
    display: none;
  }
  .amazon-mobile-bottom-nav > a:first-child::after {
    content: "⌂";
    font-family: Arial, sans-serif;
    font-size: 27px;
    line-height: 1;
  }
  .amazon-mobile-bottom-nav > a:nth-child(2)::before {
    content: "";
    position: absolute;
    top: 12px;
    width: 11px;
    height: 11px;
    border: 2px solid #111;
    border-radius: 50%;
  }
  .amazon-mobile-bottom-nav > a:nth-child(2)::after {
    content: "";
    position: absolute;
    bottom: 10px;
    width: 18px;
    height: 9px;
    border: 2px solid #111;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
  }
  .amazon-mobile-cart-nav::before {
    content: "";
    width: 23px;
    height: 14px;
    border: 2px solid #111;
    border-top-width: 1px;
    transform: skew(-7deg);
  }
  .amazon-mobile-cart-nav::after {
    content: "••";
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: 7px;
    font-size: 13px;
  }
  .amazon-mobile-bottom-nav > a:nth-child(4)::after {
    content: "▤";
    font-family: Arial, sans-serif;
    font-size: 27px;
    line-height: 1;
  }
  .amazon-mobile-bottom-nav > button::after {
    content: "☰";
    font-family: Arial, sans-serif;
    font-size: 27px;
    line-height: 1;
  }
}

@media (max-width: 700px) {
  .amazon-account-heading {
    margin: 0 -10px 10px;
    padding: 10px 14px;
    background: linear-gradient(180deg, #f4d8ad, #efc17f);
  }
  .amazon-account-heading h1 {
    font-size: 20px;
    font-weight: 700;
  }
  .amazon-account-heading p {
    font-size: 11px;
  }
  .amazon-account-card-grid {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    margin: 0 0 12px;
    scrollbar-width: none;
  }
  .amazon-account-card-grid::-webkit-scrollbar { display: none; }
  .amazon-account-card {
    flex: 0 0 auto;
    min-height: 34px;
    min-width: 92px;
    display: grid;
    place-items: center;
    border: 1px solid #9aa1a5;
    border-radius: 18px;
    padding: 0 13px;
  }
  .amazon-account-card-icon,
  .amazon-account-card small {
    display: none;
  }
  .amazon-account-card strong {
    font-size: 12px;
    font-weight: 500;
  }
  .amazon-account-content {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .account-panel {
    border-radius: 4px;
    padding: 12px;
  }
}

@media (max-width: 700px) {
  .amazon-filter-sidebar.is-mobile-open {
    position: fixed;
    z-index: 160;
    inset: 80px 0 58px;
    display: block;
    padding: 48px 0 72px;
    overflow-y: auto;
    background: #fff;
  }
  .amazon-filter-sidebar.is-mobile-open::before {
    content: "Filters";
    position: fixed;
    z-index: 161;
    top: 80px;
    left: 0;
    right: 0;
    min-height: 42px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding: 0 16px;
    background: #fff;
    color: #111;
    font-size: 15px;
    font-weight: 700;
  }
  .amazon-filter-sidebar.is-mobile-open section {
    min-width: 0;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    padding: 12px 16px;
  }
  .amazon-filter-sidebar.is-mobile-open section h2 {
    margin-bottom: 7px;
    font-size: 14px;
  }
  .amazon-filter-sidebar.is-mobile-open section a,
  .amazon-filter-sidebar.is-mobile-open section span {
    display: block;
    min-height: 30px;
    font-size: 12px;
  }
  body.mobile-filters-open {
    overflow: hidden;
  }
}

@media (max-width: 700px) {
  .cart-line-media {
    display: grid;
    place-items: center;
    min-height: 150px;
    background: #f7f7f7;
  }

  .cart-line-media img,
  .cart-line-image {
    width: 100%;
    height: 150px;
    object-fit: contain;
  }
}

@media (max-width: 700px) {
  .amazon-filter-sidebar {
    display: none;
  }

  .amazon-filter-sidebar.is-mobile-open {
    display: block;
  }
}

/* Final mobile navigation: Home | Account | Free Shipping | Cart | Menu */
@media (max-width: 700px) {
  body {
    padding-bottom: 66px;
  }

  .amazon-mobile-bottom-nav {
    height: 66px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
    gap: 2px;
    padding: 5px 7px max(5px, env(safe-area-inset-bottom));
    border-top: 1px solid #e3e6e6;
    background: #fff;
    box-shadow: 0 -3px 14px rgba(15,17,17,.08);
  }

  .amazon-mobile-bottom-nav .amazon-mobile-nav-item {
    position: relative;
    width: 100%;
    height: 52px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 12px;
    padding: 0;
    background: transparent;
    color: #202124;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .amazon-mobile-bottom-nav .amazon-mobile-nav-item svg {
    width: 27px;
    height: 27px;
    display: block;
    overflow: visible;
  }

  .amazon-mobile-bottom-nav .amazon-mobile-nav-item:hover,
  .amazon-mobile-bottom-nav .amazon-mobile-nav-item:focus-visible {
    background: #f7f8f8;
    outline: none;
  }

  .amazon-mobile-bottom-nav .amazon-mobile-nav-item.is-active {
    color: #111;
  }

  .amazon-mobile-bottom-nav .amazon-mobile-nav-item.is-active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 1px;
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: #ff7a00;
    transform: translateX(-50%);
  }

  .amazon-mobile-bottom-nav > a:first-child::before,
  .amazon-mobile-bottom-nav > a:first-child::after,
  .amazon-mobile-bottom-nav > a:nth-child(2)::before,
  .amazon-mobile-bottom-nav > a:nth-child(2)::after,
  .amazon-mobile-bottom-nav > a:nth-child(4)::after,
  .amazon-mobile-bottom-nav > button::after,
  .amazon-mobile-cart-nav::before,
  .amazon-mobile-cart-nav::after {
    content: none;
  }

  .amazon-mobile-cart-nav strong {
    position: absolute;
    top: 5px;
    left: calc(50% + 8px);
    min-width: 17px;
    height: 17px;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 10px;
    padding: 0 3px;
    background: #ff7a00;
    color: #111;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
  }

  .amazon-mobile-free-shipping {
    position: relative;
    min-width: 0;
    width: 100%;
    height: 52px;
    display: grid;
    place-items: center;
    align-self: center;
    border: 0;
    border-radius: 12px;
    padding: 0 2px;
    background: transparent;
    color: #202124;
    box-shadow: none;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }

  .amazon-mobile-free-shipping-label {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    overflow: hidden;
    color: #111;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .amazon-mobile-free-shipping-label strong {
    color: #ff7a00;
    font-size: inherit;
    font-weight: 800;
  }

  .amazon-mobile-free-shipping:hover,
  .amazon-mobile-free-shipping:focus-visible {
    background: #f7f8f8;
    outline: none;
  }

  .amazon-mobile-free-shipping.is-active::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 1px;
    width: 18px;
    height: 3px;
    border-radius: 999px;
    background: #ff7a00;
    transform: translateX(-50%);
  }

  .amazon-menu-panel {
    bottom: 66px;
  }

  .amazon-destination-notice {
    bottom: 66px;
  }

  .mobile-search-filters[aria-expanded="true"] {
    bottom: 75px;
  }

  .amazon-free-shipping-page {
    min-height: calc(100vh - 146px);
    padding-bottom: 78px;
    background: #fff;
  }

  .amazon-free-shipping-hero {
    margin: 0;
    padding: 18px 14px 16px;
    background: linear-gradient(135deg, #fff8dc 0%, #ffe58a 100%);
    border-bottom: 1px solid #ead27a;
  }

  .amazon-free-shipping-hero h1 {
    margin: 2px 0 5px;
    color: #111;
    font-size: 24px;
    line-height: 1.05;
  }

  .amazon-free-shipping-hero p {
    margin: 0;
    color: #4b4f52;
    font-size: 12px;
    line-height: 1.35;
  }

  .amazon-free-shipping-kicker {
    color: #b45309;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
}

.amazon-free-shipping-page {
  background: #fff;
}

@media (max-width: 700px) {
  body:has(.product-page) {
    padding-bottom: 126px;
  }

  body:has(.product-page) .amazon-mobile-bottom-nav {
    display: grid;
  }

  .product-buy-box .product-cart-form {
    bottom: 74px;
  }
}

/* WCAG 2.2 target-size hardening.
   Keep every persistent navigation control at least 24px tall/wide even when
   page-specific layout or browser sizing changes after form POST navigation. */
.amazon-header-actions .amazon-header-link,
.amazon-header-actions .amazon-cart-link {
  min-height: 44px !important;
  padding-top: 5px;
  padding-bottom: 5px;
}

.amazon-subnav {
  min-height: 44px;
}

.amazon-all-menu > summary,
.amazon-department-nav > a {
  min-height: 44px !important;
}

@media (max-width: 700px) {
  .amazon-mobile-bottom-nav .amazon-mobile-nav-item,
  .amazon-mobile-bottom-nav .amazon-mobile-free-shipping {
    min-width: 44px;
    min-height: 44px;
  }

  .amazon-mobile-bottom-nav > button[data-mobile-menu-trigger] {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* OneMkan focused storefront refresh */
.amazon-home,
.amazon-search-page,
.amazon-department-page {
  min-width: 0;
  overflow-x: clip;
}

.amazon-home {
  min-height: 0;
  padding: 0 0 40px;
  background: #f5f7f8;
}

.amazon-home-hero {
  width: min(100% - 40px, 1440px);
  min-height: 0;
  margin: 20px auto 16px;
  padding: clamp(26px, 4vw, 48px);
  display: block;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 22px;
  background: linear-gradient(125deg, #103d44 0%, #1a5d68 60%, #327d80 100%);
  color: #fff;
  box-shadow: 0 12px 28px rgba(12, 47, 54, .12);
}

.amazon-home-hero h1 {
  max-width: 15ch;
  margin: 0;
  color: inherit;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.amazon-home-products,
.amazon-department-products {
  width: min(100% - 40px, 1440px);
  margin: 0 auto;
}

.amazon-home-products .amazon-home-product-grid.product-grid,
.amazon-department-products .amazon-home-product-grid.product-grid,
.storefront-search-products.product-grid {
  grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.premium-product-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e0e6e7;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(17, 45, 50, .045);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.premium-product-card:hover {
  transform: translateY(-2px);
  border-color: #b7cecf;
  box-shadow: 0 12px 26px rgba(17, 45, 50, .1);
}

.premium-product-link {
  height: 100%;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.premium-product-media {
  width: 100%;
  aspect-ratio: 1 / .9;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 16px;
  background: #f0f5f5;
}

.premium-product-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.premium-product-copy {
  min-width: 0;
  flex: 1;
  padding: 15px 16px 14px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.premium-product-copy .product-brand {
  margin: 0 0 5px;
  color: #536366;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.premium-product-copy h3 {
  min-height: 2.7em;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  color: #20383c;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.premium-product-copy .product-meta {
  max-height: 3em;
  margin: 8px 0 0;
  overflow: hidden;
  color: #536366;
  font-size: 11px;
  line-height: 1.5;
}

.premium-product-footer {
  width: 100%;
  margin-top: auto;
  padding-top: 12px;
  display: grid;
  gap: 5px;
  border-top: 1px solid #edf0f1;
}

.premium-product-footer .price-prompt {
  color: #304a4e;
  font-size: 11px;
  font-weight: 750;
}

.premium-product-footer .product-price-note {
  color: #536366;
  font-size: 11px;
  line-height: 1.4;
}

.premium-product-cta {
  width: fit-content;
  margin-top: 6px;
  padding: 0;
  background: transparent;
  color: #17616a;
  font-size: 12px;
  font-weight: 800;
}

.premium-product-card:hover .premium-product-cta {
  background: transparent;
  color: #0d4249;
  text-decoration: underline;
}

.storefront-search-products {
  padding-bottom: 32px !important;
}

.amazon-department-page {
  min-height: 0;
  padding: 16px 0 40px;
  background: #f5f7f8;
}

.product-media-stage-pending {
  min-height: 360px;
  display: grid;
  place-items: center;
  padding: 26px;
  border: 1px solid #e0e8e8;
  border-radius: 18px;
  background: linear-gradient(140deg, #eef4f3, #f8f9f7);
}

.product-media-unavailable-copy {
  max-width: 24ch;
  margin: 0;
  color: #647578;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}

.amazon-destination-notice {
  position: relative;
  inset: auto;
  z-index: 1;
  width: min(100% - 40px, 1440px);
  min-height: 0;
  margin: 10px auto 0;
  padding: 11px 14px;
  border: 1px solid #dce6e6;
  border-radius: 12px;
  background: #eef5f4;
  color: #315054;
  box-shadow: none;
}

.amazon-destination-notice > div:first-child {
  display: grid;
  gap: 3px;
}

.amazon-destination-notice strong {
  color: #24484c;
  font-size: 12px;
}

.amazon-destination-notice span {
  color: #536366;
  font-size: 11px;
  line-height: 1.4;
}

.amazon-destination-notice-actions {
  flex: 0 0 auto;
  gap: 7px;
}

.amazon-destination-notice-actions button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #cadada;
  border-radius: 8px;
  background: #fff;
  color: #31585c;
  font-size: 11px;
}

.amazon-destination-notice-actions button.is-primary {
  border-color: #1d6269;
  background: #1d6269;
  color: #fff;
}

.amazon-global-search {
  min-width: 0;
}

.amazon-global-search input {
  min-width: 0;
}

.amazon-department-nav {
  gap: 4px;
}

.amazon-department-nav a {
  flex: 0 0 auto;
  min-height: 34px;
  padding-inline: 12px;
  border-radius: 8px;
}

@media (max-width: 760px) {
  .amazon-home-hero,
  .amazon-home-departments,
  .amazon-home-products,
  .amazon-department-products,
  .storefront-department-hero,
  .storefront-breadcrumbs,
  .amazon-destination-notice {
    width: min(100% - 24px, 1440px);
  }

  .amazon-home-hero {
    margin-top: 12px;
    padding: 24px 20px;
    border-radius: 17px;
  }

  .amazon-home-hero h1 {
    font-size: clamp(28px, 8vw, 38px);
  }

  .amazon-home-products .amazon-home-product-grid.product-grid,
  .amazon-department-products .amazon-home-product-grid.product-grid,
  .storefront-search-products.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .premium-product-card {
    border-radius: 13px;
  }

  .premium-product-media {
    aspect-ratio: 1 / 1;
    padding: 10px;
  }

  .premium-product-copy {
    padding: 11px 11px 12px;
  }

  .premium-product-copy h3 {
    font-size: 13px;
  }

  .premium-product-copy .product-meta,
  .premium-product-footer .product-price-note {
    font-size: 10px;
  }

  .amazon-search-page.shell {
    width: calc(100% - 24px);
    padding-inline: 0;
  }

  .amazon-destination-notice {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
    margin-top: 8px;
    padding: 10px 11px;
  }

  .amazon-destination-notice-actions {
    width: 100%;
    display: flex;
  }

  .amazon-destination-notice-actions button {
    min-width: 0;
  }

  .amazon-destination-notice-actions button:first-child {
    margin-right: auto;
  }

  .amazon-department-page {
    padding-top: 12px;
  }

  .product-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .product-gallery {
    width: auto;
    margin: 0;
  }

  .product-media-stage-pending {
    min-height: min(78vw, 340px);
  }

  .product-purchase-panel,
  .product-buy-box {
    min-width: 0;
  }
}

@media (max-width: 390px) {
  .amazon-global-search {
    grid-template-columns: minmax(0, 1fr) 42px;
  }

  .amazon-global-search > select {
    display: none;
  }

  .amazon-header-main {
    min-width: 0;
  }

  .premium-product-footer .product-card-cta {
    font-size: 11px;
  }
}

/* Amazon-style homepage: compact populated merchandise modules */
.amazon-home.amazon-home-modules {
  display: block;
  width: min(100%, 1480px);
  margin: 0 auto;
  padding: 14px 16px 24px;
  background: #e3e6e6;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.amazon-department-module {
  min-width: 0;
  padding: 15px;
  background: #fff;
  color: #0f1111;
  border: 1px solid #e5e5e5;
  border-radius: 0;
  box-shadow: none;
}

.amazon-department-module > h2 {
  margin: 0 0 12px;
  color: #0f1111;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
}

.amazon-empty-home {
  max-width: 720px;
  padding: 18px 20px;
  background: #fff;
  color: #565959;
  border: 1px solid #e5e5e5;
}

.amazon-empty-home p {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 540px) {
  .amazon-home.amazon-home-modules {
    padding: 10px 10px 18px;
  }

  .amazon-department-module {
    padding: 13px;
  }

  .amazon-department-module > h2 {
    margin-bottom: 10px;
    font-size: 18px;
  }
}

@media (min-width: 701px) {
  .amazon-header-main:not(:has(.amazon-delivery)) {
    grid-template-columns: auto minmax(320px, 1fr) auto;
  }
}

/* OneMkan mobile viewport fit and named bottom navigation */
@media (max-width: 700px) {
  .amazon-header-main {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-rows: 46px 0;
  }

  .amazon-header-main:has(.amazon-delivery) {
    grid-template-rows: 46px 30px;
  }

  .amazon-global-search {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .amazon-global-search input {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  .amazon-search-page {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: clip;
  }

  .storefront-search-products.product-grid {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin: 14px 0 28px;
    padding: 0;
    list-style: none;
  }

  .storefront-search-products > .product-card {
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 1px solid #e3e6e6;
    background: #fff;
  }

  .storefront-search-products .product-link {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 10px;
    box-sizing: border-box;
  }

  .storefront-search-products .product-media-frame {
    width: 96px;
    height: 96px;
    aspect-ratio: 1;
    margin: 0;
    padding: 4px;
  }

  .storefront-search-products .product-visual {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .storefront-search-products .product-card-body {
    display: flex;
    min-width: 0;
    gap: 4px;
    padding: 0;
  }

  .storefront-search-products .product-card-body h3 {
    display: -webkit-box;
    max-width: 100%;
    margin: 0;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .storefront-search-products .product-card-body .product-meta {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .storefront-search-products .product-card-footer {
    min-width: 0;
    flex-flow: row wrap;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
    padding: 0;
    border: 0;
  }

  .storefront-search-products .product-card-cta {
    font-size: 11px;
  }

  .amazon-mobile-bottom-nav .amazon-mobile-nav-item {
    box-sizing: border-box;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 2px;
    padding: 4px 1px 7px;
    font-size: 10px;
    line-height: 1;
  }

  .amazon-mobile-bottom-nav .amazon-mobile-nav-item svg {
    width: 22px;
    height: 22px;
  }

  .amazon-mobile-nav-label {
    display: block;
    max-width: 100%;
    color: inherit;
    font-size: 9px;
    line-height: 1;
    white-space: nowrap;
  }

  .amazon-mobile-cart-nav strong {
    top: 2px;
  }

  .product-page,
  .product-layout,
  .product-gallery,
  .product-purchase-panel,
  .product-buy-box {
    min-width: 0;
    max-width: 100%;
  }

  .product-purchase-panel h1 {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .product-gallery-thumbnails {
    max-width: 100%;
    overflow-x: auto;
  }
}

@media (max-width: 700px) {
  .amazon-home.amazon-home-modules {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .amazon-department-module {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
}

.amazon-menu-country-change {
  display: block;
  box-sizing: border-box;
  width: calc(100% - 32px);
  min-height: 40px;
  margin: 10px 16px;
  padding: 8px 12px;
  border: 1px solid #b7c4ca;
  border-radius: 4px;
  background: #fff;
  color: #17616a;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.amazon-menu-country-change:hover,
.amazon-menu-country-change:focus-visible {
  border-color: #17616a;
  background: #f4f8f8;
}

.amazon-menu-country-status {
  margin: 10px 16px;
  color: #565959;
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 700px) {

  .amazon-destination-notice {
    box-sizing: border-box;
    align-items: flex-start;
    gap: 5px;
    margin: 7px auto 0;
    padding: 6px 9px;
    border-radius: 6px;
  }

  .amazon-destination-notice > div:first-child {
    display: grid;
    min-width: 0;
    gap: 2px;
  }

  .amazon-destination-notice > div:first-child strong {
    font-size: 13px;
    line-height: 1.2;
  }

  .amazon-destination-notice > div:first-child span {
    font-size: 11px;
    line-height: 1.2;
  }

  .amazon-destination-notice-actions {
    width: 100%;
    align-items: center;
    gap: 8px;
  }

  .amazon-destination-notice-actions button {
    min-height: 30px;
    padding: 5px 10px;
    font-size: 12px;
  }

  .product-gallery:has(.product-gallery-thumbnails) .product-gallery-thumbnails {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .product-gallery:has(.product-gallery-thumbnails) .product-gallery-thumbnails > .product-gallery-thumb {
    box-sizing: border-box;
    flex: 0 0 58px;
    width: 58px;
    min-width: 58px;
    max-width: 58px;
    height: 58px;
    padding: 4px;
  }

  .product-gallery:has(.product-gallery-thumbnails) .product-gallery-thumbnails > .product-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

/* Keep unavailable country scope truthful without restoring the large notice. */
.amazon-delivery-unavailable {
  box-sizing: border-box;
  max-width: 178px;
  font-size: 12px;
  line-height: 1.2;
  color: #f3f4f5;
}

.amazon-delivery-unavailable > span:last-child {
  min-width: 0;
}

@media (max-width: 700px) {
  .amazon-delivery-unavailable {
    max-width: 100%;
    font-size: 12px;
    line-height: 1.1;
    color: #111;
  }
}

/* Keep the five-item mobile navigation visible on product pages. */
@media (max-width: 700px) {
  body:has(.product-page) .amazon-mobile-bottom-nav {
    display: grid !important;
  }
}

/* OneMkan storefront redesign: modular home, visual categories, responsive product detail */
.onemkan-home.amazon-home-modules { width:min(100%,1500px); padding:14px 20px 32px; background:#e3e6e6; }
.amazon-home-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 14px; padding:15px 20px; background:#fff; border:1px solid #d5d9d9; }
.amazon-home-intro > div > p:last-child { margin:5px 0 0; color:#565959; font-size:13px; }
.amazon-home-categories-link,.onemkan-categories-all-link { flex:0 0 auto; color:#007185; font-size:13px; font-weight:600; text-decoration:none; }
.amazon-home-categories-link:hover,.onemkan-categories-all-link:hover,.onemkan-category-shop-link:hover { color:#c45500; text-decoration:underline; }
.amazon-department-module-heading,.onemkan-category-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.amazon-department-module-heading > h2,.onemkan-category-heading > h2 { min-width:0; margin:0 0 10px; }
.amazon-department-module-heading > a,.onemkan-category-heading > a { display:grid; flex:0 0 30px; width:30px; height:30px; margin:-4px -4px 4px 0; place-items:center; color:#007185; font-size:24px; line-height:1; text-decoration:none; }
.amazon-department-module { padding:14px; }

.onemkan-categories-page { width:min(100% - 32px,1480px); min-height:60vh; margin:0 auto; padding:18px 0 44px; }
.onemkan-categories-header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; padding:18px 20px; background:#fff; border:1px solid #d5d9d9; }
.onemkan-categories-header h1 { margin:0; color:#0f1111; font-size:25px; line-height:1.2; }
.onemkan-categories-header p:last-child { margin:6px 0 0; color:#565959; font-size:13px; }
.onemkan-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:14px; }
.onemkan-category-card { min-width:0; padding:14px; background:#fff; border:1px solid #d5d9d9; }
.onemkan-category-heading { min-height:34px; }
.onemkan-category-heading h2 { margin-bottom:8px; font-size:18px; line-height:1.25; }
.onemkan-category-previews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:0; list-style:none; }
.onemkan-category-previews > li { min-width:0; }
.onemkan-category-previews a { display:flex; min-width:0; height:100%; flex-direction:column; color:#0f1111; font-size:11px; line-height:1.3; text-decoration:none; }
.onemkan-category-previews a:hover { color:#c45500; text-decoration:underline; }
.onemkan-category-previews img { display:block; width:100%; aspect-ratio:1; margin:0 0 7px; padding:5px; object-fit:contain; background:#fff; border:1px solid #e7e7e7; }
.onemkan-category-previews span { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.onemkan-category-shop-link { display:inline-block; margin-top:11px; color:#007185; font-size:12px; text-decoration:none; }
.onemkan-categories-empty { max-width:700px; padding:22px; background:#fff; border:1px solid #d5d9d9; }
.onemkan-categories-empty h2 { margin:0 0 8px; font-size:19px; }
.onemkan-categories-empty p { color:#565959; font-size:13px; }
.onemkan-categories-empty a { color:#007185; font-size:13px; }

.amazon-categories-link { display:inline-flex; min-height:36px; flex:0 0 auto; align-items:center; padding:0 11px; color:#fff; font-size:13px; font-weight:700; text-decoration:none; }
.amazon-categories-link:hover,.amazon-categories-link:focus-visible { outline:1px solid #fff; outline-offset:-2px; }

/* Product gallery, details, and availability stay tied to the selected real item. */
.product-page { width:min(100% - 36px,1480px); }
.product-page .product-layout { grid-template-columns:minmax(0,1.2fr) minmax(310px,.94fr) minmax(248px,286px); align-items:start; gap:22px; }
.product-page .product-gallery { display:grid; position:sticky; top:14px; grid-template-columns:58px minmax(0,1fr); align-items:start; gap:11px; width:auto; margin:0; }
.product-page .product-gallery-thumbnails { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:8px; max-height:560px; overflow-y:auto; padding:2px; }
.product-page .product-gallery-thumb { width:52px; height:52px; flex:0 0 52px; padding:3px; border:1px solid #c9cccc; border-radius:3px; background:#fff; }
.product-page .product-gallery-thumb.is-active,.product-page .product-gallery-thumb:focus-visible { border:2px solid #007185; outline:none; }
.product-page .product-media-stage { grid-column:2; grid-row:1; display:grid; min-width:0; aspect-ratio:auto; min-height:clamp(430px,42vw,620px); place-items:center; overflow:hidden; background:#fff; border:1px solid #e7e7e7; }
.product-page .product-visual-large { display:block; width:100%; height:clamp(430px,42vw,620px); max-height:620px; object-fit:contain; }
.product-page .product-gallery:not(:has(.product-gallery-thumbnails)) { grid-template-columns:minmax(0,1fr); }
.product-page .product-gallery:not(:has(.product-gallery-thumbnails)) .product-media-stage { grid-column:1; }
.product-page .product-purchase-panel { min-width:0; padding:0; }
.product-page .product-purchase-panel h1 { font-size:23px; line-height:1.28; overflow-wrap:anywhere; }
.product-page .product-description,.product-page .product-facts,.product-page .amazon-about-item { font-size:13px; line-height:1.5; }
.product-page .product-facts > div { padding:7px 0; }
.product-page .product-buy-box { position:sticky; top:14px; min-width:0; padding:16px; border-color:#d5d9d9; border-radius:6px; background:#fff; }

@media (max-width:1160px) {
  .onemkan-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .product-page .product-layout { grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); column-gap:20px; row-gap:18px; }
  .product-page .product-gallery { grid-column:1; grid-row:1 / span 2; }
  .product-page .product-purchase-panel { grid-column:2; grid-row:1; }
  .product-page .product-buy-box { grid-column:2; grid-row:2; position:static; }
  .product-page .product-media-stage,.product-page .product-visual-large { min-height:clamp(390px,48vw,560px); height:clamp(390px,48vw,560px); }
}
@media (max-width:800px) {
  .onemkan-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-page { width:100%; max-width:none; padding:0 12px 90px; box-sizing:border-box; }
  .product-page .product-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-bottom:20px; }
  .product-page .product-gallery { position:static; grid-column:1; grid-row:1; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; width:100%; margin:0; background:#fff; }
  .product-page .product-media-stage,.product-page .product-visual-large { grid-column:1; grid-row:1; width:100%; min-height:0; height:clamp(285px,78vw,510px); max-height:510px; }
  .product-page .product-gallery-thumbnails { grid-column:1; grid-row:2; display:flex; flex-direction:row; gap:8px; max-height:none; overflow-x:auto; overflow-y:hidden; padding:2px 2px 7px; scrollbar-width:thin; }
  .product-page .product-gallery-thumb { width:58px; height:58px; flex-basis:58px; }
  .product-page .product-purchase-panel,.product-page .product-buy-box { grid-column:1; grid-row:auto; }
  .product-page .product-purchase-panel { padding:12px 0 0; }
  .product-page .product-purchase-panel h1 { font-size:21px; }
  .product-page .product-buy-box { position:static; margin:14px 0 0; padding:14px; border:1px solid #d5d9d9; border-radius:5px; }
}
@media (max-width:700px) {
  .amazon-categories-link { display:none; }
}
@media (max-width:540px) {
  .onemkan-home.amazon-home-modules { padding:8px 8px 24px; }
  .amazon-home-intro { align-items:flex-start; margin-bottom:9px; padding:12px; }
  .amazon-home-intro > div > p:last-child { max-width:30ch; font-size:11px; }
  .amazon-department-module { padding:9px; }
  .onemkan-categories-page { width:min(100% - 20px,1480px); padding-top:12px; padding-bottom:92px; }
  .onemkan-categories-header { align-items:flex-start; gap:10px; padding:13px; }
  .onemkan-categories-header h1 { font-size:21px; }
  .onemkan-categories-header p:last-child { max-width:28ch; font-size:11px; }
  .onemkan-categories-all-link { max-width:88px; font-size:11px; line-height:1.35; }
  .onemkan-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .onemkan-category-card { padding:9px; }
  .onemkan-category-heading h2 { font-size:14px; }
  .onemkan-category-previews { grid-template-columns:minmax(0,1fr); gap:8px; }
  .onemkan-category-previews img { max-height:145px; }
  .onemkan-category-previews span { font-size:10px; }
  .product-page { padding:0 10px 90px; }
  .product-page .product-media-stage,.product-page .product-visual-large { height:clamp(280px,82vw,410px); }
  .product-page .product-gallery-thumb { width:54px; height:54px; flex-basis:54px; }
  .product-page .product-purchase-panel h1 { font-size:19px; }
}
@media (max-width:360px) {
  .amazon-home-module-grid,.onemkan-category-grid { grid-template-columns:minmax(0,1fr); }
  .amazon-home-family-grid,.onemkan-category-previews { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Keep mobile thumbnails below the stage despite legacy :has() selector specificity. */
@media (max-width:800px) {
  .product-page .product-gallery:has(.product-gallery-thumbnails) .product-media-stage {
    grid-column:1;
    grid-row:1;
  }
  .product-page .product-gallery:has(.product-gallery-thumbnails) .product-gallery-thumbnails {
    grid-column:1;
    grid-row:2;
    display:flex;
    flex-direction:row;
    min-width:0;
    width:100%;
    max-width:100%;
    margin:0;
    overflow-x:auto;
    overflow-y:hidden;
  }
}

/* Footer department links (base.html): a wrapped row under the three columns. */
.amazon-footer-departments { width: min(100% - 40px, 1000px); margin: 0 auto; padding: 0 0 28px; }
.amazon-footer-departments h2 { margin: 0 0 10px; color: #fff; font-size: 16px; }
.amazon-footer-departments ul { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; }
.amazon-footer-departments a { display: inline-block; padding: 4px 0; color: #ddd; font-size: 12px; text-decoration: none; }
.amazon-footer-departments a:hover { text-decoration: underline; }
/* ---- onemkan-storefront.css ---- */
/*
 * OneMkan storefront components (2026-10 redesign).
 * Loaded last. New components use the `om-` namespace so they do not depend on
 * the older override layers; the few shell rules below intentionally replace
 * earlier header/menu presentation.
 * References: OneMkan mobile mockup (home + tumbler), authoritative Amazon
 * screenshots 1-10 (home modules, CCTV/popcorn results and product pages,
 * mobile drawer).
 */

:root {
  --om-navy: #131921;
  --om-navy-2: #232f3e;
  --om-navy-3: #37475a;
  --om-orange: #ff8a00;
  --om-orange-deep: #f07800;
  --om-yellow: #ffd814;
  --om-yellow-edge: #fcd200;
  --om-page: #e3e6e6;
  --om-tile: #f7f7f7;
  --om-ink: #0f1111;
  --om-muted: #565959;
  --om-link: #007185;
  --om-line: #d5d9d9;
}

/* ---------- Shell: brand, header, sub navigation ---------- */

.site-header.amazon-shell-header .onemkan-logo-image {
  display: block;
  width: 118px;
  height: auto;
  max-height: none;
}

.amazon-global-search button {
  background: var(--om-orange);
  color: #111;
}

.amazon-global-search button:hover {
  background: var(--om-orange-deep);
}

.amazon-subnav {
  gap: 2px;
}

.om-subnav-utilities {
  display: flex;
  align-items: center;
  margin-left: auto;
  flex-shrink: 0;
}

.om-subnav-utilities a {
  padding: 8px 9px;
  border: 1px solid transparent;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
}

.om-subnav-utilities a:hover {
  border-color: #fff;
}

/* ---------- Utility menu drawer ---------- */

.amazon-all-menu .amazon-menu-panel {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(365px, 88vw);
  max-height: none;
  border: 0;
  box-shadow: 0 0 40px rgba(0, 0, 0, .45);
  overflow-y: auto;
  z-index: 140;
}

.amazon-all-menu[open]::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 130;
  background: rgba(0, 0, 0, .62);
}

.amazon-menu-panel .amazon-menu-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 8px 14px 8px 22px;
  background: var(--om-navy-2);
  color: #fff;
}

.amazon-menu-panel .amazon-menu-head a {
  color: #fff;
  font-size: 19px;
  font-weight: 700;
}

.amazon-menu-panel .amazon-menu-user-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
}

.amazon-menu-panel .amazon-menu-user-icon svg {
  width: 22px;
  height: 22px;
  fill: var(--om-navy-2);
}

.amazon-menu-panel .amazon-menu-close {
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.amazon-menu-panel .om-menu-group {
  padding: 12px 0;
  border-bottom: 1px solid var(--om-line);
}

.amazon-menu-panel .om-menu-group h2 {
  padding: 6px 22px 8px;
  font-size: 17px;
  font-weight: 700;
}

.amazon-menu-panel .om-menu-group > a {
  min-height: 44px;
  padding: 0 22px;
  font-size: 15px;
}

.amazon-menu-panel .om-menu-group > a > span {
  color: #6c7070;
  font-size: 20px;
}

.amazon-menu-panel .om-menu-count {
  min-width: 24px;
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--om-orange);
  color: #111 !important;
  font-size: 12px !important;
  font-weight: 700;
  text-align: center;
}

.amazon-menu-panel .om-menu-settings {
  padding-bottom: 20px;
}

.amazon-menu-panel .om-menu-settings .amazon-menu-country-change,
.amazon-menu-panel .om-menu-settings .amazon-menu-country-status {
  display: block;
  width: calc(100% - 44px);
  margin: 4px 22px 12px;
  box-sizing: border-box;
}

.amazon-menu-panel .om-menu-settings .amazon-menu-country-status {
  color: var(--om-muted);
  font-size: 13px;
}

.amazon-menu-panel .om-menu-settings select {
  width: 100%;
  min-height: 36px;
  border: 1px solid #888c8c;
  border-radius: 6px;
  background: #f0f2f2;
  color: var(--om-ink);
  font-size: 14px;
}

body:has(.amazon-all-menu[open]) {
  overflow: hidden;
}

/* ---------- Buttons ---------- */

.om-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.om-btn-primary {
  border-color: var(--om-yellow-edge);
  background: var(--om-yellow);
  color: var(--om-ink);
}

.om-btn-primary:hover {
  background: #f7ca00;
}

.om-btn-secondary {
  border-color: var(--om-line);
  background: #fff;
  color: var(--om-ink);
}

.om-btn-block {
  display: flex;
  width: 100%;
}

/* ---------- Homepage: shopping landing ---------- */

section.om-home.amazon-home.amazon-home-modules {
  /* Full-bleed page: the hero spans the viewport (reference screenshot 1) while
     shopping content is capped and centred so wide monitors stay balanced. */
  --om-content-max: 1680px;
  --om-gutter: clamp(16px, 2vw, 32px);
  --om-inline: max(var(--om-gutter), calc((100% - var(--om-content-max)) / 2));
  display: flex;
  width: 100%;
  max-width: none;
  flex-direction: column;
  margin: 0;
  padding: 0 0 28px;
  background: var(--om-page);
}

main:has(> .om-home) {
  background: var(--om-page);
}

.om-spotlight {
  position: relative;
  order: 0;
  height: 440px;
  overflow: hidden;
}

.om-tone-2 { background: linear-gradient(105deg, #9fd7e4 0%, #cdeaf0 55%, #eef8fa 100%); }
.om-tone-3 { background: linear-gradient(105deg, #f2b8c6 0%, #f8d9e1 55%, #fdf0f3 100%); }
.om-tone-4 { background: linear-gradient(105deg, #b9d89a 0%, #dcecc9 55%, #f2f8ea 100%); }

.om-account-note {
  margin: 10px 0 14px;
  color: var(--om-muted);
  font-size: 12px;
}

.om-account-links {
  display: grid;
  gap: 0;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #e7e7e7;
}

.om-account-links a {
  display: grid;
  gap: 2px;
  padding: 11px 0;
  border-bottom: 1px solid #e7e7e7;
  color: var(--om-ink);
  text-decoration: none;
}

.om-account-links strong { font-size: 14px; }
.om-account-links span { color: var(--om-muted); font-size: 12px; }
.om-account-links a:hover strong { color: #c7511f; }
.om-rail { order: 3; }

.om-rail-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 200px;
  gap: 16px;
  margin: 0;
  padding: 0 0 8px;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.om-rail-card {
  scroll-snap-align: start;
}

.om-rail-card a {
  display: grid;
  gap: 4px;
  color: var(--om-ink);
  text-decoration: none;
}

.om-rail-media {
  position: relative;
  display: grid;
  place-items: center;
  height: 200px;
  margin-bottom: 4px;
  background: var(--om-tile);
}

.om-rail-media img {
  position: absolute;
  inset: 6%;
  width: 88%;
  height: 88%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.om-rail-title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.om-rail-card a:hover .om-rail-title { color: #c7511f; }

.om-price {
  font-size: 17px;
  font-weight: 700;
}

.om-price small {
  display: block;
  color: var(--om-muted);
  font-size: 11px;
  font-weight: 400;
}

.om-empty {
  margin: 24px 20px;
  padding: 28px;
  background: #fff;
  text-align: center;
}

/* ---------- Categories: department directory ---------- */

main:has(> .om-directory) {
  background: #fff;
}

.om-directory {
  max-width: 1440px;
  margin: 0 auto;
  padding: 14px 24px 40px;
}

.om-directory-header {
  padding: 4px 0 14px;
  border-bottom: 1px solid #e7e7e7;
}

.om-directory-header h1 {
  margin: 0 0 6px;
  color: var(--om-ink);
  font-size: 28px;
  font-weight: 700;
}

.om-directory-header p {
  margin: 0;
  color: var(--om-muted);
  font-size: 14px;
}

.om-directory-index {
  position: sticky;
  top: var(--om-hdr-top, 0px); /* under the pinned phone header, not behind it */
  z-index: 5;
  display: flex;
  gap: 8px;
  margin: 0 -24px;
  padding: 12px 24px;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid #e7e7e7;
  overflow-x: auto;
  scrollbar-width: none;
}

.om-directory-index::-webkit-scrollbar { display: none; }

.om-directory-index a {
  flex: 0 0 auto;
  padding: 7px 14px;
  border: 1px solid #b7bcbc;
  border-radius: 999px;
  color: var(--om-ink);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.om-directory-index a.om-index-free-shipping {
  border-color: var(--om-orange-deep);
  background: var(--om-orange);
  color: #111;
  font-weight: 800;
}

.om-directory-index a.om-index-free-shipping:hover {
  background: var(--om-orange-deep);
}

.om-index-divider {
  flex: 0 0 1px;
  align-self: stretch;
  margin: 4px 2px;
  background: #d5d9d9;
}

.om-directory-index a:hover {
  border-color: var(--om-orange);
  background: #fff6ea;
}

.om-directory-grid {
  display: grid;
  align-items: stretch; /* equal-height cards per row */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 22px;
}

.om-dept-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px 18px 0;
  border: 1px solid var(--om-line);
  border-radius: 10px;
  background: #fff;
}

/* The index links target the heading: land it below the pinned header and index row. */
.om-dept-card-head h2 {
  scroll-margin-top: calc(var(--om-hdr-top, 0px) + 70px);
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

.om-dept-card-head h2 a {
  color: var(--om-ink);
  text-decoration: none;
}

.om-dept-card-head h2 a:hover {
  color: #c7511f;
  text-decoration: underline;
}

.om-dept-card-head p {
  margin: 3px 0 14px;
  color: var(--om-muted);
  font-size: 13px;
}

.om-dept-previews {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 12px;
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
  align-content: start; /* extra card height goes below, never between photo and title */
}

.om-dept-previews a {
  display: grid;
  grid-template-rows: auto auto;
  gap: 7px;
  height: 100%;
  color: var(--om-ink);
  text-decoration: none;
  border-radius: 8px;
}

.om-dept-previews a:focus-visible {
  outline: 3px solid var(--om-link);
  outline-offset: 2px;
}

.om-dept-preview-media {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  border-radius: 8px;
  background: var(--om-tile);
  overflow: hidden;
}

.om-dept-preview-media img {
  /* Reset the generic product-image frame; the tile itself is the frame. */
  position: absolute;
  inset: 7%;
  box-sizing: border-box;
  padding: 0;
  border: 0;
  background: transparent;
  width: 86%;
  height: 86%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform .2s ease;
}

.om-dept-previews a:hover img { transform: scale(1.04); }

.om-dept-preview-title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.om-dept-previews a:hover .om-dept-preview-title { color: #c7511f; }

/* Graceful layouts for departments with fewer than four products. */
/* One cover frame for every preview (review item 06): square tiles on the same
   pale neutral ground; a lone product uses a 4:3 frame; three products sit in
   one row instead of a tall first tile. */
.om-dept-previews.om-count-1 { grid-template-columns: minmax(0, 1fr); }
.om-dept-previews.om-count-1 .om-dept-preview-media { aspect-ratio: 4 / 3; height: auto; }
.om-dept-previews.om-count-2 .om-dept-preview-media,
.om-dept-previews.om-count-4 .om-dept-preview-media { aspect-ratio: 1 / 1; height: auto; }
.om-dept-previews.om-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.om-dept-previews.om-count-3 .om-dept-preview-media { aspect-ratio: 1 / 1; height: auto; }

.om-dept-see-all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: auto -18px 0; /* pinned to the card bottom so cards in a row align */
  padding: 13px 18px;
  border-top: 1px solid #e7e7e7;
  color: var(--om-link);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.om-dept-see-all:hover {
  background: #f7fafa;
  color: #c7511f;
}

/* ---------- Search results and department listings ---------- */

main:has(> .om-listing),
main:has(> .om-department-page) {
  background: #fff;
}

.om-listing.amazon-search-page {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

.om-listing .amazon-search-count {
  margin: 0;
  color: var(--om-ink);
  font-size: 14px;
  font-weight: 400;
}

.om-listing .amazon-search-count strong { font-weight: 400; }

.om-listing-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 24px;
  padding: 14px 20px 36px;
}

.om-filters {
  min-width: 0;
}

.om-filters section {
  padding: 0 0 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #e7e7e7;
}

.om-filters h2 {
  margin: 0 0 6px;
  color: var(--om-ink);
  font-size: 14px;
  font-weight: 700;
}

.om-filters p {
  margin: 0 0 6px;
  color: var(--om-muted);
  font-size: 13px;
  line-height: 1.4;
}

.om-filters a,
.om-filters .storefront-department-chip {
  display: block;
  min-height: 0;
  margin: 0;
  padding: 3px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: var(--om-ink);
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
}

.om-filters nav {
  display: block;
  margin: 0;
  padding: 0;
}

.om-filters a:hover { color: #c7511f; }
.om-filters .is-selected { font-weight: 700; }

.om-results-title {
  margin: 0 0 2px;
  color: var(--om-ink);
  font-size: 20px;
  font-weight: 700;
}

.om-result-list.product-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin: 10px 0 24px;
  padding: 0;
  list-style: none;
}

.om-result.product-card {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 1px solid #e7e7e7;
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}

.om-result-media {
  display: grid;
  place-items: center;
  min-height: 220px;
  background: var(--om-tile);
}

.om-result-media img {
  width: 88%;
  height: 200px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.om-result-media-pending {
  color: var(--om-muted);
  font-size: 12px;
}

.om-result-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  padding: 14px 18px 14px 0;
}

.om-result-brand {
  margin: 0;
  color: var(--om-muted);
  font-size: 12px;
}

.om-result h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
}

.om-result h3 a {
  display: inline;
  padding: 0;
  color: var(--om-ink);
  text-decoration: none;
}

.om-result h3 a:hover { color: #c7511f; }

.om-result-cta {
  min-width: 190px;
  margin-top: auto;
}

/* ---------- Product detail ---------- */

.product-page figure.product-media-stage {
  position: relative;
  margin: 0;
}

/* One stable gallery frame (review item 04): every photo - square, portrait or
   landscape - is contained whole inside the same square stage on a neutral
   ground. Nothing is cropped, stretched or upscaled beyond the frame. */
.product-page .product-media-stage:not(.product-media-stage-pending) {
  width: min(100%, 620px);
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 1 / 1;
  justify-self: center;
  align-self: start;
  padding: 0;
  background: #fff;
  overflow: hidden;
}

.product-page .product-media-stage .product-visual-large {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  /* No inner padding: the frame itself is the margin. Padding here shrank every
     photo by ~10% inside an already bounded square (measured 313 px of a 390 px
     phone screen). Square gallery images carry their own designed margins. */
  padding: 0;
  object-fit: contain;
  object-position: center;
  background: #fff;
}

.product-page .product-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-trust-strip a {
  color: var(--om-link);
}

/* ---------- Tablet ---------- */

@media (max-width: 1100px) {
  .om-module-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .om-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .om-subnav-utilities { display: none; }
}

@media (max-width: 900px) {
  .om-listing-layout {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 16px;
  }
  .om-result.product-card {
    grid-template-columns: 170px minmax(0, 1fr);
  }
  .om-result-media { min-height: 180px; }
  .om-result-media img { height: 160px; }
}

/* ---------- Mobile (OneMkan mockup) ---------- */

@media (max-width: 700px) {
  body .site-header.amazon-shell-header {
    background: var(--om-navy);
    color: #fff;
  }

  body .amazon-header-main,
  body .amazon-header-main:has(.amazon-delivery) {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 40px 42px;
    gap: 6px 10px;
    padding: 6px 10px 8px;
  }

  body .site-header.amazon-shell-header .amazon-brand {
    grid-column: 1;
    grid-row: 1;
    height: auto;
    min-height: 0;
    padding: 0 2px;
  }

  body .site-header.amazon-shell-header .onemkan-logo-image {
    width: 96px;
    max-height: none;
  }

  body .amazon-delivery {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: auto;
    max-width: 100%;
    height: 34px;
    min-height: 34px;
    padding: 0 2px;
    color: #fff;
  }

  body .amazon-delivery-unavailable span:last-child {
    font-size: 12px;
    color: #e6e6e6;
  }

  body .amazon-location-pin svg { fill: #fff; }

  body .amazon-delivery select {
    max-width: 180px;
    color: #fff;
    background: transparent;
    font-size: 13px;
  }

  body .amazon-delivery select option { color: #111; }

  body .amazon-global-search {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: minmax(0, 1fr) 46px;
    height: 42px;
    min-height: 42px;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .15);
  }

  body .amazon-global-search input {
    grid-column: 1;
    height: 42px;
    min-height: 42px;
    padding: 0 12px;
    text-indent: 0;
    font-size: 16px;
  }

  body .amazon-global-search button,
  body .amazon-global-search button:hover {
    grid-column: 2;
    width: 46px;
    min-height: 42px;
    background: var(--om-orange);
    color: #111;
  }

  body .amazon-subnav {
    display: flex;
    align-items: center;
    height: 40px;
    min-height: 40px;
    padding: 0 6px;
    overflow: hidden;
    background: var(--om-navy-2);
  }

  body .amazon-categories-link {
    flex: 0 0 auto;
    padding: 8px 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
  }

  body .amazon-department-nav {
    display: flex;
    gap: 2px;
    overflow-x: auto;
  }

  body .amazon-department-nav a {
    flex: 0 0 auto;
    padding: 8px 8px;
    color: #fff;
    font-size: 14px;
    white-space: nowrap;
    text-decoration: none;
  }

  .amazon-all-menu .amazon-menu-panel {
    width: 100vw;
    bottom: 58px;
    box-shadow: none;
  }

  /* Home order follows the mockup: banner, Shop by Category, product rails, then modules. */
  section.om-home.amazon-home.amazon-home-modules { padding: 0 0 12px; background: #fff; }
  main:has(> .om-home) { background: #fff; }
  .om-spotlight { order: 0; height: auto; margin: 10px 10px 0; border-radius: 10px; }
  .om-spotlight-slide {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    align-items: center;
    gap: 8px;
    min-height: 196px;
    padding: 16px 14px 28px;
  }
  .om-spotlight-slide::after { display: none; }
  .om-spotlight-kicker { font-size: 11px; margin-bottom: 4px; }
  .om-spotlight-copy h2 { font-size: 24px; }
  .om-spotlight-product {
    display: -webkit-box;
    overflow: hidden;
    margin: 6px 0 10px;
    font-size: 12px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .om-spotlight-actions .om-btn { min-height: 32px; padding: 0 16px; font-size: 13px; }
  .om-spotlight-actions .om-btn.om-spotlight-dept { font-size: 13px; }
  .om-spotlight-media,
  .om-spotlight-media[class*="om-spotlight-count-"] {
    width: 100%;
    grid-template-columns: repeat(var(--om-preview-cols, 1), minmax(0, 1fr));
  }
  .om-spotlight-media.om-spotlight-count-1 { --om-preview-cols: 1; width: min(100%, 220px); }
  .om-spotlight-media.om-spotlight-count-2 { --om-preview-cols: 2; }
  .om-spotlight-media.om-spotlight-count-3 { --om-preview-cols: 3; }
  .om-spotlight-media.om-spotlight-count-4 { --om-preview-cols: 4; }
  .om-spotlight-arrow { display: none; }
  .om-spotlight-dots { display: flex; top: auto; bottom: 10px; }

  .om-shop-by-category { order: 1; }
  .om-rail { order: 2; }
  .om-module-row { order: 3; }
  .om-module-row-more { order: 4; }

  .om-home-band {
    margin: 0;
    padding: 16px 12px 6px;
    border-top: 8px solid #eaeded;
  }
  .om-shop-by-category { border-top: 0; }
  .om-band-head { justify-content: space-between; margin-bottom: 10px; }
  .om-band-head h2 { font-size: 18px; }

  .om-category-tiles {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px 8px;
  }
  .om-category-tile-media {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    border-radius: 12px;
  }
  .om-category-tile-label { font-size: 11px; font-weight: 500; }

  .om-module-row-more .om-module-products.om-count-1 .om-module-media,
  .om-module-row-more .om-module-products.om-count-2 .om-module-media {
    height: auto;
    aspect-ratio: 1 / 1.05;
  }

  .om-rail-track { grid-auto-columns: 42%; gap: 10px; }
  .om-rail-media { height: auto; aspect-ratio: 1; }
  .om-rail-title { font-size: 13px; }

  /* Department modules scroll horizontally on phones: every card keeps the same
     width and height, so odd counts never leave an orphaned half-row. */
  .om-module-row,
  .om-module-row-more,
  .om-module-row-more[class*="om-row-count-"] {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 78%;
    gap: 10px;
    margin: 0;
    padding: 12px;
    border-top: 8px solid #eaeded;
    background: #eaeded;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .om-module-row::-webkit-scrollbar,
  .om-module-row-more::-webkit-scrollbar { display: none; }
  .om-module { padding: 14px 12px 12px; scroll-snap-align: start; }
  .om-module-head h2, .om-module > h2, .om-account-module h2 { font-size: 16px; }
  .om-module-products { gap: 8px 10px; }
  .om-account-module { grid-column: auto; }

  /* Categories directory: one big card per department. */
  .om-directory { padding: 10px 12px 28px; }
  .om-directory-header h1 { font-size: 22px; }
  .om-directory-header p { font-size: 13px; }
  .om-directory-index { margin: 0 -12px; padding: 10px 12px; }
  .om-directory-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 14px; }
  .om-dept-card { padding: 14px 14px 0; }
  .om-dept-card-head h2 { font-size: 19px; }
  .om-dept-see-all { margin: 0 -14px; padding: 12px 14px; }
  .om-dept-previews.om-count-2 .om-dept-preview-media { aspect-ratio: 1; height: auto; }
  .om-dept-previews.om-count-1 .om-dept-preview-media { aspect-ratio: 4 / 3; height: auto; }

  /* Results: compact horizontal rows, one column. */
  .om-listing .om-listing-bar,
  .om-department-page .om-listing-bar {
    flex-wrap: wrap;
    padding: 8px 12px;
  }
  .om-listing-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 8px 10px 24px;
  }
  .om-filters {
    order: 2;
    padding-top: 10px;
    border-top: 8px solid #eaeded;
  }
  .om-results-title { font-size: 17px; }
  .om-result.product-card {
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 12px;
  }
  .om-result-media { min-height: 0; height: 100%; min-height: 150px; }
  .om-result-media img { width: 92%; height: 130px; }
  .om-result-body { padding: 10px 10px 10px 0; gap: 4px; }
  .om-result h3 { font-size: 15px; }
  .om-result h3 a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .om-result-desc { display: none; }
  .om-result-cta { min-width: 0; width: 100%; min-height: 32px; font-size: 12px; }
  .om-department-page .storefront-department-hero { margin: 8px 10px 0; }
  .om-department-page .storefront-breadcrumbs { padding: 8px 12px 0; }
}

/* Result titles are plain inline links even where older card rules target .product-link. */
.om-result .om-result-title.product-link {
  display: inline;
  width: auto;
  grid-template-columns: none;
  padding: 0;
  gap: 0;
}

.om-module-products .product-link,
.om-rail-card .product-link {
  padding: 0;
  grid-template-columns: none;
}

.om-module-media .product-visual,
.om-rail-media .product-visual,
.om-result-media .product-visual {
  max-width: none;
  aspect-ratio: auto;
  border: 0;
  background: transparent;
}

.om-listing .amazon-search-count {
  display: block;
  text-align: left;
}

@media (max-width: 700px) {
  .om-result .om-result-title.product-link {
    display: -webkit-box;
  }
}

.om-result-cta {
  margin-top: 8px;
}

.om-module-caption,
.om-dept-preview-title,
.om-rail-title {
  max-height: 2.7em;
}

.om-listing h1.amazon-search-count {
  width: auto;
  text-align: left;
}

/* ---------- Cart (reference screenshot 5) ---------- */

main:has(> .om-cart-page) {
  background: var(--om-page);
}

.om-cart-page.shell {
  width: min(100% - 32px, 1500px);
  padding: 20px 0 36px;
}

.om-cart-empty {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 20px;
  align-items: start;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  text-align: left;
}

.om-cart-empty-main,
.om-cart-empty-side {
  padding: 24px 26px;
  background: #fff;
}

.om-cart-empty-main h1 {
  margin: 0 0 8px;
  color: var(--om-ink);
  font-size: 28px;
  font-weight: 700;
}

.om-cart-empty-main p,
.om-cart-empty-side p {
  margin: 0 0 16px;
  color: var(--om-muted);
  font-size: 14px;
}

.om-cart-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.om-cart-page .cart-items,
.om-cart-page .cart-browse-only {
  background: #fff;
}

.om-cart-page .cart-browse-only {
  padding: 20px 24px;
}

@media (max-width: 700px) {
  .om-cart-page.shell { width: auto; padding: 0 0 24px; }
  .om-cart-empty { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .om-cart-empty-main, .om-cart-empty-side { padding: 18px 16px; }
  .om-cart-empty-main h1 { font-size: 22px; }
}

/* ---------- Header interaction system (review items 05, 08, 12) ---------- */

/* One subtle hover for every header control: a soft surface highlight with a
   fixed rounded shape. Borders never appear, so nothing shifts on hover. */
body .site-header :is(
  .amazon-delivery,
  .amazon-header-link,
  .amazon-cart-link,
  .amazon-all-menu > summary,
  .amazon-categories-link,
  .amazon-department-nav a,
  .om-subnav-utilities a
) {
  border-color: transparent;
  border-radius: 6px;
  outline: none;
  transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

body .site-header :is(
  .amazon-delivery,
  .amazon-header-link,
  .amazon-cart-link,
  .amazon-all-menu > summary,
  .amazon-categories-link,
  .amazon-department-nav a,
  .om-subnav-utilities a
):hover {
  border-color: transparent;
  outline: none;
  background-color: rgba(255, 255, 255, .1);
}

/* The logo itself stays a transparent, square-cornered container (the release
   logo contract); the same rounded highlight is drawn on a layer behind it. */
body .site-header .amazon-brand {
  position: relative;
  border-color: transparent;
  border-radius: 0;
  background: transparent;
  isolation: isolate;
}

body .site-header .amazon-brand::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 6px;
  background: transparent;
  transition: background-color .16s ease;
}

body .site-header .amazon-brand:hover {
  border-color: transparent;
  outline: none;
}

body .site-header .amazon-brand:hover::before {
  background: rgba(255, 255, 255, .1);
}

/* Keyboard focus stays unmistakable and is drawn inside the element, so it is
   never clipped by the scrolling department row. */
body .site-header :is(
  .amazon-brand,
  .amazon-delivery,
  .amazon-header-link,
  .amazon-cart-link,
  .amazon-all-menu > summary,
  .amazon-categories-link,
  .amazon-department-nav a,
  .om-subnav-utilities a,
  .amazon-global-search button
):focus-visible {
  outline: 2px solid #ffb547;
  outline-offset: -2px;
}

body .site-header .amazon-delivery:focus-within {
  box-shadow: inset 0 0 0 2px #ffb547;
}

@media (prefers-reduced-motion: reduce) {
  body .site-header * {
    transition: none !important;
  }
}

/* Search button: the grid track and the button share one width, so the icon is
   centred in the visible orange area (it used to overflow a narrower track). */
@media (min-width: 701px) {
  body .amazon-global-search {
    grid-template-columns: 58px minmax(0, 1fr) 52px;
  }
}

body .amazon-global-search button {
  width: 52px;
  min-width: 52px;
  display: grid;
  place-items: center;
  padding: 0;
  border-left: 0;
}

body .amazon-global-search button svg {
  width: 24px;
  height: 24px;
  margin: 0;
}

/* Free Shipping pill: see om-premium.css (one component on desktop and mobile). */

/* ---------- Mobile bottom navigation indicator (review item 11) ---------- */
/* One indicator for all five tabs: fixed size, centred on the icon+label group,
   built without grid placement or transforms so WebKit and Blink agree. */
@media (max-width: 700px) {
  body .amazon-mobile-bottom-nav .amazon-mobile-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    text-decoration: none;
    -webkit-text-decoration: none;
  }

  body .amazon-mobile-bottom-nav .amazon-mobile-nav-label {
    text-decoration: none;
    -webkit-text-decoration: none;
    border: 0;
    box-shadow: none;
  }

  body .amazon-mobile-bottom-nav .amazon-mobile-nav-item.is-active::after,
  body .amazon-mobile-bottom-nav .amazon-mobile-nav-item[aria-expanded="true"]::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -2px;
    bottom: auto;
    width: 24px;
    height: 2px;
    margin-left: -12px;
    border: 0;
    border-radius: 999px;
    background: var(--om-orange);
    transform: none;
  }
}

@media (max-width: 700px) {
  /* While the Menu panel is open, the indicator moves to Menu only. */
  body .amazon-mobile-bottom-nav:has([aria-expanded="true"]) .amazon-mobile-nav-item.is-active:not([aria-expanded])::after {
    content: none;
  }
}

/* Department banner: see om-premium.css. */

/* Shared catalog cover treatment (review item 06): neutral ground, whole
   product visible, identical inner margin in every grid. */
:is(.om-module-media, .om-rail-media, .om-dept-preview-media, .om-result-media) {
  background: #f6f7f7;
}
:is(.om-module-media, .om-rail-media, .om-dept-preview-media) img {
  inset: 7%;
  width: 86%;
  height: 86%;
  object-fit: contain;
}

/* ---------- Free Shipping landing hero (review item 13) ---------- */
/* Free Shipping hero: see om-premium.css. */

/* ---------- Empty cart (review item 14) ---------- */
body .om-cart-page .om-cart-empty {
  display: block;
  max-width: 760px;
  margin: 12px auto 40px;
}

body .om-cart-page .om-cart-empty-main {
  display: grid;
  justify-items: center;
  gap: 0;
  padding: 40px clamp(20px, 5vw, 56px) 28px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 17, 17, .08);
  text-align: center;
}

.om-cart-empty-icon {
  display: grid;
  place-items: center;
  width: 88px;
  height: 88px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: #fff4e5;
  color: #c45500;
}

.om-cart-empty-icon svg { width: 46px; height: 46px; }

body .om-cart-page .om-cart-empty-main h1 {
  margin: 0;
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 800;
}

body .om-cart-page .om-cart-empty-main > p:not(.om-cart-empty-note) {
  max-width: 460px;
  margin: 10px 0 0;
  color: #37475a;
  font-size: 15px;
}

body .om-cart-page .om-cart-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}

body .om-cart-page .om-cart-empty-actions .om-btn {
  min-height: 44px;
  padding: 0 24px;
  font-size: 15px;
}

.om-cart-empty-departments {
  width: 100%;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #e7e7e7;
}

.om-cart-empty-departments h2 {
  margin: 0 0 10px;
  color: #565959;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.om-cart-empty-departments ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.om-cart-empty-departments a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #c9cccc;
  border-radius: 999px;
  color: #131921;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.om-cart-empty-departments a:hover {
  border-color: var(--om-orange);
  background: #fff6ea;
}

.om-cart-empty-departments a:focus-visible,
.om-cart-empty-note a:focus-visible {
  outline: 2px solid #c45500;
  outline-offset: 2px;
}

body .om-cart-page .om-cart-empty-note {
  margin: 22px 0 0;
  color: #565959;
  font-size: 13px;
}

.om-cart-empty-note a { color: var(--om-link); }

@media (max-width: 700px) {
  body .om-cart-page .om-cart-empty { margin: 8px 0 24px; }
  body .om-cart-page .om-cart-empty-main { padding: 28px 16px 22px; border-radius: 0; }
  body .om-cart-page .om-cart-empty-actions .om-btn {
    flex: 1 1 140px;
    padding: 0 12px;
    font-size: 14px;
    white-space: nowrap;
  }
}

/* Free Shipping truthful pending state: a calm card, not loose text. */
body .amazon-free-shipping-page .amazon-department-empty {
  margin: 8px 0 32px;
  padding: 24px clamp(16px, 3vw, 32px);
  border: 1px dashed #c9cccc;
  border-radius: 12px;
  background: #fff;
}

body .amazon-free-shipping-page .amazon-department-empty h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

body .amazon-free-shipping-page .amazon-department-empty p {
  margin: 6px 0 0;
  color: #565959;
}

body .amazon-free-shipping-page > .amazon-department-products {
  margin: 0 20px;
}

@media (max-width: 700px) {
  body .amazon-free-shipping-page > .amazon-department-products { margin: 0 10px; }
}

/* ---------- Browse-phase cart and checkout preview (Phase W) ---------- */

.om-us-price strong { color: var(--om-ink); }
.om-free-shipping-note,
.om-us-price small { display: block; color: #067d62; font-size: 12px; font-weight: 600; }
.om-cart-preview-heading h1 { margin: 0 0 6px; font-size: 26px; }
.om-cart-preview-heading p { margin: 0 0 14px; color: var(--om-muted); font-size: 14px; }
.om-cart-line-ship { margin: 4px 0; color: #067d62; font-size: 13px; }
.om-cart-line-pending { margin: 4px 0; color: var(--om-muted); font-size: 13px; }
.om-cart-line-controls { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; margin-top: 8px; }
.om-cart-inline-form { display: inline-flex; gap: 6px; align-items: center; margin: 0; font-size: 13px; }
.om-cart-inline-form select {
  min-height: 32px; padding: 4px 8px; border: 1px solid var(--om-line); border-radius: 8px;
  background: var(--om-tile); color: var(--om-ink); font: inherit;
}
.om-js .om-noscript-submit { display: none; }
.om-cart-preview-summary,
.om-checkout-summary { padding: 18px 20px; background: #fff; }
.om-cart-summary-ship { margin: 6px 0; font-size: 14px; }
.om-cart-summary-pending,
.om-cart-summary-note,
.om-checkout-hint { margin: 8px 0; color: var(--om-muted); font-size: 13px; }
.om-checkout-card { padding: 18px 20px; background: #fff; border-radius: 8px; }
.om-checkout-card h2 { display: flex; gap: 10px; align-items: center; margin: 0 0 10px; font-size: 18px; }
.om-pay-option { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--om-line); border-radius: 8px; cursor: pointer; }
.om-pay-option:has(input:checked) { border-color: var(--om-orange); box-shadow: 0 0 0 1px var(--om-orange); }
.om-pay-option small { display: block; color: var(--om-muted); }
.om-checkout-unavailable { max-width: 640px; margin: 24px auto; }

@media (max-width: 700px) {
  .om-cart-page .cart-browse-only { padding: 14px 12px; }
  .om-checkout-card, .om-checkout-summary, .om-cart-preview-summary { padding: 14px 12px; }
}
.om-cart-preview-summary .amazon-cart-subtotal [data-cart-subtotal] { color: var(--om-ink); font-size: 18px; font-weight: 700; }

/* Product video: always after the still images, never autoplayed or preloaded. */
.om-product-video { margin-top: 12px; }
/* Space is reserved before the poster or metadata loads (no layout shift). */
.om-product-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; max-height: 420px; object-fit: contain; border-radius: 8px; background: #000; }
.product-gallery-thumb.is-colour-matched { position: relative; }
.product-gallery-thumb.is-colour-matched::after {
  content: "◐"; position: absolute; right: 2px; bottom: 0; font-size: 12px; line-height: 1;
  color: var(--om-ink); background: rgba(255, 255, 255, .85); border-radius: 50%; padding: 1px 2px;
}

/* The delivery-country prompt is revealed by script after load: float it so it
   never pushes the page down (it caused CLS 0.045 desktop / 0.086 mobile). */
body .amazon-destination-notice {
  position: fixed;
  left: 50%;
  right: auto;
  top: auto;
  bottom: 16px;
  z-index: 60;
  width: min(560px, calc(100% - 24px));
  margin: 0;
  transform: translateX(-50%);
  border-radius: 10px;
  box-shadow: 0 8px 28px rgba(15, 17, 17, .28);
}
@media (max-width: 700px) {
  body .amazon-destination-notice { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
}

/* ---- Address-first checkout (compact header, steps, cards) ---- */
.om-co-header { background: var(--om-navy); color: #fff; }
.om-co-header-inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; max-width: 1180px; margin: 0 auto; padding: 10px 16px; }
.om-co-back { display: inline-flex; align-items: center; gap: 6px; color: #fff; text-decoration: none; font-weight: 600; min-height: 44px; }
.om-co-back svg { width: 22px; height: 22px; }
.om-co-back:focus-visible, .om-co-link:focus-visible { outline: 3px solid var(--om-orange); outline-offset: 2px; border-radius: 4px; }
.om-co-brand img { height: 30px; width: auto; display: block; }
.om-co-secure { justify-self: end; font-size: 13px; color: #d6dbe0; }
.om-co-steps { display: flex; justify-content: center; gap: 4px 18px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0 16px 10px; font-size: 13px; color: #c8cdd2; }
.om-co-steps li span { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; border: 1px solid #8a949e; font-size: 11px; margin-right: 4px; }
.om-co-steps li.is-current { color: #fff; font-weight: 700; }
.om-co-steps li.is-current span { background: var(--om-orange); border-color: var(--om-orange); color: var(--om-ink); }
.om-co-prelaunch { margin: 0; padding: 8px 16px; background: #fff8e6; border-bottom: 1px solid #f1d68a; font-size: 13px; text-align: center; }
.om-co-page { max-width: 1180px; margin: 0 auto; padding: 18px 16px 40px; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }
.om-co-main { display: grid; gap: 14px; min-width: 0; }
.om-co-title { font-size: 26px; margin: 0; }
.om-co-card { background: #fff; border: 1px solid var(--om-line); border-radius: 10px; padding: 16px; }
.om-co-card h2 { font-size: 18px; margin: 0 0 10px; }
.om-co-summary { position: sticky; top: 16px; }
.om-co-totals { margin: 0; display: grid; gap: 8px; font-size: 14px; }
.om-co-totals div { display: flex; justify-content: space-between; gap: 12px; }
.om-co-totals dd { margin: 0; text-align: right; }
.om-co-totals small { color: var(--om-muted); }
.om-co-total { border-top: 1px solid var(--om-line); padding-top: 10px; font-weight: 700; color: #b12704; font-size: 16px; }
.om-co-summary-note { font-size: 12.5px; color: var(--om-muted); margin: 10px 0 0; }
.om-co-summary-note.is-warning { color: #b3261e; }
.om-co-summary-pay { margin: 12px 0 0; font-size: 14px; }
.om-co-place-order { margin-top: 14px; min-height: 48px; font-size: 16px; }
.om-co-place-order[disabled] { opacity: .55; cursor: not-allowed; }
.om-co-primary { min-height: 48px; font-size: 16px; margin-top: 4px; }
.om-co-fieldset { border: 0; padding: 0; margin: 0 0 14px; }
.om-co-fieldset legend { font-weight: 700; font-size: 17px; margin-bottom: 8px; }
.om-co-field { display: grid; gap: 4px; margin-bottom: 12px; }
.om-co-field label { font-weight: 600; font-size: 14px; }
.om-co-field input, .om-co-field select { font-size: 16px; min-height: 44px; padding: 8px 10px; border: 1px solid #888c8c; border-radius: 8px; width: 100%; box-sizing: border-box; background: #fff; }
.om-co-field input:focus, .om-co-field select:focus { outline: 3px solid rgba(255, 138, 0, .45); border-color: var(--om-orange-deep); }
.om-co-field.has-error input, .om-co-field.has-error select { border-color: #b3261e; }
.om-co-req { color: #b3261e; }
.om-co-optional { color: var(--om-muted); font-weight: 400; font-size: 13px; }
.om-co-error { color: #b3261e; font-size: 13px; margin: 0; }
.om-co-help { color: var(--om-muted); font-size: 12.5px; margin: 0; }
.om-co-country { margin: 0 0 10px; }
.om-co-optional-field { margin: 0 0 10px; }
.om-co-optional-field summary { color: var(--om-link); cursor: pointer; min-height: 32px; display: flex; align-items: center; }
.om-co-banner { border-radius: 10px; padding: 12px 14px; border: 1px solid; display: grid; gap: 4px; }
.om-co-banner.is-error { background: #fdecea; border-color: #b3261e; border-left-width: 6px; color: #5f1411; }
.om-co-banner.is-warning { background: #fff4e5; border-color: #b25e00; }
.om-co-banner ul { margin: 4px 0 0; padding-left: 18px; }
.om-co-banner a { color: inherit; font-weight: 600; }
.om-co-address-summary address { font-style: normal; line-height: 1.5; }
.om-co-contact { color: var(--om-muted); font-size: 13px; margin: 6px 0 0; }
.om-co-advice { background: #fff4e5; border-radius: 6px; padding: 6px 10px; font-size: 13px; margin: 8px 0 0; }
.om-co-link { color: var(--om-link); font-weight: 600; }
.om-co-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.om-co-line { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 12px; padding: 10px; border: 1px solid transparent; border-radius: 10px; }
.om-co-line + .om-co-line { border-top-color: var(--om-line); }
.om-co-line.is-flagged { border: 2px solid #b3261e; background: #fffafa; }
.om-co-line[data-line-status="PRICE_CHANGED"] { border-color: #b25e00; background: #fffaf2; }
.om-co-line-img { width: 72px; height: 72px; object-fit: contain; background: #f7f7f7; border-radius: 6px; }
.om-co-line-title { margin: 0; font-weight: 600; line-height: 1.3; }
.om-co-line-title a { color: inherit; }
.om-co-line-meta { margin: 2px 0 0; font-size: 13px; color: var(--om-muted); }
.om-co-line-price { text-align: right; white-space: nowrap; }
.om-co-line-error { display: flex; gap: 6px; align-items: flex-start; color: #b3261e; font-weight: 600; font-size: 14px; margin: 8px 0 0; }
.om-co-line-error svg { width: 18px; height: 18px; flex: none; margin-top: 1px; }
.om-co-price-change { margin: 8px 0 0; font-size: 14px; }
.om-co-price-change p { margin: 0 0 4px; }
.om-co-price-delta s { color: var(--om-muted); }
.om-co-price-delta span { color: #b25e00; }
.om-co-line-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; align-items: center; }
.om-co-line-actions form { margin: 0; }
.om-co-line-actions .om-btn { min-height: 40px; }
.om-co-qty { display: flex; gap: 6px; align-items: center; }
.om-co-qty select { min-height: 40px; border-radius: 8px; padding: 4px 8px; }
.om-co-blocked { color: #b3261e; font-weight: 600; }
.om-co-review-block { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.om-co-review-block address { font-style: normal; }
.om-co-legal { font-size: 13px; color: var(--om-muted); margin: 10px 0 0; }
.om-co-footer { border-top: 1px solid var(--om-line); padding: 16px; text-align: center; background: #fff; }
.om-co-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; font-size: 13px; }
.om-co-card-option { display: flex; gap: 10px; align-items: center; border: 1px dashed #aab1b8; border-radius: 8px; padding: 10px 12px; color: var(--om-muted); }
.om-co-card-option strong, .om-co-card-option small { display: block; }
.om-co-card-icon svg { width: 26px; height: 26px; }
/* Checkout: wallets first, then an "OR" rule, then the other methods. */
.om-pay-or { display: flex; align-items: center; gap: 12px; margin: 14px 0; color: #565959; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.om-pay-or::before, .om-pay-or::after { content: ""; flex: 1; height: 1px; background: #d5d9d9; }
.om-co-pay-form fieldset { border: 0; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.om-co-pay-form legend h2 { margin: 0 0 6px; }
.om-pay-option { display: grid; grid-template-columns: 22px 64px minmax(0, 1fr); gap: 12px; align-items: center; border: 1px solid #c4c9cc; border-radius: 10px; padding: 12px; cursor: pointer; min-height: 56px; }
.om-pay-option:has(input:checked), .om-pay-option.is-selected { border: 2px solid var(--om-orange-deep); background: #fff8f0; }
.om-pay-option input { width: 20px; height: 20px; accent-color: var(--om-orange-deep); }
.om-pay-option-logo { display: grid; place-items: center; }
.om-pay-logo { height: 30px; width: auto; max-width: 64px; }
.om-pay-logo-paypal { height: 22px; }
/* Payment marks on the checkout's method cards. */
.payment-method-copy .om-pay-logo { display: block; height: 22px; width: auto; max-width: 92px; margin: 0 0 6px; }
.om-pay-option-text strong, .om-pay-option-text small { display: block; }
.om-pay-option-text small { color: var(--om-muted); font-size: 13px; }
.om-country-choice { max-width: 520px; margin: 24px auto; }
.om-country-option { display: flex; gap: 10px; align-items: center; border: 1px solid var(--om-line); border-radius: 8px; padding: 12px; margin-bottom: 8px; min-height: 44px; }
.om-country-choice fieldset { border: 0; padding: 0; margin: 0 0 12px; }
.om-price-country-prompt { font-size: 14px; color: var(--om-muted); }
.om-price-country-prompt a { color: var(--om-link); font-weight: 600; }
.om-cart-proceed { min-height: 50px; font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.om-cart-preview-summary { position: sticky; top: 16px; }
@media (max-width: 960px) {
  .om-co-page { grid-template-columns: minmax(0, 1fr); }
  .om-co-summary { position: static; }
  .om-co-page.is-review .om-co-summary { order: -1; }
}
@media (max-width: 700px) {
  .om-co-header-inner { grid-template-columns: auto 1fr auto; }
  .om-co-back-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .om-co-brand { justify-self: center; }
  .om-co-title { font-size: 22px; }
  .om-co-line { grid-template-columns: 60px minmax(0, 1fr); }
  .om-co-line-img { width: 60px; height: 60px; }
  .om-co-line-price { grid-column: 2; text-align: left; }
  .om-co-review-block, .om-co-address-summary.is-compact { flex-direction: column; align-items: flex-start; }
  .om-pay-option { grid-template-columns: 22px 52px minmax(0, 1fr); }
  /* One sticky cart action above the bottom navigation and the browser bar. */
  .om-cart-preview-summary { position: static; }
  .om-cart-sticky-cta { position: fixed; left: 0; right: 0; bottom: calc(66px + env(safe-area-inset-bottom)); z-index: 40; padding: 8px 12px; background: rgba(255, 255, 255, .97); box-shadow: 0 -2px 10px rgba(15, 17, 17, .12); }
  body:has(.om-cart-sticky-cta) main { padding-bottom: 96px; }
  .om-cart-sticky-cta .om-cart-summary-note { margin: 4px 0 0; font-size: 12px; text-align: center; }
}
/* Review: details in the wide column, summary on the right (desktop). */
@media (min-width: 961px) {
  .om-co-page.is-review .om-co-main { grid-column: 1; grid-row: 1; }
  .om-co-page.is-review .om-co-summary { grid-column: 2; grid-row: 1; }
}
/* Merchant spec: the cart's proceed action is the orange checkout button. */
.om-btn.om-cart-proceed { background: var(--om-orange); border-color: var(--om-orange-deep); color: var(--om-ink); }
.om-btn.om-cart-proceed:hover { background: var(--om-orange-deep); }
.om-btn.om-cart-proceed:focus-visible { outline: 3px solid var(--om-ink); outline-offset: 2px; }

/* ---- Product page: title above the photos, video as the last rail tile ---- */
.product-page .om-product-heading { margin: 6px 0 14px; max-width: 1100px; }
.product-page .om-product-heading h1 { margin: 2px 0 4px; font-size: 24px; line-height: 1.3; font-weight: 500; color: var(--om-ink); overflow-wrap: anywhere; }
.product-page .om-product-subtitle { margin: 0 0 6px; max-width: 72ch; font-size: 15px; line-height: 1.45; color: var(--om-ink-soft, #374151); overflow-wrap: break-word; }
.product-page .product-purchase-panel .product-title-block { padding-top: 0; }
.product-page .product-gallery-thumb:focus-visible { outline: 3px solid var(--om-orange); outline-offset: 1px; }
.product-page .product-media-stage { position: relative; }
@media (max-width: 700px) {
  .product-page .om-product-heading { margin: 4px 0 10px; }
  .product-page .om-product-heading h1 { font-size: 18px; line-height: 1.35; }
  .product-page .om-product-subtitle { font-size: 14px; line-height: 1.4; }
}
.om-co-variant { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 6px 0 0; }
.om-co-variant label { font-size: 13px; color: var(--om-muted); }
.om-co-variant select { min-height: 40px; border-radius: 8px; padding: 4px 8px; max-width: 100%; }
.om-co-account-email { margin: 0 0 6px; font-size: 14px; }
.om-co-saved { border: 1px solid var(--om-line); border-radius: 8px; padding: 10px 12px; margin: 0 0 12px; }
.om-co-saved-title { margin: 0 0 4px; font-weight: 700; font-size: 14px; }
.om-co-saved ul { margin: 0; padding-left: 18px; font-size: 14px; }
.om-co-save { display: flex; gap: 8px; align-items: center; margin: 4px 0 10px; min-height: 40px; font-size: 14px; }
.om-co-save input { width: 20px; height: 20px; accent-color: var(--om-orange-deep); }
/* Amazon-style quantity stepper in the cart (trash at 1, minus above 1). */
.om-qty-stepper { display: inline-flex; align-items: center; border: 3px solid var(--om-yellow, #ffd814); border-radius: 999px; overflow: hidden; height: 36px; margin: 0; }
.om-qty-stepper button { width: 38px; height: 100%; border: 0; background: #fff; font-size: 20px; line-height: 1; cursor: pointer; display: grid; place-items: center; color: var(--om-ink); }
.om-qty-stepper button svg { width: 18px; height: 18px; }
.om-qty-stepper button:hover { background: #f3f3f3; }
.om-qty-stepper button:focus-visible { outline: 3px solid var(--om-orange); outline-offset: -3px; }
.om-qty-stepper button[disabled] { color: #bbb; cursor: not-allowed; }
.om-qty-stepper output { min-width: 30px; text-align: center; font-weight: 700; font-size: 15px; }

/* Phones: the gallery column (main photo and thumbnail rail) spans the full
   screen width, so the square photo is edge to edge (still contained whole)
   instead of floating inside page gutters; the stage stays aligned with its
   gallery column. */
@media (max-width: 700px) {
  .product-page .product-gallery {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    justify-self: stretch;
  }
  .product-page .product-media-stage:not(.product-media-stage-pending) {
    border-left: 0;
    border-right: 0;
  }
  .product-page .product-gallery-thumbnails,
  .product-page .product-gallery > .om-product-video-note,
  .product-page .product-gallery > .om-colour-matched-note {
    padding-left: 12px;
    padding-right: 12px;
  }
}
/* ---- om-premium.css ---- */
/* OneMkan premium storefront layer: shared tokens and components (back navigation,
   price typography, product cards, shelves, homepage, search, sheets, address book).
   Loaded last so it can refine the earlier layers without !important. */
:root {
  --om-ink: #0f1111;
  --om-ink-2: #565959;
  --om-line: #d5d9d9;
  --om-soft: #f7f8f8;
  --om-link: #007185;
  --om-accent: #ff9900;
  --om-accent-ink: #a84400;
  --om-deal: #cc0c39;
  --om-ok: #067d62;
  --om-select: #007185;
  --om-radius: 8px;
  --om-shadow: 0 2px 5px rgba(15, 17, 17, .12);
}

/* ---------- Back navigation ---------- */
.om-back { display: none; }
.om-backbar { display: none; }
@media (max-width: 700px) {
  body .amazon-header-main:has(.om-back) .amazon-global-search { margin-left: 40px; width: auto; min-width: 0; max-width: calc(100% - 40px); }
  body .om-back {
    display: grid; place-items: center; grid-column: 1; grid-row: 2; justify-self: start; align-self: center;
    width: 38px; height: 42px; margin-left: -4px; color: #fff; border-radius: 8px; text-decoration: none;
  }
  body .om-back svg { width: 24px; height: 24px; }
  body .om-back:focus-visible { outline: 2px solid var(--om-accent); outline-offset: 1px; }
}
@media (min-width: 701px) {
  .om-backbar { display: block; max-width: 1500px; margin: 0 auto; padding: 12px 24px 0; }
  /* WCAG 2.2 target size: 24px tall and (12px top padding) 24px clear of the Menu button. The PC's
     axe run has measured this link 16px tall and 20px from Menu; either margin alone now passes. */
}
/* BackLink (_back_link.html): the same link in the Back bar and in a page's path row (.om-pagenav). */
.om-backlink { display: inline-flex; gap: 6px; align-items: center; min-height: 24px; color: var(--om-link); font-size: 14px; line-height: 1.3; text-decoration: none; white-space: nowrap; }
.om-backlink:hover { color: #c7511f; text-decoration: underline; }
.om-backlink:focus-visible { outline: 2px solid var(--om-select); outline-offset: 2px; border-radius: 4px; }

/* =====================================================================
   Content system (owner 2026-11-04, defect 05): one text design for policy, help and category pages.
   Tokens + PageNav (BackLink beside Breadcrumbs), SectionHeader, ContentLayout (side list + one reading
   column) and CategoryTree (category-nav.css). Logical properties keep RTL; quality reference: the sheets.
   ===================================================================== */
:root {
  --om-space-1: 4px; --om-space-2: 8px; --om-space-3: 12px; --om-space-4: 16px; --om-space-5: 24px; --om-space-6: 32px;
  --om-page-gutter: 16px;
  --om-read-width: 72ch;
  --om-fs-small: 13px; --om-fs-body: 15px; --om-fs-h2: 18px; --om-fs-h1: 28px;
  --om-line-soft: #e3e6e6;
  --om-panel-radius: 10px;
}
@media (min-width: 1024px) { :root { --om-page-gutter: 24px; } }
@media (max-width: 700px) { :root { --om-fs-h1: 22px; --om-fs-h2: 17px; } }

/* PageNav + Breadcrumbs */
.om-pagenav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--om-space-1) var(--om-space-3); min-height: 24px; margin-block-end: var(--om-space-3); }
.om-pagenav .om-backlink + .om-crumbs { padding-inline-start: var(--om-space-3); border-inline-start: 1px solid var(--om-line); }
.om-crumbs { min-width: 0; }
.om-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--om-space-2); margin: 0; padding: 0; list-style: none; color: var(--om-ink-2); font-size: var(--om-fs-small); line-height: 1.4; }
.om-crumbs li { display: inline-flex; align-items: center; gap: var(--om-space-2); min-width: 0; }
.om-crumbs li + li::before { content: "›"; color: #8a8f8f; }
[dir="rtl"] .om-crumbs li + li::before { content: "‹"; } /* generated text is not mirrored: point at the deeper step */
.om-crumbs a, .om-crumbs [aria-current] { display: inline-flex; align-items: center; min-height: 24px; overflow-wrap: anywhere; }
.om-crumbs a { color: var(--om-link); text-decoration: none; }
.om-crumbs a:hover { color: #c7511f; text-decoration: underline; }
.om-crumbs a:focus-visible { outline: 2px solid var(--om-select); outline-offset: 1px; border-radius: 3px; }
.om-crumbs [aria-current] { color: var(--om-ink); }
@media (max-width: 700px) {
  .om-pagenav .om-backlink { display: none; } /* the header's Back arrow serves phones */
  .om-pagenav .om-backlink + .om-crumbs { padding-inline-start: 0; border-inline-start: 0; }
}

/* SectionHeader */
.om-section-head { display: grid; gap: var(--om-space-1); margin-block-end: var(--om-space-4); }
.om-section-kicker { margin: 0; color: var(--om-ink-2); font-size: 12px; font-weight: 700; letter-spacing: .06em; }
.om-section-title { display: flex; align-items: center; gap: var(--om-space-3); min-width: 0; }
.om-section-title h1 { margin: 0; min-width: 0; color: var(--om-ink); font-size: var(--om-fs-h1); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; overflow-wrap: anywhere; }
.om-section-icon { display: inline-flex; flex: none; color: var(--om-select); }
.om-section-lead { max-width: var(--om-read-width); margin: 0; color: var(--om-ink-2); font-size: var(--om-fs-body); line-height: 1.55; }

/* ContentLayout (content_page.html) */
.om-content { max-width: 1180px; margin: 0 auto; padding: var(--om-space-4) var(--om-page-gutter) 56px; }
.om-content-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--om-space-5); align-items: start; }
.om-content-grid:has(> .om-subnav) { grid-template-columns: 220px minmax(0, 1fr); }
.om-content-body { min-width: 0; max-width: 860px; border: 1px solid var(--om-line-soft); border-radius: var(--om-panel-radius); background: #fff; }
.om-content-body > section { padding: var(--om-space-5); border-block-start: 1px solid #eaeded; }
.om-content-body > section:first-child { border-block-start: 0; }
.om-content-body h2 { margin: 0 0 var(--om-space-2); color: var(--om-ink); font-size: var(--om-fs-h2); font-weight: 700; line-height: 1.35; }
.om-content-body p, .om-content-body li { max-width: var(--om-read-width); color: #333; font-size: var(--om-fs-body); line-height: 1.65; overflow-wrap: anywhere; }
.om-content-body p { margin: 0; }
.om-content-body * + p, .om-content-body * + ul, .om-content-body * + ol { margin-block-start: 10px; }
.om-content-body ul, .om-content-body ol { margin-block-end: 0; padding-inline-start: 22px; }
.om-content-body li + li { margin-block-start: var(--om-space-1); }
.om-content-body a { color: var(--om-link); text-decoration: underline; text-underline-offset: 2px; }
.om-content-body a:hover { color: #c7511f; }
.om-content-body a:focus-visible { outline: 2px solid var(--om-select); outline-offset: 2px; border-radius: 2px; }

/* Side list (ordered sub-navigation) */
.om-subnav { position: sticky; top: var(--om-space-4); overflow: hidden; border: 1px solid var(--om-line-soft); border-radius: var(--om-panel-radius); background: #fff; }
.om-subnav > strong { display: block; padding: var(--om-space-3) var(--om-space-4); border-block-end: 1px solid #eaeded; background: #f0f2f2; color: var(--om-ink); font-size: 14px; font-weight: 700; }
.om-subnav ol { margin: 0; padding: var(--om-space-1) 0; list-style: none; }
.om-subnav a { display: flex; align-items: center; min-height: 40px; padding: 0 var(--om-space-4); border-inline-start: 3px solid transparent; color: var(--om-ink); font-size: 14px; text-decoration: none; }
.om-subnav a:hover { background: #f7fafa; text-decoration: underline; }
.om-subnav a:focus-visible { outline: 2px solid var(--om-select); outline-offset: -2px; }
.om-subnav a[aria-current="page"] { border-inline-start-color: var(--om-select); background: #f3fbfc; color: var(--om-link); font-weight: 700; }
@media (max-width: 820px) {
  .om-content-grid:has(> .om-subnav) { grid-template-columns: minmax(0, 1fr); gap: var(--om-space-4); }
  .om-subnav { position: static; }
  .om-subnav ol { display: flex; flex-wrap: wrap; gap: var(--om-space-2); padding: var(--om-space-3); }
  .om-subnav a { min-height: 36px; padding: 0 var(--om-space-3); border: 1px solid var(--om-line); border-radius: 999px; font-size: 13px; }
  .om-subnav a[aria-current="page"] { border-color: var(--om-select); }
}
@media (max-width: 700px) {
  .om-content { padding-block: var(--om-space-3) 40px; }
  .om-content-body > section { padding: 18px var(--om-space-4); }
}

/* ---- Compact rating on search result cards (never on homepage cards) ---- */
.om-result .om-stars { display: inline-flex; gap: 1px; vertical-align: middle; }
.om-result .om-star { width: 14px; height: 14px; background: #d5d9d9; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.om-result .om-star-full { background: #de7921; }
.om-result .om-star-half { background: linear-gradient(90deg, #de7921 50%, #d5d9d9 50%); }

/* =====================================================================
   Shared: price typography, card offer lines, colour swatches
   ===================================================================== */
.om-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.om-p { display: inline-flex; align-items: flex-start; color: var(--om-ink); font-weight: 400; line-height: 1; letter-spacing: -.01em; }
.om-p-sym, .om-p-frac { font-size: .5em; line-height: 1.15; position: relative; top: .12em; }
.om-p-sym { margin-right: 1px; }
.om-p-frac { margin-left: 1px; }
.om-p-whole { font-size: 1em; }
.om-card-price { display: flex; align-items: flex-start; gap: 6px; font-size: 26px; margin-top: 2px; }
.om-card-deal { align-self: center; padding: 3px 6px; border-radius: 3px; background: var(--om-deal); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .01em; }
.om-card-was { color: var(--om-ink-2); font-size: 12px; }
.om-card-delivery { color: var(--om-ink); font-size: 12.5px; line-height: 1.35; }
.om-card-delivery strong { font-weight: 700; }
.om-card-zone { color: var(--om-ink-2); }
.om-card-pending, .om-card-note { color: var(--om-ink-2); font-size: 12.5px; line-height: 1.35; }
.om-card-options { color: var(--om-ink-2); font-size: 12px; }
.om-swatches { display: inline-flex; align-items: center; gap: 4px; min-height: 18px; }
.om-swatches { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 2px; min-height: 26px; margin: 2px 0; }
.om-swatch { position: relative; width: 26px; height: 26px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.om-swatch::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--sw); box-shadow: inset 0 0 0 1px rgba(15,17,17,.28); }
.om-swatch[aria-pressed="true"]::after { content: ""; position: absolute; inset: 1px; border-radius: 50%; box-shadow: 0 0 0 1.5px #007185; }
.om-swatch:hover::before { box-shadow: inset 0 0 0 1px rgba(15,17,17,.5); }
.om-swatch:focus-visible { outline: 2px solid #007185; outline-offset: 0; }
.om-card .om-card-offer-link { display: grid; gap: 2px; color: inherit; text-decoration: none; }
.om-swatch-more { color: var(--om-ink-2); font-size: 12px; margin-left: 2px; text-decoration: none; }

/* Shelf cards (homepage, recommendations) */
.om-card { display: flex; flex-direction: column; gap: 2px; }
.om-card a.om-card-link { display: flex; flex-direction: column; gap: 4px; min-height: 0; color: var(--om-ink); text-decoration: none; }
/* Content-driven cards: a grid row may be taller than a card, but nothing inside stretches
   (no gap between title, colours and price), and rails scroll sideways only. */
.om-card { align-self: start; }
.om-card a.om-card-media-link { display: block; }
.om-card .om-swatches { margin: 0; }
.om-card .om-card-offer-link { margin-top: 2px; }
.om-rail-track { overflow-y: hidden; overscroll-behavior-x: contain; }
.om-card .om-card-media { height: auto; aspect-ratio: 1 / 1; border-radius: 8px; background: #f7f7f7; margin-bottom: 4px; overflow: hidden; }
.om-card .om-card-media img { inset: 7%; width: 86%; height: 86%; }
.om-card .om-card-title { font-size: 14px; line-height: 1.32; min-height: 2.64em; }
.om-card a.om-card-link:hover .om-card-title { color: #c7511f; }

/* =====================================================================
   Homepage (merchant issues 01, 02, 19)
   Row 1: tall 4:5 editorial department cards. Row 2: separate square
   campaign cards. Then history, desktop department modules (phones: rails),
   recommendations. Each module type keeps its own proportions; every card of
   one type in a row has the same size. Desktop uses the screen width with
   equal outer margins (never edge to edge).
   ===================================================================== */
section.om-home.amazon-home.om-home2 { --om-gap: 10px; --om-gutter: 12px; display: block; width: 100%; max-width: none; margin: 0; background: #fff; padding: 0 0 24px; }
.om-home2 > * { position: relative; }
.om-home2 [data-om-row] { position: relative; }
.om-home2 [data-om-row-track] { display: grid; grid-auto-flow: column; gap: var(--om-gap); margin: 0; padding: 0 var(--om-gutter); list-style: none; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: var(--om-gutter); scrollbar-width: none; }
.om-home2 [data-om-row-track]::-webkit-scrollbar { display: none; }
.om-home2 [data-om-row-track] > li { scroll-snap-align: start; min-width: 0; }
.om-row-arrow { display: none; }

/* Row 1: tall editorial cards */
.om-editorial { padding: 12px 0 6px; }
.om-editorial-track { grid-auto-columns: min(66vw, 300px); }
.om-editorial-card a { position: relative; display: block; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; color: var(--om-ink); text-decoration: none; isolation: isolate; }
.om-editorial-title { position: absolute; z-index: 2; top: 0; left: 0; right: 0; display: -webkit-box; overflow: hidden; padding: 14px 16px 0; font-size: 20px; font-weight: 800; line-height: 1.12; letter-spacing: -.01em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.om-editorial-media { position: absolute; inset: 72px 14px 54px; display: grid; place-items: center; border-radius: 10px; background: #fff; box-shadow: 0 6px 18px rgba(15,17,17,.10); overflow: hidden; }
.om-editorial-media img { width: 86%; height: 86%; object-fit: contain; }
.om-editorial-media.is-art { inset: 0; border-radius: 0; box-shadow: none; z-index: -1; }
.om-editorial-media.is-art img { width: 100%; height: 100%; object-fit: cover; }
.om-editorial-cta { position: absolute; z-index: 2; left: 14px; bottom: 12px; padding: 8px 13px; border-radius: 999px; background: #0f1111; color: #fff; font-size: 13px; font-weight: 700; line-height: 1; }
.om-editorial-card a:hover .om-editorial-cta, .om-editorial-card a:focus-visible .om-editorial-cta { background: #c7511f; }
.om-editorial-card a:focus-visible { outline: 3px solid var(--om-accent); outline-offset: 2px; }
.om-tone-1 a, .om-tone-6 a { background: linear-gradient(165deg, #ffecd2 0%, #ffd6a0 100%); }
.om-tone-2 a, .om-tone-7 a { background: linear-gradient(165deg, #dcefff 0%, #b5d7f7 100%); }
.om-tone-3 a, .om-tone-8 a { background: linear-gradient(165deg, #e4f5e6 0%, #bfe5c6 100%); }
.om-tone-4 a { background: linear-gradient(165deg, #f8e4f1 0%, #ecc3de 100%); }
.om-tone-5 a { background: linear-gradient(165deg, #eee9ff 0%, #d3c8f7 100%); }

/* Row 2: square campaign cards (independent of row 1, never overlapping it) */
.om-campaigns { padding: 8px 0 14px; }
.om-campaign-track { grid-auto-columns: min(40vw, 190px); }
.om-campaign { display: grid; grid-template-rows: auto auto; gap: 6px; height: 100%; padding: 10px 10px 10px; border: 1px solid #e3e6e6; border-radius: 12px; background: #fff; color: var(--om-ink); text-decoration: none; }
.om-campaign-title { display: -webkit-box; overflow: hidden; min-height: 2.3em; font-size: 14px; font-weight: 800; line-height: 1.15; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.om-campaign-media { display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: 8px; background: #f7f7f7; overflow: hidden; }
.om-campaign-media img { width: 84%; height: 84%; object-fit: contain; }
.om-campaign-media.is-art img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; }
.om-campaign:hover .om-campaign-title { color: #c7511f; }
.om-campaign:focus-visible { outline: 3px solid var(--om-accent); outline-offset: 2px; }

/* Shelves, history, service */
.om-shelf { margin: 10px 0 0; padding: 14px var(--om-gutter) 12px; background: #fff; }
.om-shelf-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.om-shelf-head h2 { margin: 0; font-size: 19px; font-weight: 800; line-height: 1.2; }
.om-shelf-head a { color: var(--om-link); font-size: 14px; white-space: nowrap; }
.om-home2 .om-rail-track { grid-auto-columns: 42%; gap: 12px; padding-bottom: 6px; scrollbar-width: none; }
.om-home2 .om-rail-track::-webkit-scrollbar { display: none; }
.om-modules { display: none; }
.om-consider-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; margin: 0; padding: 0; list-style: none; }

.om-history-row { display: grid; gap: 10px; margin-top: 10px; }
.om-history-card { padding: 14px var(--om-gutter); background: #fff; }
.om-history-card h2 { margin: 0 0 10px; font-size: 19px; font-weight: 800; }
.om-history-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; padding: 0; list-style: none; }
.om-history-grid a { display: grid; gap: 4px; color: var(--om-ink); text-decoration: none; }
.om-history-media { display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: 8px; background: #f7f7f7; overflow: hidden; }
.om-history-media img { width: 86%; height: 86%; object-fit: contain; }
.om-history-title { display: -webkit-box; overflow: hidden; font-size: 13px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.om-history-more { display: inline-block; margin-top: 10px; color: var(--om-link); font-size: 14px; }

.om-home-more { display: flex; justify-content: center; align-items: center; min-height: 44px; max-width: 320px; margin: 16px auto 0; }
.om-home-more[aria-busy="true"] { opacity: .6; }

@media (min-width: 600px) {
  section.om-home.amazon-home.om-home2 { --om-gap: 14px; --om-gutter: 20px; }
  .om-editorial-track { grid-auto-columns: min(40vw, 320px); }
  .om-campaign-track { grid-auto-columns: min(24vw, 200px); }
  .om-home2 .om-rail-track { grid-auto-columns: 28%; }
  .om-consider-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .om-history-row { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
}

/* Desktop: equal outer margins, content up to 2400px, even module grids. */
@media (min-width: 1000px) {
  section.om-home.amazon-home.om-home2 { --om-gap: 18px; --om-gutter: clamp(20px, 2.4vw, 56px); --om-width: min(100% - 2 * var(--om-gutter), 2400px); background: #e3e6e6; padding: 0 0 36px; }
  .om-home2 > section, .om-home2 > .om-history-row { width: var(--om-width); margin-left: auto; margin-right: auto; }
  .om-home2 [data-om-row-track] { padding: 0; scroll-padding-inline: 0; }
  .om-editorial { padding: 22px 0 0; }
  .om-editorial-track { --cols: min(var(--om-count, 4), 4); grid-auto-columns: calc((100% - (var(--cols) - 1) * var(--om-gap)) / var(--cols)); }
  .om-editorial-title { padding: 20px 22px 0; font-size: clamp(22px, 1.6vw, 34px); }
  .om-editorial-media { inset: clamp(84px, 6vw, 120px) 20px 70px; }
  .om-editorial-cta { left: 20px; bottom: 18px; padding: 10px 16px; font-size: 14px; }
  .om-campaigns { padding: 18px 0 0; }
  .om-campaign-track { --cols: min(max(var(--om-count, 6), 4), 7); grid-auto-columns: calc((100% - (var(--cols) - 1) * var(--om-gap)) / var(--cols)); }
  .om-campaign { padding: 14px 14px 14px; border: 0; border-radius: 4px; }
  .om-campaign-title { font-size: clamp(16px, 1.05vw, 21px); }
  .om-row-arrow:not([hidden]) { display: grid; place-items: center; position: absolute; top: 50%; z-index: 4; width: 40px; height: 80px; margin-top: -40px; border: 1px solid #d5d9d9; background: rgba(255,255,255,.94); color: #0f1111; font-size: 30px; cursor: pointer; box-shadow: 0 2px 8px rgba(15,17,17,.15); }
  .om-row-prev { left: -14px; border-radius: 0 8px 8px 0; }
.om-row-next { right: -14px; border-radius: 8px 0 0 8px; }
  .om-row-arrow:hover, .om-row-arrow:focus-visible { background: #fff; outline: 2px solid var(--om-accent); }

  .om-shelf, .om-history-card { margin-top: var(--om-gap); padding: 20px 22px; }
  .om-shelf-dept { display: none; }
  .om-modules { display: block; margin-top: var(--om-gap); }
  .om-dmod-grid { display: grid; grid-template-columns: repeat(var(--om-cols-1, 3), minmax(0, 1fr)); gap: var(--om-gap); margin: 0; padding: 0; list-style: none; }
  .om-dmod { display: flex; flex-direction: column; gap: 12px; padding: 20px 20px 16px; background: #fff; }
  .om-dmod h3 { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.2; }
  .om-dmod h3 a { color: var(--om-ink); text-decoration: none; }
  .om-dmod h3 a:hover { color: #c7511f; }
  /* The image block is always one square (1, 2, 3 or 4 products), so modules of a row match. */
  .om-dmod-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 10px; aspect-ratio: 1 / 1; margin: 0; padding: 0; list-style: none; }
  .om-dmod-items > li { min-height: 0; }
  .om-dmod-count-1 > li { grid-column: 1 / -1; grid-row: 1 / -1; }
  .om-dmod-count-2 > li { grid-row: 1 / -1; }
  .om-dmod-count-3 > li:first-child { grid-column: 1 / -1; }
  .om-dmod-items a { position: relative; display: block; height: 100%; color: var(--om-ink); text-decoration: none; }
  .om-dmod-media { position: relative; display: block; height: 100%; border-radius: 6px; background: #f7f7f7; overflow: hidden; }
  .om-dmod-media img { position: absolute; inset: 8%; width: 84%; height: 84%; object-fit: contain; }
  /* The product name stays the link's accessible name but never floats over the photo (merchant UX-10). */
  .om-dmod-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .om-dmod-items a:focus-visible { outline: 2px solid var(--om-accent); outline-offset: 2px; border-radius: 6px; }
  .om-dmod-more { margin-top: auto; color: var(--om-link); font-size: 13.5px; text-decoration: none; }
  .om-dmod-more:hover { color: #c7511f; text-decoration: underline; }

  .om-history-row { gap: var(--om-gap); grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); }
  .om-history-row .om-history-card { margin-top: var(--om-gap); }
  .om-history-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .om-home2 .om-rail-track { grid-auto-columns: clamp(180px, 11vw, 240px); gap: var(--om-gap); }
  .om-consider-grid { grid-template-columns: repeat(auto-fill, minmax(clamp(180px, 11vw, 240px), 1fr)); gap: var(--om-gap); }
  .om-card .om-card-price { font-size: 28px; }
}
@media (min-width: 1280px) { .om-dmod-grid { grid-template-columns: repeat(var(--om-cols-2, 4), minmax(0, 1fr)); } }
@media (min-width: 1800px) { .om-dmod-grid { grid-template-columns: repeat(var(--om-cols-3, 5), minmax(0, 1fr)); }
.om-editorial-track { --cols: min(var(--om-count, 5), 5); }
.om-campaign-track { --cols: min(max(var(--om-count, 6), 4), 8); } }  /* never more columns than cards (empty slot) */
@media (min-width: 2300px) { .om-dmod-grid { grid-template-columns: repeat(var(--om-cols-4, 6), minmax(0, 1fr)); } }

/* =====================================================================
   Search: subcategory strip and result cards
   ===================================================================== */
.om-subcats { margin: 0 -16px; padding: 10px 16px 6px; background: #fff; border-bottom: 1px solid #eaeded; }
.om-subcats ul { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.om-subcats ul::-webkit-scrollbar { display: none; }
.om-subcats a { display: grid; justify-items: center; gap: 4px; width: 76px; color: var(--om-ink); text-decoration: none; text-align: center; }
.om-subcat-media { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #f3f3f3; overflow: hidden; }
.om-subcat-media img { width: 80%; height: 80%; object-fit: contain; }
.om-subcat-label { font-size: 12px; line-height: 1.2; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.om-subcats a.is-active .om-subcat-media, .om-subcats a:hover .om-subcat-media { box-shadow: inset 0 0 0 2px var(--om-accent); }
.om-sort-pills .om-chip, .om-review-tools .om-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid #d5d9d9; border-radius: 999px; background: #fff; color: #0f1111; font-size: 13px; text-decoration: none; white-space: nowrap; }
@media (min-width: 701px) {
  .om-subcats { margin: 0; padding: 14px 20px 10px; }
  .om-subcats a { width: 104px; }
  .om-subcat-media { width: 88px; height: 88px; }
  .om-subcat-label { font-size: 13px; }
}

.om-result .om-result-body { gap: 4px; }
.om-result .om-result-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.om-result .om-result-offer { display: grid; gap: 2px; }
.om-result .om-card-price { font-size: 28px; }
.om-result .om-result-buy { display: block; margin: 0; }
/* the standard yellow Add to Cart (same colours as the product page's) */
.om-result .om-result-cta { display: inline-flex; justify-content: center; align-items: center; min-width: 0; min-height: 34px; margin-top: 8px; padding: 0 16px; border: 1px solid #fcd200; border-radius: 999px; background: #ffd814; color: #0f1111; font: inherit; font-size: 13px; font-weight: 400; text-decoration: none; cursor: pointer; box-shadow: 0 1px 2px rgba(15,17,17,.15); }
.om-result .om-result-cta:hover { background: #f7ca00; }
.om-result .om-result-cta:focus-visible { outline: 2px solid #007185; outline-offset: 2px; }
.om-result .om-result-cta:disabled, .om-result .om-result-cta[aria-busy="true"] { opacity: .65; cursor: progress; }
.om-result .om-result-model { margin: 0; color: var(--om-ink-2); font-size: 12px; }
@media (max-width: 699px) {
  .om-result.product-card { grid-template-columns: 40% minmax(0, 1fr); gap: 12px; border: 0; border-bottom: 1px solid #eaeded; border-radius: 0; }
  .om-result .om-result-media { width: 100%; min-width: 0; min-height: 0; height: auto; aspect-ratio: 1 / 1; align-self: start; margin: 10px 0; border-radius: 6px; overflow: hidden; }
  .om-result .om-result-media img { width: 88%; max-width: 88%; height: 88%; object-fit: contain; }
  .om-result .om-result-body { padding: 10px 10px 12px 0; }
  .om-result h3 { font-size: 15px; }
  .om-result .om-card-price { font-size: 24px; }
}

/* =====================================================================
   Sheets (quantity, location): bottom sheet on phones, centred panel on desktop
   ===================================================================== */
dialog.om-sheet { width: min(100vw, 460px); max-width: 100vw; max-height: 86vh; margin: auto auto 0; padding: 0 0 calc(16px + env(safe-area-inset-bottom)); border: 0; border-radius: 16px 16px 0 0; background: #fff; color: var(--om-ink); box-shadow: 0 -8px 30px rgba(15,17,17,.25); overflow: auto; }
dialog.om-sheet::backdrop { background: rgba(15,17,17,.55); }
/* A modal sheet makes the page inert but not still: drags on the backdrop or the sheet's
   title bar scrolled the page behind it. Lock only <html> so the pinned header stays put. */
@media (pointer: coarse) { html:has(dialog.om-sheet[open]) { overflow: hidden; overscroll-behavior: none; } }
dialog.om-sheet[open] { animation: om-sheet-in .18s ease-out; }
@keyframes om-sheet-in { from { transform: translateY(24px); }
to { transform: none; } }
/* slide only: text never dips below its contrast */
@media (prefers-reduced-motion: reduce) { dialog.om-sheet[open] { animation: none; } }
@media (min-width: 700px) { dialog.om-sheet { margin: auto; border-radius: 12px; max-height: 80vh; } }
.om-sheet-head { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid #eaeded; background: #f0f2f2; z-index: 1; }
.om-sheet-head h2 { margin: 0; font-size: 17px; font-weight: 800; }
.om-sheet-close { width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--om-ink); font-size: 26px; line-height: 1; cursor: pointer; }
.om-sheet-close:hover, .om-sheet-close:focus-visible { background: #e3e6e6; }
.om-sheet-lead { margin: 12px 16px 8px; color: var(--om-ink-2); font-size: 13px; line-height: 1.45; }
.om-sheet-link { display: inline-block; margin: 6px 16px 0; color: var(--om-link); font-size: 14px; }
.om-sheet-signin { display: flex; justify-content: center; align-items: center; min-height: 42px; margin: 8px 16px 0; border: 1px solid #d5d9d9; border-radius: 999px; background: #fff; color: var(--om-ink) !important; font-size: 14px; font-weight: 700; text-decoration: none; box-shadow: 0 1px 2px rgba(15,17,17,.12); }
.om-sheet-divider { display: flex; align-items: center; gap: 10px; margin: 16px; color: var(--om-ink-2); font-size: 12px; }
.om-sheet-divider::before, .om-sheet-divider::after { content: ""; flex: 1; height: 1px; background: #e3e6e6; }
.om-sheet-search { display: block; width: calc(100% - 32px); margin: 0 16px 8px; min-height: 40px; padding: 8px 12px; border: 1px solid #888c8c; border-radius: 8px; font: inherit; }
.om-sheet-note { margin: 12px 16px 0; color: var(--om-ink-2); font-size: 12px; line-height: 1.4; }
.om-badge { display: inline-block; padding: 1px 6px; border-radius: 4px; background: #e7f4f5; color: #007185; font-size: 11px; font-weight: 700; }

.om-location-addresses { display: grid; gap: 8px; margin: 4px 16px 0; padding: 0; list-style: none; }
.om-location-address { display: grid; gap: 2px; width: 100%; padding: 12px 14px; border: 1px solid #d5d9d9; border-radius: 10px; background: #fff; color: var(--om-ink); text-align: left; font: inherit; font-size: 13px; cursor: pointer; }
.om-location-address span { color: var(--om-ink-2); }
.om-location-address.is-current, .om-location-address:hover { border-color: #007185; box-shadow: inset 0 0 0 1px #007185; background: #f3fbfc; }
.om-location-countries { margin: 0 16px; padding: 0; list-style: none; border: 1px solid #e3e6e6; border-radius: 10px; overflow: hidden; }
.om-location-countries li { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 14px; border-top: 1px solid #eaeded; font-size: 15px; cursor: pointer; }
.om-location-countries li:first-child { border-top: 0; }
.om-location-countries li:hover, .om-location-countries li:focus-visible { background: #f7fafa; outline: none; }
.om-location-countries li:focus-visible { box-shadow: inset 0 0 0 2px #007185; }
.om-radio { flex: none; width: 20px; height: 20px; border: 2px solid #888c8c; border-radius: 50%; }
[aria-selected="true"] > .om-radio { border-color: #007185; box-shadow: inset 0 0 0 4px #fff; background: #007185; }

/* Header: the location button replaces the plain select once scripts run */
.om-select-enhanced { display: none !important; }
.om-location-btn { display: grid; justify-items: start; gap: 0; padding: 2px 6px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.om-location-btn:hover, .om-location-btn:focus-visible { border-color: #fff; }
.om-location-btn strong { font-size: 14px; line-height: 1.2; }
.om-location-btn[hidden] { display: none; }

/* Quantity chooser */
.om-qty { display: flex; }
.om-qty-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 1px solid #d5d9d9; border-radius: 8px; background: #f0f2f2; color: var(--om-ink); font: inherit; font-size: 14px; box-shadow: 0 1px 2px rgba(15,17,17,.15); cursor: pointer; }
.om-qty-btn:hover { background: #e3e6e6; }
.om-qty-btn svg { width: 16px; height: 16px; }
.om-qty-btn[hidden], .om-qty-fallback[hidden] { display: none; }
.om-qty-fallback { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.om-qty-fallback input { width: 72px; min-height: 36px; padding: 4px 8px; border: 1px solid #888c8c; border-radius: 8px; font: inherit; }
.om-qty-list { margin: 0; padding: 6px 0; list-style: none; }
.om-qty-list li { display: flex; align-items: center; min-height: 46px; padding: 0 20px; font-size: 16px; cursor: pointer; }
.om-qty-list li:hover, .om-qty-list li:focus-visible { background: #f7fafa; outline: none; }
.om-qty-list li:focus-visible { box-shadow: inset 0 0 0 2px #007185; }
.om-qty-list li[aria-selected="true"] { background: #edfdff; font-weight: 700; box-shadow: inset 4px 0 0 #007185; }
.om-qty-custom { margin: 4px 16px 0; padding-top: 12px; border-top: 1px solid #eaeded; }
.om-qty-custom label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.om-qty-custom-row { display: flex; gap: 8px; }
.om-qty-custom-row input { flex: 1; min-width: 0; min-height: 42px; padding: 8px 12px; border: 1px solid #888c8c; border-radius: 8px; font: inherit; }
.om-qty-hint { margin: 6px 0 0; color: var(--om-ink-2); font-size: 12px; }
.om-qty-hint.is-error { color: #b12704; }
.om-qty-note { margin: 12px 16px 0; color: var(--om-ink-2); font-size: 12px; line-height: 1.4; }
@media (min-width: 700px) { dialog.om-qty-sheet { width: 300px; } }

/* Address book cards (account dashboard) */
.om-address-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; padding: 0; list-style: none; }
.om-address-cards > li { display: flex; flex-direction: column; justify-content: space-between; gap: 12px; min-height: 210px; padding: 16px; border: 1px solid #d5d9d9; border-radius: 10px; background: #fff; }
.om-address-cards > li.is-default { border-color: #007185; box-shadow: inset 0 0 0 1px #007185; }
.om-address-default { margin: -16px -16px 4px; padding: 8px 16px; border-bottom: 1px solid #d5d9d9; border-radius: 10px 10px 0 0; background: #f0f8f8; color: #0f1111; font-size: 13px; font-weight: 700; }
.om-address-cards .account-list-meta { margin-top: 4px; color: #0f1111; font-size: 14px; line-height: 1.5; }
.om-address-cards .account-list-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.om-address-add { border-style: dashed !important; border-width: 2px !important; padding: 0 !important; }
.om-address-add a { display: grid; place-items: center; align-content: center; gap: 6px; height: 100%; min-height: 206px; color: #565959; font-size: 18px; font-weight: 700; text-decoration: none; }
.om-address-add a span { font-size: 44px; line-height: 1; color: #aab7b8; }

/* =====================================================================
   Shell motion (merchant issues 05, 07, 13, 14, 18)
   One page background, a header that moves without reflowing the page,
   docked bottom controls that share one safe-area formula, and one
   Free Shipping pill component.
   ===================================================================== */
/* Home-bar space for everything docked at the bottom: the live inset only. Safari
   reports 0 while its toolbar shows (the bar then sits right on the toolbar) and the
   home-bar height while it is collapsed. A remembered maximum left a white band between
   the bar and the toolbar and pushed the Menu drawer under the bar (owner, iPhone). */
:root {
  --om-nav-h: 58px; --om-hdr-top: 0px;
  --om-safe-bottom: env(safe-area-inset-bottom, 0px);
}
@media (max-width: 700px) {
  /* Short pages and iOS overscroll never show a grey/white band. */
  html, body, body[data-storefront-scope] { background: #fff; }

  /* Header (UX-04): pure CSS, no scroll-direction logic. The header box is
     display:contents so its rows lay out in the page: the logo/location row and
     the homepage strip scroll away 1:1 with the content, and the main row sticks
     with a negative top that leaves only the search bar pinned. Nothing toggles
     or animates while scrolling, so it cannot fight Safari's toolbar. */
  :root { --om-hdr-top: calc(var(--om-hdr-h, 0px) - var(--om-hdr-shift, 0px)); }
  body .site-header.amazon-shell-header { display: contents; }
  body .site-header.amazon-shell-header > .amazon-header-main {
    position: sticky; top: calc(-1 * var(--om-hdr-shift, 0px)); z-index: 130;
    background: var(--om-navy);
  }
  /* Menu open: the drawer (in the strip) stacks above the pinned row; lock the page behind it. */
  html.om-menu-open body .amazon-subnav { position: relative; z-index: 140; }
  html.om-menu-open, html.om-menu-open body { overflow: hidden; overscroll-behavior: none; }
  /* The drawer's scroll area ends on top of the bottom bar, whatever the home-bar space. */
  body .amazon-all-menu .amazon-menu-panel { bottom: calc(var(--om-nav-h) + var(--om-safe-bottom)); }

  /* Inner pages: no department strip; the menu panel stays reachable from the bottom bar. */
  body .amazon-subnav.om-subnav-inner { height: 0; min-height: 0; padding: 0; border: 0; overflow: visible; }
  body .amazon-subnav.om-subnav-inner > :not(.amazon-all-menu),
  body .amazon-subnav.om-subnav-inner .amazon-all-menu > summary { display: none; }

  /* Bottom dock: nav height includes the stable home-bar space; everything docked
     above it uses the same expression, so nothing moves or drifts apart when Safari's
     toolbar collapses or expands. */
  body .amazon-mobile-bottom-nav,
  body:has(.product-page) .amazon-mobile-bottom-nav,
  body:has(.om-pdp) .amazon-mobile-bottom-nav {
    position: fixed; left: 0; right: 0; bottom: 0;
    box-sizing: border-box;
    height: calc(var(--om-nav-h) + var(--om-safe-bottom));
    padding: 3px 7px var(--om-safe-bottom);
    transform: translateZ(0);
  }
  body .amazon-mobile-bottom-nav .amazon-mobile-nav-item { height: 52px; }
  body { padding-bottom: calc(var(--om-nav-h) + var(--om-safe-bottom)); }
  body .om-cart-sticky-cta,
  body .om-sticky-cart { bottom: calc(var(--om-nav-h) + var(--om-safe-bottom)); transform: translateZ(0); }
  body:has(.om-cart-sticky-cta) { padding-bottom: calc(var(--om-nav-h) + 84px + var(--om-safe-bottom)); }
  body:has(.om-cart-sticky-cta) main { padding-bottom: 0; }
  body:has(.om-pdp) { padding-bottom: calc(var(--om-nav-h) + 64px + var(--om-safe-bottom)); }
  body .amazon-destination-notice { bottom: calc(var(--om-nav-h) + 8px + var(--om-safe-bottom)); }
}

/* Free Shipping pill: restrained outline + truck on every width (issue 18). */
body .site-header .om-free-shipping-pill {
  display: inline-flex; flex: 0 0 auto; align-items: center; align-self: center; gap: 5px;
  height: 28px; min-height: 28px !important; margin: 0 4px 0 2px; padding: 0 10px;
  border: 0; border-radius: 999px;
  background: rgba(255, 138, 0, .14); box-shadow: inset 0 0 0 1px rgba(255, 166, 61, .7);
  color: #ffd29a; font-size: 13px; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap;
}
body .site-header .om-free-shipping-pill:hover { background: rgba(255, 138, 0, .26); color: #fff; }
body .site-header .om-free-shipping-pill:focus-visible { outline: 2px solid #ffb547; outline-offset: 1px; }
body .site-header .om-free-shipping-pill .om-truck { width: 15px; height: 15px; fill: currentColor; flex: 0 0 auto; }
@media (min-width: 701px) {
  body .site-header .om-free-shipping-pill { order: 5; margin-left: auto; }
  body .site-header .om-subnav-utilities { order: 6; margin-left: 4px; }
  body .site-header .amazon-subnav.om-subnav-inner .om-subnav-utilities { margin-left: auto; }
}

/* Cart line option chooser: stays inside the line on every width. */
.om-cart-inline-form { display: flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; }
.om-cart-inline-form select { min-width: 0; max-width: 100%; flex: 1 1 auto; height: 32px; padding: 0 28px 0 10px; border: 1px solid #d5d9d9; border-radius: 8px; background-color: #f0f2f2; box-shadow: 0 1px 2px rgba(15,17,17,.15) inset; font-size: 13px; }
.om-cart-line-controls { min-width: 0; }

/* =====================================================================
   Free Shipping landing (issue 11): image slot + honest one-item copy
   ===================================================================== */
.om-fs-page { padding-bottom: 24px; }
.om-fs-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; margin: 10px 20px 0; padding: 26px clamp(20px, 3vw, 48px); border-radius: 12px; overflow: hidden; background: linear-gradient(120deg, #eef8f3 0%, #d6efe2 100%); box-shadow: inset 0 0 0 1px #cfe6d9; color: #0f1111; }
.om-fs-hero-copy { position: relative; z-index: 1; max-width: 640px; }
.om-fs-kicker { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px; color: #067d62; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.om-fs-kicker .om-truck { width: 16px; height: 16px; fill: currentColor; }
.om-fs-hero h1 { margin: 0 0 8px; font-size: clamp(28px, 3vw, 42px); font-weight: 800; line-height: 1.05; letter-spacing: -.01em; }
.om-fs-lead { margin: 0 0 6px; color: #0f1111; font-size: 16px; line-height: 1.45; }
.om-fs-note { margin: 0; color: #37475a; font-size: 13px; }
.om-fs-hero .om-btn { display: inline-flex; margin-top: 10px; }
.om-fs-hero-photos { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(120px, 12vw, 200px); gap: 12px; }
.om-fs-hero-photos > span { display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: 10px; background: #fff; box-shadow: 0 6px 16px rgba(15,17,17,.10); overflow: hidden; }
.om-fs-hero-photos img { width: 86%; height: 86%; object-fit: contain; }
.om-fs-hero.has-art { aspect-ratio: 3 / 1; grid-template-columns: minmax(0, 48%); background: #0f2a1f; }
.om-fs-hero.has-art .om-fs-hero-copy { padding: 18px 22px; border-radius: 10px; background: rgba(255,255,255,.92); }
.om-fs-hero-art { position: absolute; inset: 0; }
.om-fs-hero-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.om-fs-products { margin: 14px 20px 0; border-radius: 0; }
.om-fs-count { color: var(--om-ink-2); font-size: 13px; }
.om-fs-empty { padding: 18px 0; }
@media (max-width: 700px) {
  .om-fs-hero { grid-template-columns: minmax(0, 1fr); margin: 8px 10px 0; padding: 18px 16px; gap: 14px; }
  .om-fs-hero-photos { grid-auto-columns: minmax(0, 1fr); }
  .om-fs-hero:has(.om-fs-photos-1) { grid-template-columns: minmax(0, 1fr) 32%; }
  .om-fs-hero h1 { font-size: 28px; }
  .om-fs-lead { font-size: 15px; }
  .om-fs-hero.has-art { aspect-ratio: 4 / 3; grid-template-columns: minmax(0, 1fr); align-items: end; padding: 12px; }
  .om-fs-products { margin: 10px 0 0; padding: 14px 12px; }
}
@media (min-width: 1000px) { .om-fs-products .om-consider-grid { grid-template-columns: repeat(auto-fill, minmax(clamp(180px, 11vw, 240px), 1fr)); gap: 18px; } }

/* =====================================================================
   Results: one filter system on top (issues 08, 10). Chips + Filters sheet on
   phones/tablets, the same groups as a left sidebar on desktop; nothing after
   the last product. Sort: Best Match default, price, reviews, newest.
   ===================================================================== */
.om-toolbar { display: grid; gap: 8px; padding: 10px 20px 4px; background: #fff; }
.om-chips { display: flex; gap: 8px; margin: 0 -20px; padding: 2px 20px 4px; overflow-x: auto; scrollbar-width: none; }
.om-chips::-webkit-scrollbar { display: none; }
.om-toolbar .om-chip, .om-factive-list .om-chip { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border: 1px solid #d5d9d9; border-radius: 999px; background: #fff; color: #0f1111; font: inherit; font-size: 13.5px; line-height: 1; text-decoration: none; white-space: nowrap; box-shadow: 0 1px 2px rgba(15,17,17,.08); cursor: pointer; }
.om-toolbar .om-chip:hover { background: #f7fafa; }
.om-toolbar .om-chip:focus-visible { outline: 2px solid var(--om-select); outline-offset: 2px; }
.om-toolbar .om-chip.is-active, .om-factive-list .om-chip.is-active { border-color: var(--om-select); background: #edf9fb; color: #0f1111; box-shadow: inset 0 0 0 1px var(--om-select); font-weight: 700; }
.om-chip-filters svg { width: 18px; height: 18px; }
.om-chip-badge { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--om-select); color: #fff; font-size: 11px; font-weight: 700; }
.om-chip-star { color: #de7921; font-size: 14px; }
.om-chip-x { margin-left: 2px; color: var(--om-ink-2); font-size: 15px; }
.om-results-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.om-results-heading { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; }
.om-sort-menu { position: relative; }
.om-sort-menu > summary { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 1px solid #d5d9d9; border-radius: 8px; background: #f0f2f2; box-shadow: 0 1px 2px rgba(15,17,17,.12); font-size: 13px; cursor: pointer; list-style: none; white-space: nowrap; }
.om-sort-menu > summary::-webkit-details-marker { display: none; }
.om-sort-k { color: var(--om-ink-2); }
.om-caret { width: 7px; height: 7px; margin-left: 2px; border-right: 1.6px solid #0f1111; border-bottom: 1.6px solid #0f1111; transform: translateY(-2px) rotate(45deg); }
.om-sort-menu ul { position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; min-width: 220px; margin: 0; padding: 6px 0; border: 1px solid #d5d9d9; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(15,17,17,.18); list-style: none; }
.om-sort-menu ul a { display: block; padding: 9px 16px; color: #0f1111; font-size: 14px; text-decoration: none; }
.om-sort-menu ul a:hover, .om-sort-menu ul a:focus-visible { background: #f3f6f6; }
.om-sort-menu ul a.is-selected { font-weight: 700; box-shadow: inset 3px 0 0 var(--om-select); }

/* Groups (sheet + sidebar) */
:is(.om-filter-sidebar, .om-filter-body) .om-fgroup { padding: 12px 0; border-bottom: 1px solid #eaeded; }
:is(.om-filter-sidebar, .om-filter-body) .om-fgroup:last-child { border-bottom: 0; }
.om-fgroup h3 { margin: 0 0 6px; font-size: 15px; font-weight: 700; }
.om-fgroup ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.om-fgroup .om-fopt { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 40px; padding: 4px 8px; border-radius: 8px; color: #0f1111; font-size: 14px; text-decoration: none; }
.om-fgroup .om-fopt:hover { background: #f3f6f6; }
.om-fgroup .om-fopt:focus-visible { outline: 2px solid var(--om-select); outline-offset: 1px; }
.om-fopt-mark { width: 18px; height: 18px; border: 1.5px solid #8d9696; border-radius: 50%; background: #fff; }
.om-fgroup .om-fopt.is-selected { font-weight: 700; }
.om-fgroup .om-fopt.is-selected .om-fopt-mark { border-color: var(--om-select); box-shadow: inset 0 0 0 4px #fff; background: var(--om-select); }
.om-fopt-stars { color: #de7921; letter-spacing: 1px; }
.om-fopt-count { color: var(--om-ink-2); font-size: 12.5px; font-weight: 400; }

/* Filters sheet (phones and tablets) */
dialog.om-filter-sheet { display: none; padding-bottom: 0; }
dialog.om-filter-sheet[open] { display: flex; flex-direction: column; height: min(86vh, 720px); overflow: hidden; }
.om-filter-body { flex: 1 1 auto; overflow-y: auto; padding: 0 16px; overscroll-behavior: contain; }
.om-filter-foot { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid #eaeded; background: #fff; }
.om-filter-foot .om-btn { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; }

/* Layout: no filters after the results; the desktop sidebar comes first */
.om-listing-layout .om-filter-sidebar { display: none; }
.om-pager { display: flex; justify-content: center; gap: 12px; padding: 18px 0 6px; }
.om-filter-aside-link { margin: 12px 0 0; font-size: 13.5px; }
@media (max-width: 700px) {
  .om-toolbar { padding: 8px 12px 2px; }
  .om-chips { margin: 0 -12px; padding: 2px 12px 4px; }
  .om-results-head { gap: 8px; }
  .om-results-heading { font-size: 14px; }
  .om-sort-menu ul { right: auto; left: 0; }
}
@media (min-width: 1000px) {
  .om-toolbar { padding: 12px 20px 6px; }
  .om-chip-filters { display: none !important; }
  .om-listing-layout { grid-template-columns: 240px minmax(0, 1fr); }
  .om-listing-layout .om-filter-sidebar { display: block; order: 0; padding: 0; border: 0; }
  .om-listing-layout .om-filter-sidebar .om-fgroup .om-fopt { min-height: 32px; padding: 2px 6px; font-size: 13.5px; }
  .om-results-heading { font-size: 16px; }
}
.om-filter-sidebar [data-filter-group="sort"] { display: none; }

/* =====================================================================
   Rating row (issue 04): number, precise stars, count — same component on
   product pages, search results and every product card.
   ===================================================================== */
.om-rating { display: inline-flex; align-items: center; gap: 6px; color: var(--om-link); text-decoration: none; line-height: 1; }
.om-rating-value { color: #0f1111; font-weight: 400; }
.om-rating-stars { display: inline-flex; gap: 1px; }
.om-rstar { display: inline-block; width: var(--star, 16px); height: var(--star, 16px); background: linear-gradient(90deg, #f08804 var(--fill, 0%), #d5d9d9 var(--fill, 0%)); clip-path: polygon(50% 2%, 62% 36%, 98% 37%, 69% 59%, 80% 95%, 50% 74%, 20% 95%, 31% 59%, 2% 37%, 38% 36%); }
.om-rating-count { color: var(--om-link); }
.om-rating:hover .om-rating-count, .om-rating:focus-visible .om-rating-count { color: #c7511f; text-decoration: underline; }
.om-rating:focus-visible { outline: 2px solid var(--om-select); outline-offset: 3px; border-radius: 4px; }
.om-rating-sm { --star: 14px; gap: 4px; font-size: 13px; margin: 2px 0; }
.om-card .om-rating { display: inline-flex; }  /* one line on shelf cards, whose links are display: grid */
.om-rating-md { --star: 16px; font-size: 14px; margin: 2px 0 4px; }
.om-rating-lg { --star: 20px; gap: 7px; margin-top: 8px; font-size: 17px; }
.om-rating-lg .om-rating-value { font-size: 17px; font-weight: 500; }
.om-rating-lg .om-rating-count { font-size: 16px; }

/* Selected variant (issue 06): the same blue, as one thin outline around the whole card
   (image, label, price and stock together); no tinted body, no thick inset ring. */
.om-pdp .om-opt.is-selected { border-color: var(--pdp-select, #007185); background: #fff; box-shadow: 0 0 0 1px rgba(0, 113, 133, .28); }
.om-pdp .om-opt.is-selected .om-opt-img { border-bottom-color: #eaeded; }
.om-pdp .om-opt:focus-visible { outline: 2px solid var(--pdp-select, #007185); outline-offset: 2px; }
.om-filter-note { margin: 10px 0 0; color: var(--om-ink-2); font-size: 12.5px; line-height: 1.4; }

/* ---- Language & display currency (issues 16/17) ---- */
.om-pref-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.om-pref-open { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 48px; padding: 8px 12px; border: 1px solid var(--om-line, #d5d9d9); border-radius: 10px; background: #fff; color: var(--om-ink, #0f1111); font: inherit; text-align: start; cursor: pointer; }
.om-pref-open span { font-size: 12px; color: #565959; }
.om-pref-open strong { font-size: 15px; font-weight: 700; }
.om-pref-open:hover, .om-pref-open:focus-visible { border-color: #007185; box-shadow: 0 0 0 3px rgba(0,113,133,.15); outline: none; }
.amazon-footer-locale .om-pref-buttons { width: min(100%, 360px); }
.amazon-footer-locale .om-pref-open { background: transparent; border-color: #848688; color: #fff; }
.amazon-footer-locale .om-pref-open span { color: #ddd; }
.om-pref-list { display: grid; gap: 8px; padding: 4px 16px 8px; }
.om-pref-choice { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 10px 14px; border: 1px solid #d5d9d9; border-radius: 10px; background: #fff; color: var(--om-ink, #0f1111); font: inherit; font-size: 16px; text-align: start; cursor: pointer; }
.om-pref-choice.is-current { border-color: #007185; background: #f0f8fa; }
.om-pref-choice.is-current .om-radio { border-color: #007185; box-shadow: inset 0 0 0 4px #fff; background: #007185; }
.om-pref-choice:focus-visible { outline: 3px solid rgba(0,113,133,.35); outline-offset: 1px; }
.om-pref-sheet .om-sheet-note { padding: 0 16px; }
.om-approx { display: block; margin-top: 2px; font-size: 12.5px; color: #565959; font-variant-numeric: tabular-nums; }
.om-pdp .om-approx { display: inline-block; margin-inline-start: 8px; align-self: center; }
.om-cart-approx { margin: 2px 0 6px; font-size: 13px; color: #565959; }
.om-cart-approx .om-approx { display: inline; font-size: 14px; color: #0f1111; font-weight: 700; }
.om-co-currency { margin: 0 0 10px; font-size: 13px; color: #565959; }

/* ---- Right-to-left (Arabic). Flex/grid mirror with dir; physical positions, arrow glyphs
   (Chromium does not mirror ‹ ›) and SVG icons are flipped here. ---- */
[dir="rtl"] body { font-family: "Noto Sans Arabic", "Segoe UI", Tahoma, system-ui, sans-serif; }
[dir="rtl"] .om-p, [dir="rtl"] .om-price, [dir="rtl"] [data-cart-subtotal], [dir="rtl"] .om-approx, [dir="rtl"] .om-sticky-price, [dir="rtl"] .om-explore-price, [dir="rtl"] .om-reco-price, [dir="rtl"] .om-bundle-price, [dir="rtl"] .om-opt-price { direction: ltr; unicode-bidi: isolate; }
.om-chev { display: inline-block; vertical-align: -1px; }
.om-row-arrow .om-chev { width: 12px; height: 20px; }
[dir="rtl"] .om-back svg, [dir="rtl"] .om-chev { transform: scaleX(-1); }
@media (min-width: 701px) {
  [dir="rtl"] .om-row-prev { left: auto; right: -14px; }
  [dir="rtl"] .om-row-next { right: auto; left: -14px; }
}
[dir="rtl"] input[type="email"], [dir="rtl"] input[type="tel"] { direction: ltr; text-align: right; }

/* Active filters at the top of the Filters sheet (merchant UX-02). */
.om-fgroup ul.om-factive-list { display: flex; flex-flow: row wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.om-fgroup ul.om-factive-list > li { display: block; width: auto; margin: 0; }
.om-factive { padding-bottom: 12px; }

/* Product page on phones (merchant UX-06): one compact header row (back + search; the
   location stays in Menu) and a tighter title block. The short description stays directly
   under the title, before the rating and photos, on every screen size (merchant, 26 Oct 2026). */
@media (max-width: 700px) {
  body[data-page-kind="product"] .amazon-header-main { min-height: 0; grid-template-rows: auto; padding-top: 6px; padding-bottom: 6px; }
  body[data-page-kind="product"] .amazon-header-main > .amazon-brand,
  body[data-page-kind="product"] .amazon-header-main > .amazon-delivery { display: none; }
  body[data-page-kind="product"] .amazon-global-search, body[data-page-kind="product"] .om-back { grid-row: 1; }
  body[data-page-kind="product"] .om-pdp-heading { padding-top: 8px; padding-bottom: 6px; }
  body[data-page-kind="product"] .om-pdp-heading h1 { font-size: 17px; line-height: 1.3; }
  body[data-page-kind="product"] .om-pdp-heading .om-product-subtitle { margin-top: 4px; font-size: 14px; line-height: 1.4; }
}

/* Browsing cart dock (UX-12) — phones only, docked on the bottom navigation, never over prices. */
.om-cart-dock { display: none; }
@media (max-width: 700px) {
  .om-cart-dock { display: block; position: fixed; left: 8px; right: 8px; bottom: calc(var(--om-nav-h, 56px) + var(--om-safe-bottom) + 6px); z-index: 119; }
  body:has(.om-cart-dock) main { padding-bottom: 64px; }
  /* The country notice stacks above the dock (under it, its buttons opened the cart); drawn
     over the dock where the free-shipping meter makes it taller than 48px (320-340px). */
  body:has(.om-cart-dock) .amazon-destination-notice { bottom: calc(var(--om-nav-h) + var(--om-safe-bottom) + 64px); z-index: 120; }
  /* While the notice (80-95px) shows, the end of the page stays reachable above it. */
  body:has(.amazon-destination-notice:not([hidden])) main { padding-bottom: 120px; }
  body:has(.om-cart-dock):has(.amazon-destination-notice:not([hidden])) main { padding-bottom: 184px; }
  .om-cart-dock-link { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 8px 6px 10px; border-radius: 14px; background: #131921; color: #fff; text-decoration: none; box-shadow: 0 8px 24px rgba(15,17,17,.28); }
  .om-cart-dock-count { display: grid; place-items: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 999px; background: #f08804; color: #131921; font-weight: 800; font-size: 14px; }
  .om-cart-dock-text { display: grid; flex: 1; min-width: 0; line-height: 1.2; }
  .om-cart-dock-text strong { font-size: 15px; }
  .om-cart-dock-text small { display: inline-flex; align-items: center; gap: 4px; color: #ffd8a8; font-size: 12px; }
  .om-cart-dock-text small svg { width: 16px; height: 12px; }
  /* Free-shipping meter (only when a threshold is configured): thin bar along the dock's bottom edge. */
  .om-cart-dock-link:has(.om-cart-meter) { position: relative; padding-bottom: 14px; }
  .om-cart-meter { position: absolute; left: 10px; right: 10px; bottom: 5px; height: 4px; border-radius: 99px; background: #3a4553; overflow: hidden; }
  .om-cart-meter > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f7a64a, #f08804); }
  .om-cart-meter.is-done > span { background: #2fbf71; }
  .om-cart-dock-cta { padding: 8px 12px; border-radius: 999px; background: #ffd814; color: #0f1111; font-size: 13px; font-weight: 700; white-space: nowrap; }
}
/* Add-to-cart flight: a small photo travels to the cart icon after a confirmed add. */
.om-cart-flight { position: fixed; z-index: 400; width: 56px; height: 56px; border-radius: 12px; background: #fff center / contain no-repeat; box-shadow: 0 6px 18px rgba(15,17,17,.25); pointer-events: none; }
@keyframes om-cart-bump { 40% { transform: scale(1.25); } }
.om-cart-bump { animation: om-cart-bump .3s ease-out; }

/* COR-01: cart lines no longer listed — kept, uncounted, removable. */
.om-cart-unavailable { margin: 10px 0 14px; }
.om-cart-unavailable p { margin: 0; }
.om-cart-unavailable ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.om-cart-unavailable li { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.om-cart-unavailable li span { min-width: 0; overflow-wrap: anywhere; }
.om-cart-unavailable form { margin: 0; flex: none; }

/* An empty cart shows no number badge at all (never "0"). */
[data-cart-count][hidden] { display: none !important; }

/* Final artwork installed (merchant pilot spec): the picture IS the card, words baked in.
   No visible HTML title, button, frame, padding or tint; corners follow the card. */
.om-editorial-card.is-art a { padding: 0; background: none; box-shadow: none; }
.om-campaign.is-art { display: block; position: relative; aspect-ratio: 4 / 5; height: auto; padding: 0; border: 0; overflow: hidden; background: none; }
.om-card-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

/* Analytics consent: an in-flow bar under the header, so it never covers page controls. */
.om-consent { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 10px 16px; background: #fff; color: var(--om-ink); border-bottom: 1px solid var(--om-line); font-size: 14px; line-height: 1.4; }
.om-consent[hidden] { display: none; }
.om-consent p { flex: 1 1 320px; margin: 0; }
.om-consent a { color: var(--om-link); }
.om-consent-actions { display: flex; gap: 8px; margin-inline-start: auto; }
.om-consent-btn { min-height: 36px; padding: 0 16px; border: 1px solid #888c8c; border-radius: 8px; background: #fff; color: var(--om-ink); font: inherit; cursor: pointer; }
.om-consent-accept { border-color: #fcd200; background: #ffd814; }
.om-consent-btn:focus-visible { outline: 2px solid var(--om-select); outline-offset: 2px; }

/* ---------- Loading skeletons ----------
   Only where something is genuinely still loading (audit 2026-10-26: on a slow phone network
   product photos stayed blank white tiles for 2-5 s; an option switch on a product page gave no
   feedback for ~2.7 s). Server-rendered text never gets a skeleton.
   1. A photo still on its way: its own box (already sized, so nothing shifts) shows a soft sheen
      until base.html sees its load or error event. Cached photos paint over it at once, and the
      glow starts after a beat, so fast loads never flash. Photos that came over the network fade in.
   2. A slow option switch (product_page.js adds .is-swapping after 300 ms) is NOT a skeleton: the
      page stays as it is and only the price, stock and buy buttons dim until the new figures land
      (owner 2026-11-09: grey placeholders over the photos on every size change looked broken).
   The glow animates opacity only, which runs off the main thread: a moving background-position
   sheen repainted every frame and kept a 4x-slowed phone busy 1.3 s of every 3 s on the homepage. */
:root { --om-sk-base: #e9edf0; --om-sk-glow: #f6f8f9; }
.om-sk main img:not(.om-sk-done) {
  background: linear-gradient(110deg, var(--om-sk-base) 30%, var(--om-sk-glow) 50%, var(--om-sk-base) 70%) var(--om-sk-base);
  animation: om-sk-glow 1.4s ease-in-out .3s infinite alternate;
}
@keyframes om-sk-glow { to { opacity: .5; } }
.om-sk main img.om-sk-fade { animation: om-sk-fade .25s ease-out; }
@keyframes om-sk-fade { from { opacity: .3; } }
.om-pdp.is-swapping :is(.om-pdp-info-price, .om-buy-price, .om-buy-stock, .om-btn-cart, .om-btn-buynow) { opacity: .55; transition: opacity .15s; }
.om-pdp[aria-busy="true"] :is(.om-btn-cart, .om-btn-buynow):disabled { cursor: progress; }
.om-pdp .om-opt.is-pending { border-color: var(--om-select); box-shadow: inset 0 0 0 2px var(--om-select); }
@media (prefers-reduced-motion: reduce) {
  .om-sk main img:not(.om-sk-done), .om-sk main img.om-sk-fade { animation: none; }
}

/* =====================================================================
   Quick add (listing and Similar Products cards): the option sheet and its confirmation
   ===================================================================== */
.om-quick-product { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px 16px 4px; }
.om-quick-product img { width: 72px; height: 72px; border-radius: 6px; background: #f7f8f8; object-fit: contain; }
.om-quick-title { margin: 0; font-size: 14px; line-height: 1.3; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.om-quick-price { margin: 4px 0 0; font-size: 18px; font-weight: 700; }
.om-quick-group { margin: 12px 16px 0; }
.om-quick-label { margin: 0 0 6px; font-size: 14px; }
.om-quick-values { display: flex; flex-wrap: wrap; gap: 8px; }
.om-quick-value { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; max-width: 100%; padding: 4px 12px; border: 1px solid #d5d9d9; border-radius: 8px; background: #fff; color: var(--om-ink); font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.om-quick-value img { flex: none; width: 32px; height: 32px; border-radius: 4px; object-fit: contain; }
.om-quick-value small { color: var(--om-ink-2); }
.om-quick-value[aria-pressed="true"] { border-color: #007185; box-shadow: inset 0 0 0 1px #007185; background: #f0f8fa; }
.om-quick-value.is-unmatched { border-style: dashed; color: var(--om-ink-2); }
.om-quick-value:disabled { border-style: dashed; color: #8d9096; text-decoration: line-through; cursor: not-allowed; }
.om-quick-value:focus-visible { outline: 2px solid #007185; outline-offset: 2px; }
.om-quick-actions { display: grid; gap: 8px; margin: 16px 16px 0; }
.om-quick-add { min-height: 44px; border: 1px solid #fcd200; border-radius: 999px; background: #ffd814; color: #0f1111; font: inherit; font-size: 15px; cursor: pointer; }
.om-quick-add:hover { background: #f7ca00; }
.om-quick-add:disabled { opacity: .55; cursor: not-allowed; }
.om-quick-hint { margin: 0; min-height: 1.3em; color: var(--om-ink-2); font-size: 12px; text-align: center; }
.om-quick-hint.is-error { color: #b12704; }
.om-quick-details { justify-self: center; color: var(--om-link); font-size: 13px; }
.om-toast { position: fixed; left: 50%; bottom: calc(96px + env(safe-area-inset-bottom)); z-index: 300; max-width: calc(100vw - 32px); padding: 10px 16px; border-radius: 8px; background: #232f3e; color: #fff; font-size: 14px; transform: translate(-50%, 12px); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.om-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
@media (min-width: 761px) { .om-toast { bottom: 32px; } }
@media (prefers-reduced-motion: reduce) { .om-toast { transition: none; } }

/* Crawlable category bridges: a product's category path above its title; a department's category links. */
.om-pdp-crumbs { margin: var(--om-space-2) 0 var(--om-space-1); }
.om-dept-categories { display: flex; flex-wrap: wrap; gap: var(--om-space-1) var(--om-space-3); align-items: baseline; margin: var(--om-space-2) 0; font-size: var(--om-fs-small); }
.om-dept-categories a { color: var(--om-link, #007185); text-decoration: none; }
.om-dept-categories a:hover { text-decoration: underline; }

/* Touch targets (WCAG 2.2 2.5.8, 24 x 24 CSS px): shared card controls were 14 px tall rating links and a
   14 x 18 "+N" colours link (Lighthouse target-size, 2026-11-09). Sized here once for every card. */
.om-rating-sm { min-height: 24px; margin: 0; }
.om-swatch-more { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; margin-left: 0; }
/* ---- category-nav.css ---- */
/* Category navigation (owner 2026-11-04): All Categories trigger, mega panel / drill-down drawer,
   Categories landing tiles and taxonomy pages. OneMkan tokens (om-premium.css); logical properties keep RTL. */

/* ---------- Trigger: first item of the strip ---------- */
.om-allcat-trigger {
  display: inline-flex; align-items: center; gap: 6px; flex: none;
  min-height: 36px; padding: 0 10px; border-radius: 4px;
  color: inherit; font-weight: 700; text-decoration: none; white-space: nowrap;
}
.om-allcat-trigger:hover { outline: 1px solid currentColor; }
.om-allcat-trigger:focus-visible { outline: 2px solid var(--om-accent); outline-offset: 1px; }
.amazon-subnav .om-strip-free-shipping { flex: none; }

/* ---------- Dialog shell ---------- */
html.om-allcat-open, html.om-allcat-open body { overflow: hidden; }
.om-allcat {
  padding: 0; border: 0; color: var(--om-ink); background: #fff;
  box-shadow: 0 12px 40px rgba(15, 17, 17, .25);
}
.om-allcat::backdrop { background: rgba(15, 17, 17, .45); }
.om-allcat-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 12px 10px 16px; border-block-end: 1px solid var(--om-line); background: var(--om-soft);
}
.om-allcat-head h2 { margin: 0; font-size: 1.125rem; }
.om-allcat-status { padding: 24px 16px; color: var(--om-ink-2); }
.om-allcat a { color: var(--om-ink); text-decoration: none; }
.om-allcat a:hover { color: var(--om-link); text-decoration: underline; }
.om-allcat a:focus-visible, .om-allcat button:focus-visible { outline: 2px solid var(--om-select); outline-offset: 2px; border-radius: 4px; }

.om-allcat-rail { list-style: none; margin: 0; padding: 6px 0; overflow-y: auto; overscroll-behavior: contain; }
.om-allcat-dept {
  display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px;
  font-size: .9375rem; line-height: 1.2;
}
.om-allcat-dept .om-dept-icon { flex: none; color: var(--om-ink-2); }
.om-allcat-dept span:first-of-type { flex: 1; }
.om-allcat-chev { color: var(--om-ink-2); font-size: 1.25rem; }
[dir="rtl"] .om-allcat-chev { transform: scaleX(-1); }
.om-allcat-dept.is-active { background: #eaf3f5; }
.om-allcat-dept:hover { text-decoration: none !important; }
@media (hover: hover) { .om-allcat-dept:hover { background: #eaf3f5; } }
.om-allcat-dept.is-active { font-weight: 700; box-shadow: inset 3px 0 0 var(--om-select); }
[dir="rtl"] .om-allcat-dept.is-active { box-shadow: inset -3px 0 0 var(--om-select); }
.om-allcat-dept.is-active .om-dept-icon { color: var(--om-select); }

.om-allcat-panel { overflow-y: auto; overscroll-behavior: contain; padding: 14px 20px 24px; }
.om-allcat-panel-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; margin-block-end: 10px; }
.om-allcat-panel-head h2 { margin: 0; font-size: 1.25rem; }
.om-allcat-see-all { color: var(--om-link) !important; font-size: .875rem; }
.om-allcat-back {
  display: none; min-height: 44px; padding: 0; border: 0; background: none;
  color: var(--om-link); font: inherit; font-weight: 700; cursor: pointer;
}
.om-allcat-groups { columns: 210px 3; column-gap: 28px; }
.om-allcat-group { break-inside: avoid; margin-block-end: 16px; }
.om-allcat-group h3 { margin: 0 0 4px; font-size: .9375rem; }
.om-allcat-group ul { list-style: none; margin: 0; padding: 0; }
.om-allcat-group li a { display: block; padding: 4px 0; font-size: .875rem; color: var(--om-ink-2); }

/* Desktop: rail + adjacent mega panel, both scrolling inside the viewport. */
@media (min-width: 900px) {
  .om-allcat {
    position: fixed; inset: 64px auto auto 16px; margin: 0;
    width: min(1180px, calc(100vw - 32px)); height: min(640px, calc(100vh - 88px)); max-height: none; max-width: none;
    border-radius: var(--om-radius); display: none; flex-direction: column;
  }
  [dir="rtl"] .om-allcat { inset: 64px 16px auto auto; }
  .om-allcat[open] { display: flex; }
  .om-allcat-slot, .om-allcat-body { flex: 1; min-height: 0; }
  .om-allcat-body { display: grid; grid-template-columns: 270px 1fr; height: 100%; }
  .om-allcat-rail { border-inline-end: 1px solid var(--om-line); background: #fff; }
  .om-allcat-panels { min-height: 0; overflow: hidden; display: flex; }
  .om-allcat-panel { flex: 1; }
}

/* Phones and tablets: full-screen drawer, drill-down. */
@media (max-width: 899.98px) {
  .om-allcat {
    margin: 0; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none;
    display: none; flex-direction: column;
  }
  .om-allcat[open] { display: flex; }
  .om-allcat-slot { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  .om-allcat-body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  .om-allcat-rail { flex: 1; padding-block-end: calc(16px + var(--om-safe-bottom, 0px)); }
  .om-allcat-rail li + li { border-block-start: 1px solid #eef0f0; }
  .om-allcat-dept { min-height: 52px; font-size: 1rem; }
  .om-allcat-dept.is-active { box-shadow: none; font-weight: 400; background: none; }
  .om-allcat-panels { display: none; }
  .om-allcat.is-drilled .om-allcat-rail { display: none; }
  .om-allcat.is-drilled .om-allcat-panels { display: flex; flex: 1; min-height: 0; }
  .om-allcat-panel { flex: 1; padding: 6px 16px calc(24px + var(--om-safe-bottom, 0px)); }
  .om-allcat-back { display: inline-flex; align-items: center; width: 100%; }
  .om-allcat-panel-head { margin-block-end: 6px; }
  .om-allcat-groups { columns: 1; }
  .om-allcat-group { padding-block: 10px; margin: 0; border-block-end: 1px solid #eef0f0; }
  .om-allcat-group ul { display: flex; flex-wrap: wrap; gap: 8px; margin-block-start: 8px; }
  .om-allcat-group li a {
    display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px;
    border: 1px solid var(--om-line); border-radius: 18px; color: var(--om-ink);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .om-allcat[open] { animation: om-allcat-in .14s ease-out; }
  @keyframes om-allcat-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
}

/* ---------- Categories landing ---------- */
.om-cat-landing { max-width: 1280px; margin: 0 auto; padding: 16px; }
.om-cat-landing-head h1 { margin: 0; font-size: 1.5rem; }
.om-cat-landing-head p { margin: 4px 0 14px; color: var(--om-ink-2); font-size: .875rem; }
.om-cat-tiles {
  list-style: none; margin: 0; padding: 0; display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
}
.om-cat-tile a {
  display: flex; flex-direction: column; height: 100%; border: 1px solid var(--om-line); border-radius: var(--om-radius);
  overflow: hidden; color: var(--om-ink); text-decoration: none; background: #fff;
}
.om-cat-tile a:hover { border-color: #a6b0b0; box-shadow: var(--om-shadow); }
.om-cat-tile a:focus-visible { outline: 2px solid var(--om-select); outline-offset: 2px; }
.om-cat-tile-media { display: grid; place-items: center; aspect-ratio: 4 / 3; background: var(--om-soft); overflow: hidden; }
.om-cat-tile-media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.om-cat-tile.is-icon .om-cat-tile-media { aspect-ratio: 2 / 1; }
.om-cat-tile-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #fff; color: var(--om-select); }
.om-cat-tile-label { display: flex; align-items: center; gap: 6px; padding: 10px 10px 2px; font-weight: 700; font-size: .9375rem; line-height: 1.25; }
.om-cat-tile-icon-inline { display: inline-flex; color: var(--om-ink-2); flex: none; }
.om-cat-tile-note { padding: 0 10px 10px; color: var(--om-ink-2); font-size: .75rem; }
.om-cat-tile-label:last-child { padding-block-end: 10px; }
@media (max-width: 700px) {
  .om-cat-landing { padding: 12px; }
  .om-cat-landing-head h1 { font-size: 1.25rem; }
  .om-cat-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .om-cat-tile-label { font-size: .875rem; }
}

/* ---------- Taxonomy pages: PageNav + SectionHeader (om-premium.css content system) + CategoryTree ---------- */
.om-category-page { max-width: 1500px; margin: 0 auto; padding: var(--om-space-3) var(--om-page-gutter) var(--om-space-5); }
.om-category-page .om-section-head { margin-block-end: var(--om-space-3); }
/* CategoryTree, department level: one panel of groups, each opening onto its leaves. Groups draw their top
   rule and the panel clips the first row's, so the panel never shows a doubled edge. */
.om-category-children.is-department {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0 var(--om-space-6);
  margin-block-end: var(--om-space-4); padding: 0 var(--om-space-4); overflow: hidden;
  border: 1px solid var(--om-line-soft); border-radius: var(--om-panel-radius); background: #fff;
}
.om-category-group { margin-block-start: -1px; border-block-start: 1px solid #eaeded; }
.om-category-group summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--om-space-2); min-height: 48px;
  color: var(--om-ink); font-size: var(--om-fs-body); font-weight: 700; line-height: 1.3; list-style: none; cursor: pointer;
}
.om-category-group summary::-webkit-details-marker { display: none; }
.om-category-group summary::after { /* down chevron; physical borders keep it symmetric in RTL */
  content: ""; flex: none; width: 7px; height: 7px; margin-inline-end: 4px; border-right: 2px solid #6f7373; border-bottom: 2px solid #6f7373;
  transform: translateY(-2px) rotate(45deg); transition: transform .15s ease;
}
.om-category-group[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.om-category-group summary:hover > span { color: var(--om-link); text-decoration: underline; }
.om-category-group summary:focus-visible { outline: 2px solid var(--om-select); outline-offset: 2px; border-radius: 4px; }
.om-category-group ul { margin: 0 0 var(--om-space-3); padding: 0; padding-inline-start: var(--om-space-3); border-inline-start: 2px solid #eaeded; list-style: none; }
.om-category-group li a { display: flex; align-items: center; min-height: 34px; color: var(--om-ink-2); font-size: 14px; line-height: 1.3; text-decoration: none; }
.om-category-group li a:hover { color: var(--om-link); text-decoration: underline; }
.om-category-group li a:focus-visible { outline: 2px solid var(--om-select); outline-offset: 1px; border-radius: 3px; }
.om-category-group-all { font-weight: 700; color: var(--om-link) !important; }
@media (prefers-reduced-motion: reduce) { .om-category-group summary::after { transition: none; } }
/* CategoryTree, group level: its leaves as one scrolling row of links. */
.om-category-chips { display: flex; gap: var(--om-space-2); overflow-x: auto; list-style: none; margin: 0 0 var(--om-space-4); padding: 2px 0 6px; scrollbar-width: thin; }
.om-category-chips a {
  display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; white-space: nowrap;
  border: 1px solid var(--om-line); border-radius: 18px; background: #fff; color: var(--om-ink); text-decoration: none; font-size: 14px;
}
.om-category-chips a.is-listed { border-color: var(--om-select); }
.om-category-chips a:hover { background: var(--om-soft); text-decoration: underline; }
.om-category-chips a:focus-visible { outline: 2px solid var(--om-select); outline-offset: 1px; }
@media (max-width: 700px) {
  .om-category-children.is-department { grid-template-columns: minmax(0, 1fr); padding: 0 var(--om-space-3); }
  .om-category-group li a { min-height: 40px; }
}
/* CategoryTree, desktop (owner 2026-11-05): the page uses the screen width like the homepage, and every group
   is an open column. Below 1000px nothing here applies, so phones and tablets render as before. */
.om-category-columns { display: none; }
@media (min-width: 1000px) {
  .om-category-page { max-width: 2400px; padding-inline: clamp(20px, 2.4vw, 56px); }
  .om-category-children.is-department { display: none; }
  .om-category-columns {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: var(--om-space-5) var(--om-space-6);
    margin-block-end: var(--om-space-4); padding: 20px var(--om-space-5) var(--om-space-5);
    border: 1px solid var(--om-line-soft); border-radius: var(--om-panel-radius); background: #fff;
  }
  .om-category-column { min-width: 0; }
  .om-category-column h2 { margin: 0 0 var(--om-space-2); padding-block-end: var(--om-space-2); border-block-end: 1px solid #eaeded; font-size: var(--om-fs-body); line-height: 1.3; }
  .om-category-column h2 a { color: var(--om-ink); text-decoration: none; }
  .om-category-column ul { margin: 0; padding: 0; list-style: none; }
  .om-category-column li a {
    display: flex; align-items: center; min-height: 30px; color: var(--om-ink-2); font-size: 14px; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere;
  }
  .om-category-column li:last-child { margin-block-start: var(--om-space-1); }
  .om-category-column a:hover { color: var(--om-link); text-decoration: underline; }
  .om-category-column a:focus-visible { outline: 2px solid var(--om-select); outline-offset: 1px; border-radius: 3px; }
}

/* The department shortcuts scroll inside their row: fade the trailing edge so a partly shown name reads as
   "more to scroll", not as a clipped label. */
.amazon-subnav .amazon-department-nav {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
  mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
}
[dir="rtl"] .amazon-subnav .amazon-department-nav {
  -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 28px), transparent);
  mask-image: linear-gradient(to left, #000 calc(100% - 28px), transparent);
}

/* Phones (owner fix 08): the homepage strip is one horizontal scroll row. All Categories, every department
   shortcut and Free Shipping are ordinary items in it, so Free Shipping never pins over the departments.
   No mask here: it would also clip the Menu drawer, a fixed child of the strip. The fade is a sticky last
   item instead, so at the end of the scroll it sits after Free Shipping and covers nothing. */
@media (max-width: 700px) {
  body .amazon-subnav:not(.om-subnav-inner) {
    overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: none;
  }
  body .amazon-subnav:not(.om-subnav-inner)::-webkit-scrollbar { display: none; }
  body .amazon-subnav:not(.om-subnav-inner) .amazon-department-nav {
    flex: none; overflow: visible; -webkit-mask-image: none; mask-image: none;
  }
  body .amazon-subnav:not(.om-subnav-inner) .amazon-department-nav a { display: flex; }
  body .amazon-subnav:not(.om-subnav-inner)::after {
    content: ""; position: sticky; inset-inline-end: 0; flex: 0 0 24px; align-self: stretch;
    pointer-events: none; background: linear-gradient(to right, transparent, var(--om-navy-2));
  }
  [dir="rtl"] body .amazon-subnav:not(.om-subnav-inner)::after {
    background: linear-gradient(to left, transparent, var(--om-navy-2));
  }
}

/* Category summary and buying guidance (category_content.py): reading text below the grid, full width. */
.om-category-guide { margin: var(--om-space-6) 0 var(--om-space-4); padding-top: var(--om-space-4); border-top: 1px solid var(--om-line); color: var(--om-ink); max-width: 72ch; overflow-wrap: anywhere; }
.om-category-guide h2 { font-size: 1.15rem; margin: 0 0 var(--om-space-2); }
.om-category-guide h3 { font-size: 1rem; margin: var(--om-space-4) 0 var(--om-space-2); }
.om-category-guide p, .om-category-guide li { color: var(--om-ink-2); line-height: 1.5; margin: 0 0 var(--om-space-2); }
.om-category-guide ul { margin: 0; padding-inline-start: 1.2em; }
.om-category-guide a { color: var(--om-link); }
.om-category-facts { display: grid; grid-template-columns: max-content 1fr; gap: var(--om-space-2) var(--om-space-4); margin: var(--om-space-3) 0 0; }
.om-category-facts > div { display: contents; }
.om-category-facts dt { font-weight: 600; }
.om-category-facts dd { margin: 0; color: var(--om-ink-2); }
@media (max-width: 520px) { .om-category-facts { grid-template-columns: 1fr; gap: 2px; } .om-category-facts dd { margin-bottom: var(--om-space-2); } }
