/*
  WooCommerce presentation for Adelier.
  Scoped to commerce pages and WooCommerce selectors; keeps WooCommerce as the engine.
*/

.site-main--commerce {
  background: var(--color-background);
}

.section--commerce {
  padding-top: var(--space-4xl);
}

.woocommerce-cart .section--commerce,
.woocommerce-checkout .section--commerce {
  padding-top: var(--space-xl);
}

/* Compact commerce transactional hero (Cart & Checkout) */
.hero.hero--commerce-page {
  min-height: auto;
  padding-top: calc(var(--header-height) + var(--space-2xl));
  padding-bottom: var(--space-xl);
  align-items: center;
}

.hero.hero--commerce-page .hero__content {
  animation: none;
  opacity: 1;
  transform: none;
}

.woocommerce-order-received .hero.hero--commerce-page h1 {
  font-size: clamp(2rem, 3.5vw, 3.25rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.container--commerce {
  width: min(100% - (var(--content-margin) * 2), 1360px);
}

.woocommerce .commerce-archive-header {
  display: grid;
  gap: var(--space-sm);
  max-width: 760px;
  margin-bottom: var(--space-3xl);
}

.woocommerce .commerce-archive-header h1 {
  font-size: var(--text-display-size);
  line-height: var(--text-display-lh);
}

.commerce-archive-header__description {
  max-width: 58ch;
  font-size: var(--text-body-lg-size);
  line-height: var(--text-body-lg-lh);
}

.woocommerce .woocommerce-products-header {
  display: none;
}


.woocommerce .price {
  color: var(--color-primary-text);
  font-size: var(--text-body-size);
  line-height: var(--text-body-lh);
}

.woocommerce .price del {
  margin-right: var(--space-xs);
  color: var(--color-primary-text);
  opacity: 0.52;
}

.woocommerce .price ins {
  color: var(--color-secondary-brand);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
}

.commerce-catalog-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm) var(--space-xl);
  border-top: 1px solid var(--color-border-divider);
  border-bottom: 1px solid var(--color-border-divider);
  margin-bottom: var(--space-xl);
  padding-block: var(--space-xs);
}

.commerce-catalog-controls .commerce-category-nav {
  margin: 0;
  border: none;
  flex: 1 1 auto;
  min-width: 0;
}

.commerce-category-nav {
  margin-bottom: var(--space-xl);
  border-top: 1px solid var(--color-border-divider);
  border-bottom: 1px solid var(--color-border-divider);
}

.commerce-category-nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-lg);
  padding-block: var(--space-sm);
  margin: 0;
  list-style: none;
}

.commerce-catalog-controls .commerce-category-nav ul {
  padding-block: 0;
}

.commerce-category-nav a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--color-primary-text);
  font-size: var(--text-nav-link-size);
  letter-spacing: var(--text-nav-link-ls);
  transition: color var(--duration-fast) var(--ease-standard);
  text-decoration: none;
}

.commerce-category-nav a:hover,
.commerce-category-nav a[aria-current="page"] {
  color: var(--color-secondary-brand);
}

.woocommerce .woocommerce-ordering {
  float: none;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 var(--space-lg);
}

.woocommerce .commerce-catalog-controls .woocommerce-ordering {
  margin: 0 0 0 auto;
  align-items: center;
  flex-shrink: 0;
}

.woocommerce .woocommerce-ordering select,
.woocommerce div.product form.cart .variations select,
.woocommerce .quantity .qty {
  min-height: 44px;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  color: var(--color-primary-text);
}

.woocommerce .woocommerce-ordering select {
  width: min(100%, 240px);
  padding-inline: var(--space-sm);
  font-size: var(--text-body-sm-size);
  cursor: pointer;
  background-color: transparent;
  transition: border-color var(--duration-fast) var(--ease-standard);
}

.woocommerce .woocommerce-ordering select:hover,
.woocommerce .woocommerce-ordering select:focus-visible {
  border-color: var(--color-secondary-brand);
  outline: none;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2xl) var(--space-xl);
  margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: grid;
  width: 100%;
  gap: var(--space-xs);
}

.woocommerce ul.products li.product img {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  margin: 0 0 var(--space-xs);
  border-radius: var(--radius-md);
  object-fit: cover;
  background: var(--color-border-divider);
  transition: transform var(--duration-fast) var(--ease-standard), filter var(--duration-fast) var(--ease-standard);
}

.woocommerce ul.products li.product a:hover img,
.woocommerce ul.products li.product a:focus-visible img {
  transform: scale(1.018);
  filter: brightness(0.96);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0;
  margin: 0;
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: 1.45;
  font-weight: var(--font-weight-medium);
}

.commerce-product-card__excerpt {
  margin: 0;
  color: var(--color-primary-text);
  font-size: var(--text-body-sm-size);
  line-height: var(--text-body-sm-lh);
  opacity: 0.72;
}

.woocommerce ul.products li.product .price {
  display: block;
  margin: var(--space-xxs) 0 0;
  font-size: var(--text-body-sm-size);
}

.commerce-product-card__state {
  display: inline-flex;
  width: fit-content;
  margin-top: var(--space-xxs);
  color: var(--color-primary-text);
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-lh);
  opacity: 0.66;
}

.commerce-product-card__state--stock,
.woocommerce div.product .stock.out-of-stock {
  color: var(--color-error);
  opacity: 1;
}

.woocommerce nav.woocommerce-pagination {
  margin-top: var(--space-4xl);
}

.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: grid;
  min-width: 40px;
  min-height: 40px;
  place-items: center;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  background: transparent;
  color: var(--color-primary-text);
  font-size: var(--text-body-sm-size);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--color-secondary-brand);
  background: transparent;
  color: var(--color-secondary-brand);
}

.woocommerce-no-products-found,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message {
  border-top: 1px solid var(--color-border-divider);
  background: transparent;
  color: var(--color-primary-text);
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
  color: var(--color-secondary-brand);
}

.woocommerce .woocommerce-error::before {
  color: var(--color-error);
}

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
  column-gap: clamp(var(--space-lg), 4vw, var(--space-3xl));
  row-gap: 0;
  align-items: start;
}

.woocommerce div.product div.images,
.woocommerce-page div.product div.images,
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary {
  float: none;
  width: auto;
  margin: 0;
}

/* Override WooCommerce's inline opacity:0 set by flexslider init.
   We don't use flexslider; our custom carousel makes the gallery visible. */
.woocommerce div.product div.images.woocommerce-product-gallery {
  opacity: 1 !important;
}

/* Single-image products: no carousel controls needed */
.woocommerce div.product div.images.is-single-slide .commerce-product-gallery__control,
.woocommerce div.product div.images.is-single-slide .commerce-product-gallery__indicators {
  display: none;
}

.woocommerce div.product div.images {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.woocommerce div.product div.images .commerce-product-gallery__main,
.woocommerce div.product div.images.is-single-slide .woocommerce-product-gallery__wrapper {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-border-divider);
  aspect-ratio: 1 / 1;
  width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n + 2) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  grid-area: 1 / 1;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  box-sizing: border-box;
  overflow: hidden;
}

.woocommerce div.product div.images.commerce-product-gallery .woocommerce-product-gallery__image {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--duration-slow) var(--ease-entrance), visibility var(--duration-slow) var(--ease-entrance);
}

.woocommerce div.product div.images.commerce-product-gallery .woocommerce-product-gallery__image.is-active,
.woocommerce div.product div.images.is-single-slide .woocommerce-product-gallery__image {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  text-decoration: none;
  cursor: default;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}

/* Thumbnail Gallery underneath main slider */
.commerce-product-gallery__thumbnails {
  display: flex;
  gap: var(--space-xs);
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding-bottom: 2px;
  scrollbar-width: none;
}

.commerce-product-gallery__thumbnails::-webkit-scrollbar {
  display: none;
}

.commerce-product-gallery__thumb {
  position: relative;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  padding: 0;
  border: 1px solid var(--color-border-divider);
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--color-border-divider);
  cursor: pointer;
  transition: border-color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), transform 120ms var(--ease-standard);
  box-sizing: border-box;
}

.commerce-product-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.commerce-product-gallery__thumb:hover {
  border-color: var(--color-primary-brand);
  transform: translateY(-1px);
}

.commerce-product-gallery__thumb.is-active {
  border-color: var(--color-secondary-brand);
  box-shadow: 0 0 0 1px var(--color-secondary-brand);
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: none;
}

.commerce-product-gallery__control {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--color-background) 46%, transparent);
  border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--color-primary-text) 20%, transparent);
  color: var(--color-background);
  transform: translateY(-50%);
  transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);
}

.commerce-product-gallery__control:hover,
.commerce-product-gallery__control:focus-visible {
  border-color: var(--color-background);
  background: color-mix(in srgb, var(--color-primary-text) 34%, transparent);
}

.commerce-product-gallery__control svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.commerce-product-gallery__control--prev {
  left: var(--space-md);
}

.commerce-product-gallery__control--next {
  right: var(--space-md);
}

.commerce-product-gallery__indicators {
  position: absolute;
  inset-inline: var(--space-md);
  bottom: var(--space-md);
  z-index: 3;
  display: grid;
  grid-auto-columns: minmax(32px, 1fr);
  grid-auto-flow: column;
  gap: var(--space-xs);
}

.commerce-product-gallery__indicator {
  min-height: 44px;
  border: 0;
  background: transparent;
  color: var(--color-background);
}

.commerce-product-gallery__indicator::before {
  content: "";
  display: block;
  height: 2px;
  background: currentColor;
  opacity: 0.38;
  transition: opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}

.commerce-product-gallery__indicator.is-active::before,
.commerce-product-gallery__indicator:focus-visible::before {
  opacity: 1;
  transform: scaleY(1.5);
}

.woocommerce div.product .summary {
  display: grid;
  gap: var(--space-sm);
  padding-top: var(--space-xs);
}

.woocommerce div.product .product_title {
  margin: 0;
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-lh);
}

.commerce-product-code {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-sm);
  align-items: baseline;
  color: var(--color-primary-text);
  font-size: var(--text-body-sm-size);
  line-height: var(--text-body-sm-lh);
}

.commerce-product-code span,
.commerce-product-attributes dt,
.woocommerce div.product form.cart .variations label {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-lh);
  letter-spacing: var(--text-caption-ls);
  font-weight: var(--text-caption-weight);
  text-transform: uppercase;
  color: var(--color-primary-text);
  opacity: 0.66;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  margin: 0;
  font-size: var(--text-body-lg-size);
  line-height: var(--text-body-lg-lh);
}

.woocommerce-product-details__short-description {
  max-width: 46ch;
  font-size: var(--text-body-size);
  line-height: var(--text-body-lh);
}

.woocommerce-product-details__short-description + form.cart,
.woocommerce-product-details__short-description + p.price {
  margin-top: var(--space-sm);
}

/* Hide notices wrapper / added to cart message on single product */
.single-product .woocommerce-notices-wrapper,
.woocommerce div.product .woocommerce-notices-wrapper,
.woocommerce-message:has(a.wc-forward[href*="cart"]) {
  display: none !important;
}

.woocommerce div.product form.cart {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: var(--space-sm);
  margin: 0;
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border-divider);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.woocommerce div.product form.cart.variations_form {
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-md);
}

.woocommerce div.product form.cart table.variations {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 var(--space-sm);
  margin: 0;
  border: none;
}

.woocommerce div.product form.cart table.variations tr {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  border: none;
  background: transparent;
}

.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart table.variations th {
  padding: 0;
  border: none;
  background: transparent;
  text-align: inherit;
}

.woocommerce div.product form.cart table.variations th.label {
  display: block;
}

.woocommerce div.product form.cart table.variations td.value {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
  width: 100%;
}

/* Visually hide native select dropdown ONLY when replaced by color image swatches */
.woocommerce div.product form.cart table.variations td.value:has(.variation-color-swatches) select,
.woocommerce div.product form.cart table.variations select.is-hidden {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
  margin: -1px !important;
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
}

