/**
 * WooCommerce — OceanWP-aligned styles for aa-storefront.
 */

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin-bottom: 20px;
  padding: 15px 20px;
  border-left: 3px solid var(--aa-color-primary);
  background-color: #f7f7f7;
  list-style: none;
}

.woocommerce-error {
  border-left-color: #e42234;
}

/* Shop archive intro */
#main #content-wrap:has(.aa-shop-hero) {
  width: 100%;
  max-width: none;
  padding-top: 0;
}

.aa-shop-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: var(--aa-spacing-lg);
  background-color: var(--aa-color-navy);
  color: var(--aa-color-button-text);
}

.aa-shop-hero__inner {
  position: relative;
  z-index: 1;
  padding: 48px 0 40px;
}

.aa-shop-hero__eyebrow {
  margin: 0 0 var(--aa-spacing-sm);
  color: var(--aa-color-primary);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.aa-shop-hero__title {
  margin: 0 0 var(--aa-spacing-sm);
  color: var(--aa-color-button-text);
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: var(--aa-font-display);
  line-height: 1.1;
}

.aa-shop-hero__lead {
  max-width: 54ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: var(--aa-font-size-md);
  line-height: 1.65;
}

.aa-shop-layout {
  width: var(--aa-content-width);
  max-width: var(--aa-content-max-width);
  margin-left: auto;
  margin-right: auto;
}

#main #content-wrap:has(.aa-shop-hero) > .aa-breadcrumb-wrap {
  width: var(--aa-content-width);
  max-width: var(--aa-content-max-width);
  margin-left: auto;
  margin-right: auto;
}

/* Breadcrumbs — minimal trail, no box */
.aa-breadcrumb-wrap {
  margin: 0 0 var(--aa-spacing-md);
}

.aa-breadcrumb {
  padding: 0;
  background: transparent;
  border: 0;
}

.aa-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--aa-font-size-sm);
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.aa-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  color: var(--aa-color-meta);
}

.aa-breadcrumb__item:not(:last-child)::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  margin: 0 10px;
  border-radius: 50%;
  background-color: currentColor;
  opacity: 0.45;
  pointer-events: none;
}

.aa-breadcrumb__item a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.aa-breadcrumb__item a:hover {
  color: var(--aa-color-primary);
}

.aa-breadcrumb__item--current {
  color: var(--aa-color-heading);
  font-weight: var(--aa-font-weight-bold);
}

.aa-breadcrumb__item--current span {
  color: inherit;
}

/* On navy heroes */
.aa-breadcrumb-wrap--on-dark {
  margin: 0 0 var(--aa-spacing-md);
}

.aa-breadcrumb-wrap--on-dark .aa-breadcrumb__item {
  color: rgba(255, 255, 255, 0.62);
}

.aa-breadcrumb-wrap--on-dark .aa-breadcrumb__item a:hover {
  color: var(--aa-color-primary);
}

.aa-breadcrumb-wrap--on-dark .aa-breadcrumb__item--current {
  color: rgba(255, 255, 255, 0.92);
}

@media only screen and (max-width: 767px) {
  .aa-breadcrumb-wrap {
    margin-bottom: var(--aa-spacing-sm);
  }

  .aa-breadcrumb__list {
    font-size: 11px;
  }

  .aa-breadcrumb__item:not(:last-child)::after {
    margin: 0 8px;
  }
}

/* Forms */
.woocommerce .clear {
  clear: both;
}

.woocommerce form .form-row {
  margin-bottom: 15px;
}

.woocommerce form .form-row label {
  display: block;
  margin-bottom: 5px;
  color: var(--aa-color-heading);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: var(--aa-input-min-height);
  padding: var(--aa-input-padding);
  font-size: var(--aa-input-font-size);
  line-height: var(--aa-input-line-height);
  color: var(--aa-color-heading);
  background-color: transparent;
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-sm);
}

.woocommerce .form-row-first {
  float: left;
  width: 48%;
  margin-right: 4%;
}

.woocommerce .form-row-last {
  float: right;
  width: 48%;
  margin-right: 0;
}

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

.woocommerce form .form-row::after,
.woocommerce-billing-fields__field-wrapper::after,
.woocommerce-shipping-fields__field-wrapper::after {
  content: "";
  display: table;
  clear: both;
}

/* Password visibility toggle (WooCommerce JS injects .password-input / .show-password-input) */
.woocommerce form .password-input {
  display: block;
  position: relative;
  width: 100%;
}

.woocommerce form .password-input input[type="password"],
.woocommerce form .password-input input[type="text"] {
  width: 100%;
  padding-right: 48px;
}

.woocommerce form .password-input input::-ms-reveal {
  display: none;
}

.woocommerce form .password-input .show-password-input,
.woocommerce .show-password-input {
  position: absolute;
  top: 50%;
  right: 12px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none;
  color: var(--aa-color-meta);
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  cursor: pointer;
  transform: translateY(-50%);
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce form .password-input .show-password-input:hover,
.woocommerce .show-password-input:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--aa-color-navy);
}

.woocommerce form .password-input .show-password-input:focus,
.woocommerce .show-password-input:focus {
  outline: 2px solid var(--aa-color-primary);
  outline-offset: 2px;
}

.woocommerce form .password-input .show-password-input::before,
.woocommerce .show-password-input::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z' fill='%23777777'/%3E%3C/svg%3E");
}

.woocommerce form .password-input .show-password-input.display-password::before,
.woocommerce .show-password-input.display-password::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M18.3 9.5C15 4.9 8.5 3.8 3.9 7.2C2.7 8.1 1.7 9.3 0.9 10.6C1.1 11 1.4 11.4 1.7 11.8C5 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.8 18.3 9.5ZM10.1 7.2C10.6 6.7 11.4 6.7 11.9 7.2C12.4 7.7 12.4 8.5 11.9 9C11.4 9.5 10.6 9.5 10.1 9C9.6 8.5 9.6 7.7 10.1 7.2ZM10 14.9C6.9 14.9 4 13.3 2.3 10.7C3.5 9 5.1 7.8 7 7.2C6.3 8 6 8.9 6 9.9C6 12.1 7.7 14 10 14C12.2 14 14.1 12.3 14.1 10V9.9C14.1 8.9 13.7 7.9 13 7.2C14.9 7.8 16.5 9 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z' fill='%230a3d5c'/%3E%3C/svg%3E");
}

/* Shop toolbar */
.woocommerce .woocommerce-result-count {
  float: left;
  margin: 0 0 20px;
  color: var(--aa-color-meta);
}

.aa-shop-toolbar__actions .aa-shop-toolbar__btn,
.aa-shop-no-results__actions .aa-shop-toolbar__btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: var(--aa-input-min-height);
  min-height: var(--aa-input-min-height);
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-sm);
  background: var(--aa-color-background);
  background-color: var(--aa-color-background);
  color: var(--aa-color-heading);
  font-family: inherit;
  font-size: var(--aa-font-size-base);
  font-weight: var(--aa-font-weight-semibold);
  letter-spacing: 0;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.aa-shop-toolbar__actions .aa-shop-toolbar__btn:hover,
.aa-shop-no-results__actions .aa-shop-toolbar__btn:hover {
  border-color: var(--aa-color-primary);
  background: var(--aa-color-background);
  background-color: var(--aa-color-background);
  color: var(--aa-color-primary);
}

.aa-shop-toolbar__actions .aa-shop-clear-filters:hover,
.aa-shop-no-results__actions .aa-shop-clear-filters:hover {
  border-color: #e42234;
  color: #c81e2d;
}

.woocommerce .woocommerce-ordering {
  float: right;
  margin: 0 0 20px;
}

.woocommerce .woocommerce-ordering select {
  min-height: var(--aa-input-min-height);
  padding: 6px 12px;
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-sm);
}

.woocommerce .woocommerce-before-shop-loop::after {
  content: "";
  display: table;
  clear: both;
}

/* Product grid — aligned with homepage featured cards */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--aa-spacing-lg);
  margin: 0 0 40px;
  padding: 0;
  list-style: none;
  clear: both;
}

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

