/**
 * Zomu Commerce UI
 * Scoped customer-area styling for classic WooCommerce and Cart/Checkout Blocks.
 */

body.zomu-commerce-ui {
  --zcu-header: var(--zomu-header, #0a2236);
  --zcu-accent: var(--zomu-accent, #d9e6a1);
  --zcu-plum: var(--zomu-plum, #421d25);
  --zcu-forest: var(--zomu-forest, #17462b);
  --zcu-berry: var(--zomu-berry, #b33660);
  --zcu-sand: var(--zomu-sand, #ead8c8);
  --zcu-mango: var(--zomu-mango, #fbb225);
  --zcu-paper: var(--zomu-paper, #f6f4ef);
  --zcu-white: var(--zomu-white, #fff);
  --zcu-ink: var(--zomu-ink, #202020);
  --zcu-muted: var(--zomu-muted, #6c7075);
  --zcu-line: var(--zomu-line, rgb(32 32 32 / 15%));
  --zcu-serif: var(--zomu-serif, Cardo, Georgia, "Times New Roman", serif);
  --zcu-sans: var(--zomu-sans, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  --zcu-ease: var(--zomu-ease, cubic-bezier(.22, 1, .36, 1));
  --zcu-shadow: var(--zomu-shadow, 0 24px 80px rgb(14 22 18 / 14%));
  --zcu-motion-distance: 10px;
  --zcu-motion-duration: .45s;
  --zcu-product-zoom: 1.02;
  --zcu-radius-sm: 12px;
  --zcu-radius: 20px;
  --zcu-radius-lg: 30px;
  --zcu-gutter: var(--zomu-gutter, clamp(20px, 4vw, 64px));
  --zcu-shell: min(1240px, calc(100vw - (2 * var(--zcu-gutter))));
}

body.zomu-commerce-ui :where(.page-content, .entry-content) {
  max-width: var(--zcu-shell);
}

body:is(.zomu-commerce-ui--account, .zomu-commerce-ui--cart, .zomu-commerce-ui--checkout) .page-content {
  padding-block: clamp(38px, 6vw, 76px);
}

body:is(.zomu-commerce-ui--account, .zomu-commerce-ui--cart, .zomu-commerce-ui--checkout) .page-hero {
  min-height: clamp(220px, 30vw, 380px);
}

body:is(.zomu-commerce-ui--account, .zomu-commerce-ui--cart, .zomu-commerce-ui--checkout) .page-hero__inner {
  padding-block: clamp(44px, 7vw, 86px);
}

body.zomu-commerce-ui :where(.entry-content, .page-content, .site-main) > :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout),
body.zomu-commerce-ui :where(.entry-content, .page-content, .site-main) > .zcu-progress {
  width: var(--zcu-shell);
  margin-inline: auto;
}

body.zomu-commerce-ui :where(.woocommerce, .site-main, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
  accent-color: var(--zcu-forest);
  color: var(--zcu-ink);
  font-family: var(--zcu-sans);
}

body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) *,
body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) *::before,
body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) *::after {
  box-sizing: border-box;
}

body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(h1, h2, h3, h4) {
  color: var(--zcu-plum);
  font-family: var(--zcu-serif);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.08;
}

body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) h2 {
  font-size: clamp(1.65rem, 3vw, 2.5rem);
}

body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) h3 {
  font-size: clamp(1.3rem, 2vw, 1.75rem);
}

body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) a {
  color: var(--zcu-forest);
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}

body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) a:hover {
  color: var(--zcu-plum);
}

/* Journey progress: hook-rendered for classic templates, JS-rendered for Blocks. */
body.zomu-commerce-ui .zcu-progress {
  position: relative;
  z-index: 1;
  margin-block: clamp(24px, 5vw, 64px) clamp(26px, 4vw, 48px);
  padding: clamp(16px, 2vw, 24px);
  overflow: hidden;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background:
    radial-gradient(circle at 9% -40%, rgb(217 230 161 / 65%), transparent 45%),
    var(--zcu-white);
  box-shadow: 0 18px 55px rgb(14 22 18 / 8%);
}

body.zomu-commerce-ui .zcu-progress__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  max-width: 780px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

body.zomu-commerce-ui .zcu-progress__item {
  position: relative;
  min-width: 0;
}

body.zomu-commerce-ui .zcu-progress__item:not(:last-child)::after {
  position: absolute;
  top: 18px;
  left: calc(50% + 26px);
  width: calc(100% - 52px);
  height: 2px;
  background: var(--zcu-line);
  content: "";
  transform-origin: left;
}

body.zomu-commerce-ui .zcu-progress__item.is-complete:not(:last-child)::after {
  background: var(--zcu-forest);
  animation: zcu-line-in .7s var(--zcu-ease) both;
}

body.zomu-commerce-ui .zcu-progress__link {
  display: grid;
  position: relative;
  z-index: 1;
  justify-items: center;
  gap: 8px;
  color: var(--zcu-muted);
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .05em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

body.zomu-commerce-ui .zcu-progress__number {
  display: grid;
  width: 38px;
  height: 38px;
  border: 1px solid var(--zcu-line);
  border-radius: 50%;
  place-items: center;
  color: var(--zcu-muted);
  background: var(--zcu-white);
  transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .35s var(--zcu-ease);
}

body.zomu-commerce-ui .zcu-progress__item.is-active .zcu-progress__link,
body.zomu-commerce-ui .zcu-progress__item.is-complete .zcu-progress__link {
  color: var(--zcu-forest);
}

body.zomu-commerce-ui .zcu-progress__item.is-active .zcu-progress__number {
  border-color: var(--zcu-plum);
  color: var(--zcu-white);
  background: var(--zcu-plum);
  box-shadow: 0 0 0 7px rgb(66 29 37 / 10%);
  transform: scale(1.06);
}

body.zomu-commerce-ui .zcu-progress__item.is-complete .zcu-progress__number {
  border-color: var(--zcu-forest);
  color: transparent;
  background: var(--zcu-forest);
}

body.zomu-commerce-ui .zcu-progress__item.is-complete .zcu-progress__number::after {
  position: absolute;
  width: 10px;
  height: 6px;
  border-bottom: 2px solid var(--zcu-white);
  border-left: 2px solid var(--zcu-white);
  content: "";
  transform: translateY(-1px) rotate(-45deg);
}

/* Notices and status feedback. */
body.zomu-commerce-ui :where(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) {
  position: relative;
  margin: 0 0 24px;
  padding: 18px 20px 18px 54px;
  overflow: hidden;
  border: 1px solid rgb(23 70 43 / 22%);
  border-left: 5px solid var(--zcu-forest);
  border-radius: var(--zcu-radius-sm);
  color: var(--zcu-ink);
  background: color-mix(in srgb, var(--zcu-accent) 28%, var(--zcu-white));
  box-shadow: 0 12px 36px rgb(14 22 18 / 7%);
  line-height: 1.55;
}

body.zomu-commerce-ui :where(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before {
  top: 19px;
  left: 20px;
  color: var(--zcu-forest);
}

body.zomu-commerce-ui .woocommerce-error,
body.zomu-commerce-ui .wc-block-components-notice-banner.is-error {
  border-color: rgb(179 54 96 / 24%);
  border-left-color: var(--zcu-berry);
  background: color-mix(in srgb, var(--zcu-berry) 8%, var(--zcu-white));
}

body.zomu-commerce-ui .woocommerce-error::before {
  color: var(--zcu-berry);
}

body.zomu-commerce-ui .woocommerce-error li + li {
  margin-top: 6px;
}

body.zomu-commerce-ui .wc-block-components-notice-banner > svg {
  align-self: flex-start;
  margin-top: 2px;
}

body.zomu-commerce-ui :where(.woocommerce-message, .woocommerce-info) .button {
  margin-left: 14px;
}

/* Buttons and links that act as controls. */
body.zomu-commerce-ui .woocommerce :where(a.button, button.button, input.button, #respond input#submit),
body.zomu-commerce-ui :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(.wc-block-components-button, .wp-element-button) {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 22px;
  border: 1px solid var(--zcu-forest);
  border-radius: 999px;
  color: var(--zcu-white);
  background: var(--zcu-forest);
  box-shadow: none;
  font-family: var(--zcu-sans);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: normal;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .3s var(--zcu-ease);
}

body.zomu-commerce-ui .woocommerce :where(a.button, button.button, input.button, #respond input#submit):hover,
body.zomu-commerce-ui :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(.wc-block-components-button, .wp-element-button):hover {
  border-color: var(--zcu-plum);
  color: var(--zcu-white);
  background: var(--zcu-plum);
  box-shadow: 0 12px 25px rgb(66 29 37 / 16%);
  transform: translateY(-2px);
}

body.zomu-commerce-ui .woocommerce :where(a.button, button.button, input.button):focus-visible,
body.zomu-commerce-ui :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(.wc-block-components-button, .wp-element-button):focus-visible,
body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) a:focus-visible {
  outline: 3px solid var(--zcu-mango);
  outline-offset: 3px;
}

body.zomu-commerce-ui .woocommerce :where(button.button, input.button):disabled,
body.zomu-commerce-ui .woocommerce :where(button.button, input.button).disabled,
body.zomu-commerce-ui .wc-block-components-button:disabled {
  cursor: not-allowed;
  opacity: .5;
  transform: none;
}

/* Shared form controls. */
body.zomu-commerce-ui .woocommerce :where(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea),
body.zomu-commerce-ui :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(input, select, textarea) {
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 12px 15px;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-sm);
  color: var(--zcu-ink);
  background: var(--zcu-white);
  box-shadow: 0 0 0 0 rgb(23 70 43 / 0%);
  font: inherit;
  line-height: 1.35;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

body.zomu-commerce-ui .woocommerce textarea,
body.zomu-commerce-ui .wc-block-components-textarea {
  min-height: 130px;
  resize: vertical;
}

body.zomu-commerce-ui .woocommerce :where(input, select, textarea):focus,
body.zomu-commerce-ui :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(input, select, textarea):focus {
  border-color: var(--zcu-forest);
  outline: 0;
  box-shadow: 0 0 0 4px rgb(23 70 43 / 10%);
}

body.zomu-commerce-ui .woocommerce :where(input, select, textarea)[aria-invalid="true"],
body.zomu-commerce-ui .woocommerce .woocommerce-invalid :where(input, select, textarea),
body.zomu-commerce-ui :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(input, select, textarea)[aria-invalid="true"] {
  border-color: var(--zcu-berry);
  box-shadow: 0 0 0 4px rgb(179 54 96 / 9%);
}

body.zomu-commerce-ui .woocommerce .form-row {
  margin: 0 0 18px;
  padding: 0;
}

body.zomu-commerce-ui .woocommerce .form-row label {
  display: block;
  margin: 0 0 7px;
  color: var(--zcu-plum);
  font-size: .83rem;
  font-weight: 800;
  letter-spacing: .025em;
}

body.zomu-commerce-ui .woocommerce .form-row .required {
  color: var(--zcu-berry);
  text-decoration: none;
}

body.zomu-commerce-ui .woocommerce :where(.form-row-first, .form-row-last) {
  float: none;
  width: 100%;
}

body.zomu-commerce-ui .woocommerce :where(.password-input, .show-password-input) {
  width: 100%;
}

body.zomu-commerce-ui .woocommerce .show-password-input {
  top: 50%;
  right: 14px;
  width: auto;
  transform: translateY(-50%);
}

body.zomu-commerce-ui .woocommerce :where(.woocommerce-form__label-for-checkbox, .woocommerce-form-login__rememberme) {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
}

body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) input[type="checkbox"],
body.zomu-commerce-ui :where(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) input[type="radio"] {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
}

body.zomu-commerce-ui .select2-container .select2-selection--single {
  height: 50px;
  border-color: var(--zcu-line);
  border-radius: var(--zcu-radius-sm);
  background: var(--zcu-white);
}

body.zomu-commerce-ui .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 10px 42px 10px 15px;
  color: var(--zcu-ink);
  line-height: 28px;
}

body.zomu-commerce-ui .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 11px;
  right: 10px;
}

/* Login, registration and password recovery. */
body.zomu-commerce-ui .woocommerce .u-columns.col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 48px);
  width: 100%;
}

body.zomu-commerce-ui .woocommerce .u-columns.col2-set::before,
body.zomu-commerce-ui .woocommerce .u-columns.col2-set::after {
  display: none;
}

body.zomu-commerce-ui .woocommerce .u-columns.col2-set > :where(.u-column1, .u-column2) {
  float: none;
  width: auto;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
  box-shadow: 0 20px 60px rgb(14 22 18 / 8%);
}

body.zomu-commerce-ui .woocommerce :where(.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword) {
  margin: 0;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius);
  background: var(--zcu-white);
  box-shadow: 0 18px 55px rgb(14 22 18 / 7%);
}

body.zomu-commerce-ui .woocommerce .u-columns.col2-set :where(.woocommerce-form-login, .woocommerce-form-register) {
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.zomu-commerce-ui .woocommerce .woocommerce-ResetPassword {
  max-width: 680px;
  margin-inline: auto;
}

body.zomu-commerce-ui .woocommerce .woocommerce-form-login .lost_password {
  margin: 18px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--zcu-line);
}

body.zomu-commerce-ui--account :where(.nsl-container, .wc-social-login, .ywsl-social, .mo-openid-app-icons, .woocommerce-form-login__social, [class*="social-login" i]) {
  width: 100%;
  max-width: 100%;
  margin-block: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--zcu-line);
}

