/* WordPress and WooCommerce integration layer. Business rules remain in plugins. */

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  top: 12px;
  inset-inline-start: 12px;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 12px 16px;
  clip: auto;
  border-radius: var(--radius-control);
  background: var(--color-white);
  color: var(--color-ink);
}

.brand--custom .custom-logo-link,
.brand--custom .custom-logo {
  display: block;
}

.desktop-nav .primary-menu,
.mobile-nav .mobile-menu-list,
.mobile-nav .primary-menu,
.footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.desktop-nav .primary-menu {
  display: flex;
  align-items: stretch;
  gap: 32px;
}

.desktop-nav .menu-item {
  position: relative;
}

.desktop-nav .menu-item > a,
.desktop-nav .primary-menu__toggle {
  display: flex;
  min-height: 66px;
  align-items: center;
  text-decoration: none;
}

.desktop-nav .primary-menu__toggle {
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

.primary-menu__chevron {
  width: 7px;
  height: 7px;
  margin-block-start: -4px;
  border-inline-end: 1px solid currentColor;
  border-block-end: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--duration-state) var(--ease-state);
}

.menu-item-has-children.is-open .primary-menu__chevron {
  margin-block-start: 3px;
  transform: rotate(225deg);
}

.desktop-nav .sub-menu {
  position: absolute;
  inset-block-start: calc(100% - 1px);
  inset-inline-start: -18px;
  z-index: var(--z-dropdown);
  display: none;
  min-width: 220px;
  margin: 0;
  padding: 12px 18px;
  list-style: none;
  border-top: 3px solid var(--orange);
  border-radius: 0 0 var(--radius-control) var(--radius-control);
  background: var(--white);
  box-shadow: 0 12px 28px rgba(23, 33, 41, .14);
}

.desktop-nav .menu-item:hover > .sub-menu,
.desktop-nav .menu-item.is-open > .sub-menu {
  display: grid;
}

.desktop-nav .sub-menu a {
  min-height: 44px;
}

.header-actions a,
.button,
.inline-link {
  text-decoration: none;
}

.language-placeholder {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.mobile-nav .mobile-menu-list,
.mobile-nav .primary-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
}

.mobile-nav li {
  list-style: none;
}

.mobile-nav li a {
  display: block;
  padding: 14px 16px;
  background: var(--white);
  text-decoration: none;
}

.mobile-nav .primary-menu__toggle {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border: 0;
  background: var(--white);
  color: var(--ink);
  text-align: start;
}

.mobile-nav .sub-menu {
  display: none;
  margin: 0;
  padding-block: 0;
  padding-inline: 12px 0;
}

.mobile-nav .menu-item-has-children.is-open > .sub-menu {
  display: grid;
}

.footer-menu li {
  list-style: none;
}

.footer-region-list span {
  display: block;
  color: #e4ebed;
  font-family: var(--font-display);
  font-size: var(--type-label);
  font-weight: 600;
  letter-spacing: .03em;
}

.page-content {
  max-width: min(920px, var(--shell));
}

.page-content > :first-child {
  margin-top: 0;
}

.page-content > :last-child {
  margin-bottom: 0;
}

.search-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 24px;
}

.search-result-card {
  padding: var(--space-md);
  border: 1px solid var(--line);
  border-radius: var(--radius-media);
  background: var(--white);
}

.search-result-card h2 {
  margin-top: 0;
}

.search-result-card a {
  text-decoration: none;
}

.navigation.pagination {
  margin-top: var(--space-lg);
}

.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.page-numbers {
  display: inline-grid;
  min-width: 42px;
  min-height: 42px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--white);
  text-decoration: none;
}

.page-numbers.current {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
}

/* WooCommerce catalogue. */
.site-main--woocommerce {
  min-height: 60vh;
}

.woocommerce .woocommerce-breadcrumb {
  margin: 24px 0;
  color: var(--grey);
  font-size: 13px;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--ink);
  text-decoration: none;
}

.catalog-content .woocommerce-result-count {
  margin: 0 0 20px;
  color: var(--grey);
  font-size: 13px;
}

.catalog-content .woocommerce-ordering {
  margin: 0 0 20px;
}

.catalog-content .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.select2-container--default .select2-selection--single {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--white);
  color: var(--ink);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  clear: both;
  margin: 0;
  padding: 0;
}

/* Archive product grids: three desktop cards; related products retains its dedicated five-card layout. */
@media (min-width: 901px) {
  body.post-type-archive-product main ul.products,
  body.tax-product_brand main ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  width: auto;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-media);
  background: var(--white);
  transition: border-color var(--duration-state) var(--ease-state), transform var(--duration-state) var(--ease-state);
}

.woocommerce ul.products li.product:hover {
  border-color: var(--ink);
  transform: translateY(-2px);
}

.woocommerce ul.products li.product > a {
  text-decoration: none;
}

.twelve-product-media {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: calc(var(--radius-media) - 4px);
  background: #f0f3f2;
  touch-action: pan-y;
}

.twelve-product-media__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 220ms var(--ease-state), transform 360ms var(--ease-state);
  -webkit-user-drag: none;
  user-select: none;
}

.twelve-product-media__image.is-active {
  opacity: 1;
  transform: scale(1);
}

.twelve-product-media__tracks {
  position: absolute;
  inset-inline: 16px;
  inset-block-end: 13px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 4px;
  pointer-events: none;
}

.twelve-product-media__track {
  height: 2px;
  background: rgb(255 255 255 / 62%);
  transition: background-color var(--duration-state) var(--ease-state);
}

.twelve-product-media__track.is-active {
  background: var(--orange);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 15px 4px 0;
  padding: 0;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.6vw, 1.55rem);
  line-height: 1.02;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.woocommerce ul.products li.product .twelve-product-price-gate {
  margin: 14px 4px 0;
  padding-top: 12px;
}

.woocommerce ul.products li.product .twelve-product-price-gate__amount strong {
  font-size: 1.55rem;
}

.woocommerce ul.products li.product .twelve-product-price-gate__register {
  font-size: 11px;
}

.woocommerce ul.products li.product .button {
  display: flex;
  justify-content: center;
  margin: 14px 4px 4px;
}

.filter-panel .filter-widget {
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}

.filter-panel .filter-widget__title {
  margin: 0 0 10px;
  font-size: var(--type-ui);
}

.filter-panel ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.filter-panel li + li {
  margin-top: 8px;
}

.filter-panel .filter-brand-list li + li,
.filter-panel .filter-category-list li + li {
	margin-top: 0;
}

.filter-panel a {
  color: #52626a;
  font-size: 13px;
  text-decoration: none;
}