.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  float: none;
  width: auto !important;
  margin: 0 !important;
  padding: 0;
  text-align: left;
  background-color: var(--aa-color-background);
  border: 1px solid var(--aa-color-border);
  transition: var(--aa-transition);
}

.woocommerce ul.products li.product:hover {
  border-color: var(--aa-color-primary);
  box-shadow: 0 12px 28px rgba(10, 61, 92, 0.08);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  flex: 1;
  color: inherit;
  text-decoration: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link:hover {
  color: inherit;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  margin: 0;
  background-color: var(--aa-color-surface);
  transition: transform 0.45s ease;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.04);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  overflow: hidden;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  margin: 0;
  padding: var(--aa-spacing-md) var(--aa-spacing-md) 8px;
  font-size: var(--aa-font-size-md);
  font-weight: var(--aa-font-weight-bold);
  line-height: 1.35;
  color: var(--aa-color-heading);
}

.woocommerce ul.products li.product .price {
  display: block;
  margin: 0;
  padding: 0 var(--aa-spacing-md) var(--aa-spacing-sm);
  font-size: var(--aa-font-size-lg);
  font-weight: var(--aa-font-weight-bold);
  color: var(--aa-color-navy);
}

.woocommerce ul.products li.product .price del {
  color: var(--aa-color-meta);
  font-size: var(--aa-font-size-base);
  font-weight: var(--aa-font-weight-normal);
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  display: inline-block;
  align-self: flex-start;
  margin: 0 var(--aa-spacing-md) var(--aa-spacing-md);
  margin-top: auto;
  padding: 9px 16px !important;
  background-color: var(--aa-color-primary) !important;
  border: 1px solid var(--aa-color-primary) !important;
  color: var(--aa-color-button-text) !important;
  font-size: var(--aa-button-font-size) !important;
  font-weight: var(--aa-font-weight-bold) !important;
  letter-spacing: var(--aa-button-letter-spacing) !important;
  line-height: var(--aa-line-height-tight) !important;
  text-transform: var(--aa-button-text-transform) !important;
  border-radius: var(--aa-radius-none) !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
  background-color: var(--aa-color-primary-hover) !important;
  border-color: var(--aa-color-primary-hover) !important;
  color: var(--aa-color-button-text) !important;
}

.woocommerce ul.products li.product .added_to_cart {
  background-color: transparent !important;
  border-color: var(--aa-color-navy) !important;
  color: var(--aa-color-navy) !important;
}

.woocommerce ul.products li.product .added_to_cart:hover {
  background-color: var(--aa-color-navy) !important;
  color: var(--aa-color-button-text) !important;
}

.woocommerce ul.products li.product .star-rating {
  margin: 0 var(--aa-spacing-md) 8px;
}

.woocommerce nav.woocommerce-pagination {
  clear: both;
  margin-top: 20px;
  text-align: center;
}

.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: block;
  min-width: 36px;
  padding: 8px 12px;
  border: 1px solid var(--aa-color-border);
  color: var(--aa-color-heading);
  text-decoration: none;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background-color: var(--aa-color-primary);
  border-color: var(--aa-color-primary);
  color: #fff;
}

/* Cart / checkout page title */
.aa-wc-page-header {
  margin: 0 0 var(--aa-spacing-lg);
  padding-bottom: var(--aa-spacing-md);
  border-bottom: 1px solid var(--aa-color-border);
}

.aa-wc-page-header__title {
  margin: 0;
  color: var(--aa-color-navy);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: var(--aa-font-display);
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.woocommerce-cart .aa-breadcrumb-wrap,
.woocommerce-checkout .aa-breadcrumb-wrap {
  margin-bottom: var(--aa-spacing-md);
}

/* Empty cart */
.woocommerce-cart .cart-empty.woocommerce-info {
  margin: 0 0 var(--aa-spacing-md);
  padding: var(--aa-spacing-lg);
  border: 1px solid var(--aa-color-border);
  border-left: 3px solid var(--aa-color-primary);
  background-color: var(--aa-color-section-warm);
  color: var(--aa-color-text);
  text-align: center;
}

.woocommerce-cart .return-to-shop {
  text-align: center;
  margin: 0 0 var(--aa-spacing-xl);
}

.woocommerce-cart .return-to-shop .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 28px;
  background-color: var(--aa-color-primary);
  border: 1px solid var(--aa-color-primary);
  border-radius: var(--aa-radius-none);
  color: var(--aa-color-button-text);
  font-size: var(--aa-button-font-size);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: var(--aa-button-letter-spacing);
  text-transform: var(--aa-button-text-transform);
  text-decoration: none;
}

.woocommerce-cart .return-to-shop .button:hover {
  background-color: var(--aa-color-primary-hover);
  border-color: var(--aa-color-primary-hover);
  color: var(--aa-color-button-text);
}

/* Cart */
.woocommerce table.shop_table {
  border: 1px solid var(--aa-color-border);
  margin: 0 0 var(--aa-spacing-lg);
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
  background-color: var(--aa-color-background);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 14px 16px;
  vertical-align: middle;
  border-color: var(--aa-color-border);
}

.woocommerce table.shop_table thead {
  background-color: var(--aa-color-section-warm);
}

.woocommerce table.shop_table thead th {
  color: var(--aa-color-navy);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.woocommerce table.shop_table .product-remove {
  text-align: center !important;
}

.woocommerce table.shop_table a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  line-height: 1;
  font-size: 18px;
  color: var(--aa-color-meta);
  border: 1px solid var(--aa-color-border);
  border-radius: var(--aa-radius-none);
  text-align: center;
  text-decoration: none;
  transition: var(--aa-transition);
}

.woocommerce table.shop_table a.remove:hover {
  color: #fff;
  background-color: #c81e2d;
  border-color: #c81e2d;
}

.woocommerce-cart table.cart img {
  width: auto;
  max-width: 72px;
  height: auto;
  border: 1px solid var(--aa-color-border);
}

.woocommerce-cart table.cart td.product-thumbnail {
  width: 88px;
}

.woocommerce-cart table.cart td.product-name a {
  color: var(--aa-color-navy);
  font-weight: var(--aa-font-weight-bold);
  text-decoration: none;
}

.woocommerce-cart table.cart td.product-name a:hover {
  color: var(--aa-color-primary);
}

.woocommerce-cart table.cart .quantity .qty {
  width: 72px;
  min-height: var(--aa-input-min-height);
  padding: var(--aa-input-padding);
  text-align: center;
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-none);
  color: var(--aa-color-heading);
}

.woocommerce-cart table.cart td.actions {
  padding: var(--aa-spacing-md);
  border-bottom: 0;
  background-color: var(--aa-color-section-warm);
}

.woocommerce-cart table.cart td.actions::after {
  content: "";
  display: table;
  clear: both;
}

.woocommerce-cart table.cart td.actions .coupon {
  float: left;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

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

.woocommerce-cart table.cart td.actions .coupon .input-text {
  display: inline-block;
  width: auto;
  min-width: 180px;
  min-height: var(--aa-input-min-height);
  margin: 0;
  padding: var(--aa-input-padding);
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-none);
  vertical-align: middle;
  background-color: var(--aa-color-background);
}

.woocommerce-cart table.cart td.actions button {
  min-height: var(--aa-input-min-height);
  padding: 10px 18px;
  border-radius: var(--aa-radius-none);
  font-size: var(--aa-button-font-size);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: var(--aa-button-letter-spacing);
  text-transform: var(--aa-button-text-transform);
}

.woocommerce-cart table.cart td.actions button[name="update_cart"] {
  float: right;
  background-color: transparent;
  border: 1px solid var(--aa-color-navy);
  color: var(--aa-color-navy);
}

.woocommerce-cart table.cart td.actions button[name="update_cart"]:hover {
  background-color: var(--aa-color-navy);
  color: var(--aa-color-button-text);
}

.woocommerce-cart table.cart td.actions .coupon button {
  background-color: var(--aa-color-navy);
  border: 1px solid var(--aa-color-navy);
  color: var(--aa-color-button-text);
}