body.zomu-commerce-ui--account :where(.nsl-container, .wc-social-login, .ywsl-social, .mo-openid-app-icons, .woocommerce-form-login__social, [class*="social-login" i]) :where(a, button) {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  overflow-wrap: normal;
  white-space: normal;
  word-break: normal;
}

body.zomu-commerce-ui--account :where(.nsl-container, .wc-social-login, .ywsl-social, .mo-openid-app-icons, .woocommerce-form-login__social, [class*="social-login" i]) img {
  flex: 0 0 auto;
  max-width: 28px;
  max-height: 28px;
  object-fit: contain;
}

body.zomu-commerce-ui .woocommerce .woocommerce-password-strength {
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 9px;
  font-size: .82rem;
}

/* My Account navigation, dashboard, orders and addresses. */
/* WooCommerce/theme clearfix pseudo-elements must not become grid children. */
body.logged-in.zomu-commerce-ui--account .woocommerce::before,
body.logged-in.zomu-commerce-ui--account .woocommerce::after {
  display: none !important;
  content: none !important;
}

body.logged-in.zomu-commerce-ui--account .woocommerce > .woocommerce-MyAccount-navigation,
body.logged-in.zomu-commerce-ui--account .woocommerce > .zcu-account-sidebar {
  grid-column: 1;
  min-width: 0;
}

body.logged-in.zomu-commerce-ui--account .woocommerce > .woocommerce-MyAccount-content {
  grid-column: 2;
}

body.logged-in.zomu-commerce-ui--account .woocommerce:has(> .woocommerce-MyAccount-navigation, > .zcu-account-sidebar) {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
}

body.logged-in.zomu-commerce-ui--account .woocommerce > :where(.woocommerce-notices-wrapper, h1, h2) {
  grid-column: 1 / -1;
}

