/* =============================================================
   xpertzmoodle — WooCommerce skin
   Styles Woo's default markup to match the theme design system.
   1. Loop/products  2. Toolbar  3. Single product  4. Cart
   5. Checkout  6. My Account  7. Notices/misc  8. Responsive
   ============================================================= */

/* 1. Product loop ---------------------------------------------- */
.xm-woo ul.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--xm-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.xm-woo ul.products::before,
.xm-woo ul.products::after { display: none; }

.xm-woo ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  overflow: hidden;
  transition: box-shadow var(--xm-t), transform var(--xm-t);
}
.xm-woo ul.products li.product:hover {
  box-shadow: var(--xm-shadow);
  transform: translateY(-6px);
}

.xm-woo ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.xm-woo ul.products li.product img {
  width: 100%;
  aspect-ratio: 10 / 7;
  object-fit: cover;
  margin: 0 !important;
  transition: transform .5s var(--xm-ease);
}
.xm-woo ul.products li.product:hover img { transform: scale(1.06); }

.xm-woo ul.products li.product .woocommerce-loop-product__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--xm-heading);
  line-height: 1.35;
  padding: 18px 22px 6px;
  margin: 0;
}
.xm-woo ul.products li.product .woocommerce-loop-product__title:hover { color: var(--xm-primary); }

.xm-woo ul.products li.product .price {
  padding: 0 22px;
  color: var(--xm-heading);
  font-size: 17px;
  font-weight: 700;
}
.xm-woo ul.products li.product .price del {
  color: var(--xm-muted);
  font-size: 14px;
  font-weight: 400;
  margin-right: 6px;
}
.xm-woo ul.products li.product .price ins { text-decoration: none; }

.xm-woo ul.products li.product .star-rating { margin: 8px 22px 0; }

.xm-woo ul.products li.product .button {
  margin: 14px 22px 22px;
  align-self: flex-start;
}

.xm-woo ul.products li.product .onsale {
  position: absolute;
  top: 14px; left: 14px;
  z-index: 2;
  min-height: 0;
  padding: 5px 12px;
  background: var(--xm-primary);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  border-radius: var(--xm-radius-sm);
}
.xm-woo ul.products li.product { position: relative; }

/* Star ratings (loop + single) */
.xm-woo .star-rating { color: var(--xm-star); }
.xm-woo .star-rating span::before { color: var(--xm-star); }

/* 2. Shop toolbar ---------------------------------------------- */
.xm-woo .woocommerce-result-count {
  font-size: 15px;
  color: var(--xm-text);
  margin: 0 0 28px;
  float: left;
}
.xm-woo .woocommerce-ordering {
  float: right;
  margin: 0 0 28px;
}
.xm-woo .woocommerce-ordering select {
  padding: 10px 36px 10px 14px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-sm);
  font-family: var(--xm-font);
  font-size: 14px;
  color: var(--xm-heading);
  background: #fff;
}
.xm-woo .woocommerce-pagination { margin-top: 48px; text-align: center; }
.xm-woo .woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  gap: 8px;
  border: 0;
  margin: 0;
}
.xm-woo .woocommerce-pagination ul.page-numbers li { border: 0; }
.xm-woo .woocommerce-pagination .page-numbers {
  display: grid;
  place-items: center;
  min-width: 44px;
  height: 44px;
  padding: 0 8px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-sm);
  color: var(--xm-heading);
  font-weight: 500;
  transition: all var(--xm-t-fast);
}
.xm-woo .woocommerce-pagination a.page-numbers:hover,
.xm-woo .woocommerce-pagination .page-numbers.current {
  background: var(--xm-primary);
  border-color: var(--xm-primary);
  color: #fff;
}

/* 3. Single product -------------------------------------------- */
.xm-woo div.product { display: block; }
.xm-woo div.product div.images { margin-bottom: 32px; }
.xm-woo div.product div.images img { border-radius: var(--xm-radius-lg); }
.xm-woo div.product div.images .flex-control-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}
.xm-woo div.product div.images .flex-control-thumbs li { width: 84px; float: none; }
.xm-woo div.product div.images .flex-control-thumbs img {
  border-radius: var(--xm-radius-sm);
  border: 2px solid transparent;
  opacity: .7;
  transition: all var(--xm-t-fast);
}
.xm-woo div.product div.images .flex-control-thumbs img.flex-active,
.xm-woo div.product div.images .flex-control-thumbs img:hover {
  opacity: 1;
  border-color: var(--xm-primary);
}