.filter-panel .filter-brand-list a,
.filter-panel .filter-category-list a {
	display: flex;
	min-height: 40px;
	align-items: center;
	padding: 8px 0;
}

.filter-panel .filter-brand-list a[aria-current="page"],
.filter-panel .filter-category-list a[aria-current="page"] {
	color: var(--orange);
	font-weight: 700;
}

.filter-panel a:hover {
  color: var(--orange);
}

/* WooCommerce single product: standard gallery left, summary right. */
.woo-single-shell {
  padding-bottom: 72px;
}

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: 48px;
  align-items: start;
}

.woocommerce div.product::before,
.woocommerce div.product::after {
  display: none;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  float: none;
  width: auto;
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

.woocommerce div.product div.images {
  position: relative;
}

.woocommerce div.product div.images .flex-viewport {
  position: relative;
  max-width: 100%;
  overflow: hidden;
}

.woocommerce div.product div.images .flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce div.product div.images .flex-direction-nav li {
  margin: 0;
  padding: 0;
}

.woocommerce div.product div.images .flex-direction-nav a {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: transparent;
  text-decoration: none;
  transform: translateY(-50%);
  transition: transform var(--duration-state) var(--ease-state);
}

.woocommerce div.product div.images .flex-direction-nav a::before {
  width: 18px;
  height: 18px;
  border-block-start: 3px solid var(--white);
  border-inline-start: 3px solid var(--white);
  filter: drop-shadow(0 1px 2px rgba(23, 33, 41, .9));
  content: "";
  transition: border-color var(--duration-state) var(--ease-state);
}

.woocommerce div.product div.images .flex-direction-nav .flex-prev {
  inset-inline-start: 16px;
}

.woocommerce div.product div.images .flex-direction-nav .flex-next {
  inset-inline-end: 16px;
}

.woocommerce div.product div.images .flex-direction-nav .flex-prev::before {
  transform: translateX(2px) rotate(-45deg);
}

.woocommerce div.product div.images .flex-direction-nav .flex-next::before {
  transform: translateX(-2px) rotate(135deg);
}

.woocommerce div.product div.images .flex-direction-nav a:hover {
  transform: translateY(-50%) scale(1.1);
}

.woocommerce div.product div.images .flex-direction-nav a:hover::before {
  border-color: var(--orange);
}

.woocommerce div.product div.images .flex-direction-nav a:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px;
}

.woocommerce div.product div.images .flex-direction-nav .flex-disabled {
  display: none;
}

.woocommerce div.product div.images img {
  border-radius: var(--radius-media);
  background: var(--white);
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 84px));
  gap: 10px;
  margin-top: 10px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  float: none;
  width: auto;
}

.woocommerce div.product div.images .flex-control-thumbs img {
  border: 2px solid transparent;
  border-radius: var(--radius-control);
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active {
  border-color: var(--orange);
}

.woocommerce div.product .summary {
  display: grid;
  gap: var(--space-sm);
  align-content: start;
}

.woocommerce div.product .product_title {
  margin: 0;
  font-size: clamp(26px, 2.4vw, 36px);
  line-height: 1.05;
  letter-spacing: -.025em;
}

.woocommerce div.product .summary .price {
  margin: 0;
  padding: var(--space-xs) 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  color: var(--ink);
  font-size: var(--type-title);
  font-weight: 700;
}

.woocommerce div.product .summary .price .twelve-shoes-price-unit,
.woocommerce div.product .summary .price .twelve-shoes-carton-price-unit {
  margin-inline-start: 6px;
  color: #43535b;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.woocommerce div.product .summary .price .twelve-shoes-carton-carton-price {
  margin-top: 7px;
  color: #43535b;
  font-size: .875rem;
  font-weight: 600;
}

body.single-product.woocommerce div.product .summary .price .twelve-shoes-carton-carton-price {
  display: none;
}

body.single-product.woocommerce div.product .summary .price {
  padding: 0;
  border: 0;
  color: #b37937;
  font-size: 35px;
  line-height: 1;
}

.twelve-product-price-cny {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 4px 0 0;
  color: #b37937;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.twelve-product-price-cny__amount {
  font-family: var(--font-display);
  font-size: 15px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}

.twelve-product-price-cny small {
  color: #43535b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .045em;
}

body.single-product.woocommerce div.product .summary > .twelve-product-price-cny {
  margin-top: calc(-1 * var(--space-sm) + 4px);
}

body.single-product.woocommerce div.product .summary > .twelve-product-price-cny .twelve-product-price-cny__amount {
  font-size: 17px;
}

body.single-product.woocommerce div.product .product_title {
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -.015em;
  text-wrap: pretty;
}

body.single-product.woocommerce div.product .twelve-product-seo-subtitle {
  max-width: 62ch;
  margin: -8px 0 0;
  color: #53636b;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  text-wrap: pretty;
}

body.single-product.woocommerce div.product .summary .twelve-shoes-carton-ratio-note {
  display: none;
}

.woocommerce div.product .product_meta {
  display: grid;
  gap: 8px;
  margin: 0;
  color: var(--grey);
  font-size: 13px;
}

.woocommerce div.product .product_meta a {
  color: var(--ink);
}

.product-ships-from {
  display: flex;
  justify-content: space-between;
  gap: var(--space-sm);
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}

.product-ships-from span {
  color: var(--grey);
}

.product-ships-from strong {
  text-align: end;
}

.woocommerce div.product form.cart,
.woocommerce div.product form.variations_form {
  margin: 0;
  padding: var(--space-sm);
  overflow: hidden;
  border-top: 4px solid var(--orange);
  border-radius: var(--radius-media);
  background: #e8eded;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.variations_form .button {
  min-height: 48px;
  border-radius: var(--radius-control);
}

.woocommerce div.product form.cart .quantity {
  display: grid;
  grid-template-columns: 48px minmax(72px, 1fr) 48px;
  width: min(100%, 224px);
  margin-inline-end: 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--white);
}

.woocommerce div.product form.cart .quantity .qty {
  width: 100%;
  min-height: 48px;
  padding: 8px;
  border: 0;
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  text-align: center;
  appearance: textfield;
}

.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.woocommerce div.product form.cart .quantity-step {
  display: grid;
  min-width: 48px;
  min-height: 48px;
  place-items: center;
  padding: 0;
  border: 0;
  background: var(--white);
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
  transition: background-color var(--duration-state) var(--ease-state), color var(--duration-state) var(--ease-state);
}

.woocommerce div.product form.cart .quantity-step--decrease {
  border-inline-end: 1px solid var(--line);
}

.woocommerce div.product form.cart .quantity-step--increase {
  border-inline-start: 1px solid var(--line);
}