body.logged-in.zomu-commerce-ui--account .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none;
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation {
  float: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 10px;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius);
  background: var(--zcu-white);
  box-shadow: 0 18px 55px rgb(14 22 18 / 7%);
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation ul {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation li {
  margin: 0;
  padding: 0;
  border: 0;
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation a {
  display: flex;
  min-height: 46px;
  align-items: center;
  padding: 11px 14px;
  border-radius: 12px;
  color: var(--zcu-ink);
  font-size: .9rem;
  font-weight: 720;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, transform .25s var(--zcu-ease);
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation a:hover {
  color: var(--zcu-plum);
  background: var(--zcu-paper);
  transform: translateX(3px);
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation .is-active a {
  color: var(--zcu-white);
  background: var(--zcu-plum);
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-content {
  float: none;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  align-self: start;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
  box-shadow: 0 20px 65px rgb(14 22 18 / 8%);
  overflow-wrap: anywhere;
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-content :where(.woocommerce-Button, .woocommerce-button) {
  max-width: 100%;
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-content .woocommerce-orders-table + .woocommerce-pagination {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-content > :first-child {
  margin-top: 0;
}

body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-content > :last-child {
  margin-bottom: 0;
}

body.zomu-commerce-ui .woocommerce .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

body.zomu-commerce-ui .woocommerce .woocommerce-Addresses::before,
body.zomu-commerce-ui .woocommerce .woocommerce-Addresses::after {
  display: none;
}

body.zomu-commerce-ui .woocommerce .woocommerce-Address {
  float: none;
  width: auto;
  padding: 22px;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius);
  background: var(--zcu-paper);
}

body.zomu-commerce-ui .woocommerce .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

body.zomu-commerce-ui .woocommerce .woocommerce-Address-title h3 {
  float: none;
  margin: 0;
}

body.zomu-commerce-ui .woocommerce .woocommerce-Address-title .edit {
  float: none;
  font-size: .82rem;
  font-weight: 800;
}

body.zomu-commerce-ui .woocommerce address {
  margin-top: 14px;
  color: var(--zcu-muted);
  font-style: normal;
  line-height: 1.75;
}

/* Classic tables shared by account, cart and order details. */
body.zomu-commerce-ui .woocommerce table.shop_table {
  width: 100%;
  margin: 0 0 28px;
  overflow: hidden;
  border: 1px solid var(--zcu-line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--zcu-radius);
  background: var(--zcu-white);
}

body.zomu-commerce-ui .woocommerce table.shop_table :where(th, td) {
  padding: 16px 18px;
  border-top: 1px solid var(--zcu-line);
  vertical-align: middle;
}

body.zomu-commerce-ui .woocommerce table.shop_table thead th {
  border-top: 0;
  color: var(--zcu-plum);
  background: var(--zcu-paper);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body.zomu-commerce-ui .woocommerce table.shop_table tbody tr:first-child td {
  border-top: 0;
}

body.zomu-commerce-ui .woocommerce table.shop_table tbody tr {
  transition: background-color .2s ease;
}

body.zomu-commerce-ui .woocommerce table.shop_table tbody tr:hover {
  background: color-mix(in srgb, var(--zcu-accent) 12%, transparent);
}

body.zomu-commerce-ui .woocommerce table.shop_table .button {
  min-height: 38px;
  padding: 9px 14px;
  font-size: .7rem;
}

body.zomu-commerce-ui .woocommerce .woocommerce-orders-table__cell-order-number a {
  color: var(--zcu-plum);
  font-weight: 850;
}

/* Classic cart, quantity, coupon, totals and cross-sells. */
body.zomu-commerce-ui .woocommerce .woocommerce-cart-form {
  margin-bottom: clamp(26px, 4vw, 48px);
}

body.zomu-commerce-ui .woocommerce table.cart .product-thumbnail {
  width: 104px;
}

body.zomu-commerce-ui .woocommerce table.cart img {
  width: 78px;
  border-radius: 14px;
  background: var(--zcu-paper);
}

body.zomu-commerce-ui .woocommerce table.cart .product-name a {
  color: var(--zcu-plum);
  font-family: var(--zcu-serif);
  font-size: 1.12rem;
  font-weight: 700;
  text-decoration: none;
}

body.zomu-commerce-ui .woocommerce table.cart .product-remove a.remove {
  display: grid;
  width: 34px;
  height: 34px;
  border: 1px solid rgb(179 54 96 / 20%);
  border-radius: 50%;
  place-items: center;
  color: var(--zcu-berry) !important;
  background: rgb(179 54 96 / 6%);
  font-size: 1.2rem;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, transform .25s var(--zcu-ease);
}

body.zomu-commerce-ui .woocommerce table.cart .product-remove a.remove:hover {
  color: var(--zcu-white) !important;
  background: var(--zcu-berry);
  transform: rotate(8deg) scale(1.06);
}

body.zomu-commerce-ui .woocommerce .quantity .qty {
  width: 76px;
  min-height: 44px;
  padding-inline: 8px;
  text-align: center;
}

body.zomu-commerce-ui .woocommerce table.cart td.actions {
  padding: 20px;
  background: var(--zcu-paper);
}

body.zomu-commerce-ui .woocommerce table.cart td.actions .coupon {
  display: flex;
  gap: 10px;
}

body.zomu-commerce-ui .woocommerce table.cart td.actions .coupon .input-text {
  width: clamp(160px, 25vw, 260px);
  min-height: 48px;
  margin: 0;
}

body.zomu-commerce-ui .woocommerce .cart-collaterals {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

body.zomu-commerce-ui .woocommerce .cart-collaterals::before,
body.zomu-commerce-ui .woocommerce .cart-collaterals::after {
  display: none;
}

body.zomu-commerce-ui .woocommerce .cart-collaterals .cart_totals {
  float: none;
  width: auto;
  grid-column: 2;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
  box-shadow: 0 18px 55px rgb(14 22 18 / 8%);
}

body.zomu-commerce-ui .woocommerce .cart-collaterals .cart_totals h2 {
  margin-top: 0;
}

body.zomu-commerce-ui .woocommerce .cart-collaterals .cart_totals table {
  border: 0;
  border-radius: 0;
}

body.zomu-commerce-ui .woocommerce .cart-collaterals .cart_totals table :where(th, td) {
  padding-inline: 0;
}

body.zomu-commerce-ui .woocommerce .wc-proceed-to-checkout {
  padding: 18px 0 0;
}

body.zomu-commerce-ui .woocommerce .wc-proceed-to-checkout .checkout-button {
  width: 100%;
  margin: 0;
  font-size: .86rem;
}

body.zomu-commerce-ui .woocommerce .cross-sells {
  float: none;
  width: auto;
  grid-column: 1;
  min-width: 0;
}

body.zomu-commerce-ui .woocommerce .cross-sells > h2 {
  margin-top: 0;
}

body.zomu-commerce-ui .woocommerce .cross-sells ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.zomu-commerce-ui .woocommerce .cross-sells ul.products > li.product,
body.zomu-commerce-ui .wp-block-woocommerce-empty-cart-block .wc-block-grid__products > .wc-block-grid__product {
  float: none !important;
  flex: none;
  width: auto !important;
  max-width: none !important;
  margin: 0;
  padding: 0;
}

body.zomu-commerce-ui .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: clamp(18px, 3vw, 30px);
  margin: 28px 0 0;
}

body.zomu-commerce-ui .woocommerce .cross-sells ul.products > li.product :where(.button, .added_to_cart),
body.zomu-commerce-ui .wp-block-woocommerce-empty-cart-block .wc-block-grid__product :where(.wp-block-button__link, .button, .added_to_cart) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: normal;
  white-space: normal;
  word-break: normal;
}

body.zomu-commerce-ui .woocommerce .cart-empty {
  max-width: 760px;
  margin: 0 auto 24px;
  padding: clamp(34px, 7vw, 72px) 24px;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgb(217 230 161 / 55%), transparent 54%),
    var(--zcu-white);
}

body.zomu-commerce-ui .woocommerce .return-to-shop {
  text-align: center;
}

/* Classic checkout, coupon and payment. */
body.zomu-commerce-ui .woocommerce .woocommerce-form-coupon-toggle,
body.zomu-commerce-ui .woocommerce .woocommerce-form-login-toggle {
  margin-bottom: 18px;
}

body.zomu-commerce-ui .woocommerce :where(.checkout_coupon, .woocommerce-form-login) {
  margin: 0 0 24px;
  padding: 22px;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius);
  background: var(--zcu-white);
}

body.zomu-commerce-ui .woocommerce .checkout_coupon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

body.zomu-commerce-ui .woocommerce .checkout_coupon > p:first-child {
  grid-column: 1 / -1;
  margin: 0;
}

body.zomu-commerce-ui .woocommerce .checkout_coupon .form-row {
  float: none;
  width: auto;
  margin: 0;
}

body.zomu-commerce-ui .woocommerce form.checkout #customer_details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 48px);
  margin-bottom: clamp(32px, 5vw, 56px);
}

body.zomu-commerce-ui .woocommerce form.checkout #customer_details::before,
body.zomu-commerce-ui .woocommerce form.checkout #customer_details::after {
  display: none;
}

body.zomu-commerce-ui .woocommerce form.checkout #customer_details > :where(.col-1, .col-2) {
  float: none;
  width: auto;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
  box-shadow: 0 18px 55px rgb(14 22 18 / 7%);
}

body.zomu-commerce-ui .woocommerce form.checkout #customer_details h3 {
  margin-top: 0;
}

body.zomu-commerce-ui .woocommerce #order_review_heading {
  margin: 0;
  padding: clamp(22px, 3vw, 32px) clamp(22px, 3vw, 32px) 12px;
  border: 1px solid var(--zcu-line);
  border-bottom: 0;
  border-radius: var(--zcu-radius-lg) var(--zcu-radius-lg) 0 0;
  background: var(--zcu-white);
}

body.zomu-commerce-ui .woocommerce #order_review {
  padding: 0 clamp(22px, 3vw, 32px) clamp(22px, 3vw, 32px);
  border: 1px solid var(--zcu-line);
  border-top: 0;
  border-radius: 0 0 var(--zcu-radius-lg) var(--zcu-radius-lg);
  background: var(--zcu-white);
  box-shadow: 0 22px 65px rgb(14 22 18 / 9%);
}

body.zomu-commerce-ui .woocommerce #order_review table.shop_table {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

body.zomu-commerce-ui .woocommerce #payment {
  border-radius: var(--zcu-radius);
  background: var(--zcu-paper);
}

body.zomu-commerce-ui .woocommerce #payment ul.payment_methods {
  padding: 22px;
  border-bottom-color: var(--zcu-line);
}

body.zomu-commerce-ui .woocommerce #payment ul.payment_methods li {
  padding-block: 5px;
}

body.zomu-commerce-ui .woocommerce #payment ul.payment_methods li > label {
  color: var(--zcu-plum);
  font-weight: 800;
}

body.zomu-commerce-ui .woocommerce #payment div.payment_box {
  border-radius: var(--zcu-radius-sm);
  color: var(--zcu-ink);
  background: var(--zcu-white);
}

body.zomu-commerce-ui .woocommerce #payment div.payment_box::before {
  border-bottom-color: var(--zcu-white);
}

body.zomu-commerce-ui .woocommerce #payment div.form-row {
  padding: 22px;
}

body.zomu-commerce-ui .woocommerce #payment #place_order {
  min-height: 54px;
  padding-inline: 28px;
}

/* Order received, order detail and customer detail states. */
body.zomu-commerce-ui .woocommerce .woocommerce-thankyou-order-received {
  margin: 0 0 28px;
  padding: clamp(30px, 6vw, 64px) 24px;
  border: 1px solid rgb(23 70 43 / 20%);
  border-radius: var(--zcu-radius-lg);
  color: var(--zcu-forest);
  background:
    radial-gradient(circle at 50% -30%, rgb(217 230 161 / 90%), transparent 55%),
    var(--zcu-white);
  font-family: var(--zcu-serif);
  font-size: clamp(1.65rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.12;
  text-align: center;
}

body.zomu-commerce-ui .woocommerce .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
  gap: 1px;
  margin: 0 0 34px;
  padding: 1px;
  overflow: hidden;
  border-radius: var(--zcu-radius);
  background: var(--zcu-line);
}

body.zomu-commerce-ui .woocommerce .woocommerce-order-overview li {
  float: none;
  margin: 0;
  padding: 18px;
  border: 0;
  background: var(--zcu-white);
  font-size: .72rem;
  line-height: 1.45;
}

body.zomu-commerce-ui .woocommerce .woocommerce-order-overview li strong {
  margin-top: 6px;
  color: var(--zcu-plum);
  font-size: .98rem;
}

body.zomu-commerce-ui .woocommerce :where(.woocommerce-order-details, .woocommerce-customer-details) {
  margin: 0 0 28px;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
  box-shadow: 0 18px 55px rgb(14 22 18 / 7%);
}

body.zomu-commerce-ui .woocommerce :where(.woocommerce-order-details, .woocommerce-customer-details) > h2 {
  margin-top: 0;
}

/* Cart and Checkout Blocks. */
body.zomu-commerce-ui :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
  --wp--preset--color--contrast: var(--zcu-ink);
  margin-block: clamp(24px, 4vw, 52px);
}

body.zomu-commerce-ui .wc-block-components-sidebar-layout {
  gap: clamp(24px, 4vw, 48px);
}

body.zomu-commerce-ui .wc-block-components-sidebar-layout .wc-block-components-main {
  width: calc(64% - 24px);
  padding-right: 0;
}

body.zomu-commerce-ui .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  width: 36%;
  margin: 0;
}

body.zomu-commerce-ui :where(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) {
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
  box-shadow: 0 20px 60px rgb(14 22 18 / 8%);
}

body.zomu-commerce-ui :where(.wc-block-cart__totals-title, .wc-block-components-title) {
  color: var(--zcu-plum);
  font-family: var(--zcu-serif);
  font-weight: 700;
  letter-spacing: -.015em;
}

body.zomu-commerce-ui .wc-block-cart-items {
  overflow: hidden;
  border: 1px solid var(--zcu-line);
  border-collapse: separate;
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
}

body.zomu-commerce-ui .wc-block-cart-items thead th {
  padding: 14px 18px;
  border-bottom: 1px solid var(--zcu-line);
  color: var(--zcu-plum);
  background: var(--zcu-paper);
  font-size: .75rem;
  letter-spacing: .07em;
}

body.zomu-commerce-ui .wc-block-cart-items .wc-block-cart-items__row td {
  padding: 20px 14px;
  border-bottom-color: var(--zcu-line);
}

body.zomu-commerce-ui .wc-block-cart-item__image img {
  border-radius: 14px;
  background: var(--zcu-paper);
}