.woocommerce-cart table.cart td.actions .coupon button:hover {
  background-color: var(--aa-color-primary);
  border-color: var(--aa-color-primary);
}

.woocommerce .cart-collaterals {
  display: flex;
  flex-direction: column;
  gap: var(--aa-spacing-lg);
  width: 100%;
}

.woocommerce .cart-collaterals::after {
  display: none;
}

.woocommerce .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  padding: 0;
  border: 1px solid var(--aa-color-border);
  background-color: var(--aa-color-background);
}

.woocommerce .cart-collaterals .cross-sells {
  float: none;
  width: 100%;
  padding: 0;
  border: 0;
}

.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce .cart-collaterals .cross-sells > h2 {
  margin: 0;
  padding: 14px 20px;
  background-color: var(--aa-color-navy);
  border-bottom: 0;
  color: var(--aa-color-button-text);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.1em;
  text-align: left;
  text-transform: uppercase;
}

.woocommerce .cart-collaterals .cross-sells > h2 {
  margin-bottom: var(--aa-spacing-md);
  background-color: transparent;
  color: var(--aa-color-navy);
  border-bottom: 1px solid var(--aa-color-border);
  padding-left: 0;
  padding-right: 0;
}

.woocommerce .cart-collaterals .cart_totals .shop_table {
  margin: 0;
  border: 0;
}

.woocommerce .cart-collaterals .cart_totals .shop_table th,
.woocommerce .cart-collaterals .cart_totals .shop_table td {
  padding: 14px 20px;
  border-color: var(--aa-color-border);
}

.woocommerce .cart-collaterals .cart_totals .order-total th,
.woocommerce .cart-collaterals .cart_totals .order-total td {
  color: var(--aa-color-navy);
  font-size: var(--aa-font-size-md);
  font-weight: var(--aa-font-weight-bold);
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0 20px 20px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 16px 20px;
  background-color: var(--aa-color-primary);
  border: 1px solid var(--aa-color-primary);
  border-radius: var(--aa-radius-none);
  color: var(--aa-color-button-text);
  font-size: 13px;
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: var(--aa-button-letter-spacing);
  line-height: 1.4;
  text-align: center;
  text-transform: var(--aa-button-text-transform);
  text-decoration: none;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background-color: var(--aa-color-primary-hover);
  border-color: var(--aa-color-primary-hover);
  color: var(--aa-color-button-text);
}

/* Checkout — two-column layout (OceanWP-style) */
.woocommerce-checkout form.checkout {
  display: inline-block;
  width: 100%;
  margin-top: var(--aa-spacing-md);
}

.woocommerce-checkout form.checkout::after {
  content: "";
  display: table;
  clear: both;
}

form.checkout.woocommerce-checkout > .col2-set,
.woocommerce-checkout > .col2-set {
  float: left;
  width: 48%;
}

form.checkout.woocommerce-checkout > .col2-set > .col-1,
form.checkout.woocommerce-checkout > .col2-set > .col-2,
.woocommerce-checkout > .col2-set > .col-1,
.woocommerce-checkout > .col2-set > .col-2 {
  float: none;
  width: 100%;
}

form.checkout.woocommerce-checkout > .col2-set > .col-1,
.woocommerce-checkout > .col2-set > .col-1 {
  margin-bottom: 30px;
}

form.checkout.woocommerce-checkout h3#order_review_heading,
form.checkout.woocommerce-checkout #order_review,
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout #order_review {
  float: right;
  width: 48%;
}

.woocommerce-checkout .woocommerce-info {
  margin: 0 0 var(--aa-spacing-md);
  padding: 14px 18px;
  text-align: left;
  border: 1px solid var(--aa-color-border);
  border-left: 3px solid var(--aa-color-primary);
  background-color: var(--aa-color-section-warm);
  color: var(--aa-color-text);
}

.woocommerce-checkout .woocommerce-info a {
  float: none;
  padding: 0;
  background: transparent;
  color: var(--aa-color-navy);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0;
  text-decoration: underline;
}

.woocommerce-checkout .woocommerce-info a:hover {
  color: var(--aa-color-primary);
}

.woocommerce-checkout form.checkout_coupon {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  max-width: 695px;
  margin: 0 0 var(--aa-spacing-lg);
  padding: var(--aa-spacing-md);
  text-align: left;
  border: 1px dashed var(--aa-color-border);
  background-color: var(--aa-color-section-warm);
  box-sizing: border-box;
}

.woocommerce-checkout form.checkout_coupon .form-row {
  margin-bottom: 0;
}

.woocommerce-checkout form.checkout_coupon .form-row-first {
  float: none;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  margin: 0;
}

.woocommerce-checkout form.checkout_coupon .form-row-last {
  float: none;
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}

.woocommerce-checkout form.checkout_coupon .input-text {
  width: 100%;
  margin: 0;
  min-height: var(--aa-input-min-height);
  padding: var(--aa-input-padding);
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-sm);
  background-color: var(--aa-color-background);
  box-sizing: border-box;
}

.woocommerce-checkout form.checkout_coupon button {
  width: 100%;
  min-height: var(--aa-input-min-height);
  padding: 10px 18px;
  border-radius: var(--aa-radius-none);
}

.woocommerce-checkout form.checkout_coupon .clear {
  display: none;
}

.woocommerce-checkout form.login {
  max-width: 600px;
  margin: 0 auto 30px;
  padding: 20px;
  border: 1px solid var(--aa-color-border);
}

.col2-set {
  width: 100%;
}

.col2-set::after {
  content: "";
  display: block;
  clear: both;
}

.col2-set .col-1 {
  float: left;
  width: 48%;
}

.col2-set .col-2 {
  float: right;
  width: 48%;
}

.woocommerce .woocommerce-checkout #customer_details h3,
.woocommerce .woocommerce-checkout h3#order_review_heading {
  margin: 0 0 var(--aa-spacing-md);
  padding-bottom: 10px;
  border-bottom: 1px solid var(--aa-color-border);
  color: var(--aa-color-navy);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.woocommerce .woocommerce-checkout #customer_details h3 input[type="checkbox"] {
  float: right;
  margin: 2px 0 0 !important;
}

.woocommerce .woocommerce-checkout #customer_details p.form-row label {
  display: block;
  margin: 0 0 5px;
}

.woocommerce .woocommerce-checkout h3#ship-to-different-address label {
  display: block;
  margin: 0;
  cursor: pointer;
}

/* Checkout — unified selects (native + Select2) */
.woocommerce-checkout .select2-container {
  width: 100% !important;
}

.woocommerce-checkout select:not(.select2-hidden-accessible) {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  padding-right: 36px;
}

.woocommerce
  .woocommerce-checkout
  .select2-container--default
  .select2-selection--single {
  min-height: var(--aa-input-min-height);
  height: var(--aa-input-min-height);
  padding: var(--aa-input-padding);
  background-color: transparent;
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-sm);
}

.woocommerce
  .woocommerce-checkout
  .select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0;
  line-height: 1.4;
  color: var(--aa-color-heading);
}

.woocommerce
  .woocommerce-checkout
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: calc(var(--aa-input-min-height) - 2px);
  right: 8px;
}

.woocommerce
  .woocommerce-checkout
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b {
  border-color: #666 transparent transparent;
}

/* Checkout — align side-by-side billing fields (Select2 + inputs) */
.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper
  .form-row-first,
.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper
  .form-row-last {
  float: none;
  width: 48%;
  margin-right: 0;
}

.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #billing_city_field {
  display: flex;
  flex-direction: column;
}

.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper
  .form-row-wide {
  width: 100%;
}

.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper
  .form-row
  label {
  min-height: 2.5em;
  line-height: 1.3;
}

.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper
  .form-row
  .woocommerce-input-wrapper {
  margin-top: auto;
}

.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper
  .form-row
  .select2-container--default
  .select2-selection--single,
.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper
  .form-row
  input.input-text:not(textarea),
.woocommerce-checkout
  #customer_details
  .woocommerce-billing-fields__field-wrapper
  .form-row
  select:not(.select2-hidden-accessible) {
  height: var(--aa-input-min-height);
  min-height: var(--aa-input-min-height);
  box-sizing: border-box;
}