.woocommerce div.product form.cart .quantity-step:hover:not(:disabled),
.woocommerce div.product form.cart .quantity-step:focus-visible {
  background: var(--orange);
  color: var(--white);
}

.woocommerce div.product form.cart .quantity-step:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--ink);
  outline-offset: -3px;
}

.woocommerce div.product form.cart .quantity-step:disabled {
  cursor: not-allowed;
  opacity: .35;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
  grid-column: 1 / -1;
}

/* Related products use a compact five-card merchandising row on desktop. */
.woocommerce div.product .related ul.products {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.woocommerce div.product .related ul.products li.product {
  padding: 10px;
}

/* Let the related-products grid own card sizing at every viewport width.
 * WooCommerce's bundled .columns-5 rule otherwise compresses each grid item
 * to a percentage of its grid track on desktop. */
.woocommerce div.product .related ul.products.columns-5 > li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
}

.woocommerce div.product .related ul.products li.product .woocommerce-loop-product__title {
  margin-top: 11px;
  font-size: clamp(.95rem, 1.2vw, 1.15rem);
}

.woocommerce div.product .related ul.products li.product .twelve-product-price-gate {
  margin-top: 10px;
  padding-top: 9px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  margin: 32px 0 0;
  padding: 0;
  border-bottom: 1px solid var(--ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin-block: 0;
  margin-inline: 0 12px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-control) var(--radius-control) 0 0;
  background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 13px 16px;
}

.woocommerce div.product .woocommerce-tabs .panel {
  padding-top: 24px;
}

/* WooCommerce notices, cart, checkout and account inherit the same UI tokens. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin: 0 0 24px;
  padding-block: 16px;
  padding-inline: 48px 18px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--orange);
  border-radius: var(--radius-media);
  background: var(--white);
  color: var(--ink);
}

.woocommerce table.shop_table {
  border: 1px solid var(--line);
  border-radius: var(--radius-media);
  background: var(--white);
  border-collapse: separate;
  overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 14px 16px;
  border-color: var(--line);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  min-height: 48px;
  padding: 13px 18px;
  border: 1px solid var(--orange);
  border-radius: var(--radius-control);
  background: var(--orange);
  color: var(--white);
  font-family: var(--font-display);
  font-size: var(--type-label);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--white);
}

.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt:disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled,
.woocommerce input.button.alt.disabled,
.woocommerce input.button.alt:disabled {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--white);
  opacity: .55;
}

/* WooCommerce account: a compact wholesale field manual, not a default blog page. */
.woocommerce-account .page-hero {
  padding: 48px 0 42px;
}

.woocommerce-account .page-hero::after {
  width: min(260px, 32vw);
  height: 4px;
}

.woocommerce-account .page-hero h1 {
  max-width: 820px;
  margin-bottom: 10px;
  font-size: clamp(2.65rem, 5vw, 4.25rem);
  line-height: .98;
}

.woocommerce-account .page-hero p:not(.eyebrow) {
  max-width: 680px;
  font-size: 1rem;
}

.woocommerce-account .page-content {
  width: var(--shell);
  max-width: var(--shell);
  padding-top: 48px;
  padding-bottom: 88px;
}

/* :has keeps guest login/register markup out of the signed-in account grid. */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after {
  display: none;
  content: none;
}

.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {
  grid-column: 1;
  min-width: 0;
}

.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
  grid-column: 2;
  min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  position: sticky;
  top: 118px;
  float: none;
  width: auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-media);
  background: var(--white);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 4px solid var(--orange);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  position: relative;
  display: flex;
  min-height: 56px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color var(--duration-state) var(--ease-state), color var(--duration-state) var(--ease-state);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a {
  border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
  background: var(--paper);
  color: var(--ink);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  background: var(--paper);
  box-shadow: inset 0 -3px 0 var(--orange);
  color: var(--ink);
  font-weight: 750;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #9b3d18;
}

/* Keep the buyer workspace light and aligned with the account navigation. */
.woocommerce-account .twelve-wholesale-dashboard {
  margin-top: 0;
}

.woocommerce-account .twelve-wholesale-dashboard__header {
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--line);
  border-top: 4px solid var(--orange);
  border-radius: var(--radius-media);
  background: var(--white);
  color: var(--ink);
}

.woocommerce-account .twelve-wholesale-dashboard__header h2 {
  color: var(--ink);
}

.woocommerce-account .twelve-wholesale-dashboard__header p {
  color: var(--grey);
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  min-height: 340px;
  color: var(--ink);
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child {
  margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > :last-child {
  margin-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > p {
  max-width: 72ch;
  color: #43535b;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content legend {
  color: var(--ink);
  font-family: var(--font-display);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  margin: 0 0 18px;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
}

/* Account notices and order empty states remain truthful and action-oriented. */
.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  display: flex;
  min-height: 92px;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--orange);
  border-radius: var(--radius-control);
  background: var(--white);
}

.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
  position: static;
  flex: 0 0 auto;
  margin-inline-end: -8px;
}

.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button {
  order: 2;
  margin: 0;
}

/* Orders: real WooCommerce records only, with stable column rhythm. */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table--order-details {
  width: 100%;
  margin: 0 0 24px;
  border-collapse: collapse;
  border-radius: var(--radius-control);
  font-variant-numeric: tabular-nums;
}