.xm-woo div.product .product_title {
  font-size: 32px;
  margin-bottom: 12px;
}
.xm-woo div.product .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.xm-woo div.product p.price {
  font-size: 28px;
  font-weight: 700;
  color: var(--xm-heading);
  margin-bottom: 18px;
}
.xm-woo div.product p.price del { color: var(--xm-muted); font-size: 18px; font-weight: 400; }
.xm-woo div.product p.price ins { text-decoration: none; }
.xm-woo div.product .woocommerce-product-details__short-description {
  font-size: 16px;
  margin-bottom: 24px;
}

.xm-woo div.product form.cart {
  display: flex;
  align-items: stretch;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.xm-woo div.product form.cart div.quantity { display: flex; }
.xm-woo .quantity .qty {
  width: 80px;
  padding: 12px;
  text-align: center;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-sm);
  font-family: var(--xm-font);
  font-size: 15px;
}

.xm-woo .product_meta {
  display: grid;
  gap: 6px;
  padding-top: 20px;
  border-top: 1px solid var(--xm-border);
  font-size: 14px;
  color: var(--xm-muted);
}
.xm-woo .product_meta a { color: var(--xm-primary); }

/* Single product tabs */
.xm-woo .woocommerce-tabs { margin-top: 48px; clear: both; }
.xm-woo .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 4px;
  margin: 0 0 28px;
  padding: 0;
  border-bottom: 1px solid var(--xm-border);
  list-style: none;
}
.xm-woo .woocommerce-tabs ul.tabs::before,
.xm-woo .woocommerce-tabs ul.tabs::after { display: none; }
.xm-woo .woocommerce-tabs ul.tabs li {
  border: 0;
  background: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
}
.xm-woo .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 12px 22px;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  color: var(--xm-text);
  font-weight: 500;
  font-size: 16px;
}
.xm-woo .woocommerce-tabs ul.tabs li.active a {
  color: var(--xm-primary);
  border-bottom-color: var(--xm-primary);
}
.xm-woo .woocommerce-tabs .panel h2 { font-size: 24px; }

/* Related products */
.xm-woo .related.products, .xm-woo .upsells.products { margin-top: 56px; clear: both; }
.xm-woo .related.products > h2, .xm-woo .upsells.products > h2 {
  font-size: 28px;
  margin-bottom: 28px;
}

/* Reviews */
.xm-woo #reviews .commentlist { list-style: none; margin: 0; padding: 0; }
.xm-woo #reviews .comment_container {
  display: flex;
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--xm-light);
}
.xm-woo #reviews .comment_container img.avatar {
  position: static;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: none;
}
.xm-woo #reviews .comment-text {
  margin: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  flex: 1;
}
.xm-woo #review_form_wrapper { margin-top: 32px; }

/* 4. Cart ------------------------------------------------------ */
.xm-woo table.shop_table {
  width: 100%;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}
.xm-woo table.shop_table th {
  background: var(--xm-light);
  color: var(--xm-heading);
  font-weight: 600;
  padding: 16px;
  text-align: left;
}
.xm-woo table.shop_table td {
  padding: 16px;
  border-top: 1px solid var(--xm-border);
  vertical-align: middle;
}
.xm-woo table.shop_table td.product-thumbnail img {
  width: 72px;
  border-radius: var(--xm-radius-sm);
}
.xm-woo table.shop_table td.product-name a {
  color: var(--xm-heading);
  font-weight: 500;
}
.xm-woo table.shop_table td.product-name a:hover { color: var(--xm-primary); }
.xm-woo table.shop_table td.product-remove a {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--xm-light);
  color: var(--xm-danger) !important;
  font-weight: 400;
}
.xm-woo table.shop_table td.product-remove a:hover {
  background: var(--xm-danger);
  color: #fff !important;
}