/* Variation Dropdown (All attributes except color) */
.woocommerce div.product form.cart table.variations select,
.woocommerce div.product form.cart table.variations select.variation-dropdown-select,
.woocommerce div.product form.cart table.variations tr.variation-row--dropdown select,
.woocommerce div.product form.cart table.variations td.variation-field--dropdown select {
  position: static !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 320px !important;
  min-height: 48px !important;
  pointer-events: auto !important;
  margin: 0 !important;
  clip: auto !important;
  overflow: visible !important;
  display: block !important;
  padding: 0 var(--space-xl) 0 var(--space-md) !important;
  border: 1px solid var(--color-border-default) !important;
  border-radius: var(--radius-sm) !important;
  background-color: var(--color-background) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23808184' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 16px 16px !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-body-sm-size) !important;
  color: var(--color-primary-text) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: border-color var(--duration-fast) var(--ease-standard) !important;
}

.woocommerce div.product form.cart table.variations select:hover,
.woocommerce div.product form.cart table.variations select:focus,
.woocommerce div.product form.cart table.variations select.variation-dropdown-select:hover,
.woocommerce div.product form.cart table.variations select.variation-dropdown-select:focus,
.woocommerce div.product form.cart table.variations td.variation-field--dropdown select:hover,
.woocommerce div.product form.cart table.variations td.variation-field--dropdown select:focus {
  border-color: var(--color-secondary-brand) !important;
  outline: none !important;
}

/* Color Image Swatches */
.woocommerce div.product form.cart .variation-color-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  align-items: center;
  width: 100%;
}

.woocommerce div.product form.cart .variation-color-swatch {
  position: relative;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 2px;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  cursor: pointer;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform 120ms var(--ease-standard);
}

.woocommerce div.product form.cart .variation-color-swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: calc(var(--radius-sm) - 1px);
  display: block;
}

.woocommerce div.product form.cart .variation-color-swatch:hover:not(:disabled):not(.is-disabled) {
  border-color: var(--color-secondary-brand);
  transform: translateY(-1px);
}

.woocommerce div.product form.cart .variation-color-swatch.is-selected {
  border: 2px solid var(--color-secondary-brand);
  box-shadow: 0 0 0 1px var(--color-secondary-brand);
}

.woocommerce div.product form.cart .variation-color-swatch:disabled,
.woocommerce div.product form.cart .variation-color-swatch.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  filter: grayscale(1);
  pointer-events: none;
}

/* Variation Buttons / Pill Swatches (Disabled in favor of dropdowns) */
.woocommerce div.product form.cart .variation-buttons {
  display: none !important;
}

.woocommerce div.product form.cart .variation-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 var(--space-md);
  border: 1px solid var(--color-border-default);
  border-radius: 999px;
  background: var(--color-background);
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-button-size);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0.5px;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-sizing: border-box;
  transition:
    background-color var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard),
    color var(--duration-fast) var(--ease-standard),
    transform 120ms var(--ease-standard);
}

.woocommerce div.product form.cart .variation-button:hover:not(:disabled):not(.is-disabled) {
  border-color: var(--color-secondary-brand);
  color: var(--color-secondary-brand);
  background: color-mix(in srgb, var(--color-secondary-brand) 6%, transparent);
}

.woocommerce div.product form.cart .variation-button.is-selected {
  border-color: var(--color-secondary-brand);
  background: var(--color-secondary-brand);
  color: var(--color-background);
  font-weight: var(--font-weight-medium);
}

.woocommerce div.product form.cart .variation-button:active:not(:disabled):not(.is-disabled) {
  transform: scale(0.96);
}

.woocommerce div.product form.cart .variation-button:disabled,
.woocommerce div.product form.cart .variation-button.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  border-style: dashed;
  text-decoration: line-through;
  pointer-events: none;
}

.woocommerce div.product form.cart table.variations a.reset_variations {
  display: inline-block;
  margin-top: var(--space-xxs);
  font-size: var(--text-caption-size);
  color: var(--color-primary-text);
  opacity: 0.7;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

.woocommerce div.product form.cart table.variations a.reset_variations:hover {
  opacity: 1;
  color: var(--color-secondary-brand);
}

.woocommerce div.product form.cart .single_variation_wrap {
  width: 100%;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: var(--space-sm) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Single Product Quantity Stepper (- 1 +) */
.woocommerce div.product form.cart div.quantity {
  float: none !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 4px !important;
  border: 1px solid var(--color-border-default) !important;
  border-radius: 999px !important;
  background: var(--color-background) !important;
  box-sizing: border-box !important;
  transition: border-color var(--duration-fast) var(--ease-standard);
}

.woocommerce div.product form.cart div.quantity:has(input[type="hidden"]) {
  display: none !important;
}

.woocommerce div.product form.cart div.quantity:focus-within {
  border-color: var(--color-secondary-brand) !important;
  outline: 2px solid color-mix(in srgb, var(--color-secondary-brand) 25%, transparent) !important;
  outline-offset: 1px !important;
}

.woocommerce div.product form.cart div.quantity .quantity__button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--color-primary-text) !important;
  font-family: var(--font-body) !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: var(--font-weight-regular) !important;
  cursor: pointer !important;
  user-select: none !important;
  box-sizing: border-box !important;
  transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard) !important;
}

.woocommerce div.product form.cart div.quantity .quantity__button:hover {
  background: color-mix(in srgb, var(--color-secondary-brand) 12%, transparent) !important;
  color: var(--color-secondary-brand) !important;
}

.woocommerce div.product form.cart div.quantity .quantity__button:active {
  transform: scale(0.92) !important;
}

.woocommerce div.product form.cart div.quantity input.qty {
  width: 36px !important;
  min-width: 30px !important;
  height: 100% !important;
  min-height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--color-primary-text) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-body-size) !important;
  font-weight: var(--font-weight-medium) !important;
  text-align: center !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
}

.woocommerce div.product form.cart div.quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart div.quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.woocommerce div.product form.cart div.quantity input.qty:focus,
.woocommerce div.product form.cart div.quantity input.qty:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Single Product Add to Cart Button: Always fills remaining inner container width & inline */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button[type="submit"].single_add_to_cart_button,
.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  padding: 0 var(--space-xl) !important;
  border-radius: 999px !important;
  border: none !important;
  background: var(--color-secondary-brand) !important;
  color: var(--color-background) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-button-size) !important;
  font-weight: var(--text-button-weight) !important;
  letter-spacing: var(--text-button-ls) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: background-color var(--duration-fast) var(--ease-standard), transform 120ms var(--ease-standard) !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt:hover {
  background: var(--color-secondary-brand-hover) !important;
  color: var(--color-background) !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:active,
.woocommerce div.product form.cart button.single_add_to_cart_button.button.alt:active {
  transform: scale(0.99) !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled[disabled] {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

.woocommerce .quantity .qty {
  width: 88px;
  padding-inline: var(--space-xs);
}

.woocommerce button.button,
.woocommerce a.button:not(.site-header__cta),
.woocommerce input.button,
.woocommerce #respond input#submit {
  min-height: 48px;
  padding: 0 var(--space-md);
  border: none;
  border-radius: var(--button-radius);
  background: transparent;
  color: var(--color-secondary-brand);
  font-family: var(--font-body);
  font-size: var(--text-button-size);
  line-height: var(--text-button-lh);
  letter-spacing: var(--text-button-ls);
  font-weight: var(--text-button-weight);
  transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform 120ms var(--ease-standard);
}

.woocommerce button.button:hover,
.woocommerce a.button:not(.site-header__cta):hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt:hover {
  background: color-mix(in srgb, currentColor 10%, transparent);
  color: var(--color-secondary-brand-hover);
}

.woocommerce button.button.alt {
  background: transparent;
  color: var(--color-secondary-brand);
}

.woocommerce button.button:active,
.woocommerce a.button:not(.site-header__cta):active,
.woocommerce input.button:active {
  transform: scale(0.98);
}

.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
  opacity: 0.42;
  color: var(--color-primary-text-disabled);
}

.woocommerce div.product form.cart .variations {
  width: 100%;
  margin: 0;
}

.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
  display: block;
}

.woocommerce div.product form.cart .variations tr {
  display: grid;
  gap: var(--space-xs);
  margin-bottom: var(--space-sm);
}

.woocommerce div.product form.cart .variations select {
  width: min(100%, 320px);
  padding-inline: var(--space-sm);
}

.woocommerce div.product form.cart .reset_variations {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  margin-left: var(--space-sm);
  color: var(--color-secondary-brand);
  font-size: var(--text-body-sm-size);
}

.woocommerce-variation {
  width: 100%;
}

.woocommerce div.product .woocommerce-variation-price .price {
  display: block;
  margin-bottom: var(--space-sm);
}

.woocommerce div.product .stock {
  margin: 0;
  color: var(--color-success);
  font-size: var(--text-body-sm-size);
}

.commerce-product-attributes {
  display: grid;
  gap: var(--space-sm);
  max-width: 680px;
}

.commerce-product-attributes h2 {
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: var(--font-weight-medium);
}

.commerce-product-attributes dl {
  display: grid;
  gap: 0;
}

.commerce-product-attributes div {
  display: grid;
  grid-template-columns: minmax(130px, 0.35fr) minmax(0, 1fr);
  gap: var(--space-md);
  padding-block: var(--space-sm);
  border-bottom: 1px solid var(--color-border-divider);
}

.commerce-product-attributes dt {
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-lh);
  letter-spacing: var(--text-caption-ls);
  font-weight: var(--text-caption-weight);
  text-transform: uppercase;
  color: var(--color-primary-text);
  opacity: 0.72;
}

.commerce-product-attributes dd {
  margin: 0;
  color: var(--color-primary-text);
  font-size: var(--text-body-size);
  line-height: var(--text-body-lh);
}

.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: clamp(var(--space-2xl), 4vw, var(--space-3xl));
  padding-top: clamp(var(--space-xl), 3vw, var(--space-2xl));
  border-top: 1px solid var(--color-border-divider);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: var(--space-xl);
  margin: 0 0 var(--space-xl);
  padding: 0;
  border-bottom: 1px solid var(--color-border-divider);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a:hover {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent !important;
  background-color: transparent !important;
}

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

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: var(--space-xs) 0;
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.25px;
  transition: color var(--duration-fast) var(--ease-standard);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--color-secondary-brand-hover);
  background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--color-secondary-brand);
  background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -1px;
  height: 2px;
  background: var(--color-secondary-brand);
  border-radius: var(--radius-full);
}

.woocommerce div.product .woocommerce-tabs .panel {
  max-width: 860px;
  margin: 0;
  padding-block: var(--space-xs) var(--space-md);
}

.woocommerce div.product .related {
  grid-column: 1 / -1;
  margin-top: clamp(var(--space-3xl), 5vw, var(--space-4xl));
  padding-top: clamp(var(--space-xl), 3vw, var(--space-2xl));
  border-top: 1px solid var(--color-border-divider);
}

.woocommerce div.product .related > h2 {
  margin-bottom: var(--space-xl);
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-lh);
}

.commerce-product-tab-content p,
.woocommerce div.product .woocommerce-tabs .panel p {
  max-width: var(--reading-width-longform);
  font-size: var(--text-body-size);
  line-height: var(--text-body-lh);
}

.woocommerce div.product .related ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2xl) var(--space-md);
  margin: 0;
}

/* Gracefully handle 1 product: proportional card, not stretched */
.woocommerce div.product .related ul.products:has(> li.product:only-child) {
  grid-template-columns: minmax(0, 320px);
}

/* Gracefully handle 2 products */
.woocommerce div.product .related ul.products:has(> li.product:first-child:nth-last-child(2)) {
  grid-template-columns: repeat(2, minmax(0, 360px));
}

.woocommerce div.product .related ul.products li.product {
  max-width: 400px;
}

@media (max-width: 1279px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .woocommerce div.product {
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
  }
}