body.zomu-commerce-ui .wc-block-components-product-name {
  color: var(--zcu-plum);
  font-family: var(--zcu-serif);
  font-size: 1.12rem;
  font-weight: 700;
  text-decoration: none;
}

body.zomu-commerce-ui .wc-block-components-quantity-selector {
  border-color: var(--zcu-line);
  border-radius: 999px;
  background: var(--zcu-paper);
}

body.zomu-commerce-ui .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  min-height: 38px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.zomu-commerce-ui .wc-block-cart-item__remove-link {
  color: var(--zcu-berry);
  font-weight: 700;
  text-underline-offset: 3px;
}

body.zomu-commerce-ui :where(.wc-block-components-totals-wrapper, .wc-block-components-order-summary) {
  border-color: var(--zcu-line);
}

body.zomu-commerce-ui .wc-block-components-totals-coupon__button {
  min-height: 44px;
}

body.zomu-commerce-ui .wc-block-components-totals-coupon__form {
  gap: 10px;
}

body.zomu-commerce-ui .wc-block-cart__submit-button,
body.zomu-commerce-ui .wc-block-components-checkout-place-order-button {
  width: 100%;
  min-height: 54px;
}

body.zomu-commerce-ui .wc-block-checkout__main > :where(div, fieldset) {
  margin-bottom: 20px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius);
  background: var(--zcu-white);
}

body.zomu-commerce-ui .wc-block-checkout__main .wc-block-components-checkout-step {
  margin: 0;
}

body.zomu-commerce-ui .wc-block-components-checkout-step__heading {
  margin-bottom: 18px;
}

body.zomu-commerce-ui .wc-block-components-checkout-step__title {
  color: var(--zcu-plum);
  font-family: var(--zcu-serif);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

body.zomu-commerce-ui .wc-block-components-checkout-step__description {
  color: var(--zcu-muted);
}

body.zomu-commerce-ui .wc-block-components-text-input input,
body.zomu-commerce-ui .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  min-height: 56px;
  padding: 19px 15px 5px;
}

body.zomu-commerce-ui .wc-block-components-text-input label,
body.zomu-commerce-ui .wc-block-components-combobox .wc-block-components-combobox-control label.components-base-control__label {
  color: var(--zcu-muted);
}

body.zomu-commerce-ui .wc-block-components-radio-control-accordion-option {
  margin-bottom: 10px;
  overflow: hidden;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-sm);
  background: var(--zcu-white);
}

body.zomu-commerce-ui .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--zcu-forest);
  box-shadow: 0 0 0 3px rgb(23 70 43 / 8%);
}

body.zomu-commerce-ui .wc-block-components-radio-control__option-layout {
  padding-block: 4px;
}

body.zomu-commerce-ui .wc-block-components-checkout-return-to-cart-button {
  color: var(--zcu-forest);
  font-weight: 750;
}

body.zomu-commerce-ui .wc-block-cart__empty-cart__title {
  margin-bottom: 28px;
  color: var(--zcu-plum);
  font-family: var(--zcu-serif);
  font-size: clamp(2rem, 5vw, 4rem);
}

body.zomu-commerce-ui .wp-block-woocommerce-empty-cart-block {
  padding: clamp(38px, 7vw, 76px) var(--zcu-gutter);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background:
    radial-gradient(circle at 50% 0%, rgb(217 230 161 / 60%), transparent 52%),
    var(--zcu-white);
}

/* Shop/archive polish that complements, rather than replaces, the active theme grid. */
body.zomu-commerce-ui :where(.woocommerce-breadcrumb, .woocommerce-products-header, .woocommerce-notices-wrapper) {
  width: 100%;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) .woocommerce-breadcrumb {
  margin-bottom: 24px;
  color: var(--zcu-muted);
  font-size: .82rem;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) .woocommerce-breadcrumb a {
  color: var(--zcu-forest);
  font-weight: 700;
  text-decoration: none;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) :where(.woocommerce-result-count, .woocommerce-ordering) {
  margin-bottom: 24px;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) .woocommerce-result-count {
  color: var(--zcu-muted);
  font-size: .88rem;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) .woocommerce-ordering select {
  min-width: min(100%, 230px);
  min-height: 44px;
  padding-block: 8px;
  font-size: .85rem;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) ul.products li.product {
  min-width: 0;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) ul.products li.product :where(.button, .added_to_cart),
body.zomu-commerce-ui .wc-block-grid__product-add-to-cart .wp-block-button__link {
  display: inline-flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 11px 16px;
  border: 1px solid var(--zcu-forest);
  border-radius: 999px;
  color: var(--zcu-white);
  background: var(--zcu-forest);
  font-family: var(--zcu-sans);
  font-size: clamp(.68rem, 1.7vw, .8rem);
  font-weight: 800;
  letter-spacing: .055em;
  overflow-wrap: normal;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  word-break: normal;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .3s var(--zcu-ease);
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) ul.products li.product :where(.button, .added_to_cart):hover,
body.zomu-commerce-ui .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  border-color: var(--zcu-plum);
  color: var(--zcu-white);
  background: var(--zcu-plum);
  transform: translateY(-2px);
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) ul.products li.product :where(.button, .added_to_cart):focus-visible,
body.zomu-commerce-ui .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible {
  outline: 3px solid var(--zcu-mango);
  outline-offset: 3px;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) ul.products li.product .price {
  color: var(--zcu-ink);
  font-weight: 750;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) ul.products li.product .price del {
  color: var(--zcu-muted);
  opacity: .72;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) span.onsale {
  display: grid;
  min-width: 52px;
  min-height: 52px;
  padding: 7px;
  border-radius: 50%;
  place-items: center;
  color: var(--zcu-white);
  background: var(--zcu-berry);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .045em;
  line-height: 1.1;
  text-transform: uppercase;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) nav.woocommerce-pagination ul {
  display: flex;
  gap: 7px;
  border: 0;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) nav.woocommerce-pagination ul li {
  border: 0;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) nav.woocommerce-pagination ul li :where(a, span) {
  display: grid;
  min-width: 42px;
  min-height: 42px;
  border: 1px solid var(--zcu-line);
  border-radius: 50%;
  place-items: center;
  color: var(--zcu-plum);
  background: var(--zcu-white);
  font-weight: 800;
}

body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) nav.woocommerce-pagination ul li span.current,
body:is(.zomu-commerce-ui--shop, .zomu-commerce-ui--product-archive, .zomu-commerce-ui--product) nav.woocommerce-pagination ul li a:hover {
  border-color: var(--zcu-plum);
  color: var(--zcu-white);
  background: var(--zcu-plum);
}

/* Single product gallery, purchase form, variations, metadata, tabs and reviews. */
body.zomu-commerce-ui--product div.product div.images img {
  border-radius: var(--zcu-radius);
  background: var(--zcu-paper);
}

body.zomu-commerce-ui--product div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

body.zomu-commerce-ui--product div.product div.images .flex-control-thumbs li {
  float: none;
  width: auto;
}

body.zomu-commerce-ui--product div.product div.images .flex-control-thumbs img {
  border: 1px solid transparent;
  border-radius: var(--zcu-radius-sm);
  transition: border-color .2s ease, opacity .2s ease, transform .3s var(--zcu-ease);
}

body.zomu-commerce-ui--product div.product div.images .flex-control-thumbs img:hover,
body.zomu-commerce-ui--product div.product div.images .flex-control-thumbs img.flex-active {
  border-color: var(--zcu-forest);
  opacity: 1;
  transform: translateY(-2px);
}

body.zomu-commerce-ui--product div.product .summary {
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
  box-shadow: 0 22px 70px rgb(14 22 18 / 9%);
}

body.zomu-commerce-ui--product div.product .product_title {
  margin-top: 0;
  font-size: clamp(2rem, 4.2vw, 4rem);
}

body.zomu-commerce-ui--product div.product p.price,
body.zomu-commerce-ui--product div.product span.price {
  color: var(--zcu-plum);
  font-size: clamp(1.25rem, 2.5vw, 1.8rem);
  font-weight: 800;
}

body.zomu-commerce-ui--product div.product .woocommerce-product-details__short-description {
  color: var(--zcu-muted);
  line-height: 1.75;
}

body.zomu-commerce-ui--product div.product :where(input.input-text, input[type="number"], select, textarea) {
  min-height: 48px;
  padding: 10px 13px;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-sm);
  color: var(--zcu-ink);
  background: var(--zcu-white);
  font: inherit;
}

body.zomu-commerce-ui--product div.product :where(input.input-text, input[type="number"], select, textarea):focus {
  border-color: var(--zcu-forest);
  outline: 0;
  box-shadow: 0 0 0 4px rgb(23 70 43 / 10%);
}

body.zomu-commerce-ui--product div.product :where(.single_add_to_cart_button, .button) {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid var(--zcu-forest);
  border-radius: 999px;
  color: var(--zcu-white);
  background: var(--zcu-forest);
  font-family: var(--zcu-sans);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .065em;
  line-height: 1.2;
  overflow-wrap: normal;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  word-break: normal;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .3s var(--zcu-ease);
}

body.zomu-commerce-ui--product div.product :where(.single_add_to_cart_button, .button):hover {
  border-color: var(--zcu-plum);
  color: var(--zcu-white);
  background: var(--zcu-plum);
  transform: translateY(-2px);
}

body.zomu-commerce-ui--product div.product :where(.single_add_to_cart_button, .button):focus-visible {
  outline: 3px solid var(--zcu-mango);
  outline-offset: 3px;
}

body.zomu-commerce-ui--product div.product :where(.stock, .available-on-backorder) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-block: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--zcu-forest);
  background: color-mix(in srgb, var(--zcu-accent) 34%, var(--zcu-white));
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}

body.zomu-commerce-ui--product div.product p.out-of-stock {
  color: var(--zcu-berry);
  background: color-mix(in srgb, var(--zcu-berry) 9%, var(--zcu-white));
}

body.zomu-commerce-ui--product div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-block: 24px;
  padding-block: 22px;
  border-block: 1px solid var(--zcu-line);
}