.xm-woo .coupon { display: flex; gap: 10px; }
.xm-woo .coupon .input-text {
  width: 180px !important;
  padding: 11px 14px !important;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-sm);
  font-family: var(--xm-font);
}

.xm-woo .cart-collaterals { margin-top: 40px; display: flex; justify-content: flex-end; }
.xm-woo .cart_totals {
  width: min(420px, 100%);
  float: none !important;
  padding: 28px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  background: #fff;
}
.xm-woo .cart_totals h2 { font-size: 22px; margin-bottom: 16px; }
.xm-woo .cart_totals table.shop_table { border: 0; }
.xm-woo .cart_totals table.shop_table th,
.xm-woo .cart_totals table.shop_table td {
  background: none;
  padding: 12px 0;
  border-top: 1px solid var(--xm-light);
}
.xm-woo .wc-proceed-to-checkout { padding: 0; margin-top: 16px; }
.xm-woo .wc-proceed-to-checkout a.checkout-button {
  display: block;
  text-align: center;
}

/* Empty cart */
.xm-woo .cart-empty.woocommerce-info { text-align: center; }
.xm-woo .return-to-shop { text-align: center; margin-top: 20px; }

/* 5. Checkout -------------------------------------------------- */
.xm-woo form.checkout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: start; }
.xm-woo form.checkout #order_review_heading { display: none; }
.xm-woo form.checkout #order_review {
  padding: 28px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  background: var(--xm-light);
  position: sticky;
  top: calc(var(--xm-header-h) + 24px);
}
.xm-woo #customer_details .col-1,
.xm-woo #customer_details .col-2 {
  float: none;
  width: 100%;
}
.xm-woo form .form-row { margin-bottom: 18px; padding: 0; }
.xm-woo form .form-row label {
  display: block;
  margin-bottom: 8px;
  color: var(--xm-heading);
  font-size: 14px;
  font-weight: 500;
}
.xm-woo form .form-row input.input-text,
.xm-woo form .form-row textarea,
.xm-woo form .form-row select,
.xm-woo form .form-row .select2-selection {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-sm);
  background: #fff;
  color: var(--xm-heading);
  font-family: var(--xm-font);
  font-size: 15px;
  height: auto;
  line-height: 1.4;
}
.xm-woo form .form-row input.input-text:focus,
.xm-woo form .form-row textarea:focus {
  outline: none;
  border-color: var(--xm-primary);
  box-shadow: 0 0 0 3px rgba(255, 120, 45, .12);
}

.xm-woo #payment {
  background: none;
  border-radius: 0;
}
.xm-woo #payment ul.payment_methods {
  padding: 0 0 18px;
  border-bottom: 1px solid var(--xm-border);
  list-style: none;
}
.xm-woo #payment ul.payment_methods li {
  padding: 12px 16px;
  margin-bottom: 8px;
  background: #fff;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-sm);
}
.xm-woo #payment div.payment_box {
  background: var(--xm-light);
  border-radius: var(--xm-radius-sm);
  font-size: 14px;
}
.xm-woo #payment div.payment_box::before { display: none; }
.xm-woo #place_order { width: 100%; margin-top: 18px; }