.woocommerce-checkout #order_comments_field textarea.input-text {
  height: auto;
  min-height: var(--aa-textarea-min-height);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 0;
}

.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row {
  margin-bottom: 15px;
}

/* Checkout — Speedy/Econt delivery method radios */
.woocommerce-checkout #shipping_to_field > label {
  display: block;
  margin-bottom: 10px;
  padding-right: 0;
  font-weight: var(--aa-font-weight-semibold);
}

.woocommerce-checkout #shipping_to_field .woocommerce-input-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.woocommerce-checkout #shipping_to_field input.input-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  transform: none !important;
}

.woocommerce-checkout
  #shipping_to_field
  .woocommerce-input-wrapper
  label.radio {
  display: flex !important;
  align-items: center;
  position: relative;
  margin: 0 !important;
  padding: 14px 16px 14px 44px;
  min-height: 48px;
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-sm);
  background-color: #fff;
  color: var(--aa-color-heading);
  font-size: var(--aa-font-size-base);
  font-weight: var(--aa-font-weight-normal);
  line-height: 1.4;
  text-align: left;
  white-space: normal;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.woocommerce-checkout
  #shipping_to_field
  .woocommerce-input-wrapper
  label.radio::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border: 2px solid #999;
  border-radius: 50%;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-checkout
  #shipping_to_field
  .woocommerce-input-wrapper
  label.radio:hover {
  border-color: #bbb;
  background-color: #fafafa;
}

.woocommerce-checkout
  #shipping_to_field
  .woocommerce-input-wrapper
  label.radio:hover::before {
  border-color: #666;
}

.woocommerce-checkout
  #shipping_to_field
  input.input-radio:checked
  + label.radio {
  border-color: var(--aa-color-primary);
  background-color: rgba(19, 175, 240, 0.05);
  color: var(--aa-color-heading);
  font-weight: var(--aa-font-weight-semibold);
  box-shadow: inset 3px 0 0 var(--aa-color-primary);
}

.woocommerce-checkout
  #shipping_to_field
  input.input-radio:checked
  + label.radio::before {
  border-color: var(--aa-color-primary);
  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 10px var(--aa-color-primary);
}

.woocommerce-checkout
  #shipping_to_field
  label[for="shipping_to_address"].radio::first-letter {
  text-transform: uppercase;
}

.woocommerce-checkout
  #shipping_to_field
  input.input-radio:focus-visible
  + label.radio {
  outline: 2px solid var(--aa-color-primary);
  outline-offset: 2px;
}

/* Checkout — payment methods */
.woocommerce-checkout #payment ul.payment_methods {
  margin: 0;
  padding: 0 0 20px;
  list-style: none;
  border-bottom: 1px solid var(--aa-color-border);
}

.woocommerce-checkout #payment ul.payment_methods li {
  position: relative;
  margin: 0 0 1px;
  background-color: #fafafa;
  transition: var(--aa-transition);
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
  background-color: #f5f5f5;
}

.woocommerce-checkout
  #payment
  ul.payment_methods
  .wc_payment_method
  > input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.woocommerce-checkout #payment ul.payment_methods .wc_payment_method > label {
  position: relative;
  display: block;
  margin: 0;
  padding: 16px 20px 16px 46px;
  font-size: var(--aa-font-size-md);
  font-weight: var(--aa-font-weight-semibold);
  cursor: pointer;
}

.woocommerce-checkout
  #payment
  ul.payment_methods
  .wc_payment_method
  > label::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border: 2px solid #666;
  border-radius: 50%;
  background: #fff;
  transition: var(--aa-transition);
  z-index: 1;
}

.woocommerce-checkout
  #payment
  ul.payment_methods
  .wc_payment_method
  > input[type="radio"]:checked
  + label::before {
  border-color: var(--aa-color-primary);
  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 10px var(--aa-color-primary);
}

.woocommerce-checkout #payment ul.payment_methods li img {
  float: right;
  max-height: 28px;
}

.woocommerce-checkout #payment div.payment_box {
  padding: 1.25em;
  background-color: #fff;
  color: var(--aa-color-text);
  clear: both;
}

.woocommerce-checkout #payment div.payment_box p {
  margin: 0;
}

/* Stripe card fields — keep plugin layout intact */
.woocommerce-checkout #payment .payment_box.payment_method_stripe {
  padding: 1em 1.25em 1.25em;
}

.woocommerce-checkout #payment .payment_box.payment_method_stripe fieldset,
.woocommerce-checkout
  #payment
  .payment_box.payment_method_stripe
  #wc-stripe-upe-form {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.woocommerce-checkout
  #payment
  .payment_box.payment_method_stripe
  .wc-stripe-upe-element {
  width: 100%;
  max-width: 100%;
}

.woocommerce-checkout
  #payment
  .payment_box.payment_method_stripe
  .wc-stripe-upe-element
  iframe {
  max-width: none !important;
}

.woocommerce-checkout #place_order {
  width: 100%;
  min-height: 50px;
  padding: 16px 20px;
  background-color: var(--aa-color-primary);
  border: 1px solid var(--aa-color-primary);
  border-radius: var(--aa-radius-none);
  color: var(--aa-color-button-text);
  font-size: 13px;
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: var(--aa-button-letter-spacing);
  line-height: 1.4;
  text-transform: var(--aa-button-text-transform);
}

.woocommerce-checkout #place_order:hover {
  background-color: var(--aa-color-primary-hover);
  border-color: var(--aa-color-primary-hover);
  color: var(--aa-color-button-text);
}

.woocommerce-checkout .form-row.place-order {
  margin: var(--aa-spacing-md) 0 0;
}

.woocommerce-checkout-review-order-table tfoot th {
  background-color: var(--aa-color-section-warm);
}

.woocommerce #order_review table.shop_table {
  margin: 0 0 var(--aa-spacing-lg);
  border: 1px solid var(--aa-color-border);
}

.woocommerce #order_review table.shop_table th,
.woocommerce #order_review table.shop_table td {
  border-color: var(--aa-color-border);
  padding: 14px 16px;
}

.woocommerce #order_review table.shop_table td {
  text-align: right;
}

.woocommerce #order_review table.shop_table tbody td {
  background-color: var(--aa-color-background);
}

.woocommerce #order_review table.shop_table tbody td.product-name {
  max-width: 376px;
  text-align: left;
}

.woocommerce #order_review table.shop_table thead th.product-total {
  text-align: right;
}

.woocommerce #order_review table.shop_table .order-total th,
.woocommerce #order_review table.shop_table .order-total td {
  color: var(--aa-color-navy);
  font-weight: var(--aa-font-weight-bold);
}

form.checkout {
  position: static !important;
}

/* Single product */
.woocommerce div.product {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: var(--aa-spacing-xl) var(--aa-spacing-lg);
  align-items: start;
}

.woocommerce div.product::after {
  display: none;
}

.woocommerce div.product div.images {
  float: none;
  width: auto;
  max-width: 100%;
  margin: 0;
}

.woocommerce div.product div.summary {
  float: none;
  width: auto;
  margin: 0;
}

.woocommerce div.product .woocommerce-product-gallery {
  position: relative;
  max-width: 100%;
  overflow: hidden;
  background-color: var(--aa-color-surface);
  border: 1px solid var(--aa-color-border);
}

.woocommerce
  div.product
  .woocommerce-product-gallery
  .woocommerce-product-gallery__wrapper,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .woocommerce-product-gallery__image,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .woocommerce-product-gallery__image--placeholder {
  max-width: 100%;
}

.woocommerce div.product .woocommerce-product-gallery img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
}

.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
  max-width: 100%;
  margin-bottom: 0;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

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

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li {
  float: none;
  width: auto !important;
  margin: 0 !important;
  list-style: none;
  cursor: pointer;
  border: 1px solid var(--aa-color-border);
  overflow: hidden;
}

.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-control-thumbs
  li
  img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0.55;
  transition: opacity 0.2s ease;
}

.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-control-thumbs
  li
  img.flex-active,