@media (max-width: 1023px) {
  .section--commerce {
    padding-top: var(--space-3xl);
  }

  .woocommerce div.product {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products,
  .woocommerce div.product .related ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce div.product .related ul.products:has(> li.product:only-child) {
    grid-template-columns: minmax(0, 320px);
  }
}

@media (max-width: 767px) {
  .section--commerce {
    padding-top: var(--space-2xl);
  }

  .container--commerce {
    width: 100%;
  }

  .woocommerce .commerce-archive-header {
    margin-bottom: var(--space-2xl);
  }

  .woocommerce .commerce-archive-header h1 {
    font-size: var(--text-h1-size);
  }

  .commerce-catalog-controls {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
    padding-block: var(--space-sm);
  }

  .commerce-catalog-controls .commerce-category-nav ul,
  .commerce-category-nav ul {
    gap: var(--space-xs) var(--space-md);
  }

  .woocommerce .commerce-catalog-controls .woocommerce-ordering,
  .woocommerce .woocommerce-ordering {
    width: 100%;
    margin: 0;
    justify-content: flex-start;
  }

  .woocommerce .commerce-catalog-controls .woocommerce-ordering select,
  .woocommerce .woocommerce-ordering select {
    width: 100%;
    max-width: 100%;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-xl) var(--space-sm);
  }

  .woocommerce ul.products[class*="columns-"] li.product,
  .woocommerce-page ul.products[class*="columns-"] li.product,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
  }

  .woocommerce div.product .related ul.products,
  .woocommerce div.product .related ul.products:has(> li.product:only-child),
  .woocommerce div.product .related ul.products:has(> li.product:first-child:nth-last-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-xl) var(--space-sm);
  }

  .woocommerce div.product .related ul.products li.product {
    max-width: 100%;
  }

  .woocommerce ul.products li.product img {
    aspect-ratio: 1 / 1;
  }

  .commerce-product-gallery__control {
    width: 44px;
    height: 44px;
  }

  .commerce-product-gallery__control--prev {
    left: var(--space-sm);
  }

  .commerce-product-gallery__control--next {
    right: var(--space-sm);
  }

  .commerce-product-gallery__indicators {
    inset-inline: var(--space-sm);
    bottom: var(--space-sm);
    gap: var(--space-xxs);
  }

  .woocommerce div.product .product_title {
    font-size: var(--text-h2-size);
  }

  .woocommerce div.product form.cart {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .woocommerce div.product form.cart .variations,
  .woocommerce div.product form.cart .single_variation_wrap {
    grid-column: 1 / -1;
  }

  .woocommerce div.product form.cart .button {
    width: 100%;
  }

  .commerce-product-attributes div {
    grid-template-columns: 1fr;
    gap: var(--space-xxs);
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap;
    gap: var(--space-md);
    padding-bottom: 2px;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    white-space: nowrap;
    min-height: 44px;
  }
}

/* ==========================================================================
   Adelier WooCommerce — Cart & Checkout Frontend
   ========================================================================== */

/* --------------------------------------------------------------------------
   Notices & Feedback
   -------------------------------------------------------------------------- */
.woocommerce-NoticeGroup,
.woocommerce-notices-wrapper {
  grid-column: 1 / -1;
  width: 100%;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  list-style: none;
  margin: 0 0 var(--space-xl);
  padding: var(--space-md) var(--space-lg);
  border: 1px solid var(--color-border-divider);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  font-family: var(--font-body);
  font-size: var(--text-body-sm-size);
  line-height: var(--text-body-sm-lh);
  color: var(--color-primary-text);
  position: relative;
}

/* Remove default WooCommerce icon font glyphs that fail to load */
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
  display: none !important;
  content: none !important;
}

.woocommerce-error {
  border-left: 3px solid var(--color-error);
}

.woocommerce-message {
  border-left: 3px solid var(--color-success);
}

.woocommerce-info {
  border-left: 3px solid var(--color-secondary-brand);
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-error li + li,
.woocommerce-message li + li,
.woocommerce-info li + li {
  margin-top: var(--space-xxs);
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
  color: var(--color-secondary-brand);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: var(--font-weight-medium);
}

.woocommerce-message .button,
.woocommerce-info .button {
  float: right;
  min-height: 36px;
  padding: 0 var(--space-sm);
  border: 1px solid var(--color-border-default);
  border-radius: 999px;
  background: transparent;
  color: var(--color-primary-text);
  font-size: var(--text-caption-size);
  text-decoration: none;
}

/* --------------------------------------------------------------------------
   Cart Page Layout (Desktop ≥ 1024px)
   -------------------------------------------------------------------------- */
.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.75fr);
  column-gap: clamp(var(--space-xl), 3.5vw, var(--space-3xl));
  row-gap: 0;
  align-items: start;
  width: 100%;
}

.woocommerce-cart .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
  width: 100%;
  margin-bottom: var(--space-lg);
}

.woocommerce-cart .woocommerce-cart-form {
  grid-column: 1;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin: 0;
}

.woocommerce-cart .cart-collaterals {
  grid-column: 2;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin: 0;
  position: sticky;
  top: calc(var(--header-height) + var(--space-lg));
}

/* --------------------------------------------------------------------------
   Cart Product Items (Editorial Presentation)
   -------------------------------------------------------------------------- */
.woocommerce-cart table.shop_table.cart {
  display: block;
  width: 100%;
  border-collapse: collapse;
  border: none;
  margin: 0;
  background: transparent;
}

.woocommerce-cart table.shop_table.cart thead {
  display: none; /* Suppress spreadsheet header */
}

.woocommerce-cart table.shop_table.cart tbody {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: var(--space-lg);
}

.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
  display: grid;
  grid-template-columns: 130px minmax(0, 1.5fr) 100px 110px 120px 36px;
  grid-template-areas: "thumb info unitprice qty subtotal remove";
  align-items: center;
  column-gap: var(--space-lg);
  padding: var(--space-lg) 0;
  border-bottom: 1px solid var(--color-border-divider);
  width: 100%;
  box-sizing: border-box;
}

.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
  padding: 0;
  border: none;
  background: transparent;
}

/* 1. Thumbnail */
.woocommerce-cart table.shop_table.cart td.product-thumbnail {
  grid-area: thumb;
  width: 130px;
}

.woocommerce-cart table.shop_table.cart td.product-thumbnail a {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-md);
  background: var(--color-border-divider);
}

.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
  display: block;
  width: 130px;
  height: 162px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  margin: 0;
  transition: transform var(--duration-fast) var(--ease-standard);
}

.woocommerce-cart table.shop_table.cart td.product-thumbnail a:hover img {
  transform: scale(1.03);
}

/* 2. Product Information */
.woocommerce-cart table.shop_table.cart td.product-name {
  grid-area: info;
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  min-width: 0;
}

.woocommerce-cart table.shop_table.cart td.product-name a {
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-weight: var(--font-weight-medium);
  font-size: var(--text-body-lg-size);
  line-height: var(--text-body-lg-lh);
  text-decoration: none;
  transition: color var(--duration-fast);
}

.woocommerce-cart table.shop_table.cart td.product-name a:hover {
  color: var(--color-secondary-brand);
}

.woocommerce-cart table.shop_table.cart td.product-name .variation {
  font-size: var(--text-caption-size);
  color: var(--color-primary-text);
  opacity: 0.65;
  margin-top: var(--space-xxs);
}

.woocommerce-cart table.shop_table.cart td.product-name .variation dt,
.woocommerce-cart table.shop_table.cart td.product-name .variation dd {
  display: inline;
  margin: 0;
}

.woocommerce-cart table.shop_table.cart td.product-name .variation dd + dt::before {
  content: " · ";
}

/* 3. Unit Price */
.woocommerce-cart table.shop_table.cart td.product-price {
  grid-area: unitprice;
  text-align: right;
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-variant-numeric: tabular-nums;
  color: var(--color-primary-text);
  opacity: 0.72;
  white-space: nowrap;
}

/* 4. Quantity Input */
.woocommerce-cart table.shop_table.cart td.product-quantity {
  grid-area: qty;
  text-align: center;
}

.woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
  display: inline-flex;
}

.woocommerce-cart table.shop_table.cart td.product-quantity .quantity .qty {
  width: 76px;
  min-height: 44px;
  text-align: center;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-body-sm-size);
  padding: 0 var(--space-xs);
  transition: border-color var(--duration-fast);
}

.woocommerce-cart table.shop_table.cart td.product-quantity .quantity .qty:focus-visible {
  outline: 2px solid var(--color-secondary-brand);
  outline-offset: 1px;
  border-color: var(--color-secondary-brand);
}

/* 5. Subtotal Amount */
.woocommerce-cart table.shop_table.cart td.product-subtotal {
  grid-area: subtotal;
  text-align: right;
  font-family: var(--font-body);
  font-size: var(--text-body-lg-size);
  font-weight: var(--font-weight-medium);
  font-variant-numeric: tabular-nums;
  color: var(--color-primary-text);
  white-space: nowrap;
}

/* 6. Remove Action */
.woocommerce-cart table.shop_table.cart td.product-remove {
  grid-area: remove;
  text-align: right;
  width: 36px;
}

.woocommerce-cart table.shop_table.cart a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--color-primary-text);
  opacity: 0.45;
  font-size: 1.25rem;
  line-height: 1;
  text-decoration: none;
  transition: color var(--duration-fast), opacity var(--duration-fast), background-color var(--duration-fast);
}

.woocommerce-cart table.shop_table.cart a.remove:hover {
  color: var(--color-error);
  opacity: 1;
  background: color-mix(in srgb, var(--color-error) 10%, transparent);
}

/* --------------------------------------------------------------------------
   Cart Actions Row: Coupon & Update Cart
   -------------------------------------------------------------------------- */
.woocommerce-cart table.shop_table.cart tbody tr:last-child {
  display: block;
  width: 100%;
  border-bottom: none;
  padding-top: var(--space-md);
}

.woocommerce-cart table.shop_table.cart td.actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: var(--space-lg) 0 0 !important;
  border-top: 1px solid var(--color-border-divider) !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.woocommerce-cart table.shop_table.cart .coupon {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}

.woocommerce-cart table.shop_table.cart .coupon label {
  display: none;
}

.woocommerce-cart table.shop_table.cart .coupon input.input-text {
  min-height: 44px;
  width: 200px;
  max-width: 100%;
  padding-inline: var(--space-sm);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-body-sm-size);
  box-sizing: border-box;
}

.woocommerce-cart table.shop_table.cart .coupon input.input-text:focus-visible {
  outline: 2px solid var(--color-secondary-brand);
  outline-offset: 1px;
  border-color: var(--color-secondary-brand);
}

.woocommerce-cart table.shop_table.cart .coupon button.button,
.woocommerce-cart table.shop_table.cart button[name="update_cart"] {
  min-height: 44px;
  padding-inline: var(--space-md);
  border: 1px solid var(--color-border-default);
  border-radius: 999px;
  background: transparent;
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-button-size);
  font-weight: var(--text-button-weight);
  letter-spacing: var(--text-button-ls);
  cursor: pointer;
  transition: all var(--duration-fast) var(--ease-standard);
}

.woocommerce-cart table.shop_table.cart .coupon button.button:hover,
.woocommerce-cart table.shop_table.cart button[name="update_cart"]:hover:not([disabled]) {
  border-color: var(--color-secondary-brand);
  color: var(--color-secondary-brand);
  background: color-mix(in srgb, var(--color-secondary-brand) 6%, transparent);
}

.woocommerce-cart table.shop_table.cart button[name="update_cart"]:disabled,
.woocommerce-cart table.shop_table.cart button[name="update_cart"][aria-disabled="true"] {
  opacity: 0.38;
  cursor: not-allowed;
}

/* --------------------------------------------------------------------------
   Cart Totals & Summary Panel
   -------------------------------------------------------------------------- */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart_totals {
  float: none !important;
  width: 100% !important;
  border: 1px solid var(--color-border-divider);
  border-radius: var(--radius-md);
  padding: clamp(var(--space-md), 2.5vw, var(--space-xl));
  background: color-mix(in srgb, var(--color-background) 80%, white);
  box-sizing: border-box;
}