/* Order received */
.xm-woo .woocommerce-order .woocommerce-thankyou-order-received {
  padding: 20px 24px;
  background: #F0FAF0;
  border: 1px solid #CDEBCE;
  border-radius: var(--xm-radius);
  color: #2E7D32;
  font-size: 17px;
  font-weight: 500;
  margin-bottom: 28px;
}
.xm-woo ul.woocommerce-order-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  overflow: hidden;
}
.xm-woo ul.woocommerce-order-overview li {
  flex: 1 1 160px;
  margin: 0;
  padding: 16px 20px;
  border-right: 1px solid var(--xm-border);
  font-size: 13px;
  color: var(--xm-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.xm-woo ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 4px;
  color: var(--xm-heading);
  font-size: 15px;
  text-transform: none;
  letter-spacing: 0;
}

/* 6. My Account ------------------------------------------------ */

/* --- Account page hero --- */
.xm-page-hero--account {
  padding: 32px 0 28px;
}
.xm-page-hero--account .xm-page-hero__title {
  font-size: 28px;
  margin: 6px 0 0;
}

/* --- Layout: sidebar nav + content (desktop) --- */
.xm-woo .woocommerce-MyAccount-navigation {
  float: none;
  width: 100%;
}
.xm-woo:has(.woocommerce-MyAccount-navigation) .woocommerce {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}

/* --- Navigation sidebar (sticky on desktop) --- */
.xm-woo .woocommerce-MyAccount-navigation {
  position: sticky;
  top: calc(var(--xm-header-h) + 24px);
}
.xm-woo .xm-nav-account {
  list-style: none;
  margin: 0;
  padding: 8px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  background: #fff;
  display: grid;
  gap: 2px;
}
.xm-woo .xm-nav-account li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: var(--xm-radius-sm);
  color: var(--xm-text);
  font-weight: 500;
  font-size: 15px;
  transition: all var(--xm-t-fast);
}
.xm-woo .xm-nav-account li a:hover {
  background: var(--xm-primary-soft);
  color: var(--xm-primary);
}
.xm-woo .xm-nav-account li.is-active a {
  background: var(--xm-primary);
  color: #fff;
}
.xm-woo .xm-nav-account li.is-active a .xm-nav-account__icon {
  color: #fff;
}
.xm-nav-account__icon {
  flex-shrink: 0;
  color: var(--xm-muted);
  transition: color var(--xm-t-fast);
}
.xm-nav-account li a:hover .xm-nav-account__icon {
  color: var(--xm-primary);
}
.xm-nav-account__dot {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--xm-border);
  flex-shrink: 0;
}
.xm-nav-account li.is-active .xm-nav-account__dot {
  background: #fff;
}

/* --- Content area --- */
.xm-woo .woocommerce-MyAccount-content {
  float: none;
  width: 100%;
  min-height: 400px;
}

/* --- Account login/register columns --- */
body.woocommerce-account .xm-section.xm-woo {
  background: var(--xm-light);
  padding: 40px 0 60px;
}
.xm-woo .u-columns.col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  margin: 0 !important;
  align-items: stretch !important;
}
.xm-woo .u-columns.col2-set .col-1,
.xm-woo .u-columns.col2-set .col-2 {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  padding: 36px 32px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-lg);
  background: #fff;
}
.xm-woo .u-columns.col2-set .col-1 {
  grid-column: 1;
}
.xm-woo .u-columns.col2-set .col-2 {
  grid-column: 2;
}
.xm-woo .u-columns.col2-set .col-1 h2,
.xm-woo .u-columns.col2-set .col-2 h2 {
  font-size: 22px;
  margin: 0 0 20px;
  text-align: center;
  color: var(--xm-heading);
}
.xm-woo .u-columns.col2-set form {
  display: grid;
  gap: 14px;
  flex: 1;
}
.xm-woo .u-columns.col2-set form .form-row {
  margin: 0;
  padding: 0;
  width: 100%;
}
.xm-woo .u-columns.col2-set form .form-row-first,
.xm-woo .u-columns.col2-set form .form-row-last {
  width: 48%;
  float: left;
  margin: 0;
}
.xm-woo .u-columns.col2-set form .form-row-first {
  margin-right: 4%;
}
.xm-woo .u-columns.col2-set form .clear {
  clear: both;
}
.xm-woo .u-columns.col2-set form label {
  display: block;
  margin-bottom: 6px;
  color: var(--xm-heading);
  font-size: 14px;
  font-weight: 500;
}
.xm-woo .u-columns.col2-set form .input-text,
.xm-woo .u-columns.col2-set form input[type="text"],
.xm-woo .u-columns.col2-set form input[type="email"],
.xm-woo .u-columns.col2-set form input[type="password"],
.xm-woo .u-columns.col2-set form input[type="tel"] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-sm);
  background: #fff;
  color: var(--xm-heading);
  font-family: var(--xm-font);
  font-size: 15px;
  transition: border-color var(--xm-t-fast), box-shadow var(--xm-t-fast);
  box-sizing: border-box;
}
.xm-woo .u-columns.col2-set form .input-text:focus {
  outline: none;
  border-color: var(--xm-primary);
  box-shadow: 0 0 0 3px rgba(255, 120, 45, .12);
}
.xm-woo .u-columns.col2-set form .form-row--bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.xm-woo .u-columns.col2-set .lost_password {
  margin: 0;
  text-align: center;
}
.xm-woo .u-columns.col2-set .lost_password a {
  color: var(--xm-primary);
  font-size: 14px;
  font-weight: 500;
}
.xm-woo .u-columns.col2-set .woocommerce-privacy-policy-text {
  font-size: 13px;
  color: var(--xm-muted);
  margin: 0;
  line-height: 1.5;
}
.xm-woo .u-columns.col2-set .woocommerce-privacy-policy-text a {
  color: var(--xm-primary);
}