body.zomu-commerce-ui--product div.product form.cart .quantity {
  float: none;
  margin: 0;
}

body.zomu-commerce-ui--product div.product form.cart .single_add_to_cart_button {
  flex: 1 1 220px;
}

body.zomu-commerce-ui--product div.product form.cart table.variations {
  flex: 1 0 100%;
  margin-bottom: 12px;
}

body.zomu-commerce-ui--product div.product form.cart table.variations :where(th, td) {
  padding: 7px 8px 7px 0;
  text-align: left;
  vertical-align: middle;
}

body.zomu-commerce-ui--product div.product form.cart table.variations label {
  color: var(--zcu-plum);
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}

body.zomu-commerce-ui--product div.product form.cart table.variations select {
  min-height: 46px;
}

body.zomu-commerce-ui--product div.product .reset_variations {
  display: inline-block;
  margin-top: 8px;
  color: var(--zcu-berry);
  font-size: .78rem;
  font-weight: 800;
}

body.zomu-commerce-ui--product div.product .product_meta {
  display: grid;
  gap: 8px;
  padding-top: 18px;
  border-top: 1px solid var(--zcu-line);
  color: var(--zcu-muted);
  font-size: .82rem;
}

body.zomu-commerce-ui--product div.product .product_meta > span {
  display: block;
}

body.zomu-commerce-ui--product div.product .woocommerce-tabs {
  clear: both;
  padding-top: clamp(38px, 6vw, 72px);
}

body.zomu-commerce-ui--product div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 22px;
  padding: 0;
  overflow-x: auto;
  border: 0;
}

body.zomu-commerce-ui--product div.product .woocommerce-tabs ul.tabs::before,
body.zomu-commerce-ui--product div.product .woocommerce-tabs ul.tabs li::before,
body.zomu-commerce-ui--product div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

body.zomu-commerce-ui--product div.product .woocommerce-tabs ul.tabs li {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 1px solid var(--zcu-line);
  border-radius: 999px;
  background: var(--zcu-white);
}

body.zomu-commerce-ui--product div.product .woocommerce-tabs ul.tabs li a {
  padding: 11px 18px;
  color: var(--zcu-muted);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.zomu-commerce-ui--product div.product .woocommerce-tabs ul.tabs li.active {
  border-color: var(--zcu-plum);
  background: var(--zcu-plum);
}

body.zomu-commerce-ui--product div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--zcu-white);
}

body.zomu-commerce-ui--product div.product .woocommerce-tabs .panel {
  margin: 0 0 36px;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-lg);
  background: var(--zcu-white);
  line-height: 1.75;
}

body.zomu-commerce-ui--product #reviews #comments ol.commentlist {
  margin: 0;
  padding: 0;
}

body.zomu-commerce-ui--product #reviews #comments ol.commentlist li {
  margin-bottom: 16px;
}

body.zomu-commerce-ui--product #reviews #comments ol.commentlist li img.avatar {
  width: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--zcu-paper);
}

body.zomu-commerce-ui--product #reviews #comments ol.commentlist li .comment-text {
  margin-left: 64px;
  padding: 18px;
  border-color: var(--zcu-line);
  border-radius: var(--zcu-radius);
}

body.zomu-commerce-ui--product #review_form #respond {
  padding: 22px;
  border-radius: var(--zcu-radius);
  background: var(--zcu-paper);
}

body.zomu-commerce-ui--product p.stars a {
  color: var(--zcu-mango);
}

body.zomu-commerce-ui--product :where(.related, .upsells) {
  clear: both;
  padding-top: clamp(30px, 5vw, 60px);
}

/* Optional 1.1 editorial product layer; never owns the theme's main product display/grid. */
body.zomu-commerce-ui--editorial-product div.product div.images {
  position: relative;
  isolation: isolate;
}

body.zomu-commerce-ui--editorial-product div.product div.images::before {
  position: absolute;
  inset: clamp(14px, 3vw, 32px) clamp(-12px, -1vw, -4px) clamp(-12px, -1vw, -4px) clamp(14px, 3vw, 32px);
  z-index: -1;
  border-radius: var(--zcu-radius-lg);
  background: color-mix(in srgb, var(--zcu-accent) 45%, var(--zcu-white));
  content: "";
}

body.zomu-commerce-ui--editorial-product div.product .summary {
  position: relative;
  overflow: hidden;
  border-top: 6px solid var(--zcu-accent);
  background:
    radial-gradient(circle at 105% -10%, color-mix(in srgb, var(--zcu-accent) 48%, transparent), transparent 42%),
    var(--zcu-white);
}

body.zomu-commerce-ui--editorial-product div.product .summary > * {
  position: relative;
  z-index: 1;
}

body.zomu-commerce-ui--editorial-product div.product .product_title {
  max-width: 15ch;
  text-wrap: balance;
}

body.zomu-commerce-ui--editorial-product div.product .woocommerce-product-rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  color: var(--zcu-muted);
  font-size: .82rem;
}

body.zomu-commerce-ui--editorial-product div.product .woocommerce-product-rating .star-rating {
  margin: 0;
  color: var(--zcu-mango);
}

body.zomu-commerce-ui--editorial-product div.product :where(p.price, span.price) {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 9px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--zcu-line);
}

body.zomu-commerce-ui--editorial-product div.product :where(p.price, span.price) del {
  color: var(--zcu-muted);
  font-size: .7em;
  opacity: .7;
}

body.zomu-commerce-ui--editorial-product div.product :where(p.price, span.price) ins {
  color: var(--zcu-berry);
  text-decoration: none;
}

body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image {
  overflow: hidden;
  border-radius: var(--zcu-radius);
}

body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image > :where(a, img),
body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image > a > img {
  display: block;
}

body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image > img:not(.zoomImg),
body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
  transform-origin: var(--zcu-gallery-x, 50%) var(--zcu-gallery-y, 50%);
  transition: transform var(--zcu-motion-duration) var(--zcu-ease);
  will-change: transform;
}

body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image.is-zcu-gallery-active > img:not(.zoomImg),
body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image.is-zcu-gallery-active > a > img:not(.zoomImg),
body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image:hover > img:not(.zoomImg),
body.zomu-commerce-ui--gallery-motion div.product .woocommerce-product-gallery__image:hover > a > img:not(.zoomImg) {
  transform: scale(var(--zcu-product-zoom));
}

body.zomu-commerce-ui--editorial-product div.product form.cart table.variations {
  padding: 16px;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius);
  background: var(--zcu-paper);
}

body.zomu-commerce-ui--editorial-product div.product form.cart table.variations tbody {
  display: grid;
  gap: 12px;
}

body.zomu-commerce-ui--editorial-product div.product form.cart table.variations tr {
  display: grid;
  grid-template-columns: minmax(90px, .32fr) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

body.zomu-commerce-ui--editorial-product div.product form.cart table.variations :where(th, td) {
  display: block;
  width: auto;
  padding: 0;
}

body.zomu-commerce-ui--editorial-product div.product form.cart table.variations select {
  width: 100%;
  margin: 0;
  background-color: var(--zcu-white);
}

body.zomu-commerce-ui--editorial-product div.product form.cart .single_variation_wrap {
  flex: 1 0 100%;
  width: 100%;
}

body.zomu-commerce-ui--editorial-product div.product form.cart .woocommerce-variation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
  padding: 14px 16px;
  border-radius: var(--zcu-radius-sm);
  background: color-mix(in srgb, var(--zcu-accent) 26%, var(--zcu-white));
}

body.zomu-commerce-ui--editorial-product div.product form.cart .woocommerce-variation-description {
  grid-column: 1 / -1;
  color: var(--zcu-muted);
  line-height: 1.6;
}

body.zomu-commerce-ui--editorial-product div.product form.cart .woocommerce-variation-price {
  color: var(--zcu-plum);
  font-weight: 800;
}

body.zomu-commerce-ui--editorial-product div.product form.cart .woocommerce-variation-availability {
  justify-self: end;
}

body.zomu-commerce-ui--editorial-product div.product .quantity .qty {
  width: 82px;
  min-height: 50px;
  text-align: center;
}

body.zomu-commerce-ui--editorial-product div.product form.grouped_form table.group_table {
  flex: 1 0 100%;
  width: 100%;
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid var(--zcu-line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--zcu-radius);
}

body.zomu-commerce-ui--editorial-product div.product form.grouped_form table.group_table td {
  padding: 12px;
  border-top: 1px solid var(--zcu-line);
}

body.zomu-commerce-ui--editorial-product div.product form.grouped_form table.group_table tr:first-child td {
  border-top: 0;
}

body.zomu-commerce-ui--editorial-product div.product .woocommerce-tabs .panel > h2:first-child {
  margin-top: 0;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--zcu-line);
}

body.zomu-commerce-ui--editorial-product div.product table.shop_attributes,
body.zomu-commerce-ui--editorial-product div.product table.woocommerce-product-attributes {
  width: 100%;
  margin: 0;
  border: 1px solid var(--zcu-line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--zcu-radius);
  background: var(--zcu-white);
}

body.zomu-commerce-ui--editorial-product div.product table.shop_attributes :where(th, td),
body.zomu-commerce-ui--editorial-product div.product table.woocommerce-product-attributes :where(th, td) {
  padding: 14px 16px;
  border: 0;
  border-top: 1px solid var(--zcu-line);
  background: transparent;
  text-align: left;
}

body.zomu-commerce-ui--editorial-product div.product table.shop_attributes tr:first-child :where(th, td),
body.zomu-commerce-ui--editorial-product div.product table.woocommerce-product-attributes tr:first-child :where(th, td) {
  border-top: 0;
}

body.zomu-commerce-ui--editorial-product div.product table.shop_attributes th,
body.zomu-commerce-ui--editorial-product div.product table.woocommerce-product-attributes th {
  width: 34%;
  color: var(--zcu-plum);
  background: var(--zcu-paper);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}

body.zomu-commerce-ui--editorial-product div.product table.shop_attributes p,
body.zomu-commerce-ui--editorial-product div.product table.woocommerce-product-attributes p {
  margin: 0;
  padding: 0;
}