.woocommerce-cart .cart_totals h2 {
  margin: 0 0 var(--space-md);
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid var(--color-border-divider);
  font-family: var(--font-body);
  font-size: var(--text-h3-size);
  font-weight: var(--font-weight-medium);
  line-height: var(--text-h3-lh);
  color: var(--color-primary-text);
}

.woocommerce-cart .cart_totals table.shop_table {
  display: table !important;
  width: 100%;
  border-collapse: collapse;
  border: none;
  margin: 0 0 var(--space-lg);
}

.woocommerce-cart .cart_totals table.shop_table tr {
  border-bottom: 1px solid var(--color-border-divider);
}

.woocommerce-cart .cart_totals table.shop_table th {
  padding: var(--space-sm) 0;
  text-align: left;
  font-size: var(--text-body-sm-size);
  font-weight: var(--font-weight-regular);
  color: var(--color-primary-text);
  opacity: 0.8;
  width: 40%;
}

.woocommerce-cart .cart_totals table.shop_table td {
  padding: var(--space-sm) 0;
  text-align: right;
  font-size: var(--text-body-size);
  color: var(--color-primary-text);
  font-variant-numeric: tabular-nums;
}

.woocommerce-cart .cart_totals ul#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: right;
}

.woocommerce-cart .cart_totals ul#shipping_method li {
  margin: 0 0 var(--space-xxs);
}

.woocommerce-cart .cart_totals p.woocommerce-shipping-destination {
  margin: var(--space-xs) 0 0;
  font-size: var(--text-caption-size);
  line-height: var(--text-caption-lh);
  color: var(--color-primary-text);
  opacity: 0.72;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
  display: inline-block;
  margin-top: var(--space-xs);
  font-size: var(--text-caption-size);
  color: var(--color-secondary-brand);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: var(--font-weight-medium);
}

.woocommerce-cart .cart_totals .shipping-calculator-button::after {
  display: none !important;
  content: none !important;
}

.woocommerce-cart .cart_totals .shipping-calculator-form {
  margin-top: var(--space-md);
  text-align: left;
}

.woocommerce-cart .cart_totals .shipping-calculator-form .form-row {
  margin: 0 0 var(--space-sm);
  padding: 0;
}

.woocommerce-cart .cart_totals .shipping-calculator-form input.input-text,
.woocommerce-cart .cart_totals .shipping-calculator-form select {
  width: 100%;
  min-height: 44px;
  padding-inline: var(--space-sm);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  font-family: var(--font-body);
  font-size: var(--text-body-sm-size);
  color: var(--color-primary-text);
  box-sizing: border-box;
}

.woocommerce-cart .cart_totals .shipping-calculator-form button.button {
  min-height: 40px;
  padding: 0 var(--space-md);
  border: 1px solid var(--color-border-default);
  border-radius: 999px;
  background: transparent;
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  cursor: pointer;
  transition: all var(--duration-fast) var(--ease-standard);
}

.woocommerce-cart .cart_totals .shipping-calculator-form button.button:hover {
  border-color: var(--color-secondary-brand);
  color: var(--color-secondary-brand);
  background: color-mix(in srgb, var(--color-secondary-brand) 6%, transparent);
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total {
  border-top: 1px solid var(--color-border-default);
  border-bottom: none;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th {
  padding-top: var(--space-md);
  font-size: var(--text-body-size);
  font-weight: var(--font-weight-medium);
  opacity: 1;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
  padding-top: var(--space-md);
  font-size: var(--text-h4-size);
  font-weight: var(--font-weight-medium);
}

/* Proceed to Checkout Primary CTA */
.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0;
  margin: 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button.button.alt {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px !important;
  padding: 0 var(--space-xl) !important;
  border-radius: 999px !important;
  border: none !important;
  background: var(--color-secondary-brand) !important;
  color: var(--color-background) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-button-size) !important;
  font-weight: var(--text-button-weight) !important;
  letter-spacing: var(--text-button-ls) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: background-color var(--duration-fast) var(--ease-standard), transform 120ms !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart a.checkout-button.button.alt:hover {
  background: var(--color-secondary-brand-hover) !important;
  color: var(--color-background) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active,
.woocommerce-cart a.checkout-button.button.alt:active {
  transform: scale(0.99) !important;
}

/* --------------------------------------------------------------------------
   Empty Cart State
   -------------------------------------------------------------------------- */
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart .cart-empty.woocommerce-info {
  grid-column: 1 / -1;
  max-width: 580px;
  margin: var(--space-2xl) auto 0;
  text-align: center;
  box-sizing: border-box;
}

.woocommerce-cart .cart-empty.woocommerce-info {
  border: 1px solid var(--color-border-divider);
  border-radius: var(--radius-md);
  padding: var(--space-2xl) var(--space-xl);
  background: color-mix(in srgb, var(--color-background) 80%, white);
  font-size: var(--text-body-lg-size);
  line-height: var(--text-body-lg-lh);
  color: var(--color-primary-text);
  border-left: 1px solid var(--color-border-divider);
}

.woocommerce-cart .return-to-shop {
  grid-column: 1 / -1;
  text-align: center;
  margin-top: var(--space-md);
  margin-bottom: var(--space-3xl);
}

.woocommerce-cart .return-to-shop a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding-inline: var(--space-2xl);
  border-radius: 999px;
  background: var(--color-secondary-brand);
  color: var(--color-background);
  font-family: var(--font-body);
  font-size: var(--text-button-size);
  font-weight: var(--text-button-weight);
  letter-spacing: var(--text-button-ls);
  text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-standard);
}

.woocommerce-cart .return-to-shop a.button:hover {
  background: var(--color-secondary-brand-hover);
  color: var(--color-background);
}

/* ==========================================================================
   CHECKOUT PAGE
   ========================================================================== */

/* --------------------------------------------------------------------------
   Checkout Desktop Layout (Desktop ≥ 1024px)
   -------------------------------------------------------------------------- */
.woocommerce-checkout form.woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(380px, 1fr);
  column-gap: clamp(var(--space-xl), 3.5vw, var(--space-3xl));
  row-gap: 0;
  align-items: start;
  width: 100%;
}

.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
  grid-column: 1 / -1;
  width: 100%;
  margin-bottom: var(--space-lg);
}

/* Quiet, minimal, editorial coupon notice */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  margin: 0 0 var(--space-xl) !important;
  padding: 0 0 var(--space-sm) 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: var(--font-body);
  font-size: var(--text-body-sm-size);
  line-height: var(--text-body-sm-lh);
  color: color-mix(in srgb, var(--color-primary-text) 70%, transparent);
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
  color: var(--color-primary-text);
  font-weight: var(--font-weight-medium);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--duration-fast) var(--ease-standard);
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover {
  color: var(--color-secondary-brand);
}

/* Quiet coupon toggle expanded form */
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .woocommerce-form-coupon {
  grid-column: 1 / -1;
  border: none !important;
  border-radius: 0 !important;
  padding: var(--space-sm) 0 var(--space-xl) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: var(--space-xs) !important;
  background: transparent !important;
  width: 100% !important;
  max-width: 420px !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout form.checkout_coupon p,
.woocommerce-checkout .woocommerce-form-coupon p {
  margin: 0 !important;
  width: auto !important;
}

.woocommerce-checkout form.checkout_coupon p.form-row,
.woocommerce-checkout .woocommerce-form-coupon p.form-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-xs) !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
}

.woocommerce-checkout form.checkout_coupon p.form-row-first,
.woocommerce-checkout .woocommerce-form-coupon p.form-row-first {
  flex: 1 1 auto !important;
  width: auto !important;
}

.woocommerce-checkout form.checkout_coupon p.form-row-last,
.woocommerce-checkout .woocommerce-form-coupon p.form-row-last {
  flex: 0 0 auto !important;
  width: auto !important;
}

.woocommerce-checkout form.checkout_coupon .clear,
.woocommerce-checkout .woocommerce-form-coupon .clear {
  display: none !important;
}

.woocommerce-checkout .woocommerce-form-coupon input.input-text {
  min-height: 44px;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--space-sm);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-body-sm-size);
  box-sizing: border-box;
}

.woocommerce-checkout .woocommerce-form-coupon button.button {
  min-height: 44px;
  padding: 0 var(--space-md);
  border: 1px solid var(--color-secondary-brand);
  border-radius: 999px;
  background: transparent;
  color: var(--color-secondary-brand);
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--text-button-ls);
  cursor: pointer;
  white-space: nowrap;
  transition: all var(--duration-fast) var(--ease-standard);
}

.woocommerce-checkout .woocommerce-form-coupon button.button:hover {
  border-color: var(--color-secondary-brand);
  color: var(--color-background);
  background: var(--color-secondary-brand);
}

/* --------------------------------------------------------------------------
   Checkout Left Column: Customer Details Form
   -------------------------------------------------------------------------- */
.woocommerce-checkout form.woocommerce-checkout #customer_details,
.woocommerce-checkout .col2-set {
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  float: none !important;
  margin: 0;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 var(--space-2xl) !important;
}

.woocommerce-checkout h3 {
  font-family: var(--font-body);
  font-size: var(--text-h3-size);
  font-weight: var(--font-weight-medium);
  line-height: var(--text-h3-lh);
  color: var(--color-primary-text);
  margin: 0 0 var(--space-md);
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid var(--color-border-divider);
}

/* Field Grids */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-md);
  row-gap: var(--space-md);
  width: 100%;
}

.woocommerce-checkout .form-row {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  box-sizing: border-box;
}

/* Specific Field Placements */
#billing_first_name_field,
#shipping_first_name_field {
  grid-column: 1;
}

#billing_last_name_field,
#shipping_last_name_field {
  grid-column: 2;
}

#billing_country_field,
#billing_address_1_field,
#billing_address_2_field,
#shipping_country_field,
#shipping_address_1_field,
#shipping_address_2_field,
#billing_company_field,
#shipping_company_field {
  grid-column: 1 / -1;
}

#billing_city_field,
#shipping_city_field {
  grid-column: 1;
}

#billing_state_field,
#shipping_state_field {
  grid-column: 2;
}

#billing_postcode_field,
#shipping_postcode_field {
  grid-column: 1 / -1;
}

#billing_phone_field {
  grid-column: 1;
}

#billing_email_field {
  grid-column: 2;
}

#ship-to-different-address,
#order_comments_field {
  grid-column: 1 / -1;
}

#ship-to-different-address {
  margin-top: var(--space-sm);
  margin-bottom: var(--space-md);
  font-size: var(--text-body-size);
  font-weight: var(--font-weight-medium);
}

#ship-to-different-address label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  cursor: pointer;
}

/* Field Inputs, Selects, Labels */
.woocommerce-checkout .form-row label {
  display: block;
  font-size: var(--text-form-label-size);
  font-weight: var(--text-form-label-weight);
  color: var(--color-primary-text);
  margin: 0;
  line-height: 1.4;
}

.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label abbr.required {
  color: var(--color-error);
  text-decoration: none;
  border: none;
  font-weight: var(--font-weight-medium);
  margin-left: 2px;
}

.woocommerce-checkout .form-row label .optional {
  font-size: var(--text-caption-size);
  color: var(--color-primary-text);
  opacity: 0.6;
  font-weight: var(--font-weight-regular);
  margin-left: var(--space-xxs);
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  width: 100% !important;
  min-height: 54px;
  padding-inline: var(--space-sm);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color var(--duration-fast) var(--ease-standard);
}

.woocommerce-checkout .form-row input.input-text:focus-visible,
.woocommerce-checkout .form-row textarea:focus-visible,
.woocommerce-checkout .form-row select:focus-visible {
  outline: 2px solid var(--color-secondary-brand);
  outline-offset: 2px;
  border-color: var(--color-secondary-brand);
}

.woocommerce-checkout .form-row textarea {
  min-height: 120px;
  padding-block: var(--space-sm);
  resize: vertical;
}