.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-control-thumbs
  li:hover
  img {
  opacity: 1;
}

.woocommerce
  div.product
  .woocommerce-product-gallery
  .flex-control-thumbs
  li:has(img.flex-active) {
  border-color: var(--aa-color-primary);
}

.woocommerce div.product .product_title {
  margin: 0 0 var(--aa-spacing-sm);
  color: var(--aa-color-navy);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: var(--aa-font-display);
  line-height: 1.15;
}

.woocommerce div.product .woocommerce-product-rating {
  display: inline-block;
  width: 100%;
  margin: 0 0 var(--aa-spacing-sm);
  font-size: var(--aa-font-size-sm);
}

.woocommerce div.product .woocommerce-product-rating .star-rating {
  float: left;
  margin-right: 10px;
  margin-top: 3px;
}

.woocommerce div.product p.price {
  margin: 0 0 var(--aa-spacing-md);
  color: var(--aa-color-navy);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: var(--aa-font-weight-bold);
  line-height: 1.2;
}

.woocommerce div.product p.price ins {
  text-decoration: none;
}

.woocommerce div.product p.price del {
  margin-right: 8px;
  color: var(--aa-color-meta);
  font-size: var(--aa-font-size-md);
  font-weight: var(--aa-font-weight-normal);
}

.woocommerce div.product div.woocommerce-product-details__short-description {
  margin: 0 0 var(--aa-spacing-md);
  color: var(--aa-color-text);
  line-height: 1.7;
}

.woocommerce div.product div.woocommerce-product-details__short-description p:last-child {
  margin-bottom: 0;
}

.woocommerce div.product form.cart {
  margin-top: var(--aa-spacing-md);
  padding-top: var(--aa-spacing-md);
  border-top: 1px solid var(--aa-color-border);
}

.woocommerce div.product form.cart .variations label {
  font-weight: var(--aa-font-weight-semibold);
}

.woocommerce div.product form.cart .quantity {
  display: inline-flex;
  align-items: center;
  margin: 0 12px 12px 0;
}

.woocommerce div.product form.cart .quantity .qty {
  box-sizing: border-box;
  width: 72px;
  min-height: var(--aa-input-min-height);
  padding: 6px 10px;
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-none);
  color: var(--aa-color-heading);
  font-size: var(--aa-font-size-base);
  text-align: center;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin: 0 0 12px;
  padding: 12px 28px;
  background-color: var(--aa-color-primary);
  border: 1px solid var(--aa-color-primary);
  border-radius: var(--aa-radius-none);
  color: var(--aa-color-button-text);
  font-size: var(--aa-button-font-size);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: var(--aa-button-letter-spacing);
  line-height: var(--aa-line-height-tight);
  text-decoration: none;
  text-transform: var(--aa-button-text-transform);
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background-color: var(--aa-color-primary-hover);
  border-color: var(--aa-color-primary-hover);
  color: var(--aa-color-button-text);
  text-decoration: none;
}

.woocommerce div.product form.cart .single_add_to_cart_button:disabled,
.woocommerce div.product form.cart .single_add_to_cart_button.disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.woocommerce div.product .product_meta {
  margin-top: var(--aa-spacing-md);
  padding-top: var(--aa-spacing-md);
  border-top: 1px solid var(--aa-color-border);
  color: var(--aa-color-meta);
  font-size: var(--aa-font-size-sm);
}

.woocommerce div.product .product_meta a {
  color: var(--aa-color-navy);
  text-decoration: none;
}

.woocommerce div.product .product_meta a:hover {
  color: var(--aa-color-primary);
}

.woocommerce div.product .product_meta > span {
  display: block;
  margin-bottom: 6px;
}

.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: var(--aa-spacing-sm);
  padding-top: var(--aa-spacing-lg);
  clear: both;
  border-top: 1px solid var(--aa-color-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  width: 100%;
  margin: 0 0 var(--aa-spacing-md);
  padding: 0;
  list-style: none;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--aa-color-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  display: block;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}

.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 {
  display: inline-block;
  padding: 12px 4px;
  margin: 0 20px 0 0;
  border-top: 0;
  border-bottom: 2px solid transparent;
  color: var(--aa-color-meta);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--aa-color-navy);
  border-bottom-color: var(--aa-color-primary);
}

.woocommerce div.product .woocommerce-Tabs-panel {
  margin: 0;
  padding: 0;
  color: var(--aa-color-text);
  line-height: 1.75;
}

.woocommerce div.product .woocommerce-Tabs-panel > h2:first-child {
  margin-top: 0;
  color: var(--aa-color-navy);
  font-size: var(--aa-font-size-h3);
  font-weight: var(--aa-font-weight-bold);
}

/* Star ratings + reviews (WC styles are dequeued) */
.woocommerce .star-rating {
  position: relative;
  display: inline-block;
  overflow: hidden;
  width: 5.6em;
  height: 1em;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0.12em;
}

.woocommerce .star-rating::before {
  content: "★★★★★";
  position: absolute;
  top: 0;
  left: 0;
  color: #ddd;
}

.woocommerce .star-rating span {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  padding-top: 1.5em;
}

.woocommerce .star-rating span::before {
  content: "★★★★★";
  position: absolute;
  top: 0;
  left: 0;
  color: #f5a623;
}

.woocommerce #reviews .commentlist {
  margin: 0 0 var(--aa-spacing-lg);
  padding: 0;
  list-style: none;
}

.woocommerce #reviews .commentlist li {
  margin: 0 0 var(--aa-spacing-md);
  padding: 0 0 var(--aa-spacing-md);
  border-bottom: 1px solid var(--aa-color-border);
}

.woocommerce #reviews .comment_container {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: var(--aa-spacing-md);
}

.woocommerce #reviews .comment_container img.avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.woocommerce #review_form_wrapper {
  margin-top: var(--aa-spacing-md);
  padding: var(--aa-spacing-lg);
  background: var(--aa-color-section-warm);
  border: 1px solid var(--aa-color-border);
}

.woocommerce #review_form #respond .comment-reply-title {
  display: block;
  margin: 0 0 var(--aa-spacing-md);
  color: var(--aa-color-navy);
  font-size: var(--aa-font-size-md);
  font-weight: var(--aa-font-weight-semibold);
}

.woocommerce #review_form #respond label {
  display: block;
  margin: 0 0 8px;
  color: var(--aa-color-heading);
  font-weight: var(--aa-font-weight-semibold);
}

.woocommerce #review_form #respond p.stars a {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 2px;
  overflow: hidden;
  font-size: 28px;
  line-height: 1;
  text-decoration: none;
  text-indent: -999em;
}

.woocommerce #review_form #respond p.stars a::before {
  content: "★";
  position: absolute;
  top: 0;
  left: 0;
  color: #ddd;
  text-indent: 0;
}

.woocommerce #review_form #respond p.stars:hover a::before,
.woocommerce #review_form #respond p.stars.selected a.active::before,
.woocommerce #review_form #respond p.stars.selected a:not(.active)::before {
  color: #f5a623;
}

.woocommerce #review_form #respond p.stars a:hover ~ a::before,
.woocommerce #review_form #respond p.stars.selected a.active ~ a::before {
  color: #ddd;
}

.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
  display: block;
  width: 100%;
  box-sizing: border-box;
  min-height: var(--aa-input-min-height);
  padding: var(--aa-input-padding);
  color: var(--aa-color-heading);
  font-family: inherit;
  font-size: var(--aa-input-font-size);
  background: var(--aa-color-background);
  border: 1px solid var(--aa-color-border-input);
}

.woocommerce #review_form #respond textarea {
  min-height: var(--aa-textarea-min-height);
  resize: vertical;
}

/* Related / upsells — single product */
.woocommerce .related.products,
.woocommerce .upsells.products {
  grid-column: 1 / -1;
  margin-top: var(--aa-spacing-xl);
  padding-top: var(--aa-spacing-lg);
  clear: both;
  border-top: 1px solid var(--aa-color-border);
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
  margin: 0 0 var(--aa-spacing-lg);
  color: var(--aa-color-navy);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: var(--aa-font-display);
  letter-spacing: 0.04em;
  text-align: left;
  text-transform: uppercase;
}