.woocommerce-account .woocommerce-orders-table thead,
.woocommerce-account .woocommerce-table--order-details thead {
  background: var(--ink);
  color: var(--white);
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-table--order-details th {
  color: inherit;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-table--order-details td {
  vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table td a:not(.button),
.woocommerce-account .woocommerce-table--order-details td a:not(.button) {
  color: var(--teal);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.woocommerce-account .woocommerce-orders-table .button {
  min-height: 44px;
  margin: 0;
  padding: 11px 15px;
}

.woocommerce-account .woocommerce-pagination {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 24px;
}

/* Billing and shipping stay separate because they are order records, not profile fields. */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .u-columns.woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 28px;
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
  display: none;
  content: none;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  float: none;
  width: auto;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--teal);
  border-radius: var(--radius-control);
  background: var(--white);
}

.woocommerce-account .woocommerce-Address-title {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
  margin: 0;
  font-size: 1.35rem;
}

.woocommerce-account .woocommerce-Address-title .edit {
  display: inline-flex;
  float: none;
  min-height: 44px;
  align-items: center;
  color: var(--teal);
  font-size: .8125rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce-account .woocommerce-Address address {
  margin-top: 20px;
  color: #43535b;
  font-style: normal;
  line-height: 1.65;
}

/* Account, address and company-profile forms share one control language. */
.woocommerce-account .woocommerce-MyAccount-content form {
  max-width: 920px;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row {
  margin-bottom: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row label {
  margin-bottom: 7px;
  color: var(--ink);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.3;
}

.woocommerce-account .woocommerce-MyAccount-content form :is(input.input-text, textarea, select),
.woocommerce-account .woocommerce-MyAccount-content .select2-container--default .select2-selection--single {
  width: 100%;
  min-height: 48px;
  border-color: #9ca9ae;
  background: var(--white);
}

.woocommerce-account .woocommerce-MyAccount-content form textarea {
  min-height: 120px;
  resize: vertical;
}

.woocommerce-account .woocommerce-MyAccount-content form :is(input.input-text, textarea, select):focus {
  border-color: var(--ink);
  outline: 2px solid var(--orange);
  outline-offset: 2px;
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce-MyAccount-content .twelve-shoes-company-profile {
  margin: 32px 0 24px;
  padding: 28px 0 0;
  border: 0;
  border-top: 1px solid var(--ink);
}

.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset legend {
  padding: 0 14px 0 0;
  background: var(--paper);
  font-size: 1.25rem;
  font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .required {
  color: #b54216;
}

/* Wholesale plugin owns its internal profile/dashboard components and status colours. */
.woocommerce-account .woocommerce-MyAccount-content :is(.twelve-wholesale-dashboard, .twelve-wholesale-company-profile) {
  width: 100%;
  min-width: 0;
}

/* Product facts supplied by the carton plugin; the theme never parses or invents ratios. */
.woocommerce div.product .twelve-shoes-carton-panel {
  padding: 18px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--orange);
  border-radius: var(--radius-control);
  background: #e8eded;
}

.woocommerce div.product :is(.twelve-shoes-carton-ratios, .twelve-shoes-size-ratios) {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.woocommerce div.product :is(.twelve-shoes-carton-ratio, .twelve-shoes-size-ratio) {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--white);
}

.woocommerce div.product :is(.twelve-shoes-carton-ratio, .twelve-shoes-size-ratio) table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.woocommerce div.product :is(.twelve-shoes-carton-ratio, .twelve-shoes-size-ratio) :is(th, td) {
  min-width: 54px;
  padding: 9px 10px;
  border-inline-end: 1px solid var(--line);
  text-align: center;
}

.woocommerce div.product :is(.twelve-shoes-carton-ratio, .twelve-shoes-size-ratio) th {
  background: var(--ink);
  color: var(--white);
  font-size: .6875rem;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.woocommerce div.product :is(.twelve-shoes-carton-ratio, .twelve-shoes-size-ratio) td {
  color: var(--ink);
  font-size: .875rem;
  font-weight: 700;
}

.woocommerce div.product :is(.twelve-shoes-carton-ratio, .twelve-shoes-size-ratio) :is(th, td):last-child {
  border-inline-end: 0;
}

.woocommerce div.product :is(.twelve-shoes-carton-ratio--pending, .twelve-shoes-size-ratio--pending) {
  padding: 14px 16px;
  border-style: dashed;
  color: #43535b;
}

/* Guest registration remains the real WooCommerce form. */
.woocommerce-account #customer_login {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 24px;
  align-items: start;
  max-width: 980px;
  margin: 0 auto;
}

.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
  display: none;
  content: none;
}

.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--line);
  border-radius: var(--radius-media);
  background: var(--white);
}

.woocommerce-account #customer_login > .u-column2 {
  border-top: 4px solid var(--orange);
}

.woocommerce-account #customer_login h2 {
  margin: 0 0 24px;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 42px);
  line-height: .98;
  letter-spacing: -.04em;
}

.woocommerce-account #customer_login form.woocommerce-form {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.woocommerce-account #customer_login .form-row {
  margin: 0 0 18px;
  padding: 0;
}

.woocommerce-account #customer_login .form-row label {
  display: block;
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.woocommerce-account #customer_login .form-row input.input-text,
.woocommerce-account #customer_login .form-row select {
  width: 100%;
}

.woocommerce-account #customer_login .woocommerce-privacy-policy-text,
.woocommerce-account #customer_login .woocommerce-form__label-for-checkbox,
.woocommerce-account #customer_login .lost_password {
  color: var(--grey);
  font-size: 12px;
  line-height: 1.55;
}

.woocommerce-account #customer_login .woocommerce-privacy-policy-text p:last-child,
.woocommerce-account #customer_login .lost_password:last-child {
  margin-bottom: 0;
}

.woocommerce-account #customer_login .button {
  width: 100%;
  justify-content: center;
}

@media (max-width: 1100px) {
  .desktop-nav .primary-menu {
    gap: 18px;
  }

  .search-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
    grid-template-columns: 215px minmax(0, 1fr);
    gap: 24px;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce div.product .related ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .woocommerce div.product {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
    gap: 32px;
  }
}

@media (max-width: 900px) {
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper,
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
    grid-column: 1;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-media);
    background: var(--white);
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    width: max-content;
    min-width: 100%;
    padding: 0;
    border-top: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 52px;
    padding: 13px 16px;
    border: 0;
    border-inline-end: 1px solid var(--line);
    background: var(--white);
    color: var(--ink);
    scroll-snap-align: start;
    white-space: nowrap;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a:hover,
  .woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
    background: #edf1f2;
    color: var(--ink);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: var(--paper);
    box-shadow: inset 0 -3px 0 var(--orange);
    color: var(--ink);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #9b3d18;
  }
}