.woocommerce-checkout .form-row .woocommerce-form__input-checkbox,
.woocommerce-checkout .form-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--color-secondary-brand);
  cursor: pointer;
}

.woocommerce-checkout .form-row.woocommerce-validated input.input-text {
  border-color: var(--color-border-default);
}

.woocommerce-checkout .form-row.woocommerce-invalid input.input-text {
  border-color: var(--color-error);
}

/* SelectWoo / Select2 Integration */
.select2-container--default .select2-selection--single {
  min-height: 54px;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  display: flex;
  align-items: center;
  padding-inline: var(--space-sm);
  box-sizing: border-box;
  transition: border-color var(--duration-fast) var(--ease-standard);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  padding: 0;
  line-height: normal;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: var(--space-sm);
  top: 0;
  display: flex;
  align-items: center;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  outline: 2px solid var(--color-secondary-brand);
  outline-offset: 2px;
  border-color: var(--color-secondary-brand);
}

.select2-dropdown {
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  box-shadow: var(--shadow-low);
  font-family: var(--font-body);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  min-height: 42px;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  padding-inline: var(--space-xs);
  font-family: var(--font-body);
  color: var(--color-primary-text);
  background: var(--color-background);
}

.select2-container--default .select2-results__option {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--text-body-sm-size);
  color: var(--color-primary-text);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: color-mix(in srgb, var(--color-secondary-brand) 12%, transparent);
  color: var(--color-secondary-brand);
}

.select2-container--default .select2-results__option[aria-selected="true"] {
  background: color-mix(in srgb, var(--color-secondary-brand) 20%, transparent);
  color: var(--color-secondary-brand);
  font-weight: var(--font-weight-medium);
}

/* --------------------------------------------------------------------------
   Checkout Right Column: Order Review & Payment Panel
   -------------------------------------------------------------------------- */
.woocommerce-checkout form.woocommerce-checkout #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 0 var(--space-md);
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid var(--color-border-divider);
  font-family: var(--font-body);
  font-size: var(--text-h3-size);
  font-weight: var(--font-weight-medium);
  line-height: var(--text-h3-lh);
  color: var(--color-primary-text);
}

.woocommerce-checkout form.woocommerce-checkout #order_review {
  grid-column: 2;
  grid-row: 2;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  float: none !important;
  clear: none !important;
  position: sticky;
  top: calc(var(--header-height) + var(--space-lg));
  border: 1px solid var(--color-border-divider);
  border-radius: var(--radius-md);
  padding: clamp(var(--space-md), 2.5vw, var(--space-xl));
  background: color-mix(in srgb, var(--color-background) 80%, white);
  box-sizing: border-box;
}

/* Order Review Products Table — borderless cohesive flow */
.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce-checkout #order_review table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 0 var(--space-lg) !important;
  background: transparent !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table thead th {
  padding: 0 0 var(--space-xs) 0;
  border: none !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  letter-spacing: var(--text-caption-ls);
  font-weight: var(--text-caption-weight);
  text-transform: uppercase;
  color: var(--color-primary-text);
  opacity: 0.72;
  text-align: left;
  background: transparent !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table thead th.product-total {
  text-align: right;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody td {
  padding: var(--space-sm) 0;
  border: none !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  font-size: var(--text-body-sm-size);
  color: var(--color-primary-text);
  background: transparent !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody td.product-name {
  padding-right: var(--space-sm);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody td.product-total {
  text-align: right;
  font-weight: var(--font-weight-medium);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tbody td .product-quantity {
  opacity: 0.7;
  font-weight: var(--font-weight-regular);
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot tr {
  border: none !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  background: transparent !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot th {
  padding: var(--space-sm) 0;
  border: none !important;
  text-align: left;
  font-size: var(--text-body-sm-size);
  font-weight: var(--font-weight-regular);
  color: var(--color-primary-text);
  opacity: 0.8;
  width: 40%;
  background: transparent !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot td {
  padding: var(--space-sm) 0;
  border: none !important;
  text-align: right;
  font-size: var(--text-body-size);
  font-variant-numeric: tabular-nums;
  color: var(--color-primary-text);
  background: transparent !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total {
  border-top: 1px solid var(--color-border-default) !important;
  border-bottom: none !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
  padding-top: var(--space-md);
  padding-bottom: 0;
  font-size: var(--text-body-size);
  font-weight: var(--font-weight-medium);
  opacity: 1;
  border: none !important;
}

.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  padding-top: var(--space-md);
  padding-bottom: 0;
  font-size: var(--text-h4-size);
  font-weight: var(--font-weight-medium);
  border: none !important;
}

/* Payment Methods Integration (Seamless single panel flow) */
.woocommerce-checkout #payment,
#payment.woocommerce-checkout-payment {
  margin-top: var(--space-md);
  padding: var(--space-md) 0 0;
  border: none !important;
  border-top: 1px solid var(--color-border-divider) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#payment ul.payment_methods {
  list-style: none;
  margin: 0 0 var(--space-md);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: none !important;
  background: transparent !important;
}

#payment ul.payment_methods li.wc_payment_method {
  border: none !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  border-radius: 0 !important;
  padding: var(--space-sm) 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
  transition: none;
}

#payment ul.payment_methods li.wc_payment_method:last-child {
  border-bottom: none !important;
}

#payment ul.payment_methods li.wc_payment_method label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--text-body-sm-size);
  font-weight: var(--font-weight-medium);
  color: var(--color-primary-text);
  cursor: pointer;
  margin: 0;
}

#payment ul.payment_methods li.wc_payment_method input[type="radio"] {
  accent-color: var(--color-secondary-brand);
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  flex-shrink: 0;
}

.woocommerce-checkout #payment div.payment_box,
#payment .payment_box {
  margin: var(--space-xxs) 0 0 !important;
  padding: 0 0 0 calc(16px + var(--space-xs)) !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: var(--text-body-sm-size) !important;
  line-height: 1.5 !important;
  color: color-mix(in srgb, var(--color-primary-text) 70%, transparent) !important;
}

.woocommerce-checkout #payment div.payment_box::before,
#payment .payment_box::before {
  display: none !important;
}

#payment .payment_box p {
  margin: 0 !important;
}

/* Place Order Container & CTA */
.woocommerce-checkout #payment div.form-row.place-order {
  padding: 0;
  border-top: none;
  float: none !important;
  width: 100% !important;
  margin: var(--space-md) 0 0;
}

.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: var(--space-md);
  font-size: var(--text-body-sm-size);
  line-height: 1.5;
  color: var(--color-primary-text);
}

.woocommerce-terms-and-conditions-wrapper label {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--space-xs);
  cursor: pointer;
}

.woocommerce-terms-and-conditions-wrapper a {
  color: var(--color-secondary-brand);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout #payment #place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--space-xs) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  padding: 0 var(--space-md) !important;
  border-radius: 999px !important;
  border: none !important;
  float: none !important;
  background: transparent !important;
  color: var(--color-secondary-brand) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-button-size) !important;
  line-height: var(--text-button-lh) !important;
  font-weight: var(--text-button-weight) !important;
  letter-spacing: var(--text-button-ls) !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition:
    background-color var(--duration-fast) var(--ease-standard),
    color var(--duration-fast) var(--ease-standard),
    border-color var(--duration-fast) var(--ease-standard),
    transform 120ms var(--ease-standard),
    filter 120ms var(--ease-standard) !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #payment #place_order:hover {
  background: color-mix(in srgb, currentColor 10%, transparent) !important;
  color: var(--color-secondary-brand) !important;
}

.woocommerce-checkout #place_order:active,
.woocommerce-checkout #payment #place_order:active {
  transform: scale(0.98) !important;
  filter: brightness(0.96) !important;
}

.woocommerce-checkout #place_order[disabled],
.woocommerce-checkout #payment #place_order[disabled] {
  opacity: 0.4 !important;
  pointer-events: none !important;
  box-shadow: none !important;
}

/* ==========================================================================
   RESPONSIVE COMPOSITION (< 1024px & ≤ 768px)
   ========================================================================== */

@media (max-width: 1023px) {
  /* Cart collapses to intentional 1-column stack */
  .woocommerce-cart .woocommerce {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
  }

  .woocommerce-cart .cart-collaterals {
    position: static;
    width: 100% !important;
  }

  /* Checkout collapses to intentional 1-column stack */
  .woocommerce-checkout form.woocommerce-checkout {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
  }

  .woocommerce-checkout form.woocommerce-checkout #customer_details,
  .woocommerce-checkout form.woocommerce-checkout #order_review_heading,
  .woocommerce-checkout form.woocommerce-checkout #order_review {
    width: 100% !important;
    position: static;
  }
}