/* Register button spacing */
.xm-woo .u-columns.col2-set form p.form-row:last-child {
  margin-top: 2px;
}

/* Registration form hints */
.xm-field__hint {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: var(--xm-muted);
}
.xm-auth__terms {
  margin-top: 12px;
  font-size: 13px;
  color: var(--xm-muted);
  text-align: center;
}
.xm-auth__terms a {
  color: var(--xm-primary);
  font-weight: 500;
}

/* --- Dashboard --- */
.xm-dashboard {
  display: grid;
  gap: 32px;
}

/* Greeting card */
.xm-dashboard__greeting {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
}
.xm-dashboard__avatar img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}
.xm-dashboard__welcome {
  flex: 1;
}
.xm-dashboard__hello {
  margin: 0 0 2px;
  font-size: 20px;
  font-weight: 600;
  color: var(--xm-heading);
}
.xm-dashboard__hello strong {
  color: var(--xm-primary);
}
.xm-dashboard__member-since {
  margin: 0;
  font-size: 14px;
  color: var(--xm-muted);
}

/* Stats cards */
.xm-dashboard__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.xm-dashboard__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  padding: 28px 20px 24px;
  background: #fff;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  transition: box-shadow var(--xm-t), transform var(--xm-t);
}
.xm-dashboard__stat:hover {
  box-shadow: var(--xm-shadow-sm);
  transform: translateY(-3px);
}
.xm-dashboard__stat-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--xm-primary-soft);
  color: var(--xm-primary);
  margin-bottom: 4px;
}
.xm-dashboard__stat-value {
  font-size: 28px;
  font-weight: 700;
  color: var(--xm-heading);
  line-height: 1.2;
}
.xm-dashboard__stat-label {
  font-size: 13px;
  color: var(--xm-muted);
}
.xm-dashboard__stat-link {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--xm-primary);
}
.xm-dashboard__stat-link:hover {
  text-decoration: underline;
}

/* Quick links */
.xm-dashboard__section-title {
  font-size: 18px;
  margin-bottom: 16px;
  color: var(--xm-heading);
}
.xm-dashboard__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.xm-dashboard__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius-sm);
  background: #fff;
  color: var(--xm-text);
  font-size: 14px;
  font-weight: 500;
  transition: all var(--xm-t-fast);
}
.xm-dashboard__link:hover {
  border-color: var(--xm-primary);
  background: var(--xm-primary-soft);
  color: var(--xm-primary);
}
.xm-dashboard__link--logout:hover {
  border-color: var(--xm-danger);
  background: #FDF1F0;
  color: var(--xm-danger);
}

/* --- Orders table --- */
.xm-woo table.woocommerce-orders-table {
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
}
.xm-woo table.woocommerce-orders-table thead th {
  background: var(--xm-light);
  color: var(--xm-heading);
  font-weight: 600;
  padding: 14px 16px;
  font-size: 14px;
  text-align: left;
}
.xm-woo table.woocommerce-orders-table tbody td {
  padding: 14px 16px;
  border-top: 1px solid var(--xm-border);
  font-size: 14px;
  vertical-align: middle;
}
.xm-woo table.woocommerce-orders-table tbody tr:hover td {
  background: var(--xm-primary-soft);
}
.xm-woo table.woocommerce-orders-table .button {
  padding: 7px 16px;
  font-size: 13px;
  margin-right: 4px;
}
.xm-woo table.woocommerce-orders-table .woocommerce-button {
  display: inline-flex;
  align-items: center;
}
.xm-woo .woocommerce-orders-table__cell-order-number a {
  color: var(--xm-primary);
  font-weight: 600;
}