body.zomu-commerce-ui--editorial-product :where(.related, .upsells) {
  margin-top: clamp(30px, 5vw, 64px);
  padding-top: clamp(30px, 5vw, 64px);
  border-top: 1px solid var(--zcu-line);
}

body.zomu-commerce-ui--editorial-product :where(.related, .upsells) > h2 {
  max-width: 16ch;
  margin: 0 0 clamp(24px, 4vw, 42px);
  font-size: clamp(1.8rem, 4vw, 3.3rem);
  text-wrap: balance;
}

body.zomu-commerce-ui--editorial-product :where(.related, .upsells) ul.products li.product {
  overflow: hidden;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius);
  background: var(--zcu-white);
  box-shadow: 0 16px 48px rgb(14 22 18 / 7%);
}

body.zomu-commerce-ui--editorial-product :where(.related, .upsells) ul.products li.product img {
  transition: transform var(--zcu-motion-duration) var(--zcu-ease);
}

body.zomu-commerce-ui--editorial-product :where(.related, .upsells) ul.products li.product:hover img {
  transform: scale(var(--zcu-product-zoom));
}

.zcu-tab-accordion__toggle {
  display: none;
}

body.zomu-commerce-ui--motion-full {
  --zcu-motion-distance: 18px;
  --zcu-motion-duration: .65s;
  --zcu-product-zoom: 1.045;
}

body.zomu-commerce-ui--motion-none {
  --zcu-motion-distance: 0px;
  --zcu-motion-duration: 0s;
  --zcu-product-zoom: 1;
}

/* A summary in the product's outer grid has no purchase-row boundary. Never
   stick it against that ancestor: it would cover tabs and editorial content. */
body.zomu-commerce-ui--product div.product .summary {
  position: relative;
  inset: auto;
  max-height: none;
  overflow: visible;
  align-self: start;
}

@media (min-width: 1024px) and (min-height: 700px) {
  body.zomu-commerce-ui--sticky-summary div.product .zomu-product-purchase > .summary.zcu-sticky-safe {
    position: sticky;
    top: var(--zcu-sticky-top, 110px);
  }
}

@media (max-width: 782px) {
  body.zomu-commerce-ui--tabs-accordion .woocommerce-tabs.zcu-tabs-accordion-ready > ul.tabs {
    display: none;
  }

  body.zomu-commerce-ui--tabs-accordion .woocommerce-tabs.zcu-tabs-accordion-ready .zcu-tab-accordion__toggle {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 8px;
    padding: 13px 16px;
    border: 1px solid var(--zcu-line);
    border-radius: var(--zcu-radius-sm);
    color: var(--zcu-plum);
    background: var(--zcu-white);
    font-family: var(--zcu-sans);
    font-size: .8rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-align: left;
    text-transform: uppercase;
  }

  body.zomu-commerce-ui--tabs-accordion .woocommerce-tabs.zcu-tabs-accordion-ready .zcu-tab-accordion__toggle.is-active {
    border-color: var(--zcu-plum);
    color: var(--zcu-white);
    background: var(--zcu-plum);
  }

  .zcu-tab-accordion__icon {
    position: relative;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
  }

  .zcu-tab-accordion__icon::before,
  .zcu-tab-accordion__icon::after {
    position: absolute;
    top: 7px;
    left: 1px;
    width: 14px;
    height: 2px;
    background: currentColor;
    content: "";
    transition: transform .25s var(--zcu-ease);
  }

  .zcu-tab-accordion__icon::after {
    transform: rotate(90deg);
  }

  .zcu-tab-accordion__toggle.is-active .zcu-tab-accordion__icon::after {
    transform: rotate(0);
  }

  body.zomu-commerce-ui--tabs-accordion .woocommerce-tabs.zcu-tabs-accordion-ready .zcu-product-panel {
    display: none !important;
    margin: 0 0 10px;
  }

  body.zomu-commerce-ui--tabs-accordion .woocommerce-tabs.zcu-tabs-accordion-ready .zcu-product-panel.is-zcu-open {
    display: block !important;
    animation: zcu-panel-in var(--zcu-motion-duration) var(--zcu-ease) both;
  }

  body.zomu-commerce-ui--editorial-product div.product form.cart table.variations tr,
  body.zomu-commerce-ui--editorial-product div.product form.cart .woocommerce-variation {
    grid-template-columns: 1fr;
  }

  body.zomu-commerce-ui--editorial-product div.product form.cart .woocommerce-variation-availability {
    justify-self: start;
  }

  body.zomu-commerce-ui--editorial-product div.product table.shop_attributes :where(th, td),
  body.zomu-commerce-ui--editorial-product div.product table.woocommerce-product-attributes :where(th, td) {
    display: block;
    width: 100%;
  }
}