@media (max-width: 768px) {
  /* Suppress WooCommerce default responsive pseudo-labels */
  .woocommerce-cart table.shop_table_responsive tr td::before,
  .woocommerce-page.woocommerce-cart table.shop_table_responsive tr td::before {
    content: "" !important;
    display: none !important;
  }

  /* Cart mobile product card transformation */
  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-page form.woocommerce-cart-form,
  .woocommerce-cart table.shop_table.cart,
  .woocommerce-page table.cart,
  .woocommerce-cart table.shop_table.cart tbody,
  .woocommerce-page table.cart tbody {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item,
  .woocommerce-page table.cart tbody tr.cart_item {
    display: grid !important;
    width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: 80px 1fr auto !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
      "thumb info remove"
      "thumb qty subtotal" !important;
    gap: var(--space-xs) var(--space-md) !important;
    align-items: center !important;
    padding: var(--space-md) 0 !important;
    position: relative !important;
    border-bottom: 1px solid var(--color-border-divider) !important;
  }

  .woocommerce-cart table.shop_table.cart tbody tr.cart_item td,
  .woocommerce-page table.cart tbody tr.cart_item td {
    padding: 0 !important;
    border: none !important;
    text-align: left !important;
    background: transparent !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-thumbnail,
  .woocommerce-page.woocommerce-cart table.cart .product-thumbnail {
    display: block !important;
    grid-area: thumb !important;
    width: 80px !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-thumbnail img,
  .woocommerce-page.woocommerce-cart table.cart .product-thumbnail img {
    width: 80px !important;
    height: 100px !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    border-radius: var(--radius-sm) !important;
    display: block !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-name,
  .woocommerce-page table.cart td.product-name {
    grid-area: info !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-remove,
  .woocommerce-page table.cart td.product-remove {
    grid-area: remove !important;
    width: auto !important;
    text-align: right !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-price,
  .woocommerce-page table.cart td.product-price {
    display: none !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-quantity,
  .woocommerce-page table.cart td.product-quantity {
    grid-area: qty !important;
    text-align: left !important;
  }

  .woocommerce-cart table.shop_table.cart td.product-subtotal,
  .woocommerce-page table.cart td.product-subtotal {
    grid-area: subtotal !important;
    text-align: right !important;
    font-size: var(--text-body-size) !important;
    font-weight: var(--font-weight-medium) !important;
  }

  /* Actions & coupon stacking */
  .woocommerce-cart table.shop_table.cart tr:last-child,
  .woocommerce-page.woocommerce-cart table.cart tr:last-child {
    display: block !important;
    width: 100% !important;
    border: none !important;
  }

  .woocommerce-cart table.shop_table.cart td.actions,
  .woocommerce-page.woocommerce-cart table.shop_table_responsive tr td.actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    gap: var(--space-md) !important;
    padding: var(--space-lg) 0 !important;
  }

  .woocommerce-cart table.shop_table.cart .coupon,
  .woocommerce-page.woocommerce-cart table.cart .coupon {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: var(--space-xs) !important;
    width: 100% !important;
    float: none !important;
  }

  .woocommerce-cart table.shop_table.cart .coupon input.input-text,
  .woocommerce-page.woocommerce-cart table.cart .coupon input.input-text {
    width: 100% !important;
  }

  .woocommerce-cart table.shop_table.cart .coupon button.button,
  .woocommerce-cart table.shop_table.cart button[name="update_cart"],
  .woocommerce-page.woocommerce-cart table.cart button[name="update_cart"] {
    width: 100% !important;
    justify-content: center !important;
    float: none !important;
  }

  /* Checkout mobile form single column stack */
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-checkout .form-row {
    grid-column: auto !important;
  }
}

/* ==========================================================================
   ORDER RECEIVED
   ========================================================================== */

.woocommerce-order-received .section--commerce { padding-top: var(--space-3xl); padding-bottom: clamp(5rem, 10vw, 10rem); }
.adelier-order-received { width: min(100%, 1160px); margin-inline: auto; }
.adelier-order-received__intro { max-width: 50rem; margin-bottom: var(--space-3xl); }
.adelier-order-received .woocommerce-thankyou-order-received { color: var(--color-primary-text); font-family: var(--font-page-title); font-size: clamp(2rem, 1.45rem + 1.45vw, 2.9rem); line-height: 1.25; margin: 0; }
.adelier-order-received__metadata { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: var(--space-lg) var(--space-xl); margin: 0 0 clamp(4rem, 7vw, 6rem); padding: var(--space-xl) 0; border-top: 1px solid var(--color-border-divider); border-bottom: 1px solid var(--color-border-divider); }
.adelier-order-received__metadata-item { min-width: 0; }
.adelier-order-received__metadata dt { color: var(--color-primary-text); font-size: var(--text-caption-size); font-weight: var(--text-caption-weight); letter-spacing: var(--text-caption-ls); line-height: var(--text-caption-lh); margin: 0 0 var(--space-xs); text-transform: uppercase; }
.adelier-order-received__metadata dd { color: var(--color-primary-text); font-size: var(--text-body-size); font-weight: var(--font-weight-medium); line-height: var(--text-body-lh); margin: 0; overflow-wrap: anywhere; }
.adelier-order-details { width: 100%; }
.adelier-order-details__products { margin-bottom: clamp(4rem, 7vw, 6rem); }
.adelier-order-details__title { color: var(--color-primary-text); font-family: var(--font-page-title); font-size: var(--text-h2-size); font-weight: var(--font-weight-regular); line-height: var(--text-h2-lh); margin: 0 0 var(--space-xl); }
.adelier-order-details__product-list { border-top: 1px solid var(--color-border-divider); }
.adelier-order-details__product { display: grid; grid-template-columns: 112px minmax(0, 1fr) minmax(8rem, auto); align-items: start; column-gap: var(--space-lg); padding: var(--space-lg) 0; border-bottom: 1px solid var(--color-border-divider); }
.adelier-order-details__product-image-wrap { width: 112px; aspect-ratio: 4 / 5; overflow: hidden; background: color-mix(in srgb, var(--color-border-divider) 52%, transparent); }
.adelier-order-details__product-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.adelier-order-details__product-content { min-width: 0; }
.adelier-order-details__product-name { color: var(--color-primary-text); font-family: var(--font-body); font-size: var(--text-body-lg-size); font-weight: var(--font-weight-medium); line-height: 1.4; margin: 0 0 var(--space-xs); overflow-wrap: anywhere; }
.adelier-order-details__product-name a { text-decoration: none; }
.adelier-order-details__product-name a:hover { color: var(--color-secondary-brand); }
.adelier-order-details__product-quantity, .adelier-order-details__product-sku { color: var(--color-primary-text); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-lh); margin: 0; }
.adelier-order-details__product-sku { margin-top: var(--space-xxs); }
.adelier-order-details .wc-item-meta { display: flex; flex-wrap: wrap; gap: var(--space-xxs) var(--space-sm); margin: var(--space-xs) 0 0; padding: 0; color: var(--color-primary-text); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-lh); list-style: none; }
.adelier-order-details .wc-item-meta li { display: flex; min-width: 0; }
.adelier-order-details .wc-item-meta p, .adelier-order-details .wc-item-meta strong { font: inherit; margin: 0; }
.adelier-order-details .wc-item-meta strong { margin-right: var(--space-xxs); font-weight: var(--font-weight-medium); }
.adelier-order-details__product-total { color: var(--color-primary-text); font-size: var(--text-body-size); font-weight: var(--font-weight-medium); line-height: var(--text-body-lh); margin: 0; text-align: right; white-space: nowrap; }
.adelier-order-details__purchase-note { margin: calc(var(--space-lg) * -.5) 0 var(--space-lg) calc(112px + var(--space-lg)); color: var(--color-primary-text); font-size: var(--text-body-sm-size); }
.adelier-order-details__purchase-note p { margin: 0; }
.adelier-order-details__lower { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr); gap: clamp(3rem, 7vw, 8rem); align-items: start; }
.adelier-order-details__information { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); }
.adelier-order-details__disclosure { min-width: 0; border-top: 1px solid var(--color-border-divider); }
.adelier-order-details__disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm); padding: var(--space-sm) 0 var(--space-md); color: var(--color-primary-text); cursor: pointer; font-family: var(--font-body); font-size: var(--text-body-sm-size); font-weight: var(--font-weight-medium); line-height: var(--text-body-sm-lh); list-style: none; }
.adelier-order-details__disclosure summary::-webkit-details-marker { display: none; }
.adelier-order-details__disclosure summary::after { content: "+"; flex: 0 0 auto; font-size: 1.25rem; font-weight: var(--font-weight-regular); line-height: 1; }
.adelier-order-details__disclosure[open] summary::after { content: "−"; }
.adelier-order-details__disclosure summary:focus-visible { outline: 2px solid var(--color-secondary-brand); outline-offset: 3px; }
.adelier-order-details__disclosure-content { min-width: 0; padding-bottom: var(--space-sm); }
.adelier-order-details__disclosure address { color: var(--color-primary-text); font-size: var(--text-body-sm-size); font-style: normal; line-height: var(--text-body-sm-lh); overflow-wrap: anywhere; }
.woocommerce .adelier-order-details__disclosure-content address { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.adelier-order-details__disclosure address p { margin: var(--space-xs) 0 0; }
.adelier-order-details__disclosure address a { text-decoration: underline; text-decoration-color: var(--color-border-strong); text-underline-offset: .15em; overflow-wrap: anywhere; }
.adelier-order-details__payment-method { color: var(--color-secondary-brand); font-size: var(--text-body-sm-size); font-weight: var(--font-weight-medium); line-height: var(--text-body-sm-lh); margin: 0 0 var(--space-sm); }
.adelier-order-details__summary { border-top: 1px solid var(--color-border-divider); padding-top: var(--space-sm); }
.adelier-order-details__summary:only-child { grid-column: 1 / -1; max-width: 38rem; }
.adelier-order-details__summary .adelier-order-details__title { margin-bottom: var(--space-lg); }
.adelier-order-details__totals { margin: 0; }
.adelier-order-details__total { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); padding: var(--space-xs) 0; color: var(--color-primary-text); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-lh); }
.adelier-order-details__total dt, .adelier-order-details__total dd { margin: 0; }
.adelier-order-details__total dd { flex: 0 0 auto; font-weight: var(--font-weight-medium); text-align: right; white-space: nowrap; }
.adelier-order-details__total--grand { margin-top: var(--space-xs); padding-top: var(--space-md); border-top: 1px solid var(--color-border-strong); font-size: var(--text-body-size); font-weight: var(--font-weight-medium); }
.adelier-order-details__total--grand dd { color: var(--color-secondary-brand); font-size: var(--text-body-lg-size); }
.adelier-order-details__customer-note { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--color-border-divider); color: var(--color-primary-text); font-size: var(--text-body-sm-size); line-height: var(--text-body-sm-lh); overflow-wrap: anywhere; }
.adelier-order-details__customer-note h3 { font-family: var(--font-body); font-size: var(--text-body-sm-size); font-weight: var(--font-weight-medium); line-height: var(--text-body-sm-lh); margin: 0 0 var(--space-xs); }
.adelier-order-details__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-lg); }
.adelier-order-details__actions .button { min-height: 44px; }

@media (max-width: 1100px) { .adelier-order-received__metadata { grid-template-columns: repeat(3, minmax(0, 1fr)); } .adelier-order-details__lower { grid-template-columns: 1fr; gap: var(--space-3xl); } .adelier-order-details__summary { max-width: 38rem; } }
@media (max-width: 767px) { .woocommerce-order-received .section--commerce { padding-top: var(--space-xl); } .adelier-order-received__intro { margin-bottom: var(--space-xl); } .adelier-order-received__metadata { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md) var(--space-sm); margin-bottom: var(--space-4xl); padding: var(--space-lg) 0; } .adelier-order-received__metadata-item:last-child:nth-child(odd) { grid-column: span 2; } .adelier-order-details__products { margin-bottom: var(--space-4xl); } .adelier-order-details__title { margin-bottom: var(--space-lg); } .adelier-order-details__product { grid-template-columns: minmax(92px, 32vw) minmax(0, 1fr); gap: var(--space-md); padding: var(--space-md) 0; } .adelier-order-details__product-image-wrap { width: 100%; } .adelier-order-details__product-name { font-size: var(--text-body-size); } .adelier-order-details__product-total { grid-column: 2; text-align: left; } .adelier-order-details__purchase-note { margin-left: 0; } .adelier-order-details__information { display: block; } .adelier-order-details__disclosure + .adelier-order-details__disclosure { margin-top: var(--space-sm); } .adelier-order-details__disclosure summary { padding-block: var(--space-md); } .adelier-order-details__summary { max-width: none; } }
@media (prefers-reduced-motion: reduce) { .adelier-order-details__disclosure { scroll-behavior: auto; } }

/* ===========================================================================
   MY ACCOUNT PAGE (STAGE 3)
   ========================================================================== */

.woocommerce-account .site-main--commerce {
  min-height: 60vh;
}

.woocommerce-account .container--commerce {
  width: 100%;
  max-width: var(--container-max-width, 1344px);
  margin-inline: auto;
  padding-inline: var(--gutter-desktop);
  box-sizing: border-box;
}

.woocommerce-account h2,
.woocommerce-account h3 {
  font-family: var(--font-body);
  font-size: var(--text-h3-size);
  font-weight: var(--font-weight-medium);
  line-height: var(--text-h3-lh);
  color: var(--color-primary-text);
  margin: 0 0 var(--space-md);
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid var(--color-border-divider);
}

.woocommerce-account h3 {
  font-size: var(--text-h4-size);
}

/* --------------------------------------------------------------------------
   My Account: Logged-Out State (Login / Register / Lost Password)
   -------------------------------------------------------------------------- */

/* Customer Login Container */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: block;
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
}

.woocommerce-account:not(.logged-in) .woocommerce:has(#customer_login.col2-set) {
  max-width: 1040px;
}

.woocommerce-account:not(.logged-in) .woocommerce > h2 {
  text-align: center;
  margin-bottom: var(--space-xl);
  border-bottom: none;
  padding-bottom: 0;
}

.woocommerce-account #customer_login {
  width: 100%;
  margin: 0 auto;
}

/* Two-column layout when both Login & Registration are enabled */
.woocommerce-account #customer_login.col2-set,
.woocommerce-account .col2-set#customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(var(--space-xl), 4vw, var(--space-3xl));
  row-gap: var(--space-xl);
  max-width: 1040px;
}

.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

/* Authentication Card */
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.woocommerce-ResetPassword {
  width: 100% !important;
  max-width: 480px !important;
  border: 1px solid var(--color-border-divider) !important;
  border-radius: var(--radius-md) !important;
  padding: clamp(var(--space-lg), 3vw, var(--space-2xl)) !important;
  background: color-mix(in srgb, var(--color-background) 80%, white) !important;
  box-sizing: border-box !important;
  margin: 0 auto var(--space-2xl) !important;
}

.woocommerce-account #customer_login.col2-set form.login,
.woocommerce-account #customer_login.col2-set form.register {
  max-width: 100% !important;
}