.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 0;
}

.woocommerce .related.products ul.products li.product,
.woocommerce .upsells.products ul.products li.product,
.woocommerce .cart-collaterals .cross-sells ul.products li.product {
  float: none;
  width: auto !important;
  margin: 0 !important;
}

.woocommerce .related.products ul.products li.product .woocommerce-loop-product__link:hover
  .woocommerce-loop-product__title,
.woocommerce .related.products ul.products li.product
  .woocommerce-loop-product__link:hover
  h2,
.woocommerce .upsells.products ul.products li.product .woocommerce-loop-product__link:hover
  .woocommerce-loop-product__title,
.woocommerce .upsells.products ul.products li.product
  .woocommerce-loop-product__link:hover
  h2,
.woocommerce .cart-collaterals .cross-sells ul.products li.product
  .woocommerce-loop-product__link:hover
  .woocommerce-loop-product__title,
.woocommerce .cart-collaterals .cross-sells ul.products li.product
  .woocommerce-loop-product__link:hover
  h2 {
  color: var(--aa-color-primary);
}

/* Cross-sells — cart */
.woocommerce .cart-collaterals .cross-sells ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px 20px;
  margin: 0 0 20px;
  padding: 0 0 20px;
  list-style: none;
  clear: both;
}

.woocommerce .cart-collaterals .cross-sells ul.products::before,
.woocommerce .cart-collaterals .cross-sells ul.products::after {
  display: none;
}

.woocommerce .cart-collaterals .cross-sells ul.products li.product a img {
  height: 280px;
}

.clear-after-summary {
  display: none;
}

/* My Account */
.woocommerce-account .aa-breadcrumb-wrap {
  margin-bottom: var(--aa-spacing-md);
}

.woocommerce-account .woocommerce {
  display: block;
}

.woocommerce-account .woocommerce::after {
  display: none;
}

.woocommerce-MyAccount-tabs {
  box-sizing: border-box;
  margin: 0 0 var(--aa-spacing-lg);
  padding: var(--aa-spacing-md);
  border: 1px solid var(--aa-color-border);
  background-color: var(--aa-color-section-warm);
}

.aa-user-profile {
  display: flex;
  align-items: center;
  gap: var(--aa-spacing-sm);
  margin-bottom: var(--aa-spacing-md);
  padding-bottom: var(--aa-spacing-md);
  border-bottom: 1px solid var(--aa-color-border);
}

.aa-user-profile__image img {
  display: block;
  width: 56px;
  height: 56px;
  border-radius: var(--aa-radius-none);
  border: 1px solid var(--aa-color-border);
  background-color: var(--aa-color-background);
}

.aa-user-profile__name {
  margin: 0 0 4px;
  color: var(--aa-color-navy);
  font-size: var(--aa-font-size-md);
  font-weight: var(--aa-font-weight-bold);
}

.aa-user-profile__logout {
  color: var(--aa-color-meta);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
}

.aa-user-profile__logout:hover {
  color: var(--aa-color-primary);
}

.woocommerce-MyAccount-navigation {
  width: 100%;
}

.woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 0;
}

.woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--aa-color-border);
}

.woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: 0;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 0;
  color: var(--aa-color-heading);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--aa-color-primary);
}

.woocommerce-MyAccount-content {
  box-sizing: border-box;
  float: none !important;
  width: auto !important;
  color: var(--aa-color-text);
}

.woocommerce-MyAccount-content > p {
  margin-top: 0;
  line-height: 1.7;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  margin-top: 0;
  color: var(--aa-color-navy);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: var(--aa-font-display);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content .woocommerce-orders-table.shop_table {
  margin-top: 0;
  width: 100%;
}

.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 18px;
  background-color: var(--aa-color-primary);
  border: 1px solid var(--aa-color-primary);
  border-radius: var(--aa-radius-none);
  color: var(--aa-color-button-text);
  font-size: var(--aa-button-font-size);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: var(--aa-button-letter-spacing);
  text-transform: var(--aa-button-text-transform);
  text-decoration: none;
}

.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content a.button:hover {
  background-color: var(--aa-color-primary-hover);
  border-color: var(--aa-color-primary-hover);
  color: var(--aa-color-button-text);
}

.woocommerce-MyAccount-content .addresses {
  margin-top: var(--aa-spacing-lg);
}

.woocommerce-MyAccount-content .addresses::after {
  content: "";
  display: table;
  clear: both;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address {
  float: left;
  width: 48%;
  margin-bottom: var(--aa-spacing-md);
  border: 1px solid var(--aa-color-border);
  background-color: var(--aa-color-background);
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address:last-child {
  float: right;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title {
  position: relative;
  padding: 14px 18px;
  background-color: var(--aa-color-navy);
  border-bottom: 0;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title h3 {
  margin: 0;
  color: var(--aa-color-button-text);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title a {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 6px 12px;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.45);
  color: var(--aa-color-button-text);
  font-size: 11px;
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title a:hover {
  background-color: var(--aa-color-primary);
  border-color: var(--aa-color-primary);
  color: var(--aa-color-button-text);
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address address {
  margin: 0;
  padding: 16px 18px;
  background-color: var(--aa-color-section-warm);
  color: var(--aa-color-text);
  font-style: normal;
  line-height: 1.7;
}

.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields {
  margin-top: var(--aa-spacing-md);
}

.woocommerce-EditAccountForm legend {
  color: var(--aa-color-navy);
  font-weight: var(--aa-font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

@media (min-width: 768px) {
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-tabs) {
    display: grid;
    grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
    gap: var(--aa-spacing-lg);
    align-items: start;
  }

  .woocommerce-account .woocommerce-MyAccount-tabs,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }
}

/* Login / register */
.woocommerce form.login,
.woocommerce form.register {
  max-width: 480px;
  margin: 0;
  padding: var(--aa-spacing-lg);
  border: 1px solid var(--aa-color-border);
  background-color: var(--aa-color-section-warm);
}

.woocommerce #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--aa-spacing-lg);
}

.woocommerce #customer_login::before,
.woocommerce #customer_login::after {
  display: none;
}

.woocommerce #customer_login .col-1,
.woocommerce #customer_login .col-2 {
  float: none;
  width: auto;
  margin: 0;
}

.woocommerce #customer_login h2,
.woocommerce-account .u-column1 > h2,
.woocommerce-account .u-column2 > h2,
.woocommerce-account .woocommerce > h2 {
  margin: 0 0 var(--aa-spacing-md);
  color: var(--aa-color-navy);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: var(--aa-font-display);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.woocommerce form.login .form-row,
.woocommerce form.register .form-row {
  margin-bottom: var(--aa-spacing-sm);
}

.woocommerce form.login label,
.woocommerce form.register label {
  color: var(--aa-color-heading);
  font-weight: var(--aa-font-weight-semibold);
}

.woocommerce form.login .woocommerce-form-login__submit,
.woocommerce form.register .woocommerce-form-register__submit,
.woocommerce form.login button[type="submit"],
.woocommerce form.register button[type="submit"] {
  min-height: 46px;
  margin-top: var(--aa-spacing-sm);
  padding: 12px 24px;
  background-color: var(--aa-color-primary);
  border: 1px solid var(--aa-color-primary);
  border-radius: var(--aa-radius-none);
  color: var(--aa-color-button-text);
  font-size: var(--aa-button-font-size);
  font-weight: var(--aa-font-weight-bold);
  letter-spacing: var(--aa-button-letter-spacing);
  text-transform: var(--aa-button-text-transform);
}

.woocommerce form.login .woocommerce-form-login__submit:hover,
.woocommerce form.register .woocommerce-form-register__submit:hover,
.woocommerce form.login button[type="submit"]:hover,
.woocommerce form.register button[type="submit"]:hover {
  background-color: var(--aa-color-primary-hover);
  border-color: var(--aa-color-primary-hover);
  color: var(--aa-color-button-text);
}

.woocommerce form.login .woocommerce-LostPassword a,
.woocommerce-account a.woocommerce-LostPassword {
  color: var(--aa-color-navy);
  font-size: var(--aa-font-size-sm);
  font-weight: var(--aa-font-weight-bold);
  text-decoration: none;
}

.woocommerce form.login .woocommerce-LostPassword a:hover {
  color: var(--aa-color-primary);
}

@media only screen and (max-width: 767px) {
  .woocommerce #customer_login {
    grid-template-columns: 1fr;
  }

  .woocommerce-MyAccount-content .addresses .woocommerce-Address,
  .woocommerce-MyAccount-content .addresses .woocommerce-Address:last-child {
    float: none;
    width: 100%;
  }
}

/* Shop widget sidebar */
.aa-shop-layout {
  margin-bottom: 40px;
}

.aa-shop-layout__main {
  min-width: 0;
}

.aa-shop-toolbar__actions {
  float: right;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
}

.aa-shop-toolbar__actions .woocommerce-ordering {
  float: none;
  margin: 0;
}

.aa-shop-toolbar__actions .woocommerce-ordering select {
  height: var(--aa-input-min-height);
  min-height: var(--aa-input-min-height);
  box-sizing: border-box;
}

.aa-shop-no-results__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 0;
}

.aa-shop-toolbar__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: var(--aa-radius-pill);
  background: var(--aa-color-primary);
  color: var(--aa-color-button-text);
  font-size: 11px;
  font-weight: var(--aa-font-weight-semibold);
  line-height: 1;
}

.aa-shop-sidebar-wrap {
  position: relative;
}

.aa-shop-sidebar__overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

#aa-shop-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1001;
  box-sizing: border-box;
  width: min(360px, 92vw);
  height: 100vh;
  height: 100dvh;
  margin: 0;
  padding: 24px;
  overflow-y: auto;
  border: 0;
  border-left: 1px solid var(--aa-color-border);
  background: var(--aa-color-background);
  box-shadow: -8px 0 32px rgba(0, 0, 0, 0.08);
  transform: translateX(110%);
  transition: transform 0.25s ease;
}