/* Order status badges */
.xm-woo mark.order-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--xm-radius-pill);
  font-size: 12px;
  font-weight: 600;
  background: var(--xm-light);
  color: var(--xm-text);
}
.xm-woo mark.order-status.status-completed {
  background: #E8F7E9;
  color: var(--xm-success);
}
.xm-woo mark.order-status.status-processing {
  background: var(--xm-primary-soft);
  color: var(--xm-primary);
}
.xm-woo mark.order-status.status-on-hold {
  background: #FFF3E0;
  color: #E65100;
}
.xm-woo mark.order-status.status-cancelled {
  background: #FDF1F0;
  color: var(--xm-danger);
}
.xm-woo mark.order-status.status-refunded {
  background: #F3E5F5;
  color: #7B1FA2;
}

/* View order page */
.xm-woo .woocommerce-order-details {
  margin-top: 28px;
}
.xm-woo .woocommerce-order-details h2 {
  font-size: 22px;
  margin-bottom: 16px;
}
.xm-woo .woocommerce-table--order-details {
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
}
.xm-woo .woocommerce-table--order-details thead th {
  background: var(--xm-light);
  padding: 14px 16px;
  font-size: 14px;
  text-align: left;
}
.xm-woo .woocommerce-table--order-details tbody td,
.xm-woo .woocommerce-table--order-details tfoot td,
.xm-woo .woocommerce-table--order-details tfoot th {
  padding: 12px 16px;
  border-top: 1px solid var(--xm-border);
  font-size: 14px;
}
.xm-woo .woocommerce-customer-details {
  margin-top: 28px;
}
.xm-woo .woocommerce-customer-details h2 {
  font-size: 22px;
  margin-bottom: 16px;
}
.xm-woo address {
  padding: 20px 24px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  font-style: normal;
  line-height: 1.7;
}

/* Order updates */
.xm-woo .woocommerce-OrderUpdates {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: grid;
  gap: 12px;
}
.xm-woo .woocommerce-OrderUpdate {
  padding: 16px 20px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  background: #fff;
}
.xm-woo .woocommerce-OrderUpdate-meta {
  font-size: 13px;
  color: var(--xm-muted);
  margin-bottom: 6px;
}

/* --- Downloads --- */
.xm-woo .woocommerce-MyAccount-downloads .woocommerce-MyAccount-downloads-file {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.xm-woo .woocommerce-MyAccount-content .digital-downloads {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.xm-woo .woocommerce-MyAccount-content .digital-downloads li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 14px 20px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  background: #fff;
  font-size: 15px;
}
.xm-woo .woocommerce-MyAccount-content .digital-downloads li a {
  color: var(--xm-primary);
  font-weight: 500;
}
.xm-woo .woocommerce-MyAccount-content .digital-downloads li a:hover {
  text-decoration: underline;
}
.xm-woo .woocommerce-Count {
  font-size: 13px;
  color: var(--xm-muted);
}

/* --- Addresses --- */
.xm-woo .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 8px;
}
.xm-woo .woocommerce-Addresses .woocommerce-Address {
  padding: 28px;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  background: #fff;
  transition: box-shadow var(--xm-t);
}
.xm-woo .woocommerce-Addresses .woocommerce-Address:hover {
  box-shadow: var(--xm-shadow-sm);
}
.xm-woo .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.xm-woo .woocommerce-Address-title h2 {
  margin: 0;
  font-size: 18px;
}
.xm-woo .woocommerce-Address-title .edit {
  font-size: 13px;
  font-weight: 600;
  color: var(--xm-primary);
}
.xm-woo .woocommerce-Address-title .edit:hover {
  text-decoration: underline;
}
.xm-woo .woocommerce-Address address {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 15px;
  line-height: 1.7;
}