.woocommerce-account form.login h2,
.woocommerce-account form.register h2 {
  font-family: var(--font-body);
  font-size: var(--text-h3-size);
  font-weight: var(--font-weight-medium);
  color: var(--color-primary-text);
  margin: 0 0 var(--space-lg);
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid var(--color-border-divider);
}

/* Form Row & Input Styling */
.woocommerce-account form.login .form-row,
.woocommerce-account form.register .form-row,
.woocommerce-account form.woocommerce-ResetPassword .form-row {
  margin: 0 0 var(--space-md) !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  box-sizing: border-box;
}

.woocommerce-account form.login label,
.woocommerce-account form.register label,
.woocommerce-account form.woocommerce-ResetPassword label {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-form-label-size);
  font-weight: var(--text-form-label-weight);
  color: var(--color-primary-text);
  margin: 0;
  line-height: 1.4;
}

.woocommerce-account form.login label .required,
.woocommerce-account form.register label .required {
  color: var(--color-error);
  text-decoration: none;
  border: none;
  font-weight: var(--font-weight-medium);
  margin-left: 2px;
}

.woocommerce-account form.login input.input-text,
.woocommerce-account form.register input.input-text,
.woocommerce-account form.woocommerce-ResetPassword input.input-text {
  width: 100% !important;
  min-height: 52px !important;
  padding: 0 var(--space-md) !important;
  border: 1px solid var(--color-border-default) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--color-background) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-body-size) !important;
  color: var(--color-primary-text) !important;
  box-sizing: border-box !important;
  transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

.woocommerce-account form.login input.input-text:focus-visible,
.woocommerce-account form.register input.input-text:focus-visible,
.woocommerce-account form.woocommerce-ResetPassword input.input-text:focus-visible {
  border-color: var(--color-secondary-brand) !important;
  outline: 2px solid color-mix(in srgb, var(--color-secondary-brand) 25%, transparent) !important;
  outline-offset: 1px !important;
}

/* Remember Me & Lost Password Row */
.woocommerce-account form.login .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--text-body-sm-size);
  color: var(--color-primary-text);
  cursor: pointer;
  margin: 0;
}

.woocommerce-account form.login .woocommerce-form-login__rememberme input[type="checkbox"] {
  accent-color: var(--color-secondary-brand);
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
}

.woocommerce-account form.login p.lost_password {
  margin: var(--space-sm) 0 0 !important;
  text-align: center;
}

.woocommerce-account form.login p.lost_password a {
  font-size: var(--text-body-sm-size);
  color: color-mix(in srgb, var(--color-primary-text) 70%, transparent);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--duration-fast) var(--ease-standard);
}

.woocommerce-account form.login p.lost_password a:hover {
  color: var(--color-secondary-brand);
}

/* Submit CTAs */
.woocommerce-account form.login button.woocommerce-form-login__submit,
.woocommerce-account form.register button.woocommerce-form-register__submit,
.woocommerce-account form.woocommerce-ResetPassword button.button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 0 var(--space-xl) !important;
  border-radius: 999px !important;
  border: none !important;
  background: var(--color-secondary-brand) !important;
  color: var(--color-background) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-button-size) !important;
  font-weight: var(--text-button-weight) !important;
  letter-spacing: var(--text-button-ls) !important;
  cursor: pointer !important;
  margin-top: var(--space-xs) !important;
  transition: background-color var(--duration-fast) var(--ease-standard), transform 120ms !important;
}

.woocommerce-account form.login button.woocommerce-form-login__submit:hover,
.woocommerce-account form.register button.woocommerce-form-register__submit:hover,
.woocommerce-account form.woocommerce-ResetPassword button.button:hover {
  background: var(--color-secondary-brand-hover) !important;
}

.woocommerce-account form.login button.woocommerce-form-login__submit:active,
.woocommerce-account form.register button.woocommerce-form-register__submit:active,
.woocommerce-account form.woocommerce-ResetPassword button.button:active {
  transform: scale(0.99) !important;
}

/* --------------------------------------------------------------------------
   My Account: Logged-In Desktop Layout (≥ 1024px)
   -------------------------------------------------------------------------- */

.logged-in.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  column-gap: clamp(var(--space-xl), 4vw, var(--space-3xl));
  row-gap: 0;
  align-items: start;
  width: 100%;
}

/* Clear inherited WooCommerce floats */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
  display: none !important;
}

/* Account Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none !important;
  width: 100% !important;
  position: sticky;
  top: calc(var(--header-height) + var(--space-lg));
  border: 1px solid var(--color-border-divider);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  background: color-mix(in srgb, var(--color-background) 80%, white);
  box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: var(--text-body-sm-size);
  font-weight: var(--font-weight-regular);
  color: color-mix(in srgb, var(--color-primary-text) 72%, transparent);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: all var(--duration-fast) var(--ease-standard);
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  color: var(--color-primary-text);
  background: color-mix(in srgb, var(--color-secondary-brand) 8%, transparent);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--color-primary-text);
  font-weight: var(--font-weight-medium);
  background: color-mix(in srgb, var(--color-secondary-brand) 12%, transparent);
  border-left-color: var(--color-secondary-brand);
}

/* Account Content Area */
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   My Account: Dashboard Endpoint
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-lh);
  font-weight: var(--font-weight-regular);
  color: var(--color-primary-text);
  margin-bottom: var(--space-md);
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type strong {
  font-weight: var(--font-weight-medium);
}

.woocommerce-account .woocommerce-MyAccount-content p {
  font-size: var(--text-body-size);
  line-height: 1.6;
  color: color-mix(in srgb, var(--color-primary-text) 80%, transparent);
  margin: 0 0 var(--space-md);
}

.woocommerce-account .woocommerce-MyAccount-content p a {
  color: var(--color-secondary-brand);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: var(--font-weight-medium);
  transition: color var(--duration-fast) var(--ease-standard);
}

.woocommerce-account .woocommerce-MyAccount-content p a:hover {
  color: var(--color-secondary-brand-hover);
}

/* --------------------------------------------------------------------------
   My Account: Orders Endpoint
   -------------------------------------------------------------------------- */
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.shop_table.my_account_orders {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 0 var(--space-xl) !important;
  background: transparent !important;
}

.woocommerce-account table.woocommerce-orders-table thead th {
  padding: 0 0 var(--space-xs) 0;
  border: none !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  letter-spacing: var(--text-caption-ls);
  font-weight: var(--text-caption-weight);
  text-transform: uppercase;
  color: var(--color-primary-text);
  opacity: 0.72;
  text-align: left;
  background: transparent !important;
}

.woocommerce-account table.woocommerce-orders-table tbody td {
  padding: var(--space-md) 0;
  border: none !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  font-size: var(--text-body-sm-size);
  color: var(--color-primary-text);
  background: transparent !important;
  vertical-align: middle;
}

.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-number a {
  color: var(--color-primary-text);
  font-weight: var(--font-weight-medium);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 var(--space-md);
  border-radius: 999px;
  border: 1px solid var(--color-border-default);
  background: transparent;
  color: var(--color-primary-text);
  font-family: var(--font-body);
  font-size: var(--text-caption-size);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--duration-fast) var(--ease-standard);
}

.woocommerce-account table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions a.button:hover {
  border-color: var(--color-secondary-brand);
  color: var(--color-secondary-brand);
  background: color-mix(in srgb, var(--color-secondary-brand) 6%, transparent);
}

/* Empty Orders & Downloads Info Banner */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
  margin: 0 0 var(--space-xl) !important;
  padding: var(--space-md) 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: var(--space-md) !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button {
  float: none !important;
  min-height: 42px !important;
  padding: 0 var(--space-lg) !important;
  border-radius: 999px !important;
  background: var(--color-secondary-brand) !important;
  color: var(--color-background) !important;
  border: none !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-caption-size) !important;
  font-weight: var(--font-weight-medium) !important;
  letter-spacing: var(--text-button-ls) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  order: 2 !important;
  transition: background-color var(--duration-fast) var(--ease-standard) !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button:hover {
  background: var(--color-secondary-brand-hover) !important;
}

/* --------------------------------------------------------------------------
   My Account: Addresses Endpoint
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: clamp(var(--space-md), 2.5vw, var(--space-xl)) !important;
  row-gap: var(--space-lg) !important;
  margin-top: var(--space-md) !important;
  width: 100% !important;
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
  display: none !important;
  content: none !important;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 1px solid var(--color-border-divider) !important;
  border-radius: var(--radius-md) !important;
  padding: clamp(var(--space-md), 2.5vw, var(--space-xl)) !important;
  background: color-mix(in srgb, var(--color-background) 80%, white) !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-Address-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: var(--space-md) !important;
  padding-bottom: var(--space-xs) !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  float: none !important;
  width: 100% !important;
}

.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after {
  display: none !important;
  content: none !important;
}

.woocommerce-account .woocommerce-Address-title h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  float: none !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-h4-size) !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--color-primary-text) !important;
  line-height: 1.2 !important;
}

.woocommerce-account .woocommerce-Address-title a.edit {
  float: none !important;
  margin: 0 !important;
  font-size: var(--text-caption-size) !important;
  font-weight: var(--font-weight-medium) !important;
  color: var(--color-secondary-brand) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  transition: color var(--duration-fast) var(--ease-standard) !important;
}

.woocommerce-account .woocommerce-Address-title a.edit:hover {
  color: var(--color-secondary-brand-hover) !important;
}

.woocommerce-account .woocommerce-Address address {
  font-style: normal;
  font-size: var(--text-body-sm-size);
  line-height: 1.6;
  color: color-mix(in srgb, var(--color-primary-text) 75%, transparent);
  margin: 0;
}

/* Edit Address Forms */
.woocommerce-account .woocommerce-address-fields h2,
.woocommerce-account .woocommerce-address-fields h3 {
  font-family: var(--font-body);
  font-size: var(--text-h3-size);
  font-weight: var(--font-weight-medium);
  margin: 0 0 var(--space-lg);
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid var(--color-border-divider);
}

.woocommerce-account .woocommerce-address-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--space-md);
  row-gap: var(--space-md);
  width: 100%;
  margin-bottom: var(--space-xl);
}

.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  box-sizing: border-box;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper #billing_country_field,
.woocommerce-account .woocommerce-address-fields__field-wrapper #billing_address_1_field,
.woocommerce-account .woocommerce-address-fields__field-wrapper #billing_address_2_field,
.woocommerce-account .woocommerce-address-fields__field-wrapper #billing_company_field,
.woocommerce-account .woocommerce-address-fields__field-wrapper #shipping_country_field,
.woocommerce-account .woocommerce-address-fields__field-wrapper #shipping_address_1_field,
.woocommerce-account .woocommerce-address-fields__field-wrapper #shipping_address_2_field,
.woocommerce-account .woocommerce-address-fields__field-wrapper #shipping_company_field {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper label {
  display: block;
  font-size: var(--text-form-label-size);
  font-weight: var(--text-form-label-weight);
  color: var(--color-primary-text);
  margin: 0;
  line-height: 1.4;
}

.woocommerce-account .woocommerce-address-fields__field-wrapper input.input-text,
.woocommerce-account .woocommerce-address-fields__field-wrapper select {
  min-height: 52px;
  width: 100%;
  padding: 0 var(--space-md);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  color: var(--color-primary-text);
  box-sizing: border-box;
  transition: border-color var(--duration-fast) var(--ease-standard);
}

.woocommerce-account .woocommerce-address-fields__field-wrapper input.input-text:focus-visible,
.woocommerce-account .woocommerce-address-fields__field-wrapper select:focus-visible {
  border-color: var(--color-secondary-brand);
  outline: 2px solid color-mix(in srgb, var(--color-secondary-brand) 25%, transparent);
  outline-offset: 1px;
}

.woocommerce-account button[name="save_address"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 var(--space-2xl) !important;
  border-radius: 999px !important;
  background: var(--color-secondary-brand) !important;
  color: var(--color-background) !important;
  border: none !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-button-size) !important;
  font-weight: var(--font-weight-medium) !important;
  letter-spacing: var(--text-button-ls) !important;
  cursor: pointer !important;
  transition: background-color var(--duration-fast) var(--ease-standard) !important;
}