@media (max-width: 760px) {
  .search-results-grid,
  .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  /* Keep catalogue browsing compact on phones without changing the single-product layout. */
  body.post-type-archive-product main ul.products,
  body.tax-product_brand main ul.products,
  body.tax-product_cat main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  /* WooCommerce still assigns percentage widths to .columns-* product items.
   * Let the two-column grid own every archive card on phones. */
  body.post-type-archive-product main ul.products > li.product,
  body.tax-product_brand main ul.products > li.product,
  body.tax-product_cat main ul.products > li.product {
    float: none !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }

  body.post-type-archive-product main ul.products > li.product > a,
  body.tax-product_brand main ul.products > li.product > a,
  body.tax-product_cat main ul.products > li.product > a,
  body.post-type-archive-product main ul.products .twelve-product-media,
  body.tax-product_brand main ul.products .twelve-product-media,
  body.tax-product_cat main ul.products .twelve-product-media {
    display: block;
    width: 100%;
  }

  .woocommerce div.product .related ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper,
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
    grid-column: 1;
  }

  .woocommerce-account #customer_login {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .woocommerce-account .page-hero {
    padding: 38px 0 34px;
  }

  .woocommerce-account .page-hero h1 {
    font-size: 2.45rem;
  }

  .woocommerce-account .page-content {
    padding-top: 26px;
    padding-bottom: 62px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: var(--radius-media);
    background: var(--white);
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    width: max-content;
    min-width: 100%;
    padding: 0;
    border-top: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 52px;
    padding: 13px 16px;
    border: 0;
    border-inline-end: 1px solid var(--line);
    background: var(--white);
    color: var(--ink);
    scroll-snap-align: start;
    white-space: nowrap;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a:hover,
  .woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
    background: #edf1f2;
    color: var(--ink);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: var(--paper);
    box-shadow: inset 0 -3px 0 var(--orange);
    color: var(--ink);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #9b3d18;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    min-height: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
    min-height: 0;
    align-items: flex-start;
    padding: 18px;
  }

  .woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) .button {
    width: 100%;
  }

  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .u-columns.woocommerce-Addresses {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-Addresses .woocommerce-Address {
    padding: 20px;
  }

  .woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
  .woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
    float: none;
    width: 100%;
  }

  .woocommerce-account .woocommerce-orders-table.shop_table_responsive tr {
    display: block;
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: var(--white);
  }

  .woocommerce-account .woocommerce-orders-table.shop_table_responsive tr:last-child {
    margin-bottom: 0;
  }

  .woocommerce-account .woocommerce-orders-table.shop_table_responsive td {
    min-height: 46px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
  }

  .woocommerce-account .woocommerce-orders-table.shop_table_responsive td:last-child {
    border-bottom: 0;
  }

  .woocommerce-account .woocommerce-orders-table.shop_table_responsive td::before {
    color: #43535b;
    font-weight: 700;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    width: 100%;
  }

  .catalog-layout {
    display: block;
  }

  .filter-panel {
    margin-bottom: 28px;
  }

  .woocommerce div.product div.images .flex-control-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related,
  .woocommerce div.product .upsells {
    grid-column: auto;
  }

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr {
    border-bottom: 1px solid var(--line);
  }
}

/* Production navigation, search and footer information extensions. */
.brand-card__wordmark,
.brand-detail__wordmark {
  font-family: var(--font-display);
  font-size: var(--type-title);
  font-weight: 800;
  letter-spacing: -.025em;
}

.brand-archive-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px);
  gap: var(--space-lg);
  align-items: center;
}

.brand-archive-hero__mark {
  display: grid;
  min-height: 180px;
  place-items: center;
  padding: var(--space-md);
  border-radius: var(--radius-media);
  background: var(--white);
}

.brand-archive-hero__logo {
  width: 100%;
  max-height: 150px;
  object-fit: contain;
}

.catalog-search {
  margin-bottom: var(--space-lg);
}

.product-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xs);
  width: min(100%, 760px);
}

.product-search-form label {
  display: block;
}

.product-search-form .search-field {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--white);
  color: var(--ink);
}

.product-search-form .search-submit {
  margin: 0;
}

.filter-panel {
  overflow: hidden;
  border-radius: var(--radius-media);
}

.filter-panel__toggle {
  display: none;
}

.brand-detail,
.content-placeholder,
.product-card__image,
.woocommerce table.shop_table,
.woocommerce-account .woocommerce-MyAccount-navigation {
  border-radius: var(--radius-media);
}

.brand-detail,
.content-placeholder,
.product-card__image,
.woocommerce table.shop_table {
  overflow: hidden;
}

/* WooCommerce Cart and Checkout blocks use the same global controls. */
.wc-block-cart,
.wc-block-checkout {
  color: var(--ink);
  font-family: var(--font-body);
}

.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  min-height: 48px;
  border-radius: var(--radius-control) !important;
  background: var(--orange);
  color: var(--white);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-select .components-custom-select-control__button {
  min-height: 48px;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-control) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
}

.wc-block-components-order-summary,
.wc-block-cart-items,
.wc-block-components-sidebar {
  border-radius: var(--radius-media);
}

.footer-information {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-md);
  align-items: center;
  padding: var(--space-sm) 0;
  border-top: 1px solid #4c5960;
  color: #e4ebed;
  font-size: var(--type-label);
}

.footer-information strong {
  color: var(--orange);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.footer-information a {
  text-decoration: none;
}

.footer-information a:hover {
  color: var(--orange);
}

.admin-bar .site-header {
  top: 32px;
}

@media (max-width: 1100px) {
  .mobile-nav:not([hidden]) {
    display: block;
  }

  .mobile-nav__utilities {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    border-top: 1px solid var(--line);
    background: var(--line);
  }

  .mobile-nav__utilities a,
  .mobile-nav__language {
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 13px 20px;
    background: var(--white);
    color: var(--ink);
    font-family: var(--font-display);
    font-size: var(--type-label);
    font-weight: 700;
    text-transform: uppercase;
  }
}

@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}

@media (max-width: 760px) {
  .mobile-nav__utilities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .brand-archive-hero {
    grid-template-columns: 1fr;
  }

  .brand-archive-hero__mark {
    min-height: 120px;
  }

  .product-search-form {
    grid-template-columns: 1fr;
  }

  .product-search-form .search-submit {
    width: 100%;
  }

  .filter-panel {
    display: block;
    margin-bottom: var(--space-md);
    border: 1px solid var(--line);
    border-top: 4px solid var(--orange);
    background: var(--white);
  }

  .filter-panel__toggle {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border: 0;
    background: var(--white);
    color: var(--ink);
    font-family: var(--font-display);
    font-size: var(--type-ui);
    font-weight: 700;
  }

  .filter-panel__body {
    display: none;
    padding: 0 var(--space-sm) var(--space-sm);
    border-top: 1px solid var(--line);
  }

  .filter-panel.is-open .filter-panel__body {
    display: block;
  }

  .filter-panel__body .filter-panel__head {
    display: none;
  }
}

/* Internationalised WooCommerce: long labels, CJK scripts and mirrored RTL commerce flows. */
.woocommerce,
.woocommerce-page,
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-sidebar,
.wc-block-components-main {
  min-width: 0;
}