body.admin-bar #aa-shop-sidebar {
  top: 32px;
  height: calc(100vh - 32px);
  height: calc(100dvh - 32px);
}

@media screen and (max-width: 782px) {
  body.admin-bar #aa-shop-sidebar {
    top: 46px;
    height: calc(100vh - 46px);
    height: calc(100dvh - 46px);
  }
}

#aa-shop-sidebar .aa-shop-sidebar__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 24px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--aa-color-border);
}

#aa-shop-sidebar .aa-shop-sidebar__title {
  margin: 0;
  font-size: var(--aa-font-size-h4);
  line-height: var(--aa-line-height-heading);
  color: var(--aa-color-heading);
}

#aa-shop-sidebar .aa-shop-sidebar__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--aa-radius-sm);
  background: transparent;
  color: var(--aa-color-heading);
  font-family: inherit;
  font-size: 22px;
  font-weight: var(--aa-font-weight-normal);
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
  cursor: pointer;
}

#aa-shop-sidebar .aa-shop-sidebar__close:hover {
  background: var(--aa-color-surface);
  color: var(--aa-color-primary);
}

body.aa-shop-sidebar-open #aa-shop-sidebar {
  transform: translateX(0);
}

body.aa-shop-sidebar-open .aa-shop-sidebar__overlay {
  opacity: 1;
  pointer-events: auto;
}

.aa-shop-sidebar .widget {
  margin: 0 0 20px;
  padding: 0 0 20px;
  border: 0;
  border-bottom: 1px solid var(--aa-color-border);
}

.aa-shop-sidebar .widget_layered_nav_filters {
  display: none;
}

.aa-shop-sidebar .aa-shop-filters-form > .widget:last-of-type {
  margin-bottom: 0;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--aa-color-border);
}

.aa-shop-filters-form__submit {
  width: 100%;
  margin-top: 20px;
  text-align: center;
}

.aa-shop-sidebar .widget-title {
  margin: 0 0 12px;
  font-size: var(--aa-font-size-base);
  font-weight: var(--aa-font-weight-semibold);
  color: var(--aa-color-heading);
}

.aa-shop-sidebar .widget ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aa-shop-sidebar .widget li + li {
  margin-top: 6px;
}

.aa-shop-sidebar .widget a {
  color: var(--aa-color-text);
  text-decoration: none;
  line-height: 1.5;
}

.aa-shop-sidebar .widget a:hover {
  color: var(--aa-color-primary);
}

.aa-shop-sidebar .widget .count {
  color: var(--aa-color-meta);
  font-size: var(--aa-font-size-sm);
}

.aa-shop-sidebar .widget_layered_nav_filters ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.aa-shop-sidebar .widget_layered_nav_filters li {
  margin: 0;
}

.aa-shop-active-filters {
  clear: both;
  margin: 0 0 16px;
}

.aa-shop-active-filters ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.aa-shop-active-filters li {
  margin: 0;
}

.aa-shop-active-filters .chosen a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--aa-color-border);
  border-radius: var(--aa-radius-pill);
  background: var(--aa-color-surface);
  color: var(--aa-color-text);
  text-decoration: none;
  font-size: var(--aa-font-size-sm);
}

.aa-shop-active-filters .chosen a:hover {
  border-color: var(--aa-color-primary);
  color: var(--aa-color-primary);
}

.aa-shop-active-filters .chosen a .amount,
.aa-shop-active-filters .chosen a bdi {
  color: inherit;
  text-decoration: none;
}

.aa-shop-sidebar .widget_product_categories ul {
  list-style: none;
}

.aa-shop-sidebar .widget_product_categories .children {
  margin-top: 6px;
  padding-left: 14px;
}

.aa-shop-sidebar .widget_layered_nav .woocommerce-widget-layered-nav-list {
  list-style: none;
}

.aa-shop-sidebar .widget_layered_nav .chosen a {
  color: var(--aa-color-primary);
  font-weight: var(--aa-font-weight-semibold);
}

.aa-shop-sidebar .widget_price_filter form {
  margin: 0;
}

.aa-shop-sidebar .widget_price_filter .price_slider_wrapper {
  margin-top: 4px;
}

/* .price_slider becomes the jQuery UI track — keep it a thin bar only. */
.aa-shop-sidebar .widget_price_filter .price_slider.ui-slider {
  position: relative;
  height: 4px !important;
  min-height: 0;
  max-height: 4px;
  margin: 12px 10px 28px;
  padding: 0;
  border: 0;
  border-radius: var(--aa-radius-pill);
  background: var(--aa-color-border-input);
}

.aa-shop-sidebar .widget_price_filter .price_slider.ui-widget-content {
  border: 0;
  background: var(--aa-color-border-input);
}

.aa-shop-sidebar .widget_price_filter .price_slider .ui-slider-range {
  position: absolute;
  top: 0;
  height: 100%;
  border: 0;
  border-radius: var(--aa-radius-pill);
  background: var(--aa-color-primary);
}

.aa-shop-sidebar .widget_price_filter .price_slider .ui-slider-handle {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 16px;
  height: 16px;
  margin-left: -8px;
  border: 2px solid var(--aa-color-primary);
  border-radius: 50%;
  background: var(--aa-color-background);
  cursor: ew-resize;
  outline: none;
  transform: translateY(-50%);
}

.aa-shop-sidebar .widget_price_filter .price_slider_amount {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
}