/* --- Edit Address form --- */
.xm-woo form.edit-address h2 {
  font-size: 22px;
  margin-bottom: 20px;
}
.xm-woo .woocommerce-address-fields__field-wrapper {
  display: grid;
  gap: 4px;
}

/* --- Edit Account form --- */
.xm-woo form.edit-account {
  max-width: 640px;
}
.xm-woo form.edit-account h2,
.xm-woo form.edit-account legend {
  font-size: 22px;
  margin-bottom: 16px;
  padding-top: 8px;
}
.xm-woo form.edit-account fieldset {
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  padding: 24px 28px;
  margin-top: 24px;
}
.xm-woo form.edit-account .clear {
  clear: both;
}

/* --- Payment Methods --- */
.xm-woo .woocommerce-MyAccount-paymentMethods {
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  width: 100%;
  margin-top: 8px;
}
.xm-woo .woocommerce-MyAccount-paymentMethods thead th {
  background: var(--xm-light);
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 600;
  text-align: left;
}
.xm-woo .woocommerce-MyAccount-paymentMethods tbody td {
  padding: 14px 16px;
  border-top: 1px solid var(--xm-border);
  font-size: 14px;
}
.xm-woo .woocommerce-MyAccount-paymentMethods .button {
  padding: 7px 16px;
  font-size: 13px;
}

/* --- Add Payment Method --- */
#add_payment_method #payment {
  background: none;
  border-radius: 0;
  margin-top: 8px;
}
#add_payment_method #payment ul.payment_methods {
  padding: 0;
  border: 0;
  list-style: none;
}
#add_payment_method #payment ul.payment_methods li {
  padding: 16px 20px;
  margin-bottom: 10px;
  background: #fff;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
}
#add_payment_method #payment div.payment_box {
  background: var(--xm-light);
  border-radius: var(--xm-radius-sm);
  margin-top: 10px;
  padding: 14px 18px;
  font-size: 14px;
}

/* --- Notices in My Account --- */
.xm-woo .woocommerce-MyAccount-content .woocommerce-info,
.xm-woo .woocommerce-MyAccount-content .woocommerce-message,
.xm-woo .woocommerce-MyAccount-content .woocommerce-error {
  margin-top: 8px;
}

/* --- Empty states --- */
.xm-woo .woocommerce-MyAccount-content .woocommerce-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.xm-woo .woocommerce-MyAccount-content .woocommerce-info a.button {
  flex-shrink: 0;
}