.woocommerce :is(h1, h2, h3, h4, label, legend, th, td, a, button),
.wc-block-components-form,
.wc-block-components-form :is(label, span, strong, button),
.wc-block-cart :is(th, td, a, button) {
  overflow-wrap: anywhere;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td,
.woocommerce form .form-row,
.woocommerce form .form-row label,
.woocommerce div.product .product_meta,
.woocommerce div.product .woocommerce-tabs .panel,
.wc-block-cart-items th,
.wc-block-cart-items td,
.wc-block-components-order-summary,
.wc-block-components-sidebar {
  text-align: start;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-select .components-custom-select-control__button {
  width: 100%;
  text-align: start;
}

.woocommerce :is(.amount, .product-quantity, .quantity .qty),
.wc-block-cart :is(.wc-block-formatted-money-amount, .wc-block-components-product-price, .wc-block-components-quantity-selector__input),
.wc-block-checkout :is(.wc-block-formatted-money-amount, .wc-block-components-product-price) {
  font-variant-numeric: tabular-nums;
  unicode-bidi: isolate;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  white-space: normal;
  text-align: center;
  text-wrap: balance;
}

:is(html:lang(ar), html:lang(ja), html:lang(ko), html:lang(zh-Hant), html:lang(zh-TW), html:lang(zh-HK), html:lang(zh-MO))
  :is(.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .footer-information strong) {
  letter-spacing: normal;
  text-transform: none;
}

:is(html:lang(ar), html:lang(ja), html:lang(ko), html:lang(zh-Hant), html:lang(zh-TW), html:lang(zh-HK), html:lang(zh-MO))
  :is(.woocommerce div.product .product_title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .brand-card__wordmark, .brand-detail__wordmark) {
  letter-spacing: normal;
}

html[dir="rtl"] .desktop-nav .sub-menu,
body.rtl .desktop-nav .sub-menu {
  inset-inline-start: -18px;
  text-align: start;
}

html[dir="rtl"] :is(.woocommerce, .woocommerce-page, .wc-block-cart, .wc-block-checkout),
body.rtl :is(.woocommerce, .woocommerce-page, .wc-block-cart, .wc-block-checkout) {
  direction: rtl;
  text-align: start;
}

html[dir="rtl"] .woocommerce div.product,
html[dir="rtl"] .woocommerce-account .woocommerce,
html[dir="rtl"] .brand-archive-hero,
body.rtl .woocommerce div.product,
body.rtl .woocommerce-account .woocommerce,
body.rtl .brand-archive-hero {
  direction: rtl;
}

html[dir="rtl"] .woocommerce div.product div.images .flex-control-thumbs,
html[dir="rtl"] .woocommerce ul.products,
body.rtl .woocommerce div.product div.images .flex-control-thumbs,
body.rtl .woocommerce ul.products {
  direction: rtl;
}

html[dir="rtl"] .woocommerce div.product .woocommerce-product-gallery__trigger,
body.rtl .woocommerce div.product .woocommerce-product-gallery__trigger {
  right: auto;
  left: .5em;
}

html[dir="rtl"] .woocommerce span.onsale,
body.rtl .woocommerce span.onsale {
  right: .5em;
  left: auto;
}

html[dir="rtl"] .woocommerce-message,
html[dir="rtl"] .woocommerce-info,
html[dir="rtl"] .woocommerce-error,
body.rtl .woocommerce-message,
body.rtl .woocommerce-info,
body.rtl .woocommerce-error {
  padding-block: 16px;
  padding-inline: 48px 18px;
  text-align: start;
}

html[dir="rtl"] :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before,
body.rtl :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
  right: 1.5em;
  left: auto;
}

html[dir="rtl"] .woocommerce form .form-row-first,
html[dir="rtl"] .woocommerce-page form .form-row-first,
html[dir="rtl"] .woocommerce .col2-set .col-1,
html[dir="rtl"] .woocommerce-page .col2-set .col-1,
body.rtl .woocommerce form .form-row-first,
body.rtl .woocommerce-page form .form-row-first,
body.rtl .woocommerce .col2-set .col-1,
body.rtl .woocommerce-page .col2-set .col-1 {
  float: right;
}

html[dir="rtl"] .woocommerce form .form-row-last,
html[dir="rtl"] .woocommerce-page form .form-row-last,
html[dir="rtl"] .woocommerce .col2-set .col-2,
html[dir="rtl"] .woocommerce-page .col2-set .col-2,
body.rtl .woocommerce form .form-row-last,
body.rtl .woocommerce-page form .form-row-last,
body.rtl .woocommerce .col2-set .col-2,
body.rtl .woocommerce-page .col2-set .col-2 {
  float: left;
}

html[dir="rtl"] .select2-container--default .select2-selection--single .select2-selection__rendered,
body.rtl .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-inline: 12px 34px;
  text-align: start;
}

html[dir="rtl"] .select2-container--default .select2-selection--single .select2-selection__arrow,
body.rtl .select2-container--default .select2-selection--single .select2-selection__arrow {
  right: auto;
  left: 8px;
}

html[dir="rtl"] :is(.woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce input[type="url"], .woocommerce input[type="number"], .wc-block-components-form input[type="email"], .wc-block-components-form input[type="tel"], .wc-block-components-form input[type="number"]),
body.rtl :is(.woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce input[type="url"], .woocommerce input[type="number"], .wc-block-components-form input[type="email"], .wc-block-components-form input[type="tel"], .wc-block-components-form input[type="number"]) {
  direction: ltr;
  text-align: start;
  unicode-bidi: isolate;
}

html[dir="rtl"] .woocommerce div.product .woocommerce-tabs ul.tabs li,
body.rtl .woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin-block: 0;
  margin-inline: 0 12px;
}

html[dir="rtl"] .wc-block-components-address-form,
html[dir="rtl"] .wc-block-components-order-summary,
html[dir="rtl"] .wc-block-components-sidebar,
body.rtl .wc-block-components-address-form,
body.rtl .wc-block-components-order-summary,
body.rtl .wc-block-components-sidebar {
  direction: rtl;
  text-align: start;
}

@media (max-width: 760px) {
  html[dir="rtl"] .woocommerce table.shop_table_responsive tr td,
  html[dir="rtl"] .woocommerce-page table.shop_table_responsive tr td,
  body.rtl .woocommerce table.shop_table_responsive tr td,
  body.rtl .woocommerce-page table.shop_table_responsive tr td {
    text-align: end !important;
  }

  html[dir="rtl"] .woocommerce table.shop_table_responsive tr td::before,
  html[dir="rtl"] .woocommerce-page table.shop_table_responsive tr td::before,
  body.rtl .woocommerce table.shop_table_responsive tr td::before,
  body.rtl .woocommerce-page table.shop_table_responsive tr td::before {
    float: inline-start;
    text-align: start;
  }
}