.woocommerce-account button[name="save_address"]:hover {
  background: var(--color-secondary-brand-hover) !important;
}

/* --------------------------------------------------------------------------
   My Account: Account Details Endpoint
   -------------------------------------------------------------------------- */
.woocommerce-account form.woocommerce-EditAccountForm {
  max-width: 680px;
}

.woocommerce-account form.woocommerce-EditAccountForm .form-row {
  margin: 0 0 var(--space-md) !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
  box-sizing: border-box;
}

.woocommerce-account form.woocommerce-EditAccountForm .woocommerce-form-row--first,
.woocommerce-account form.woocommerce-EditAccountForm .woocommerce-form-row--last {
  width: calc(50% - var(--space-xs)) !important;
  float: left !important;
}

.woocommerce-account form.woocommerce-EditAccountForm .woocommerce-form-row--first {
  margin-right: var(--space-sm) !important;
}

.woocommerce-account form.woocommerce-EditAccountForm .woocommerce-form-row--wide {
  clear: both;
}

.woocommerce-account form.woocommerce-EditAccountForm label {
  display: block;
  font-size: var(--text-form-label-size);
  font-weight: var(--text-form-label-weight);
  color: var(--color-primary-text);
  margin: 0;
  line-height: 1.4;
}

.woocommerce-account form.woocommerce-EditAccountForm input.input-text {
  min-height: 52px;
  width: 100%;
  padding: 0 var(--space-md);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-sm);
  background: var(--color-background);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  color: var(--color-primary-text);
  box-sizing: border-box;
  transition: border-color var(--duration-fast) var(--ease-standard);
}

.woocommerce-account form.woocommerce-EditAccountForm input.input-text:focus-visible {
  border-color: var(--color-secondary-brand);
  outline: 2px solid color-mix(in srgb, var(--color-secondary-brand) 25%, transparent);
  outline-offset: 1px;
}

.woocommerce-account form.woocommerce-EditAccountForm span.description,
.woocommerce-account form.woocommerce-EditAccountForm em {
  font-size: var(--text-caption-size);
  font-style: normal;
  color: color-mix(in srgb, var(--color-primary-text) 65%, transparent);
  margin-top: var(--space-xxs);
  display: block;
}

.woocommerce-account form.woocommerce-EditAccountForm fieldset {
  border: none;
  padding: 0;
  margin: var(--space-xl) 0 var(--space-lg);
  clear: both;
  width: 100%;
}

.woocommerce-account form.woocommerce-EditAccountForm fieldset legend {
  font-family: var(--font-body);
  font-size: var(--text-h4-size);
  font-weight: var(--font-weight-medium);
  color: var(--color-primary-text);
  margin: 0 0 var(--space-md);
  padding: 0 0 var(--space-xs);
  border-bottom: 1px solid var(--color-border-divider);
  width: 100%;
  display: block;
}

.woocommerce-account form.woocommerce-EditAccountForm button[name="save_account_details"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 var(--space-2xl) !important;
  border-radius: 999px !important;
  background: var(--color-secondary-brand) !important;
  color: var(--color-background) !important;
  border: none !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-button-size) !important;
  font-weight: var(--font-weight-medium) !important;
  letter-spacing: var(--text-button-ls) !important;
  cursor: pointer !important;
  transition: background-color var(--duration-fast) var(--ease-standard) !important;
}

.woocommerce-account form.woocommerce-EditAccountForm button[name="save_account_details"]:hover {
  background: var(--color-secondary-brand-hover) !important;
}

/* --------------------------------------------------------------------------
   My Account: Responsive Styles
   -------------------------------------------------------------------------- */
@media (max-width: 1023px) {
  .woocommerce-account:not(.logged-out) .woocommerce,
  .logged-in.woocommerce-account .woocommerce {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
    width: 100% !important;
    padding: var(--space-xs);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li a {
    padding: var(--space-xs) var(--space-sm);
    border-left: none;
    border-bottom: 2px solid transparent;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    border-left-color: transparent;
    border-bottom-color: var(--color-secondary-brand);
  }

  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .woocommerce-account #customer_login.col2-set {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-address-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .woocommerce-account form.woocommerce-EditAccountForm .woocommerce-form-row--first,
  .woocommerce-account form.woocommerce-EditAccountForm .woocommerce-form-row--last {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
  }

  .woocommerce-account table.woocommerce-orders-table {
    display: block;
    overflow-x: auto;
  }
}

/* ==========================================================================
   Header Cart Trigger & Badge
   ========================================================================== */
.site-header__cart-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: currentColor;
  min-height: 36px;
  width: 36px;
  padding: 0;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

.site-header__cart-trigger:hover,
.site-header__cart-trigger:focus-visible {
  background: color-mix(in srgb, currentColor 10%, transparent);
  color: currentColor;
  outline: none;
}

.site-header__cart-trigger svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
}

.site-header__cart-count {
  position: absolute;
  top: -2px;
  right: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--color-secondary-brand);
  color: var(--color-background);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: var(--font-weight-medium);
  line-height: 1;
  letter-spacing: 0;
  pointer-events: none;
  transition: transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);
}

.site-header__cart-count:not(.has-items) {
  opacity: 0.6;
}

/* ==========================================================================
   Cart Drawer (Slide-out Mini Cart)
   ========================================================================== */
.cart-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(18, 18, 18, 0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration-normal) var(--ease-standard);
}

.cart-drawer-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(440px, 100vw);
  height: 100dvh;
  background: var(--color-background);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  box-shadow: -8px 0 32px rgba(0, 0, 0, 0.12);
  transform: translateX(100%);
  transition: transform var(--duration-normal) var(--ease-standard);
  box-sizing: border-box;
}

.cart-drawer.is-open {
  transform: translateX(0);
}

body.cart-drawer-open {
  overflow: hidden !important;
}

/* Drawer Header */
.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--color-border-divider);
  flex-shrink: 0;
}

.cart-drawer__title-wrap {
  display: flex;
  align-items: baseline;
  gap: var(--space-xs);
}

.cart-drawer__title {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  font-weight: var(--font-weight-regular);
  color: var(--color-primary-text);
  margin: 0;
  line-height: 1.2;
}

.cart-drawer__count-badge {
  font-size: var(--text-body-sm-size);
  color: var(--color-secondary-brand);
  font-weight: var(--font-weight-medium);
}

.cart-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: none;
  background: transparent;
  color: var(--color-primary-text);
  cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}

.cart-drawer__close:hover,
.cart-drawer__close:focus-visible {
  background: var(--color-border-divider);
  color: var(--color-secondary-brand);
  outline: none;
}

/* Drawer Body & Mini Cart Content */
.cart-drawer__body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
}

.cart-drawer__body .widget_shopping_cart_content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 100%;
}

/* Mini Cart Item List */
.cart-drawer__body ul.woocommerce-mini-cart {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  flex: 1 0 auto;
}

.woocommerce .cart-drawer ul.cart_list li,
.woocommerce.widget_shopping_cart .cart_list li,
.cart-drawer__body ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: var(--space-md) !important;
  padding: var(--space-md) 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: var(--space-md) !important;
  border-bottom: 1px solid var(--color-border-divider) !important;
  list-style: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce .cart-drawer ul.cart_list li:last-child,
.cart-drawer__body ul.woocommerce-mini-cart li.woocommerce-mini-cart-item:last-child {
  border-bottom: none !important;
}

/* 1. Thumbnail */
.cart-drawer-item__thumb {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  overflow: hidden !important;
  border-radius: var(--radius-sm) !important;
  background: var(--color-border-divider) !important;
}

.cart-drawer-item__thumb a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.cart-drawer__body .cart-drawer-item__thumb img,
.woocommerce .cart-drawer ul.cart_list li img,
.cart-drawer__body ul.woocommerce-mini-cart li.woocommerce-mini-cart-item img {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  min-height: 72px !important;
  max-height: 72px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: var(--radius-sm) !important;
  float: none !important;
  margin: 0 !important;
}

/* 2. Info */
.cart-drawer-item__info {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.cart-drawer-item__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: var(--color-primary-text) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-body-sm-size) !important;
  font-weight: var(--font-weight-medium) !important;
  line-height: 1.35 !important;
  transition: color var(--duration-fast) !important;
}

.cart-drawer-item__title:hover {
  color: var(--color-secondary-brand) !important;
}

.cart-drawer-item__info .variation {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2px var(--space-xs) !important;
  margin: 0 !important;
  font-size: var(--text-caption-size) !important;
  color: var(--color-primary-text) !important;
  opacity: 0.72 !important;
}

.cart-drawer-item__info .variation dt,
.cart-drawer-item__info .variation dd {
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
}

.cart-drawer-item__meta {
  margin-top: 2px !important;
  font-size: var(--text-caption-size) !important;
  color: var(--color-primary-text) !important;
  opacity: 0.85 !important;
  font-variant-numeric: tabular-nums !important;
}

/* 3. Remove Button */
.cart-drawer-item__remove {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 32px !important;
  width: 32px !important;
}

.woocommerce .cart-drawer .widget_shopping_cart .cart_list li a.remove,
.cart-drawer-item__remove a.remove {
  position: static !important;
  top: auto !important;
  left: auto !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  color: var(--color-primary-text) !important;
  background: transparent !important;
  text-decoration: none !important;
  font-size: 18px !important;
  line-height: 1 !important;
  opacity: 0.5 !important;
  transition: all var(--duration-fast) var(--ease-standard) !important;
}

.woocommerce .cart-drawer .widget_shopping_cart .cart_list li a.remove:hover,
.cart-drawer-item__remove a.remove:hover {
  background: #fde8e8 !important;
  color: #c53030 !important;
  opacity: 1 !important;
}

/* Subtotal & Buttons */
.cart-drawer__body .woocommerce-mini-cart__total {
  margin-top: auto;
  padding-top: var(--space-md);
  border-top: 1px solid var(--color-border-divider);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: var(--text-body-size);
  color: var(--color-primary-text);
  margin-bottom: var(--space-md);
}

.cart-drawer__body .woocommerce-mini-cart__total .amount {
  font-size: var(--text-h3-size);
  color: var(--color-secondary-brand);
  font-weight: var(--font-weight-medium);
}

.cart-drawer__body .woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
}

.cart-drawer__body .woocommerce-mini-cart__buttons a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: var(--text-button-size);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
  box-sizing: border-box;
}

.cart-drawer__body .woocommerce-mini-cart__buttons a.button.checkout {
  background: var(--color-secondary-brand);
  color: var(--color-background);
  border: 1px solid var(--color-secondary-brand);
}

.cart-drawer__body .woocommerce-mini-cart__buttons a.button.checkout:hover {
  background: var(--color-primary-brand-hover);
  border-color: var(--color-primary-brand-hover);
}

.cart-drawer__body .woocommerce-mini-cart__buttons a.button:not(.checkout) {
  background: transparent;
  color: var(--color-primary-text);
  border: 1px solid var(--color-border-default);
}

.cart-drawer__body .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
  border-color: var(--color-secondary-brand);
  color: var(--color-secondary-brand);
}

/* Empty State */
.cart-drawer__body .woocommerce-mini-cart__empty-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-3xl) var(--space-md);
  color: var(--color-primary-text);
  font-size: var(--text-body-lg-size);
  opacity: 0.85;
  margin: auto 0;
}

.cart-drawer__body .woocommerce-mini-cart__empty-message::before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  margin-bottom: var(--space-md);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808184' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.5;
}

.cart-drawer__empty-action {
  text-align: center;
  padding-bottom: var(--space-3xl);
  margin-top: calc(var(--space-xl) * -1);
}

.cart-drawer__empty-action .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: var(--space-xl);
  border-radius: var(--radius-sm);
  background: var(--color-primary-text);
  color: var(--color-background);
  font-family: var(--font-body);
  font-size: var(--text-button-size);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-standard);
}

.cart-drawer__empty-action .button:hover {
  background: var(--color-secondary-brand);
}