.aa-shop-sidebar .widget_price_filter .price_slider_amount input[type="text"],
.aa-shop-sidebar .widget_price_filter .price_slider_amount input[type="hidden"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.aa-shop-sidebar .widget_price_filter .price_label {
  margin: 0;
  color: var(--aa-color-meta);
  font-size: var(--aa-font-size-sm);
  line-height: 1.5;
}

.aa-shop-sidebar .widget_price_filter .price_label .from,
.aa-shop-sidebar .widget_price_filter .price_label .to {
  color: var(--aa-color-heading);
  font-weight: var(--aa-font-weight-semibold);
}

.aa-shop-sidebar .widget_price_filter .price_slider_amount .button {
  margin: 0;
  padding: var(--aa-button-padding-woo);
  float: none;
  width: 100%;
  text-align: center;
}

.aa-shop-sidebar .widget_price_filter .clear {
  display: none;
}

.aa-category-filter__list,
.aa-category-filter__children {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aa-category-filter__children {
  margin-top: 2px;
  padding-left: 12px;
}

.aa-category-filter__item + .aa-category-filter__item {
  margin-top: 2px;
}

.aa-category-filter__option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 4px 8px;
  border-radius: var(--aa-radius-sm);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.aa-category-filter__option:hover {
  background: var(--aa-color-surface);
}

.aa-category-filter__option input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.aa-category-filter__checkbox {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border: 1px solid var(--aa-color-border-input);
  border-radius: var(--aa-radius-sm);
  background: var(--aa-color-background);
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.aa-category-filter__option input:checked + .aa-category-filter__checkbox {
  border-color: var(--aa-color-primary);
  background: var(--aa-color-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M1 5l3 3 7-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px 9px;
}

.aa-category-filter__option input:focus-visible + .aa-category-filter__checkbox {
  outline: 2px solid var(--aa-color-primary);
  outline-offset: 2px;
}

.aa-category-filter__label {
  flex: 1;
  color: var(--aa-color-text);
  line-height: 1.35;
}

.aa-category-filter__option input:checked ~ .aa-category-filter__label {
  color: var(--aa-color-heading);
  font-weight: var(--aa-font-weight-semibold);
}

.aa-category-filter__count {
  flex-shrink: 0;
  color: var(--aa-color-meta);
  font-size: var(--aa-font-size-sm);
  line-height: 1.35;
}

.aa-shop-sidebar .widget_price_filter .price_slider_amount .button {
  display: none;
}

/* Responsive */
@media only screen and (max-width: 959px) {
  .woocommerce .woocommerce-result-count {
    float: none;
    width: 100%;
    margin: 0 0 12px;
  }

  .aa-shop-toolbar__actions {
    float: none;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    margin: 0 0 16px;
  }

  .aa-shop-toolbar__actions .aa-shop-toolbar__btn {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
  }

  .aa-shop-toolbar__actions .woocommerce-ordering {
    flex: 1 1 100%;
    width: 100%;
    margin: 0;
  }

  .aa-shop-toolbar__actions .woocommerce-ordering select {
    width: 100%;
  }

  #aa-shop-sidebar {
    width: 100%;
    max-width: 100%;
    padding: 20px;
  }

  #aa-shop-sidebar .aa-shop-filters-form__submit {
    position: sticky;
    bottom: 0;
    z-index: 2;
    margin-top: 16px;
    box-shadow: 0 -8px 24px rgba(255, 255, 255, 0.9);
  }

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

  .woocommerce .cart-collaterals .cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .col2-set .col-1,
  .col2-set .col-2,
  .woocommerce #customer_login .col-1,
  .woocommerce #customer_login .col-2,
  form.checkout.woocommerce-checkout > .col2-set,
  .woocommerce-checkout > .col2-set,
  form.checkout.woocommerce-checkout h3#order_review_heading,
  form.checkout.woocommerce-checkout #order_review,
  .woocommerce-checkout h3#order_review_heading,
  .woocommerce-checkout #order_review {
    float: none;
    width: 100%;
    margin-bottom: 20px;
  }

  .woocommerce-checkout form.checkout_coupon {
    width: 100%;
    max-width: none;
    margin-bottom: 20px;
  }

  .woocommerce-checkout form.checkout_coupon .form-row-first,
  .woocommerce-checkout form.checkout_coupon .form-row-last {
    flex: 1 1 100%;
    width: 100%;
    margin: 0;
  }

  .woocommerce-checkout form.checkout {
    margin-top: 10px;
  }

  .woocommerce form.login,
  .woocommerce form.register {
    max-width: none;
  }

  .woocommerce #customer_login {
    grid-template-columns: 1fr;
  }

  .woocommerce .cart-collaterals .cart_totals {
    max-width: none;
    margin-left: 0;
  }

  .aa-shop-hero__inner {
    padding: 40px 0 32px;
  }

  .woocommerce .form-row-first,
  .woocommerce .form-row-last,
  .woocommerce-checkout
    #customer_details
    .woocommerce-billing-fields__field-wrapper
    .form-row-first,
  .woocommerce-checkout
    #customer_details
    .woocommerce-billing-fields__field-wrapper
    .form-row-last {
    float: none;
    width: 100%;
    margin-right: 0;
  }

  .woocommerce div.product div.images,
  .woocommerce div.product div.summary,
  .woocommerce-account .woocommerce-MyAccount-tabs,
  .woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: 100% !important;
    margin-right: 0;
  }

  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-tabs) {
    display: block;
  }

  .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: var(--aa-spacing-lg);
  }

  .woocommerce div.product div.images {
    margin-bottom: 0;
    text-align: left;
  }

  .woocommerce div.product div.summary {
    clear: none;
  }

  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .woocommerce-product-gallery .flex-viewport {
    width: 100% !important;
    max-width: 100%;
  }

  .woocommerce-MyAccount-content .addresses .woocommerce-Address {
    float: none;
    width: 100%;
    margin-bottom: 20px;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    margin-right: 14px;
  }

  .woocommerce .related.products,
  .woocommerce .upsells.products {
    margin-top: var(--aa-spacing-lg);
    padding-top: var(--aa-spacing-md);
  }

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

  .woocommerce .cart-collaterals .cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 600px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .woocommerce-cart table.cart td.actions .coupon {
    float: none;
    width: 100%;
    margin-bottom: 12px;
  }

  .woocommerce-cart table.cart td.actions .coupon .input-text {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
  }

  .woocommerce-cart table.cart td.actions button[name="update_cart"],
  .woocommerce-cart table.cart td.actions .coupon button {
    float: none;
    width: 100%;
  }

  .woocommerce .related.products ul.products,
  .woocommerce .upsells.products ul.products,
  .woocommerce .cart-collaterals .cross-sells ul.products {
    grid-template-columns: 1fr;
  }

  .woocommerce .related.products ul.products li.product a img,
  .woocommerce .upsells.products ul.products li.product a img {
    height: auto;
  }

  .aa-shop-hero__inner {
    padding: 32px 0 28px;
  }

  .aa-shop-hero__title {
    font-size: clamp(1.75rem, 8vw, 2.5rem);
  }

  .aa-shop-hero__lead {
    font-size: var(--aa-font-size-base);
  }

  .aa-wc-page-header {
    margin-bottom: var(--aa-spacing-md);
  }

  .aa-wc-page-header__title {
    font-size: clamp(1.5rem, 7vw, 2rem);
  }

  .woocommerce .cart-collaterals .cart_totals {
    max-width: none;
  }

  .woocommerce form.login,
  .woocommerce form.register {
    max-width: none;
    padding: var(--aa-spacing-md);
  }

  .woocommerce #customer_login h2,
  .woocommerce-account .u-column1 > h2,
  .woocommerce-account .u-column2 > h2 {
    font-size: clamp(1.25rem, 6vw, 1.5rem);
  }

  .woocommerce div.product form.cart .quantity,
  .woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100%;
    margin-right: 0;
  }

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

  .woocommerce div.product form.cart .single_add_to_cart_button {
    justify-content: center;
  }

  .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-account .woocommerce-orders-table-wrapper,
  .woocommerce-MyAccount-content .shop_table_responsive,
  .woocommerce table.shop_table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .woocommerce table.shop_table {
    min-width: 560px;
  }

  .woocommerce-account .woocommerce-orders-table.shop_table {
    min-width: 640px;
  }

  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering,
  .aa-shop-toolbar__actions {
    float: none;
    width: 100%;
    margin: 0 0 12px;
  }

  .aa-shop-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .aa-shop-toolbar__actions .woocommerce-ordering,
  .aa-shop-toolbar__actions .woocommerce-ordering select,
  .aa-shop-toolbar__actions .aa-shop-toolbar__btn {
    width: 100%;
  }

  .woocommerce-cart table.cart td.actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
}