/* 7. Buttons, notices, misc ------------------------------------ */
.xm-woo .button,
.xm-woo button.button,
.xm-woo a.button,
.xm-woo input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 28px;
  border: 1px solid transparent;
  border-radius: var(--xm-radius-sm);
  background: var(--xm-primary);
  color: #fff;
  font-family: var(--xm-font);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  cursor: pointer;
  transition: background var(--xm-t-fast), box-shadow var(--xm-t-fast);
}
.xm-woo .button:hover,
.xm-woo button.button:hover,
.xm-woo a.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--xm-primary-dark);
  color: #fff;
  box-shadow: 0 8px 20px rgba(255, 120, 45, .35);
}
.xm-woo .button.xm-btn--outline {
  background: transparent;
  border-color: var(--xm-primary);
  color: var(--xm-primary);
}
.xm-woo .button.xm-btn--outline:hover {
  background: var(--xm-primary);
  color: #fff;
  box-shadow: none;
}
.xm-woo .button:disabled,
.xm-woo .button.disabled {
  opacity: .5;
  padding: 12px 28px;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top: 0;
  border: 1px solid var(--xm-border);
  border-radius: var(--xm-radius);
  background: var(--xm-light);
  color: var(--xm-heading);
  padding: 16px 20px 16px 52px;
  margin-bottom: 28px;
}
.woocommerce-message { border-color: #CDEBCE; background: #F0FAF0; }
.woocommerce-message::before { color: var(--xm-success); }
.woocommerce-info { border-color: #FFE1CC; background: var(--xm-primary-soft); }
.woocommerce-info::before { color: var(--xm-primary); }
.woocommerce-error { border-color: #F7C6C2; background: #FDF1F0; }
.woocommerce-error::before { color: var(--xm-danger); }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  padding: 8px 18px;
  font-size: 14px;
}

/* Price colors everywhere */
.xm-woo .price ins { color: var(--xm-heading); }
.xm-woo .price del { opacity: 1; }

/* Quantity stepper buttons (theme JS) */
.xm-woo .quantity { position: relative; display: inline-flex; align-items: stretch; gap: 6px; }

/* Breadcrumb */
.xm-woo .woocommerce-breadcrumb {
  font-size: 14px;
  color: var(--xm-muted);
  margin-bottom: 24px;
}
.xm-woo .woocommerce-breadcrumb a { color: var(--xm-text); }
.xm-woo .woocommerce-breadcrumb a:hover { color: var(--xm-primary); }

/* 8. Responsive ------------------------------------------------ */
@media (max-width: 992px) {
  .xm-woo ul.products { grid-template-columns: repeat(2, 1fr); }
  .xm-woo form.checkout { grid-template-columns: 1fr; }
  .xm-woo form.checkout #order_review { position: static; }
  .xm-woo:has(.woocommerce-MyAccount-navigation) .woocommerce { grid-template-columns: 1fr; }
  .xm-woo .u-columns.col2-set {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .xm-woo .u-columns.col2-set .col-1,
  .xm-woo .u-columns.col2-set .col-2 {
    float: none !important;
    width: 100% !important;
    padding: 28px 24px;
    grid-column: auto !important;
  }

  /* My Account: navigation becomes horizontal scroll on tablet+ */
  .xm-woo .woocommerce-MyAccount-navigation {
    position: static;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .xm-woo .woocommerce-MyAccount-navigation::-webkit-scrollbar {
    display: none;
  }
  .xm-woo .xm-nav-account {
    display: flex;
    gap: 4px;
    padding: 0;
    border: 0;
    background: none;
    min-width: max-content;
  }
  .xm-woo .xm-nav-account li a {
    white-space: nowrap;
    padding: 10px 16px;
    border: 1px solid var(--xm-border);
    background: #fff;
  }

  /* Dashboard stats go 2x2 */
  .xm-dashboard__stats {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Addresses go single column */
  .xm-woo .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .xm-woo ul.products { grid-template-columns: 1fr; }
  .xm-woo .woocommerce-result-count,
  .xm-woo .woocommerce-ordering { float: none; }
  .xm-woo div.product div.images,
  .xm-woo div.product div.summary { width: 100%; float: none; }
  .xm-woo table.shop_table_responsive tr { border-bottom: 1px solid var(--xm-border); }
  .xm-woo .cart-collaterals { justify-content: stretch; }
  .xm-woo .cart_totals { width: 100%; }
  .xm-woo .coupon { width: 100%; }
  .xm-woo .coupon .input-text { flex: 1; width: auto !important; }

  /* My Account mobile: forms, stats, address cards single column */
  .xm-dashboard__greeting {
    flex-direction: column;
    text-align: center;
  }
  .xm-dashboard__stats {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .xm-dashboard__stat {
    padding: 20px 12px;
  }
  .xm-dashboard__stat-value {
    font-size: 22px;
  }
  .xm-dashboard__links {
    flex-direction: column;
  }
  .xm-dashboard__link {
    width: 100%;
    justify-content: center;
  }
  .xm-woo .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
  .xm-woo .u-columns.col2-set .col-1,
  .xm-woo .u-columns.col2-set .col-2 {
    padding: 24px 20px;
  }
  .xm-woo form.edit-account fieldset {
    padding: 16px 18px;
  }
  .xm-woo .woocommerce-Addresses .woocommerce-Address {
    padding: 20px;
  }
  .xm-woo .woocommerce-MyAccount-content .digital-downloads li {
    flex-direction: column;
    align-items: flex-start;
  }
  .xm-page-hero--account .xm-page-hero__title {
    font-size: 24px;
  }
}

@media (max-width: 576px) {
  .xm-dashboard__stats {
    grid-template-columns: 1fr;
  }
}