@keyframes zcu-panel-in {
  from {
    opacity: 0;
    transform: translateY(calc(var(--zcu-motion-distance) / 2));
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* Customer centre, v1.2: one sidebar and a fluid content column. */
body.zomu-commerce-ui--account :where(.page-content, .entry-content) {
  width: min(1240px, calc(100% - 2 * var(--zcu-gutter)));
  max-width: none;
  margin-inline: auto;
}

body.zomu-commerce-ui--account .page-hero {
  min-height: 200px;
}

body.zomu-commerce-ui--account .page-hero__inner {
  padding-block: 72px 28px;
}

body.zomu-commerce-ui--account .page-hero h1 {
  font-size: clamp(2.2rem, 4vw, 3.6rem);
}

body.zomu-commerce-ui .zcu-icon {
  flex: 0 0 auto;
  vertical-align: middle;
}

body.zomu-commerce-ui .zcu-eyebrow {
  display: block;
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .16em;
  line-height: 1.5;
  text-transform: uppercase;
}

body.zomu-commerce-ui .zcu-account-sidebar {
  display: grid;
  gap: 20px;
  float: none;
  width: 100%;
}

body.zomu-commerce-ui .zcu-profile {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 8px 6px 20px;
  border-bottom: 1px solid var(--zcu-line);
}

body.zomu-commerce-ui .zcu-profile > div {
  display: grid;
  min-width: 0;
  gap: 5px;
}

body.zomu-commerce-ui .zcu-profile strong {
  font-family: var(--zcu-serif);
  font-size: 1.45rem;
  overflow-wrap: anywhere;
}

body.zomu-commerce-ui .zcu-profile a {
  font-size: .74rem;
}

body.zomu-commerce-ui .zcu-avatar {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  place-items: center;
  border-radius: 50%;
  background: var(--zcu-accent);
  color: var(--zcu-plum);
  font: 1.8rem var(--zcu-serif);
}

body.zomu-commerce-ui .zcu-account-sidebar .woocommerce-MyAccount-navigation {
  padding: 7px;
  border-radius: var(--zcu-radius-sm);
  box-shadow: 0 6px 24px rgb(14 22 18 / 4%);
}

body.zomu-commerce-ui .zcu-account-sidebar .woocommerce-MyAccount-navigation a {
  min-height: 49px;
  gap: 12px;
  border-radius: max(4px, calc(var(--zcu-radius-sm) - 4px));
  font-size: .8rem;
}

body.zomu-commerce-ui .zcu-account-sidebar .woocommerce-MyAccount-navigation a > .zcu-icon:last-child {
  width: 15px;
  height: 15px;
  margin-left: auto;
  opacity: .55;
}

body.zomu-commerce-ui .zcu-sidebar-collection {
  display: grid;
  gap: 16px;
  padding: 26px;
  border-radius: var(--zcu-radius-sm);
  background: var(--zcu-header);
  color: var(--zcu-accent);
  text-decoration: none;
}

body.zomu-commerce-ui .zcu-sidebar-collection > .zcu-icon {
  width: 38px;
  height: 38px;
}

body.zomu-commerce-ui .zcu-sidebar-collection strong {
  color: white;
  font: 1.7rem/1.1 var(--zcu-serif);
}

body.zomu-commerce-ui .zcu-sidebar-collection > span:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .74rem;
}

body.zomu-commerce-ui .zcu-sidebar-collection:hover { color: white; }

body.zomu-commerce-ui--dashboard .woocommerce .woocommerce-MyAccount-content:has(> .zcu-dashboard) {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

body.zomu-commerce-ui .zcu-dashboard { display: grid; gap: 24px; }
body.zomu-commerce-ui .zcu-dashboard-heading h2 { margin: 10px 0 12px; font-size: clamp(1.8rem, 3vw, 2.6rem); }
body.zomu-commerce-ui .zcu-dashboard-heading p { margin: 0; color: var(--zcu-muted); font-size: .88rem; line-height: 1.65; }

body.zomu-commerce-ui .zcu-account-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
body.zomu-commerce-ui .zcu-account-stat {
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: start;
  gap: 10px;
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--zcu-line);
  border-radius: var(--zcu-radius-sm);
  color: var(--zcu-plum);
  background: white;
  text-decoration: none;
}
body.zomu-commerce-ui .zcu-account-stat > .zcu-icon { grid-column: 2; grid-row: 1; opacity: .7; }
body.zomu-commerce-ui .zcu-account-stat strong { grid-column: 1; grid-row: 1; font-size: 2rem; line-height: 1; }
body.zomu-commerce-ui .zcu-account-stat strong.zcu-account-stat__word { font-size: 1.15rem; align-self: center; line-height: 1.3; }
body.zomu-commerce-ui .zcu-account-stat > span { grid-column: 1 / -1; font-size: .74rem; color: var(--zcu-muted); }
body.zomu-commerce-ui .zcu-account-stat:nth-child(2) { background: color-mix(in srgb, var(--zcu-accent) 40%, white); }
body.zomu-commerce-ui .zcu-account-card { min-width: 0; padding: 26px; border: 1px solid var(--zcu-line); border-radius: var(--zcu-radius); background: white; }
body.zomu-commerce-ui .zcu-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
body.zomu-commerce-ui .zcu-card-heading h3 { margin: 0; font-size: 1.7rem; }
body.zomu-commerce-ui :where(.zcu-card-heading, .zcu-recent-order__bottom) > a { display: flex; align-items: center; gap: 8px; font-size: .76rem; font-weight: 650; text-decoration: none; }
body.zomu-commerce-ui .zcu-card-heading > a > svg { width: 17px; }
body.zomu-commerce-ui .zcu-account-empty { display: grid; justify-items: center; padding: 28px 16px; text-align: center; }
body.zomu-commerce-ui .zcu-account-empty > .zcu-icon { width: 54px; height: 54px; padding: 12px; border-radius: 50%; background: var(--zcu-paper); }
body.zomu-commerce-ui .zcu-account-empty h4 { margin: 20px 0 8px; font-size: 1.6rem; }
body.zomu-commerce-ui .zcu-account-empty p { max-width: 44ch; margin: 0 0 22px; color: var(--zcu-muted); font-size: .84rem; line-height: 1.6; }
body.zomu-commerce-ui .zcu-recent-order { padding: 18px 0; border-top: 1px solid var(--zcu-line); }
body.zomu-commerce-ui .zcu-recent-order:last-child { padding-bottom: 0; }
body.zomu-commerce-ui .zcu-recent-order__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: .76rem; }
body.zomu-commerce-ui .zcu-recent-order__meta > a { text-decoration: none; }
body.zomu-commerce-ui .zcu-recent-order__meta > time { color: var(--zcu-muted); }
body.zomu-commerce-ui .zcu-order-status { margin-left: auto; padding: 5px 10px; border-radius: 20px; background: var(--zcu-paper); color: var(--zcu-ink); font-size: .68rem; font-weight: 650; }
body.zomu-commerce-ui .zcu-order-status--processing { background: #edf3d8; color: #425821; }
body.zomu-commerce-ui .zcu-order-status--completed { background: #e5f1e9; color: #1c5a39; }
body.zomu-commerce-ui :where(.zcu-order-status--failed, .zcu-order-status--cancelled) { background: #fae8e9; color: #87323c; }
body.zomu-commerce-ui .zcu-order-products { display: grid; gap: 12px; margin-block: 18px; }
body.zomu-commerce-ui .zcu-order-product { display: flex; align-items: center; gap: 14px; font-size: .84rem; font-weight: 600; }
body.zomu-commerce-ui .zcu-order-product__image { display: grid; flex: 0 0 52px; width: 52px; height: 56px; place-items: center; border-radius: 6px; overflow: hidden; background: var(--zcu-paper); }
body.zomu-commerce-ui .zcu-order-product__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.zomu-commerce-ui .zcu-order-product small { display: block; margin-top: 4px; font-size: .71rem; font-weight: 400; color: var(--zcu-muted); }
body.zomu-commerce-ui .zcu-order-more { color: var(--zcu-muted); font-size: .74rem; }
body.zomu-commerce-ui .zcu-recent-order__bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: .9rem; }
body.zomu-commerce-ui .zcu-account-quicklinks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.zomu-commerce-ui .zcu-account-quicklinks > a { display: flex; align-items: center; gap: 14px; padding: 22px; border: 1px solid var(--zcu-line); border-radius: var(--zcu-radius-sm); background: white; text-decoration: none; }
body.zomu-commerce-ui .zcu-account-quicklinks > a > span { min-width: 0; }
body.zomu-commerce-ui .zcu-account-quicklinks strong { display: block; font-size: .84rem; }
body.zomu-commerce-ui .zcu-account-quicklinks small { display: block; margin-top: 5px; color: var(--zcu-muted); font-size: .72rem; line-height: 1.5; }
body.zomu-commerce-ui .zcu-account-quicklinks > a > .zcu-icon:last-child { margin-left: auto; width: 17px; }

/* Original WooCommerce forms and extension hooks remain intact within the shell. */
body.zomu-commerce-ui .zcu-auth-anchor { display: block; height: 0; scroll-margin-top: 110px; }
body.zomu-commerce-ui .zcu-auth { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); overflow: hidden; border: 1px solid var(--zcu-line); border-radius: var(--zcu-radius); background: white; box-shadow: 0 20px 60px rgb(14 22 18 / 7%); }
body.zomu-commerce-ui .zcu-auth-story { position: relative; padding: clamp(28px, 4vw, 48px); overflow: hidden; background: var(--zcu-header); color: white; }
body.zomu-commerce-ui .zcu-auth-story .zcu-eyebrow { color: var(--zcu-accent); }
body.zomu-commerce-ui .zcu-auth-story h2 { max-width: 13ch; margin: 26px 0 18px; color: white; font-size: clamp(2.2rem, 3.5vw, 3.4rem); line-height: 1.04; }
body.zomu-commerce-ui .zcu-auth-story > p { max-width: 34ch; color: #d3dce2; font-size: .88rem; line-height: 1.7; }
body.zomu-commerce-ui .zcu-auth-story ul { display: grid; gap: 22px; margin: 34px 0 0; padding: 0; list-style: none; }
body.zomu-commerce-ui .zcu-auth-story li { display: flex; align-items: start; gap: 15px; color: #d3dce2; font-size: .77rem; line-height: 1.6; }
body.zomu-commerce-ui .zcu-auth-story li > svg { color: var(--zcu-accent); }
body.zomu-commerce-ui .zcu-auth-story strong { display: block; margin-bottom: 2px; color: white; font-size: .88rem; }
body.zomu-commerce-ui .zcu-auth-jars { display: flex; align-items: end; gap: 20px; margin-top: 40px; opacity: .2; }
body.zomu-commerce-ui .zcu-auth-jars svg { width: 62px; height: 80px; }
body.zomu-commerce-ui .zcu-auth-jars svg:nth-child(2) { width: 86px; height: 112px; }
body.zomu-commerce-ui .zcu-auth-forms { min-width: 0; padding: clamp(24px, 4vw, 48px); }
body.zomu-commerce-ui .zcu-auth-forms > h2 { margin-top: 0; }
body.zomu-commerce-ui .zcu-auth-forms .u-columns.col2-set { grid-template-columns: 1fr; gap: 32px; }
body.zomu-commerce-ui .zcu-auth-forms .u-columns.col2-set > :where(.u-column1, .u-column2),
body.zomu-commerce-ui .zcu-auth-forms :where(.woocommerce-form-login, .woocommerce-form-register) { margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
body.zomu-commerce-ui .zcu-auth-forms .u-columns.col2-set > :where(.u-column1, .u-column2) > h2 { margin: 0 0 22px; font-size: 1.7rem; }
body.zomu-commerce-ui .zcu-auth-tabs { display: flex; gap: 24px; margin-bottom: 28px; border-bottom: 1px solid var(--zcu-line); }
body.zomu-commerce-ui .zcu-auth-tab { padding: 8px 0 14px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--zcu-muted); background: none; font-family: var(--zcu-serif); font-size: 1.6rem; cursor: pointer; }
body.zomu-commerce-ui .zcu-auth-tab[aria-selected="true"] { border-bottom-color: var(--zcu-forest); color: var(--zcu-plum); }
body.zomu-commerce-ui .zcu-auth-ready .u-columns > [hidden] { display: none !important; }
body.zomu-commerce-ui .zcu-auth-ready .u-columns > div > h2 { display: none; }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body.zomu-commerce-ui:not(.zomu-commerce-ui--motion-none) :where(.zcu-account-stat, .zcu-account-quicklinks > a) { transition: transform .25s var(--zcu-ease), box-shadow .25s ease; }
  body.zomu-commerce-ui:not(.zomu-commerce-ui--motion-none) :where(.zcu-account-stat, .zcu-account-quicklinks > a):hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgb(14 22 18 / 7%); }
}

@media (max-width: 960px) {
  body.zomu-commerce-ui .zcu-account-sidebar { gap: 12px; }
  body.zomu-commerce-ui .zcu-profile { padding-bottom: 14px; }
  body.zomu-commerce-ui .zcu-sidebar-collection { display: none; }
  body.zomu-commerce-ui .zcu-account-sidebar .woocommerce-MyAccount-navigation a > .zcu-icon:last-child { display: none; }
}

@media (max-width: 700px) {
  body.zomu-commerce-ui--account :where(.page-content, .entry-content) { width: calc(100% - 32px); }
  body.zomu-commerce-ui .zcu-auth { grid-template-columns: 1fr; }
  body.zomu-commerce-ui .zcu-auth-story { padding: 26px; }
  body.zomu-commerce-ui .zcu-auth-story h2 { max-width: 18ch; margin-block: 14px; font-size: 2rem; }
  body.zomu-commerce-ui .zcu-auth-story > p { max-width: none; margin-bottom: 0; }
  body.zomu-commerce-ui .zcu-auth-story :where(ul, .zcu-auth-jars) { display: none; }
  body.zomu-commerce-ui .zcu-account-stats { gap: 8px; }
  body.zomu-commerce-ui .zcu-account-stat { padding: 16px 12px; grid-template-columns: 1fr; gap: 8px; }
  body.zomu-commerce-ui .zcu-account-stat > .zcu-icon { grid-row: 1; grid-column: 1; width: 19px; }
  body.zomu-commerce-ui .zcu-account-stat strong { grid-row: 2; font-size: 1.65rem; }
  body.zomu-commerce-ui .zcu-account-stat strong.zcu-account-stat__word { font-size: .92rem; min-height: 1.65rem; display: flex; align-items: center; }
  body.zomu-commerce-ui .zcu-account-stat > span { font-size: .66rem; }
  body.zomu-commerce-ui .zcu-account-card { padding: 20px 16px; }
  body.zomu-commerce-ui .zcu-card-heading { align-items: start; }
  body.zomu-commerce-ui .zcu-card-heading h3 { font-size: 1.5rem; }
  body.zomu-commerce-ui .zcu-card-heading > a { font-size: .7rem; white-space: nowrap; }
  body.zomu-commerce-ui .zcu-account-quicklinks { grid-template-columns: 1fr; }
  body.zomu-commerce-ui .zcu-order-status { margin-left: 0; }
  body.zomu-commerce-ui .zcu-recent-order__meta { gap: 8px; }
}

/* Progressive reveal; content remains fully visible without JavaScript. */
body.zomu-commerce-ui--enhanced .zcu-reveal {
  opacity: 0;
  transform: translateY(var(--zcu-motion-distance));
  transition: opacity var(--zcu-motion-duration) var(--zcu-ease), transform var(--zcu-motion-duration) var(--zcu-ease);
}

body.zomu-commerce-ui--enhanced .zcu-reveal.is-visible {
  opacity: 1;
  transform: none;
}

body.zomu-commerce-ui--motion-none :where(.woocommerce, .site-main, .shop-main, .page-content, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .zcu-progress) *,
body.zomu-commerce-ui--motion-none :where(.woocommerce, .site-main, .shop-main, .page-content, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .zcu-progress) *::before,
body.zomu-commerce-ui--motion-none :where(.woocommerce, .site-main, .shop-main, .page-content, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .zcu-progress) *::after {
  scroll-behavior: auto !important;
  animation: none !important;
  transition: none !important;
}

body.zomu-commerce-ui--motion-none .woocommerce :where(a.button, button.button, input.button, #respond input#submit):hover,
body.zomu-commerce-ui--motion-none :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :where(.wc-block-components-button, .wp-element-button):hover,
body.zomu-commerce-ui--motion-none .woocommerce .woocommerce-MyAccount-navigation a:hover,
body.zomu-commerce-ui--motion-none .woocommerce table.cart .product-remove a.remove:hover,
body.zomu-commerce-ui--motion-none ul.products li.product :where(.button, .added_to_cart):hover,
body.zomu-commerce-ui--motion-none .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.zomu-commerce-ui--motion-none div.product div.images .flex-control-thumbs img:hover,
body.zomu-commerce-ui--motion-none div.product div.images .flex-control-thumbs img.flex-active,
body.zomu-commerce-ui--motion-none div.product :where(.single_add_to_cart_button, .button):hover,
body.zomu-commerce-ui--motion-none :where(.related, .upsells) ul.products li.product:hover img {
  transform: none !important;
}

@keyframes zcu-line-in {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@media (max-width: 960px) {
  body.logged-in.zomu-commerce-ui--account .woocommerce > .woocommerce-MyAccount-content {
    grid-column: 1;
  }

  body.logged-in.zomu-commerce-ui--account .woocommerce:has(> .woocommerce-MyAccount-navigation, > .zcu-account-sidebar) {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: 1fr;
  }

  body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation ul {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
  }

  body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-navigation a:hover {
    transform: translateY(-2px);
  }

  body.zomu-commerce-ui .woocommerce .cart-collaterals {
    grid-template-columns: 1fr;
  }

  body.zomu-commerce-ui .woocommerce .cart-collaterals :where(.cart_totals, .cross-sells) {
    grid-column: 1;
  }

  body.zomu-commerce-ui .wc-block-components-sidebar-layout {
    flex-direction: column;
  }

  body.zomu-commerce-ui .wc-block-components-sidebar-layout :where(.wc-block-components-main, .wc-block-components-sidebar) {
    width: 100%;
  }
}

@media (max-width: 782px) {
  body.zomu-commerce-ui .woocommerce .u-columns.col2-set,
  body.zomu-commerce-ui .woocommerce form.checkout #customer_details,
  body.zomu-commerce-ui .woocommerce .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }

  body.zomu-commerce-ui .woocommerce .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.zomu-commerce-ui .woocommerce table.shop_table_responsive thead {
    display: none;
  }

  body.zomu-commerce-ui .woocommerce table.shop_table_responsive tbody tr {
    display: block;
    padding: 12px 16px;
    border-top: 1px solid var(--zcu-line);
  }

  body.zomu-commerce-ui .woocommerce table.shop_table_responsive tbody tr:first-child {
    border-top: 0;
  }

  body.zomu-commerce-ui .woocommerce table.shop_table_responsive tr td {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    border-top: 1px dashed var(--zcu-line);
    text-align: right !important;
  }

  body.zomu-commerce-ui .woocommerce table.shop_table_responsive tr td:first-child {
    border-top: 0;
  }

  body.zomu-commerce-ui .woocommerce table.shop_table_responsive tr td::before {
    color: var(--zcu-plum);
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-align: left;
    text-transform: uppercase;
  }

  body.zomu-commerce-ui .woocommerce table.cart .product-thumbnail {
    display: none;
  }

  body.zomu-commerce-ui .woocommerce table.cart td.actions {
    display: block;
  }

  body.zomu-commerce-ui .woocommerce table.cart td.actions .coupon {
    display: grid;
    grid-template-columns: 1fr auto;
    margin-bottom: 12px;
  }

  body.zomu-commerce-ui .woocommerce table.cart td.actions .coupon .input-text {
    width: 100%;
  }

  body.zomu-commerce-ui .woocommerce table.cart td.actions > .button {
    width: 100%;
  }

  body.zomu-commerce-ui .woocommerce .cross-sells ul.products {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  body.zomu-commerce-ui {
    --zcu-gutter: 16px;
    --zcu-radius-lg: 22px;
  }

  body.zomu-commerce-ui .zcu-progress {
    margin-block: 20px 28px;
    padding: 14px 8px;
  }

  body.zomu-commerce-ui .zcu-progress__item:not(:last-child)::after {
    top: 16px;
    left: calc(50% + 20px);
    width: calc(100% - 40px);
  }

  body.zomu-commerce-ui .zcu-progress__number {
    width: 34px;
    height: 34px;
  }

  body.zomu-commerce-ui .zcu-progress__label {
    font-size: .66rem;
    letter-spacing: .035em;
  }

  body.zomu-commerce-ui :where(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner) {
    padding: 16px 16px 16px 44px;
  }

  body.zomu-commerce-ui :where(.woocommerce-message, .woocommerce-info) .button {
    float: none;
    width: 100%;
    margin: 12px 0 0;
  }

  body.zomu-commerce-ui .woocommerce .checkout_coupon {
    grid-template-columns: 1fr;
  }

  body.zomu-commerce-ui .woocommerce .checkout_coupon > p:first-child {
    grid-column: 1;
  }

  body.zomu-commerce-ui .woocommerce .checkout_coupon .button {
    width: 100%;
  }

  body.zomu-commerce-ui .woocommerce .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  body.zomu-commerce-ui .woocommerce .woocommerce-order-overview li {
    text-align: center;
  }

  body.zomu-commerce-ui .woocommerce table.cart td.actions .coupon {
    grid-template-columns: 1fr;
  }

  body.zomu-commerce-ui .woocommerce :where(.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword),
  body.zomu-commerce-ui .woocommerce .woocommerce-MyAccount-content,
  body.zomu-commerce-ui :where(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) {
    padding: 20px;
  }
}

@media (max-width: 782px) {
  body.zomu-commerce-ui--account .woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  body.zomu-commerce-ui--account .woocommerce table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions::before {
    flex: 0 0 100%;
  }
}

/* Native, explicit registration acknowledgements — intentionally never pre-checked. */
body.zomu-commerce-ui .woocommerce form.register .zcu-registration-documents {
  min-width: 0;
  margin: 24px 0;
  padding: 0;
  border: 0;
}
body.zomu-commerce-ui .woocommerce form.register .zcu-registration-documents legend {
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
  color: var(--zcu-plum);
  font: 600 1rem/1.5 var(--zcu-sans);
}
body.zomu-commerce-ui .woocommerce form.register .zcu-registration-documents__help,
body.zomu-commerce-ui .woocommerce form.register .zcu-registration-documents__note {
  margin: 0 0 12px;
  color: var(--zcu-muted);
  font-size: .8rem;
  line-height: 1.6;
}
body.zomu-commerce-ui .woocommerce form.register .zcu-registration-documents__note {
  margin: 12px 0 0;
  font-size: .74rem;
}
body.zomu-commerce-ui .woocommerce form.register .zcu-document-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 8px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--zcu-line);
  border-radius: 12px;
  background: var(--zcu-paper);
  transition: border-color .2s ease, background .2s ease;
}
body.zomu-commerce-ui .woocommerce form.register .zcu-document-row:focus-within {
  border-color: var(--zcu-forest);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--zcu-accent) 55%, transparent);
}
body.zomu-commerce-ui .woocommerce form.register .zcu-document-row:has(input:checked) {
  background: color-mix(in srgb, var(--zcu-accent) 20%, white);
  border-color: color-mix(in srgb, var(--zcu-forest) 38%, white);
}
body.zomu-commerce-ui .woocommerce form.register input.zcu-document-checkbox {
  appearance: auto;
  -webkit-appearance: checkbox;
  width: 20px;
  height: 20px;
  min-height: 0;
  margin: 0;
  padding: 0;
  accent-color: var(--zcu-forest);
  cursor: pointer;
}
body.zomu-commerce-ui .woocommerce form.register .zcu-document-row__text {
  display: grid;
  gap: 3px;
  min-width: 0;
}
body.zomu-commerce-ui .woocommerce form.register .zcu-document-row a {
  color: var(--zcu-ink);
  font-size: .83rem;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  text-underline-offset: 3px;
}
body.zomu-commerce-ui .woocommerce form.register .zcu-document-row a:hover {
  color: var(--zcu-forest);
  text-decoration: underline;
}
body.zomu-commerce-ui .woocommerce form.register .zcu-document-row label {
  width: fit-content;
  margin: 0;
  color: var(--zcu-muted);
  font-size: .76rem;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  body.zomu-commerce-ui {
    --zcu-motion-distance: 0px;
    --zcu-motion-duration: 0s;
    --zcu-product-zoom: 1;
  }

  body.zomu-commerce-ui :where(.woocommerce, .site-main, .shop-main, .page-content, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .zcu-progress) *,
  body.zomu-commerce-ui :where(.woocommerce, .site-main, .shop-main, .page-content, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .zcu-progress) *::before,
  body.zomu-commerce-ui :where(.woocommerce, .site-main, .shop-main, .page-content, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .zcu-progress) *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  body.zomu-commerce-ui--enhanced .zcu-reveal {
    opacity: 1;
    transform: none;
  }
}