/* Loaded after site.css: keep the bridge's mobile panel from inheriting utility-link flex padding. */
@media (max-width: 1100px) {
  .mobile-nav__language {
    display: block;
    grid-column: 1 / -1;
    min-width: 0;
    padding: 0;
    text-transform: none;
  }

  .mobile-nav__language > .language-switcher {
    display: block;
    width: 100%;
  }

  .mobile-nav__language .language-switcher summary {
    width: calc(100% - 16px);
    min-height: 48px;
    justify-content: space-between;
    margin: 8px;
    padding: 12px 16px;
    border-radius: var(--radius-control);
  }

  .mobile-nav__language .language-menu {
    position: static;
    width: calc(100% - 16px);
    min-width: 0;
    margin: 0 8px 8px;
    border-radius: var(--radius-control);
    box-shadow: none;
  }
}


.tax-product_brand .term-description {
  display: none;
}


.tax-product_brand.term-traceable .page-hero--brand-archive {
  padding-top: 5px;
}

.tax-product_brand.term-traceable .brand-archive-hero {
  align-items: start;
}

@media (max-width: 760px) {
  .tax-product_brand.term-traceable .brand-archive-hero {
    gap: var(--space-md);
  }
}

/* Compact catalogue pagination. Keep Woo's markup, replace its default boxed strip. */
.woocommerce nav.woocommerce-pagination {
  display: flex;
  justify-content: center;
  margin: var(--space-lg) 0 0;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers {
  display: flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  list-style: none;
  white-space: normal;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li {
  float: none;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: visible;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li :is(a, span).page-numbers {
  display: inline-grid;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--white);
  color: var(--ink);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current {
  border-color: var(--orange);
  background: var(--orange);
  color: var(--ink);
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible {
  border-color: var(--orange);
  color: var(--orange);
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers.dots {
  border-color: transparent;
  background: transparent;
  color: var(--grey);
}
/* Keep product image-colour choices compact and horizontally scrollable. */
body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatches {
	min-width: 0 !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-list {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	flex-wrap: nowrap !important;
	gap: 8px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	padding: 2px !important;
	scroll-snap-type: x proximity;
}

body.single-product.woocommerce div.product form.cart label.twelve-shoes-carton-colour__swatch {
	display: block !important;
	flex: 0 0 72px !important;
	width: 72px !important;
	max-width: 72px !important;
	margin: 0 !important;
	scroll-snap-align: start;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-frame {
	display: block !important;
	width: 72px !important;
	height: 72px !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-frame img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* Carton information-panel recovery: mirrors Carton Commerce 0.4.9 on product pages. */
body.single-product.woocommerce div.product .twelve-shoes-carton-panel {
	padding: 16px !important;
	border-top: 4px solid var(--orange, #f26322) !important;
	border-radius: var(--radius-media, 14px) !important;
	background: #e8edec !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-panel h2 {
	margin: 0 0 12px !important;
	font-size: 1rem !important;
	line-height: 1.25 !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	margin: 0 !important;
	border-top: 1px solid var(--line, #cbd4d6) !important;
	border-bottom: 1px solid var(--line, #cbd4d6) !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl div {
	min-width: 0 !important;
	padding: 12px 8px !important;
	border-inline-end: 1px solid var(--line, #cbd4d6) !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl div:first-child {
	padding-inline-start: 0 !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl div:last-child {
	padding-inline-end: 0 !important;
	border-inline-end: 0 !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-panel dt {
	margin-bottom: 4px !important;
	color: var(--grey, #68767d) !important;
	font-size: .6875rem !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-panel dd {
	margin: 0 !important;
	overflow-wrap: anywhere;
	color: var(--ink, #172129) !important;
	font-size: .8125rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-ratios {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 12px !important;
	margin-top: 16px !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-ratios > h3 {
	grid-column: 1 / -1;
	margin: 0 !important;
	font-size: .875rem !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-ratio {
	min-width: 0 !important;
	padding: 10px !important;
	border: 1px solid var(--line, #cbd4d6) !important;
	border-radius: 10px !important;
	background: #fff !important;
	overflow-x: auto !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-ratio h4 {
	margin: 0 0 8px !important;
	font-size: .8125rem !important;
	line-height: 1.25 !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-ratio table {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: collapse !important;
	table-layout: fixed !important;
	font-size: .75rem !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-ratio :is(th, td) {
	min-width: 42px !important;
	padding: 6px 7px !important;
	border: 1px solid var(--line, #cbd4d6) !important;
	background: #f4f6f5 !important;
	color: #43545b !important;
	font-size: .6875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-transform: none !important;
}

body.single-product.woocommerce div.product .twelve-shoes-carton-ratio th[scope="row"] {
	width: 58px !important;
	background: #e9eeec !important;
	color: #68767d !important;
	text-align: start !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour {
	flex: 1 0 100% !important;
	width: 100% !important;
	margin: 0 0 12px !important;
	padding: 12px !important;
	border: 1px solid var(--line, #cbd4d6) !important;
	border-radius: 12px !important;
	background: #fff !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour > label,
body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatches legend {
	display: block !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
	color: var(--ink, #172129) !important;
	font-size: .8125rem !important;
	font-weight: 700 !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-list {
	gap: 8px !important;
	padding: 2px 2px 8px !important;
}

body.single-product.woocommerce div.product form.cart label.twelve-shoes-carton-colour__swatch,
body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-frame {
	flex: 0 0 82px !important;
	width: 82px !important;
	max-width: 82px !important;
	height: 82px !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour p {
	margin: 8px 0 0 !important;
	color: var(--grey, #68767d) !important;
	font-size: .72rem !important;
	line-height: 1.45 !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour a {
	color: #16794a !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

@media (max-width: 760px) {
	body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl {
		grid-template-columns: 1fr !important;
	}

	body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl div,
	body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl div:first-child,
	body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl div:last-child {
		padding: 10px 0 !important;
		border-inline-end: 0 !important;
		border-bottom: 1px solid var(--line, #cbd4d6) !important;
	}

	body.single-product.woocommerce div.product .twelve-shoes-carton-panel dl div:last-child {
		border-bottom: 0 !important;
	}
}

/* Keep colour selection compact: the thumbnail itself carries the selected state. */
body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour {
	margin: 0 0 8px !important;
	padding: 8px 10px !important;
}

body.single-product.woocommerce div.product form.cart fieldset.twelve-shoes-carton-colour__swatches {
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatches legend {
	margin: 0 0 5px !important;
	font-size: .75rem !important;
	line-height: 1.2;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-list {
	padding: 1px 1px 5px !important;
	scrollbar-width: thin;
}

body.single-product.woocommerce div.product form.cart label.twelve-shoes-carton-colour__swatch,
body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-frame {
	flex: 0 0 68px !important;
	width: 68px !important;
	max-width: 68px !important;
	height: 68px !important;
}

body.single-product.woocommerce div.product form.cart label.twelve-shoes-carton-colour__swatch > input[type="radio"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	appearance: none !important;
	opacity: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour p {
	margin: 4px 0 0 !important;
	font-size: .6875rem !important;
	line-height: 1.35 !important;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-list::-webkit-scrollbar {
	height: 5px;
}

body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour__swatch-list::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: #aebbc0;
}

/* WooCommerce's bundled small-screen stylesheet assigns percentage widths to
 * .columns-5 cards after this theme grid is established. Reset those floats
 * inside related products so the two-card mobile grid owns the card width. */
@media (max-width: 760px) {
	body.single-product.woocommerce div.product .related ul.products.columns-5 > li.product {
		float: none !important;
		width: auto !important;
		margin: 0 !important;
	}

	body.single-product.woocommerce div.product .related ul.products.columns-5 > li.product > a,
	body.single-product.woocommerce div.product .related ul.products.columns-5 .twelve-product-media,
	body.single-product.woocommerce div.product .related ul.products.columns-5 .twelve-product-media__image {
		display: block;
		width: 100%;
	}

	body.single-product.woocommerce div.product .related ul.products.columns-5 .twelve-product-media__image {
		height: 100%;
		object-fit: cover;
	}
}

/* Keep two-column product cards readable on phones without changing desktop typography. */
@media (max-width: 760px) {
	.product-grid--brand-showcase > .product-card:nth-child(n+5) {
		display: flex;
	}

	.product-grid--home .product-card h3 {
		font-size: 18.9px;
		line-height: 1.15;
		overflow-wrap: anywhere;
	}

	.product-grid--home .twelve-product-price-gate__amount {
		flex-wrap: wrap;
		gap: 4px;
	}

	.product-grid--home .twelve-product-price-gate__amount strong,
	.product-grid--home .twelve-product-price-gate__real-price {
		font-size: 14.7px;
	}

	.product-grid--home .twelve-product-price-gate__amount small {
		font-size: 8.4px;
		letter-spacing: .02em;
	}

	.product-grid--home .twelve-product-price-gate__detail {
		font-size: 7.7px;
		letter-spacing: .03em;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: .875rem;
		line-height: 1.12;
		overflow-wrap: anywhere;
	}

	.woocommerce ul.products li.product .twelve-product-price-gate__amount {
		flex-wrap: wrap;
		gap: 4px;
	}

	.woocommerce ul.products li.product .twelve-product-price-gate__amount strong,
	.woocommerce ul.products li.product .twelve-product-price-gate__real-price {
		font-size: 1.085rem;
	}

	.woocommerce ul.products li.product .twelve-product-price-gate__amount small {
		font-size: .525rem;
		letter-spacing: .02em;
	}

	.woocommerce ul.products li.product .twelve-product-price-gate__detail,
	.woocommerce ul.products li.product .inline-link {
		font-size: .525rem;
		letter-spacing: .03em;
	}
}

/* Keep mobile product names on one line and size View more underline to its label. */
@media (max-width: 760px) {
	.product-grid--home .product-card h3,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(9.5px, 2.7vw, 10.5px);
		line-height: 1.15;
		letter-spacing: -.03em;
		white-space: nowrap;
	}

	body.single-product.woocommerce div.product .product_title {
		font-size: clamp(14px, 4vw, 16px);
		line-height: 1.2;
		letter-spacing: -.02em;
		white-space: nowrap;
	}

	.product-grid--home .twelve-product-price-gate__detail {
		display: inline-block;
		align-self: flex-start;
		justify-self: start;
		width: fit-content;
		max-width: 100%;
	}
}

/* Fit the longest current catalogue title inside a two-column phone card. */
@media (max-width: 760px) {
	.product-grid--home .product-card h3,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(7px, 2.18vw, 8.5px);
	}
}

/* Match catalogue prices to the single-product bronze and italicise amounts. */
.twelve-product-price-gate__real-price,
.twelve-product-price-gate__real-price .woocommerce-Price-amount,
.woocommerce .woocommerce-Price-amount,
.wc-block-formatted-money-amount,
.wc-block-components-product-price__value {
	color: #b37937;
	font-style: italic;
}

/* On phones the brand is already stated above each card and in product context. */
@media (max-width: 760px) {
	.twelve-product-title__brand {
		display: none;
	}

	.product-grid--home .product-card h3,
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	body.single-product.woocommerce div.product .product_title {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.single-product.woocommerce div.product .product_title {
		font-size: clamp(9.8px, 2.8vw, 11.2px);
		line-height: 1.2;
		letter-spacing: -.015em;
	}
}

/* Keep the carton quantity stepper and add-to-cart action on one phone row. */
@media (max-width: 760px) {
	body.single-product.woocommerce div.product form.cart {
		display: grid;
		grid-template-columns: 128px minmax(0, 1fr);
		align-items: stretch;
		column-gap: 8px;
		row-gap: 0;
	}

	body.single-product.woocommerce div.product form.cart .twelve-shoes-carton-colour {
		grid-column: 1 / -1;
	}

	body.single-product.woocommerce div.product form.cart .quantity {
		grid-template-columns: 36px minmax(0, 1fr) 36px;
		width: 128px;
		max-width: 100%;
		margin: 0;
	}

	body.single-product.woocommerce div.product form.cart .quantity-step {
		min-width: 36px;
		min-height: 44px;
		font-size: 20px;
	}

	body.single-product.woocommerce div.product form.cart .quantity .qty {
		min-height: 44px;
		padding: 4px;
		font-size: 14px;
	}

	body.single-product.woocommerce div.product form.cart .single_add_to_cart_button {
		float: none;
		width: 100%;
		min-width: 0;
		min-height: 44px;
		padding: 10px;
		font-size: 11.5px;
		line-height: 1.15;
		white-space: nowrap;
	}
}


/* Checkout: give long wholesale order information a full-width, top-to-bottom flow. */
@media (min-width: 761px) {
  .wc-block-checkout {
    display: flex !important;
    flex-direction: column;
    gap: var(--space-lg);
  }

  .wc-block-checkout__sidebar,
  .wc-block-checkout__main {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    grid-column: auto !important;
  }

  .wc-block-checkout__sidebar {
    position: static !important;
    order: 1;
  }

  .wc-block-checkout__main {
    order: 2;
  }

  .wc-block-components-order-summary-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) max-content;
    column-gap: var(--space-sm);
    align-items: start;
  }

  .wc-block-components-order-summary-item__image {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .wc-block-components-order-summary-item__description {
    grid-column: 2;
    min-width: 0;
  }

  .wc-block-components-order-summary-item .wc-block-components-product-price {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    white-space: nowrap;
  }
}
