/* =========================================================
   PREMIUM WOOCOMMERCE STYLES — Hello Elementor Child
   Cart + Checkout + My Account
   Loaded from functions.php ONLY when WooCommerce is active.

   Every colour, size, spacing, border and radius below is driven
   by the --wcp-* variables. Change them in:
   Appearance > Customize > WooCommerce Pages Style
   (the Customizer prints only the values you changed, after this file)
   ========================================================= */

:root {
  /* Colors */
  --wcp-page-bg: #f6f4f0;
  --wcp-card-bg: #ffffff;
  --wcp-text: #14120f;
  --wcp-muted: #7a746b;
  --wcp-accent: #b08d57;
  --wcp-accent-soft: #f4ecdd;
  --wcp-primary: #14120f;
  --wcp-on-primary: #ffffff;
  --wcp-btn-hover: #2a261f;
  --wcp-border: #ebe7e0;
  --wcp-border-strong: #d6cfc2;
  --wcp-input-bg: #ffffff;
  --wcp-alt-bg: #faf9f6;
  --wcp-danger: #c0392b;
  --wcp-danger-soft: #fdf0ee;
  --wcp-danger-text: #8a2b1f;
  --wcp-badge-text: #7d5f2e;
  /* Typography */
  --wcp-font-body: inherit;
  --wcp-font-heading: inherit;
  --wcp-font-size: 15px;
  --wcp-h-size: 22px;
  --wcp-product-size: 18px;
  --wcp-total-size: 26px;
  --wcp-btn-font-size: 16px;
  --wcp-weight-bold: 700;
  --wcp-weight-semibold: 600;
  /* Spacing (padding, margin, gaps) */
  --wcp-wrap-pad: 32px;
  --wcp-wrap-pad-tablet: 24px;
  --wcp-wrap-pad-mobile: 14px;
  --wcp-wrap-margin: 24px;
  --wcp-layout-gap: 32px;
  --wcp-card-gap: 16px;
  --wcp-field-gap: 16px;
  --wcp-step-title-gap: 20px;
  --wcp-totals-pad: 16px;
  --wcp-summary-item-pad: 16px;
  --wcp-card-pad: 28px;
  --wcp-card-pad-mobile: 18px;
  --wcp-item-pad: 20px;
  --wcp-content-pad: 36px;
  --wcp-input-h: 56px;
  --wcp-btn-h: 58px;
  /* Page spacing (top & bottom) */
  --wcp-page-pt: 0px;
  --wcp-page-pb: 0px;
  --wcp-page-mt: 0px;
  --wcp-page-mb: 0px;
  --wcp-notitle-pt: 40px;
  --wcp-notitle-pb: 40px;
  --wcp-page-pt-m: 0px;
  --wcp-page-pb-m: 0px;
  --wcp-page-mt-m: 0px;
  --wcp-page-mb-m: 0px;
  --wcp-notitle-pt-m: 24px;
  --wcp-notitle-pb-m: 24px;
  /* Borders, radius & shadow */
  --wcp-border-w: 1px;
  --wcp-card-border-w: 0px;
  --wcp-card-border-c: #ebe7e0;
  --wcp-radius-wrap: 28px;
  --wcp-radius-card: 22px;
  --wcp-radius-inner: 14px;
  --wcp-radius-input: 12px;
  --wcp-btn-radius: 16px;
  --wcp-btn-radius-pill: 999px;
  --wcp-shadow: 0 1px 2px rgba(20,18,15,.04), 0 12px 32px -12px rgba(20,18,15,.12);
  /* Text shown by CSS (translatable via WooCommerce > Labels & Translations) */
  --wcp-txt-secure: "Secure checkout";
  --wcp-txt-item-total: "Item total";
  --wcp-secure-display: block;
}

/* #########################################################
   1) CART
   ######################################################### */
/* =========================================================
   PREMIUM WOOCOMMERCE CART (Block Cart) — Hello Elementor
   Paste in: Appearance > Customize > Additional CSS
   (or Elementor > Site Settings > Custom CSS)
   ========================================================= */

.wp-block-woocommerce-cart {
  --c-bg: var(--wcp-page-bg);
  --c-card: var(--wcp-card-bg);
  --c-ink: var(--wcp-text);
  --c-muted: var(--wcp-muted);
  --c-line: var(--wcp-border);
  --c-accent: var(--wcp-accent);
  --c-accent-soft: var(--wcp-accent-soft);
  --c-danger: var(--wcp-danger);
  --radius-lg: var(--wcp-radius-card);
  --radius-md: var(--wcp-radius-inner);
  --shadow: var(--wcp-shadow);

  background: var(--c-bg);
  color: var(--c-ink);
  padding: var(--wcp-wrap-pad);
  border-radius: var(--wcp-radius-wrap);
  margin: var(--wcp-wrap-margin) auto;
  box-sizing: border-box;
}
.wp-block-woocommerce-cart *,
.wp-block-woocommerce-cart *::before,
.wp-block-woocommerce-cart *::after { box-sizing: border-box; }

/* ---------- Layout ---------- */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: var(--wcp-layout-gap);
  align-items: start;
  margin: 0;
}
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar {
  width: 100% !important;
  margin: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-cart__main { padding: 0 !important; }
.wp-block-woocommerce-cart .wc-block-cart__sidebar {
  position: sticky;
  top: 24px;
}

/* ---------- Items: table -> cards ---------- */
.wp-block-woocommerce-cart table.wc-block-cart-items,
.wp-block-woocommerce-cart .wc-block-cart-items tbody {
  display: block;
  width: 100%;
  border: 0 !important;
  margin: 0;
}
.wp-block-woocommerce-cart .wc-block-cart-items thead { display: none; }
.wp-block-woocommerce-cart .wc-block-cart-items tbody {
  display: grid;
  gap: var(--wcp-card-gap);
}

.wp-block-woocommerce-cart .wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  grid-template-areas: "image product total";
  gap: 8px 24px;
  align-items: start;
  background: var(--c-card);
  border-radius: var(--radius-lg);
  padding: var(--wcp-item-pad);
  box-shadow: var(--shadow);
  border: var(--wcp-border-w) solid color-mix(in srgb, var(--c-card) 60%, transparent);
  transition: transform .25s ease, box-shadow .25s ease;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row:hover {
  transform: translateY(-2px);
  box-shadow: 0 1px 2px rgba(20,18,15,.05), 0 20px 40px -14px rgba(20,18,15,.18);
}
.wp-block-woocommerce-cart .wc-block-cart-items__row > td {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
  width: auto;
  visibility: visible;
}

/* Image */
.wp-block-woocommerce-cart .wc-block-cart-item__image { grid-area: image; }
.wp-block-woocommerce-cart .wc-block-cart-item__image a { display: block; }
.wp-block-woocommerce-cart .wc-block-cart-item__image img {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-md);
  background: var(--c-bg);
  display: block;
}

/* Product info */
.wp-block-woocommerce-cart .wc-block-cart-item__product { grid-area: product; min-width: 0; }
.wp-block-woocommerce-cart .wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.wp-block-woocommerce-cart a.wc-block-components-product-name {
  color: var(--c-ink);
  font-size: var(--wcp-product-size);
  font-weight: var(--wcp-weight-semibold);
  letter-spacing: -.01em;
  line-height: 1.3;
  text-decoration: none;
  transition: color .2s;
}
.wp-block-woocommerce-cart a.wc-block-components-product-name:hover { color: var(--c-accent); }

.wp-block-woocommerce-cart .wc-block-cart-item__prices { order: 2; }
.wp-block-woocommerce-cart .wc-block-cart-item__prices .price {
  display: inline-flex;
  gap: 8px;
  align-items: baseline;
}
.wp-block-woocommerce-cart .wc-block-components-product-price__regular {
  color: var(--c-muted);
  font-size: 14px;
}
.wp-block-woocommerce-cart .wc-block-components-product-price__value.is-discounted {
  color: var(--c-ink);
  font-weight: var(--wcp-weight-semibold);
  text-decoration: none;
  background: none;
}
.wp-block-woocommerce-cart .wc-block-components-product-metadata {
  order: 3;
  color: var(--c-muted);
  font-size: 14px;
  line-height: 1.5;
}
.wp-block-woocommerce-cart .wc-block-components-product-metadata p { margin: 0; }

/* Quantity + remove */
.wp-block-woocommerce-cart .wc-block-cart-item__quantity {
  order: 4;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 10px;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 42px;
  background: var(--c-bg);
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: 999px;
  padding: 3px;
  margin: 0;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after { display: none !important; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input {
  width: 44px !important;
  min-width: 0;
  height: 34px;
  border: 0 !important;
  background: transparent !important;
  text-align: center;
  font-weight: var(--wcp-weight-semibold);
  font-size: var(--wcp-font-size);
  color: var(--c-ink);
  padding: 0 !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
  -webkit-appearance: none; margin: 0;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
  position: static !important;
  width: 34px;
  height: 34px;
  min-width: 34px;
  display: grid;
  place-items: center;
  border-radius: 50% !important;
  border: 0 !important;
  background: var(--c-card) !important;
  color: var(--c-ink) !important;
  font-size: 18px;
  line-height: 1;
  padding: 0 !important;
  box-shadow: 0 1px 3px rgba(20,18,15,.12);
  opacity: 1 !important;
  cursor: pointer;
  transition: background .2s, color .2s, transform .15s;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:active:not(:disabled) { transform: scale(.92); }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:disabled {
  opacity: .4 !important;
  cursor: not-allowed;
  box-shadow: none;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0 !important;
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--c-muted) !important;
  cursor: pointer;
  transition: all .2s;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link svg {
  width: 20px; height: 20px; fill: currentColor;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
  color: var(--c-danger) !important;
  border-color: var(--c-danger) !important;
  background: var(--wcp-danger-soft) !important;
}

/* Line total + sale badge */
.wp-block-woocommerce-cart .wc-block-cart-item__total { grid-area: total; text-align: right; }
.wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
  font-size: 20px;
  font-weight: var(--wcp-weight-bold);
  letter-spacing: -.01em;
}
.wp-block-woocommerce-cart .wc-block-components-sale-badge {
  background: var(--c-accent-soft) !important;
  color: var(--wcp-badge-text) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 4px 12px !important;
  font-size: 12px !important;
  font-weight: var(--wcp-weight-semibold);
  letter-spacing: .02em;
  text-transform: none;
}

/* ---------- Totals sidebar ---------- */
.wp-block-woocommerce-cart .wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
  background: var(--c-card);
  border-radius: var(--radius-lg);
  padding: var(--wcp-card-pad) !important;
  box-shadow: var(--shadow);
}
.wp-block-woocommerce-cart .wc-block-cart__totals-title {
  font-size: var(--wcp-h-size) !important;
  font-weight: var(--wcp-weight-bold);
  letter-spacing: -.01em;
  text-transform: none !important;
  text-align: left !important;
  padding: 0 0 18px !important;
  margin: 0 0 6px !important;
  border-bottom: var(--wcp-border-w) solid var(--c-line);
  color: var(--c-ink);
}
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper {
  border-top: 0 !important;
  padding: var(--wcp-totals-pad) 0 !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper {
  border-top: var(--wcp-border-w) solid var(--c-line) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--c-muted);
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item {
  color: var(--c-ink);
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 16px;
  font-weight: var(--wcp-weight-semibold);
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: var(--wcp-total-size);
  font-weight: var(--wcp-weight-bold);
  letter-spacing: -.02em;
}

/* Coupon */
.wp-block-woocommerce-cart .wc-block-components-panel__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  width: 100%;
  padding: 14px 18px !important;
  margin: 0 !important;
  background: var(--c-bg) !important;
  border: var(--wcp-border-w) dashed var(--wcp-border-strong) !important;
  border-radius: var(--radius-md);
  color: var(--c-ink) !important;
  font-size: var(--wcp-font-size);
  font-weight: 500;
  cursor: pointer;
  transition: border-color .2s, background .2s;
}
.wp-block-woocommerce-cart .wc-block-components-panel__button:hover {
  border-color: var(--c-accent) !important;
  background: var(--c-accent-soft) !important;
}
.wp-block-woocommerce-cart .wc-block-components-panel__button-icon { fill: var(--c-accent); }
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form,
.wp-block-woocommerce-cart .wc-block-components-panel__content { padding-top: 12px; }
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form {
  display: flex;
  gap: 8px;
}
.wp-block-woocommerce-cart .wc-block-components-text-input input {
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: var(--wcp-radius-input) !important;
  background: var(--wcp-input-bg);
  height: 48px;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button {
  border-radius: var(--wcp-radius-input) !important;
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  min-height: 48px;
  padding: 0 20px;
  border: 0;
}

/* Checkout button */
.wp-block-woocommerce-cart .wc-block-cart__submit-container { padding: 4px 0 0 !important; }
.wp-block-woocommerce-cart a.wc-block-cart__submit-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: var(--wcp-btn-h);
  padding: 0 24px;
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  border-radius: var(--wcp-btn-radius) !important;
  border: 0 !important;
  font-size: var(--wcp-btn-font-size);
  font-weight: var(--wcp-weight-semibold);
  letter-spacing: .01em;
  text-decoration: none;
  box-shadow: 0 10px 24px -8px rgba(20,18,15,.45);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wp-block-woocommerce-cart a.wc-block-cart__submit-button::after {
  content: "→";
  font-size: 20px;
  transition: transform .2s;
}
.wp-block-woocommerce-cart a.wc-block-cart__submit-button:hover {
  background: var(--wcp-btn-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -10px rgba(20,18,15,.5);
}
.wp-block-woocommerce-cart a.wc-block-cart__submit-button:hover::after { transform: translateX(4px); }
.wp-block-woocommerce-cart a.wc-block-cart__submit-button:focus-visible,
.wp-block-woocommerce-cart button:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}
.wp-block-woocommerce-cart .wc-block-cart__submit::after {
  content: "🔒 " var(--wcp-txt-secure);
  display: var(--wcp-secure-display);
  text-align: center;
  margin-top: 14px;
  font-size: 13px;
  color: var(--c-muted);
}

/* ---------- UI fixes ---------- */
/* Kill Hello Elementor's pink/purple button styles */
.wp-block-woocommerce-cart button,
.wp-block-woocommerce-cart [type="button"] { transition: all .2s; }
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:focus,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:active:not(:disabled) {
  color: var(--c-ink) !important;
  background: var(--c-card) !important;
  border: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover,
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:focus {
  color: var(--c-danger) !important;
  background: var(--wcp-danger-soft) !important;
  border-color: var(--c-danger) !important;
}

/* Product text sizes (theme was shrinking them) */
.wp-block-woocommerce-cart a.wc-block-components-product-name {
  font-size: var(--wcp-product-size) !important;
  font-weight: var(--wcp-weight-semibold) !important;
  line-height: 1.3 !important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price__value,
.wp-block-woocommerce-cart .wc-block-cart-item__prices ins { font-size: 16px; }
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description,
.wp-block-woocommerce-cart .wc-block-components-product-metadata p { font-size: 14px !important; }

/* Sidebar heading + spacing */
.wp-block-woocommerce-cart .wc-block-cart__totals-title {
  font-size: var(--wcp-h-size) !important;
  font-weight: var(--wcp-weight-bold) !important;
  line-height: 1.2 !important;
  margin: 0 0 8px !important;
  padding: 0 0 18px !important;
  color: var(--c-ink) !important;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block { padding: 0 !important; }
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block { padding: 16px 0 !important; }
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block:empty { display: none; }

/* Coupon toggle: text left, chevron right with proper gap */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel { width: 100%; }
.wp-block-woocommerce-cart .wc-block-components-panel__button {
  flex-direction: row !important;
  justify-content: space-between !important;
  gap: 12px;
  text-align: left;
  min-height: 52px;
}
.wp-block-woocommerce-cart .wc-block-components-panel__button-icon {
  position: static !important;
  flex: 0 0 24px;
  margin: 0 !important;
  transform: none;
}
.wp-block-woocommerce-cart .wc-block-components-panel__button[aria-expanded="true"] .wc-block-components-panel__button-icon {
  transform: rotate(180deg);
}

/* Totals row */
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
  padding: 18px 0 !important;
  border-top: var(--wcp-border-w) solid var(--c-line) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: var(--wcp-total-size) !important;
  font-weight: var(--wcp-weight-bold) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-item__description:empty { display: none; }

/* Checkout button spacing */
.wp-block-woocommerce-cart .wc-block-cart__submit-container { padding: 6px 0 0 !important; }
.wp-block-woocommerce-cart a.wc-block-cart__submit-button { color: var(--wcp-on-primary) !important; }
.wp-block-woocommerce-cart .wc-block-cart__submit::after { margin-top: 16px; }

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1024px) {
  .wp-block-woocommerce-cart { padding: var(--wcp-wrap-pad-tablet); }
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .wp-block-woocommerce-cart .wc-block-cart__sidebar { position: static; }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 640px) {
  .wp-block-woocommerce-cart {
    padding: var(--wcp-wrap-pad-mobile);
    margin: 12px 0 90px;
    border-radius: 20px;
  }
  .wp-block-woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-areas:
      "image product"
      "total total";
    gap: 14px;
    padding: calc(var(--wcp-item-pad) - 6px);
    border-radius: 18px;
  }
  .wp-block-woocommerce-cart .wc-block-cart-items__row:hover { transform: none; }
  .wp-block-woocommerce-cart .wc-block-cart-item__image img { border-radius: var(--wcp-radius-inner); }
  .wp-block-woocommerce-cart a.wc-block-components-product-name { font-size: calc(var(--wcp-product-size) - 2px); }

  /* Total row sits under the item with a divider */
  .wp-block-woocommerce-cart .wc-block-cart-item__total {
    padding-top: 12px !important;
    border-top: var(--wcp-border-w) solid var(--c-line) !important;
    text-align: left;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__total::before {
    content: var(--wcp-txt-item-total);
    display: block;
    float: left;
    font-size: 13px;
    color: var(--c-muted);
    line-height: 28px;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    flex-direction: row;
    justify-content: flex-end;
    gap: 10px;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
    font-size: 18px;
  }

  .wp-block-woocommerce-cart .wc-block-cart-item__quantity { gap: 10px; margin-top: 8px; }
  .wp-block-woocommerce-cart .wc-block-components-quantity-selector { height: 40px; }
  .wp-block-woocommerce-cart .wc-block-components-quantity-selector__input { width: 36px !important; }

  .wp-block-woocommerce-cart .wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
    padding: var(--wcp-card-pad-mobile) !important;
    border-radius: 18px;
  }
  .wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: calc(var(--wcp-total-size) - 4px);
  }

  /* Sticky checkout bar pinned to the bottom */
  .wp-block-woocommerce-cart .wc-block-cart__submit-container--sticky {
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
    background: color-mix(in srgb, var(--c-card) 92%, transparent) !important;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-top: var(--wcp-border-w) solid var(--c-line);
    box-shadow: 0 -10px 30px -12px rgba(20,18,15,.2);
  }
  .wp-block-woocommerce-cart a.wc-block-cart__submit-button { min-height: calc(var(--wcp-btn-h) - 4px); }
  .wp-block-woocommerce-cart .wc-block-cart__submit::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-woocommerce-cart * { transition: none !important; }
}


/* =========================================================
   MOBILE LAYOUT FIX (overrides WooCommerce's built-in
   is-mobile / is-small cart rules that caused overlapping)
   ========================================================= */

/* Reset WooCommerce's own cell positioning at every size */
.wp-block-woocommerce-cart .wc-block-cart-items__row > td {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  visibility: visible !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* Desktop / tablet placement */
.wp-block-woocommerce-cart .wc-block-cart-items__row {
  grid-template-columns: 120px minmax(0, 1fr) auto !important;
  padding: var(--wcp-item-pad) !important;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row > td.wc-block-cart-item__image   { grid-column: 1 !important; grid-row: 1 !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td.wc-block-cart-item__product { grid-column: 2 !important; grid-row: 1 !important; }
.wp-block-woocommerce-cart .wc-block-cart-items__row > td.wc-block-cart-item__total   { grid-column: 3 !important; grid-row: 1 !important; }

/* Coupon toggle: text on the left, chevron on the right (svg comes first in the DOM) */
.wp-block-woocommerce-cart .wc-block-components-panel__button {
  flex-direction: row-reverse !important;
  justify-content: space-between !important;
  align-items: center !important;
  text-align: left !important;
}

@media (max-width: 640px) {
  .wp-block-woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    row-gap: 12px !important;
    padding: calc(var(--wcp-item-pad) - 6px) !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-items__row > td.wc-block-cart-item__image   { grid-column: 1 !important; grid-row: 1 !important; }
  .wp-block-woocommerce-cart .wc-block-cart-items__row > td.wc-block-cart-item__product { grid-column: 2 !important; grid-row: 1 !important; }
  .wp-block-woocommerce-cart .wc-block-cart-items__row > td.wc-block-cart-item__total   {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 12px !important;
    border-top: var(--wcp-border-w) solid var(--c-line) !important;
    text-align: left;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__total::before {
    content: var(--wcp-txt-item-total);
    float: none !important;
    display: block;
    font-size: 13px;
    line-height: 1.2;
    color: var(--c-muted);
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px;
    margin-left: auto;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image img {
    width: 92px !important;
    height: 92px !important;
    aspect-ratio: 1 / 1;
  }
  .wp-block-woocommerce-cart a.wc-block-components-product-name { font-size: calc(var(--wcp-product-size) - 2px) !important; }
  .wp-block-woocommerce-cart .wc-block-cart-item__wrap { gap: 4px; }
  .wp-block-woocommerce-cart .wc-block-cart-item__quantity { flex-wrap: wrap; }
}


/* =========================================================
   COUPON TOGGLE — hover / focus / active fix
   (keeps padding + alignment identical in every state)
   ========================================================= */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:focus,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:focus-visible,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:active {
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  line-height: 1.4 !important;
  text-align: left !important;
  text-indent: 0 !important;
  border: var(--wcp-border-w) dashed var(--wcp-border-strong) !important;
  border-radius: var(--radius-md) !important;
  color: var(--c-ink) !important;
  font-size: var(--wcp-font-size) !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  outline: none;
  text-decoration: none !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
  background: var(--c-bg) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:focus,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:active {
  background: var(--c-accent-soft) !important;
  border-color: var(--c-accent) !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:focus-visible {
  outline: 2px solid var(--c-accent) !important;
  outline-offset: 2px;
}

/* Chevron: centred vertically, no leftover absolute positioning */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  flex: 0 0 24px !important;
  align-self: center !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  fill: var(--c-ink) !important;
  transition: transform .25s ease;
}


/* #########################################################
   2) CHECKOUT
   ######################################################### */
/* =========================================================
   PREMIUM WOOCOMMERCE CHECKOUT (Block Checkout) — Hello Elementor
   Matches premium-cart.css. Paste in the same Additional CSS
   (keep the cart CSS too).
   ========================================================= */

.wp-block-woocommerce-checkout {
  --c-bg: var(--wcp-page-bg);
  --c-card: var(--wcp-card-bg);
  --c-ink: var(--wcp-text);
  --c-muted: var(--wcp-muted);
  --c-line: var(--wcp-border);
  --c-accent: var(--wcp-accent);
  --c-accent-soft: var(--wcp-accent-soft);
  --c-danger: var(--wcp-danger);
  --radius-lg: var(--wcp-radius-card);
  --radius-md: var(--wcp-radius-inner);
  --shadow: var(--wcp-shadow);

  background: var(--c-bg);
  color: var(--c-ink);
  padding: var(--wcp-wrap-pad);
  border-radius: var(--wcp-radius-wrap);
  margin: var(--wcp-wrap-margin) auto;
  box-sizing: border-box;
}
.wp-block-woocommerce-checkout *,
.wp-block-woocommerce-checkout *::before,
.wp-block-woocommerce-checkout *::after { box-sizing: border-box; }

/* ---------- Layout ---------- */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: var(--wcp-layout-gap);
  align-items: start;
  margin: 0;
}
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
  width: 100% !important;
  margin: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__main { padding: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block {
  position: sticky;
  top: 24px;
  background: var(--c-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: var(--wcp-card-pad) !important;
}

/* ---------- Steps as numbered cards ---------- */
.wp-block-woocommerce-checkout .wc-block-checkout__form { counter-reset: step; margin: 0; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-step {
  background: var(--c-card);
  border: 0 !important;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: var(--wcp-card-pad) !important;
  margin: 0 0 var(--wcp-card-gap) !important;
  min-width: 0;
}
.wp-block-woocommerce-checkout fieldset.wc-block-components-checkout-step { counter-increment: step; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  margin: 0 0 var(--wcp-step-title-gap) !important;
  padding: 0 0 18px !important;
  border-bottom: var(--wcp-border-w) solid var(--c-line);
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading {
  display: flex;
  align-items: center;
  margin: 0 !important;
}
.wp-block-woocommerce-checkout h2.wc-block-components-checkout-step__title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 !important;
  font-size: var(--wcp-h-size) !important;
  font-weight: var(--wcp-weight-bold) !important;
  letter-spacing: -.01em;
  line-height: 1.2 !important;
  color: var(--c-ink) !important;
}
.wp-block-woocommerce-checkout h2.wc-block-components-checkout-step__title::before {
  content: counter(step);
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--wcp-primary);
  color: var(--wcp-on-primary);
  font-size: 14px;
  font-weight: var(--wcp-weight-semibold);
  letter-spacing: 0;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__content { padding: 0 !important; margin: 0; }

/* ---------- Inputs (floating labels kept intact) ---------- */
.wp-block-woocommerce-checkout .wc-block-components-text-input { position: relative; }
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="text"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="email"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="tel"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="password"],
.wp-block-woocommerce-checkout .wc-block-components-text-input input[type="number"] {
  height: var(--wcp-input-h) !important;
  width: 100%;
  padding: 22px 16px 6px !important;
  background: var(--wcp-input-bg) !important;
  color: var(--c-ink) !important;
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: var(--wcp-radius-input) !important;
  font-size: var(--wcp-font-size) !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  transition: border-color .2s, box-shadow .2s;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input input:hover { border-color: var(--wcp-border-strong) !important; }
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus {
  border-color: var(--wcp-primary) !important;
  box-shadow: 0 0 0 4px var(--c-accent-soft) !important;
  outline: none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input label {
  position: absolute !important;
  left: 16px !important;
  right: 16px;
  top: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--c-muted) !important;
  font-size: var(--wcp-font-size) !important;
  line-height: 1.2 !important;
  transform-origin: top left;
  transform: translateY(calc((var(--wcp-input-h) - 18px) / 2)) !important;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: transform .15s ease;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus + label {
  transform: translateY(8px) scale(.78) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input {
  border-color: var(--c-danger) !important;
  box-shadow: 0 0 0 4px var(--wcp-danger-soft) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-validation-error,
.wp-block-woocommerce-checkout .wc-block-components-validation-error p {
  color: var(--c-danger) !important;
  font-size: 13px;
}

/* Selects */
.wp-block-woocommerce-checkout .wc-blocks-components-select__container {
  position: relative;
  background: transparent !important;
}
.wp-block-woocommerce-checkout .wc-blocks-components-select__select {
  height: var(--wcp-input-h) !important;
  width: 100%;
  padding: 22px 44px 6px 16px !important;
  background-color: var(--wcp-on-primary) !important;
  color: var(--c-ink) !important;
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: var(--wcp-radius-input) !important;
  font-size: var(--wcp-font-size) !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color .2s, box-shadow .2s;
}
.wp-block-woocommerce-checkout .wc-blocks-components-select__select:focus {
  border-color: var(--wcp-primary) !important;
  box-shadow: 0 0 0 4px var(--c-accent-soft) !important;
  outline: none !important;
}
.wp-block-woocommerce-checkout .wc-blocks-components-select__label {
  position: absolute !important;
  top: 8px !important;
  left: 16px !important;
  margin: 0 !important;
  transform: none !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  color: var(--c-muted) !important;
  pointer-events: none;
  z-index: 1;
}
.wp-block-woocommerce-checkout .wc-blocks-components-select__expand {
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  fill: var(--c-ink);
  pointer-events: none;
}

/* Small links */
.wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-toggle,
.wp-block-woocommerce-checkout .wc-block-components-address-card__edit {
  color: var(--c-accent) !important;
  font-size: 14px;
  font-weight: var(--wcp-weight-semibold);
  text-decoration: none !important;
  cursor: pointer;
  transition: color .2s;
}
.wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-toggle:hover,
.wp-block-woocommerce-checkout .wc-block-components-address-card__edit:hover { color: var(--c-ink) !important; }

/* Saved address card */
.wp-block-woocommerce-checkout .wc-block-components-address-card {
  background: var(--c-bg);
  border: var(--wcp-border-w) dashed var(--wcp-border-strong) !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 18px !important;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.wp-block-woocommerce-checkout .wc-block-components-address-card address { font-style: normal; font-size: 14px; color: var(--c-ink); }

/* Checkboxes */
.wp-block-woocommerce-checkout .wc-block-components-checkbox label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-size: var(--wcp-font-size);
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
  position: relative !important;
  flex: 0 0 22px;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  background: var(--wcp-input-bg) !important;
  border: 1.5px solid var(--wcp-border-strong) !important;
  border-radius: 7px !important;
  -webkit-appearance: none;
  appearance: none;
  transition: all .2s;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
  background: var(--wcp-primary) !important;
  border-color: var(--wcp-primary) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark {
  position: absolute !important;
  left: 3px !important;
  top: 50% !important;
  transform: translateY(-50%);
  width: 16px !important;
  height: 16px !important;
  fill: var(--wcp-on-primary) !important;
  pointer-events: none;
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label { margin: 0; }
.wp-block-woocommerce-checkout .wc-block-checkout__add-note textarea,
.wp-block-woocommerce-checkout .wc-block-components-textarea {
  width: 100%;
  min-height: 110px;
  margin-top: 14px;
  padding: 14px 16px !important;
  background: var(--wcp-input-bg) !important;
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: var(--wcp-radius-input) !important;
  font-size: var(--wcp-font-size);
  box-shadow: none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-textarea:focus {
  border-color: var(--wcp-primary) !important;
  box-shadow: 0 0 0 4px var(--c-accent-soft) !important;
  outline: none;
}

/* Notices */
.wp-block-woocommerce-checkout .wc-block-components-notice-banner {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: var(--c-bg) !important;
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: var(--radius-md) !important;
  padding: 14px 16px !important;
  font-size: 14px;
  color: var(--c-ink) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-notice-banner.is-error {
  background: var(--wcp-danger-soft) !important;
  border-color: color-mix(in srgb, var(--wcp-danger) 22%, var(--c-card)) !important;
  color: var(--wcp-danger-text) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-notice-banner.is-error > svg { fill: var(--c-danger) !important; background: transparent !important; }

/* Terms + place order */
.wp-block-woocommerce-checkout .wc-block-checkout__terms {
  border: 0 !important;
  padding: 4px 6px !important;
  margin: 0 0 16px !important;
  font-size: 13px;
  line-height: 1.6;
  color: var(--c-muted);
}
.wp-block-woocommerce-checkout .wc-block-checkout__terms a { color: var(--c-ink) !important; text-decoration: underline; text-underline-offset: 3px; }
.wp-block-woocommerce-checkout .wc-block-checkout__actions { padding: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-checkout__actions_row { display: flex; align-items: center; gap: 16px; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button { color: var(--c-muted) !important; font-size: 14px; text-decoration: none !important; }
.wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: var(--wcp-btn-h);
  padding: 0 24px !important;
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  border: 0 !important;
  border-radius: var(--wcp-btn-radius) !important;
  font-size: var(--wcp-btn-font-size) !important;
  font-weight: var(--wcp-weight-semibold);
  letter-spacing: .01em;
  box-shadow: 0 10px 24px -8px rgba(20,18,15,.45);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button .wc-block-components-button__text { display: flex; align-items: center; gap: 10px; }
.wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button .wc-block-components-button__text::after {
  content: "→";
  font-size: 20px;
  transition: transform .2s;
}
.wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button:focus {
  background: var(--wcp-btn-hover) !important;
  color: var(--wcp-on-primary) !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -10px rgba(20,18,15,.5);
}
.wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button:hover .wc-block-components-button__text::after { transform: translateX(4px); }
.wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 3px;
}
.wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.wp-block-woocommerce-checkout .wc-block-checkout__actions::after {
  content: "🔒 " var(--wcp-txt-secure);
  display: var(--wcp-secure-display);
  text-align: center;
  margin-top: 14px;
  font-size: 13px;
  color: var(--c-muted);
}

/* ---------- Order summary (sidebar) ---------- */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 18px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: var(--wcp-border-w) solid var(--c-line) !important;
  background: transparent !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
  margin: 0 !important;
  font-size: var(--wcp-h-size) !important;
  font-weight: var(--wcp-weight-bold) !important;
  letter-spacing: -.01em;
  line-height: 1.2 !important;
  color: var(--c-ink) !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar.is-large .wc-block-components-checkout-order-summary__title-price,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar.is-large .wc-block-components-checkout-order-summary__title-icon { display: none !important; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-price { font-weight: var(--wcp-weight-bold); font-size: 18px; margin-left: auto; }
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon svg { fill: var(--c-ink); }

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block {
  padding: 4px 0 !important;
  border: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary__content { padding: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: var(--wcp-summary-item-pad) 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: var(--wcp-border-w) solid var(--c-line) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item:last-child { border-bottom: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image {
  position: relative;
  width: 64px !important;
  height: 64px;
  margin: 0 !important;
  padding: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  border-radius: var(--wcp-radius-inner);
  border: 0 !important;
  background: var(--c-bg);
  display: block;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  left: auto !important;
  min-width: 22px;
  height: 22px;
  padding: 0 6px !important;
  display: grid !important;
  place-items: center;
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  border: 2px solid var(--c-card) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: var(--wcp-weight-semibold);
  line-height: 1;
  box-shadow: none !important;
  transform: none !important;
  z-index: 2;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description {
  padding: 0 !important;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description h3.wc-block-components-product-name {
  margin: 0 !important;
  font-size: var(--wcp-font-size) !important;
  font-weight: var(--wcp-weight-semibold) !important;
  line-height: 1.3 !important;
  color: var(--c-ink) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
  display: inline-flex;
  gap: 6px;
  align-items: baseline;
  font-size: 13px;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price__regular { color: var(--c-muted); }
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description ins.is-discounted { text-decoration: none; background: none; font-weight: var(--wcp-weight-semibold); }
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata p {
  margin: 0; font-size: 13px; color: var(--c-muted); line-height: 1.4;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  padding: 0 !important;
  margin: 0 !important;
  text-align: right;
}
.wp-block-woocommerce-checkout .wc-block-cart-item__total-price-and-sale-badge-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price .wc-block-components-product-price__value {
  font-size: var(--wcp-font-size); font-weight: var(--wcp-weight-bold);
}
.wp-block-woocommerce-checkout .wc-block-components-sale-badge {
  background: var(--c-accent-soft) !important;
  color: var(--wcp-badge-text) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 3px 10px !important;
  font-size: 11px !important;
  font-weight: var(--wcp-weight-semibold);
  text-transform: none;
}

/* Coupon toggle */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block { padding: 16px 0 !important; border: 0 !important; }
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:focus,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:active {
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  line-height: 1.4 !important;
  text-align: left !important;
  border: var(--wcp-border-w) dashed var(--wcp-border-strong) !important;
  border-radius: var(--radius-md) !important;
  color: var(--c-ink) !important;
  font-size: var(--wcp-font-size) !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button { background: var(--c-bg) !important; }
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:hover,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:focus,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:active {
  background: var(--c-accent-soft) !important;
  border-color: var(--c-accent) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button:focus-visible {
  outline: 2px solid var(--c-accent) !important;
  outline-offset: 2px;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
  position: static !important;
  flex: 0 0 24px !important;
  align-self: center !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  fill: var(--c-ink) !important;
  transition: transform .25s ease;
}
.wp-block-woocommerce-checkout .wc-block-components-panel__button[aria-expanded="true"] .wc-block-components-panel__button-icon { transform: rotate(180deg); }
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon__form { display: flex; gap: 8px; padding-top: 12px; }
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button {
  border-radius: var(--wcp-radius-input) !important;
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  min-height: var(--wcp-input-h);
  padding: 0 20px;
  border: 0;
}

/* Totals */
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper {
  border-top: var(--wcp-border-w) solid var(--c-line) !important;
  padding: var(--wcp-totals-pad) 0 !important;
}
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper { border-top: 0 !important; }
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block.wc-block-components-totals-wrapper { border-top: var(--wcp-border-w) solid var(--c-line) !important; }
.wp-block-woocommerce-checkout .wc-block-components-totals-wrapper:empty { display: none; }
.wp-block-woocommerce-checkout .wc-block-components-totals-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--c-muted);
  font-size: var(--wcp-font-size);
}
.wp-block-woocommerce-checkout .wc-block-components-totals-item__description:empty { display: none; }
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item { color: var(--c-ink); }
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 16px; font-weight: var(--wcp-weight-semibold); }
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: var(--wcp-total-size) !important;
  font-weight: var(--wcp-weight-bold) !important;
  letter-spacing: -.02em;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1024px) {
  .wp-block-woocommerce-checkout { padding: var(--wcp-wrap-pad-tablet); }
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  /* Order summary first on small screens */
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar { order: -1; position: static !important; }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 640px) {
  .wp-block-woocommerce-checkout {
    padding: var(--wcp-wrap-pad-mobile);
    margin: 12px 0;
    border-radius: 20px;
  }
  .wp-block-woocommerce-checkout .wc-block-components-checkout-step {
    padding: var(--wcp-card-pad-mobile) !important;
    border-radius: 18px;
  }
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block {
    padding: var(--wcp-card-pad-mobile) !important;
    border-radius: 18px;
  }
  .wp-block-woocommerce-checkout h2.wc-block-components-checkout-step__title { font-size: calc(var(--wcp-h-size) - 4px) !important; }
  .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title { padding-bottom: 0 !important; border-bottom: 0 !important; cursor: pointer; }
  .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { font-size: calc(var(--wcp-h-size) - 4px) !important; }
  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item { grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; }
  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image { width: 56px !important; height: 56px; }
  .wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: calc(var(--wcp-total-size) - 4px) !important; }
  .wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button { min-height: calc(var(--wcp-btn-h) - 4px); }
  .wp-block-woocommerce-checkout .wc-block-checkout__actions_row { flex-direction: column-reverse; align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-woocommerce-checkout * { transition: none !important; }
}


/* #########################################################
   3) MY ACCOUNT
   ######################################################### */
/* =========================================================
   PREMIUM WOOCOMMERCE MY ACCOUNT — Hello Elementor
   Matches premium-cart.css / premium-checkout.css.
   Covers: dashboard, orders, downloads, addresses, account
   details, view-order, login/register and notices.
   ========================================================= */

.woocommerce-account .woocommerce {
  --c-bg: var(--wcp-page-bg);
  --c-card: var(--wcp-card-bg);
  --c-ink: var(--wcp-text);
  --c-muted: var(--wcp-muted);
  --c-line: var(--wcp-border);
  --c-accent: var(--wcp-accent);
  --c-accent-soft: var(--wcp-accent-soft);
  --c-danger: var(--wcp-danger);
  --radius-lg: var(--wcp-radius-card);
  --radius-md: var(--wcp-radius-inner);
  --shadow: var(--wcp-shadow);

  background: var(--c-bg);
  color: var(--c-ink);
  padding: var(--wcp-wrap-pad);
  border-radius: var(--wcp-radius-wrap);
  margin: var(--wcp-wrap-margin) auto;
  box-sizing: border-box;
}
.woocommerce-account .woocommerce *,
.woocommerce-account .woocommerce *::before,
.woocommerce-account .woocommerce *::after { box-sizing: border-box; }

/* ---------- Layout: sidebar nav + content ---------- */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: var(--wcp-layout-gap);
  align-items: start;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

/* ---------- Navigation ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
  position: sticky;
  top: 24px;
  background: var(--c-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: 12px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  color: var(--c-ink) !important;
  font-size: var(--wcp-font-size);
  font-weight: 500;
  text-decoration: none !important;
  line-height: 1.2;
  transition: background .2s, color .2s, transform .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
  content: "";
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  background: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
  opacity: .85;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--c-bg);
  transform: translateX(2px);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: var(--wcp-primary);
  color: var(--wcp-on-primary) !important;
  box-shadow: 0 10px 22px -10px rgba(20,18,15,.5);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover { transform: none; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: var(--wcp-border-w) solid var(--c-line) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  background: var(--wcp-danger-soft);
  color: var(--c-danger) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* Icons */
.woocommerce-MyAccount-navigation-link--dashboard a {
  --icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='9' rx='1.5'/><rect x='14' y='3' width='7' height='5' rx='1.5'/><rect x='14' y='12' width='7' height='9' rx='1.5'/><rect x='3' y='16' width='7' height='5' rx='1.5'/></svg>");
}
.woocommerce-MyAccount-navigation-link--orders a {
  --icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 7h12l1 13H5L6 7z'/><path d='M9 7a3 3 0 0 1 6 0'/></svg>");
}
.woocommerce-MyAccount-navigation-link--downloads a {
  --icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4v11'/><path d='M7 11l5 5 5-5'/><path d='M5 20h14'/></svg>");
}
.woocommerce-MyAccount-navigation-link--edit-address a {
  --icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s7-6.2 7-11.5A7 7 0 0 0 5 9.5C5 14.8 12 21 12 21z'/><circle cx='12' cy='9.5' r='2.5'/></svg>");
}
.woocommerce-MyAccount-navigation-link--edit-account a {
  --icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 21c0-4 3.6-7 8-7s8 3 8 7'/></svg>");
}
.woocommerce-MyAccount-navigation-link--customer-logout a {
  --icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M10 4H5v16h5'/><path d='M15 8l4 4-4 4'/><path d='M19 12H9'/></svg>");
}

/* ---------- Content card ---------- */
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--c-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: var(--wcp-content-pad);
  min-width: 0;
  font-size: var(--wcp-font-size);
  line-height: 1.7;
  color: var(--c-ink);
}
.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content > :last-child { margin-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
  font-size: var(--wcp-h-size);
  font-weight: var(--wcp-weight-bold);
  letter-spacing: -.01em;
  line-height: 1.25;
  color: var(--c-ink);
  margin: 0 0 18px;
}
.woocommerce-account .woocommerce-MyAccount-content p { margin: 0 0 16px; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) {
  color: var(--c-ink);
  text-decoration: underline;
  text-decoration-color: var(--c-accent);
  text-underline-offset: 4px;
  transition: color .2s;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):hover { color: var(--c-accent); }

/* ---------- Dashboard greeting ---------- */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type {
  position: relative;
  overflow: hidden;
  margin: 0 0 24px;
  padding: 32px;
  border-radius: 18px;
  background:
    radial-gradient(420px 200px at 100% 0%, color-mix(in srgb, var(--wcp-accent) 45%, transparent), transparent 70%),
    var(--wcp-primary);
  color: color-mix(in srgb, var(--wcp-on-primary) 75%, transparent);
  font-size: var(--wcp-font-size);
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type strong {
  display: block;
  color: var(--wcp-on-primary);
  font-size: 28px;
  font-weight: var(--wcp-weight-bold);
  letter-spacing: -.02em;
  line-height: 1.2;
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type strong:first-of-type::before {
  content: "Welcome back,";
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type strong:last-of-type:not(:first-of-type) {
  display: inline;
  font-size: inherit;
  color: var(--wcp-on-primary);
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type a {
  color: var(--c-accent) !important;
  text-decoration-color: var(--c-accent);
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:nth-of-type(2) {
  color: var(--c-muted);
  font-size: 16px;
  line-height: 1.8;
  max-width: 62ch;
}

/* ---------- Buttons ---------- */
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce input.button,
.woocommerce-account .woocommerce .woocommerce-Button,
.woocommerce-account .woocommerce a.woocommerce-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 26px !important;
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  border: var(--wcp-border-w) solid var(--wcp-primary) !important;
  border-radius: var(--wcp-btn-radius-pill) !important;
  font-size: var(--wcp-font-size) !important;
  font-weight: var(--wcp-weight-semibold) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 8px 20px -8px rgba(20,18,15,.4);
  transition: transform .2s, box-shadow .2s, background .2s, color .2s;
}
.woocommerce-account .woocommerce a.button:hover,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce input.button:hover,
.woocommerce-account .woocommerce .woocommerce-Button:hover,
.woocommerce-account .woocommerce a.woocommerce-button:hover {
  background: var(--wcp-btn-hover) !important;
  color: var(--wcp-on-primary) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 26px -10px rgba(20,18,15,.5);
}
/* Light buttons inside tables (View, Pay, Cancel…) */
.woocommerce-account .woocommerce table a.button,
.woocommerce-account .woocommerce table a.woocommerce-button {
  min-height: 38px;
  padding: 0 18px !important;
  font-size: 13px !important;
  background: transparent !important;
  color: var(--c-ink) !important;
  border: var(--wcp-border-w) solid var(--wcp-border-strong) !important;
  box-shadow: none;
}
.woocommerce-account .woocommerce table a.button:hover,
.woocommerce-account .woocommerce table a.woocommerce-button:hover {
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  border-color: var(--wcp-primary) !important;
  transform: none;
}
.woocommerce-account .woocommerce .button:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }

/* ---------- Tables (orders, downloads, order details) ---------- */
.woocommerce-account .woocommerce-MyAccount-content table {
  width: 100%;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0;
  margin: 0 0 24px;
  font-size: var(--wcp-font-size);
}
.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td {
  padding: 18px 14px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: var(--wcp-border-w) solid var(--c-line) !important;
  vertical-align: middle;
  text-align: left;
}
.woocommerce-account .woocommerce-MyAccount-content table thead th {
  padding-top: 0 !important;
  font-size: 12px;
  font-weight: var(--wcp-weight-semibold);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-muted);
  border-bottom: var(--wcp-border-w) solid var(--c-line) !important;
}
.woocommerce-account .woocommerce-MyAccount-content table tbody tr:hover td { background: var(--wcp-alt-bg) !important; }
.woocommerce-account .woocommerce-MyAccount-content table tbody tr:last-child td { border-bottom: 0 !important; }
.woocommerce-account .woocommerce-orders-table__cell-order-number a { font-weight: var(--wcp-weight-bold); }
.woocommerce-account .woocommerce-MyAccount-content table tfoot th { color: var(--c-muted); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-content table tfoot tr:last-child th,
.woocommerce-account .woocommerce-MyAccount-content table tfoot tr:last-child td { font-size: 18px; font-weight: var(--wcp-weight-bold); color: var(--c-ink); }
.woocommerce-account .woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button { margin: 0 6px 6px 0; }

.woocommerce-account .woocommerce-MyAccount-pagination {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-top: 8px;
}

/* ---------- Addresses ---------- */
.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2 {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  background: var(--c-bg);
  border-radius: var(--radius-md);
  padding: 24px;
}
.woocommerce-account .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 { margin: 0; font-size: 18px; }
.woocommerce-account .woocommerce-Address-title a.edit {
  display: inline-flex;
  padding: 6px 14px;
  background: var(--wcp-input-bg);
  border: var(--wcp-border-w) solid var(--c-line);
  border-radius: var(--wcp-btn-radius-pill);
  font-size: 13px;
  font-weight: var(--wcp-weight-semibold);
  text-decoration: none !important;
  color: var(--c-ink) !important;
}
.woocommerce-account .woocommerce-Address-title a.edit:hover { border-color: var(--c-accent); background: var(--c-accent-soft); }
.woocommerce-account .woocommerce-Address address { font-style: normal; color: var(--c-muted); line-height: 1.8; }

/* ---------- Forms ---------- */
.woocommerce-account .woocommerce form .form-row,
.woocommerce-account .woocommerce form .woocommerce-form-row {
  float: none !important;
  width: auto !important;
  margin: 0 0 var(--wcp-field-gap) !important;
  padding: 0 !important;
}
.woocommerce-account .woocommerce form .form-row label,
.woocommerce-account .woocommerce form label {
  display: block;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: var(--wcp-weight-semibold);
  color: var(--c-ink);
  line-height: 1.3;
}
.woocommerce-account .woocommerce form .required { color: var(--c-danger); text-decoration: none; }
.woocommerce-account .woocommerce form em,
.woocommerce-account .woocommerce form .description { font-size: 13px; color: var(--c-muted); font-style: normal; }
.woocommerce-account .woocommerce input[type="text"],
.woocommerce-account .woocommerce input[type="email"],
.woocommerce-account .woocommerce input[type="tel"],
.woocommerce-account .woocommerce input[type="password"],
.woocommerce-account .woocommerce input[type="number"],
.woocommerce-account .woocommerce select,
.woocommerce-account .woocommerce textarea,
.woocommerce-account .woocommerce .select2-container--default .select2-selection--single {
  width: 100%;
  height: var(--wcp-input-h);
  padding: 0 16px !important;
  background: var(--wcp-input-bg) !important;
  color: var(--c-ink) !important;
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: var(--wcp-radius-input) !important;
  font-size: var(--wcp-font-size);
  box-shadow: none !important;
  transition: border-color .2s, box-shadow .2s;
}
.woocommerce-account .woocommerce textarea { height: auto; min-height: 120px; padding: 14px 16px !important; }
.woocommerce-account .woocommerce .select2-container--default .select2-selection--single { display: flex; align-items: center; }
.woocommerce-account .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 !important; line-height: 1.4; color: var(--c-ink); }
.woocommerce-account .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 52px; right: 10px; }
.woocommerce-account .woocommerce input:hover,
.woocommerce-account .woocommerce select:hover { border-color: var(--wcp-border-strong) !important; }
.woocommerce-account .woocommerce input:focus,
.woocommerce-account .woocommerce select:focus,
.woocommerce-account .woocommerce textarea:focus {
  border-color: var(--wcp-primary) !important;
  box-shadow: 0 0 0 4px var(--c-accent-soft) !important;
  outline: none !important;
}
.woocommerce-account .woocommerce .password-input { display: block; position: relative; }
.woocommerce-account .woocommerce .show-password-input { top: 50%; transform: translateY(-50%); right: 14px; }
.woocommerce-account .woocommerce input[type="checkbox"] {
  width: 20px; height: 20px; accent-color: var(--c-ink);
  margin: 0 10px 0 0; vertical-align: middle; border-radius: 6px;
}
.woocommerce-account .woocommerce .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; font-weight: 500; }

/* Edit account form: two-column grid */
.woocommerce-account form.woocommerce-EditAccountForm,
.woocommerce-account form.edit-account {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--wcp-field-gap);
}
.woocommerce-account form.edit-account .clear { display: none; }
.woocommerce-account form.edit-account .form-row-wide,
.woocommerce-account form.edit-account fieldset,
.woocommerce-account form.edit-account > p:last-of-type,
.woocommerce-account form.edit-account > #account_display_name_description,
.woocommerce-account form.edit-account > .woocommerce-form-row--wide { grid-column: 1 / -1; }
.woocommerce-account form.edit-account fieldset {
  margin: 8px 0 24px;
  padding: 24px !important;
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: var(--radius-md);
  background: var(--wcp-alt-bg);
}
.woocommerce-account form.edit-account legend {
  padding: 0 10px;
  font-size: 16px;
  font-weight: var(--wcp-weight-bold);
  color: var(--c-ink);
}

/* ---------- Notices ---------- */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin: 0 0 24px !important;
  padding: 16px 20px 16px 52px !important;
  list-style: none !important;
  background: var(--c-bg) !important;
  color: var(--c-ink) !important;
  border: 0 !important;
  border-left: 4px solid var(--c-accent) !important;
  border-radius: var(--radius-md);
  font-size: var(--wcp-font-size);
}
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  font-size: 18px;
  color: var(--c-accent);
}
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-message .button { order: 2; margin-left: auto; float: none !important; }
.woocommerce-account .woocommerce-error { background: var(--wcp-danger-soft) !important; border-left-color: var(--c-danger) !important; color: var(--wcp-danger-text) !important; }
.woocommerce-account .woocommerce-error::before { color: var(--c-danger); }
.woocommerce-account .woocommerce-error li { margin: 0; list-style: none; }

/* ---------- Login / Register (logged-out) ---------- */
.woocommerce-account .woocommerce > h2 { font-size: 26px; font-weight: var(--wcp-weight-bold); margin: 0 0 20px; }
.woocommerce-account .woocommerce .u-columns#customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.woocommerce-account .woocommerce .u-columns#customer_login .u-column1,
.woocommerce-account .woocommerce .u-columns#customer_login .u-column2 {
  float: none !important;
  width: auto !important;
  background: var(--c-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: var(--wcp-content-pad);
}
.woocommerce-account .woocommerce .u-columns#customer_login h2 { font-size: 24px; font-weight: var(--wcp-weight-bold); margin: 0 0 22px; letter-spacing: -.01em; }
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce-account .woocommerce form.lost_reset_password {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0;
  background: transparent;
}
.woocommerce-account .woocommerce:not(:has(.u-columns)) > form.login {
  max-width: 480px;
  margin: 0 auto !important;
  background: var(--c-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: var(--wcp-content-pad) !important;
}
.woocommerce-account .woocommerce form.login .button,
.woocommerce-account .woocommerce form.register .button { width: 100%; min-height: 54px; margin-top: 6px; }
.woocommerce-account .woocommerce .lost_password { margin: 18px 0 0; text-align: center; }
.woocommerce-account .woocommerce .lost_password a { color: var(--c-muted); font-size: 14px; }
.woocommerce-account .woocommerce .woocommerce-form-login__rememberme { margin-bottom: 14px; }

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1024px) {
  .woocommerce-account .woocommerce { padding: var(--wcp-wrap-pad-tablet); }
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  /* Nav becomes a horizontally scrolling pill bar */
  .woocommerce-account .woocommerce-MyAccount-navigation {
    position: static;
    padding: 8px;
    border-radius: 18px;
    overflow: hidden;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: row;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; scroll-snap-align: start; }
  .woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 12px 18px; border-radius: 999px; white-space: nowrap; }
  .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { transform: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
    margin: 0 !important;
    padding: 0 0 0 6px !important;
    border-top: 0 !important;
    border-left: var(--wcp-border-w) solid var(--c-line) !important;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    padding: var(--wcp-wrap-pad-mobile);
    margin: 12px 0;
    border-radius: 20px;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    padding: var(--wcp-card-pad-mobile);
    border-radius: 18px;
  }
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type {
    padding: 24px 20px;
  }
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type strong { font-size: 24px; }
  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .woocommerce .u-columns#customer_login,
  .woocommerce-account form.edit-account { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-account .woocommerce .u-columns#customer_login .u-column1,
  .woocommerce-account .woocommerce .u-columns#customer_login .u-column2 { padding: var(--wcp-card-pad-mobile); border-radius: 18px; }

  /* Tables become stacked cards */
  .woocommerce-account .woocommerce-MyAccount-content table thead { display: none !important; }
  .woocommerce-account .woocommerce-MyAccount-content table,
  .woocommerce-account .woocommerce-MyAccount-content table tbody { display: block; }
  .woocommerce-account .woocommerce-MyAccount-content table tr {
    display: block !important;
    margin: 0 0 14px;
    padding: 6px 16px;
    background: var(--c-bg);
    border-radius: var(--radius-md);
  }
  .woocommerce-account .woocommerce-MyAccount-content table tbody tr:hover td { background: transparent !important; }
  .woocommerce-account .woocommerce-MyAccount-content table td,
  .woocommerce-account .woocommerce-MyAccount-content table th {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 12px 0 !important;
    text-align: right !important;
    border-bottom: var(--wcp-border-w) solid rgba(20,18,15,.07) !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content table tr td:last-child { border-bottom: 0 !important; }
  .woocommerce-account .woocommerce-MyAccount-content table td::before {
    content: attr(data-title);
    float: none !important;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: var(--wcp-weight-semibold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
  }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions {
    flex-wrap: wrap;
    justify-content: flex-start !important;
    padding-top: 14px !important;
  }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions::before { display: none !important; }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions .button { flex: 1 1 auto; margin: 0 6px 0 0; }
  .woocommerce-account .woocommerce-MyAccount-content table tfoot tr:last-child th,
  .woocommerce-account .woocommerce-MyAccount-content table tfoot tr:last-child td { font-size: 16px; }

  .woocommerce-account form.edit-account button.button,
  .woocommerce-account form.edit-address button.button { width: 100%; min-height: 54px; }
  .woocommerce-account .woocommerce-info .button,
  .woocommerce-account .woocommerce-message .button { width: 100%; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce-account .woocommerce * { transition: none !important; }
}


/* =========================================================
   LAYOUT FIX
   WooCommerce adds clearfix pseudo-elements (::before/::after)
   which became extra grid items and pushed the menu/content
   into the wrong columns.
   ========================================================= */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after,
.woocommerce-account .u-columns::before,
.woocommerce-account .u-columns::after,
.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after,
.woocommerce-account form.edit-account::before,
.woocommerce-account form.edit-account::after {
  content: none !important;
  display: none !important;
}

/* Pin menu left, content right */
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {
  grid-column: 1;
  grid-row: 1;
}
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
  grid-column: 2;
  grid-row: 1;
}

/* Dashboard banner: WooCommerce already prints "Hello", so drop my extra label */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type strong:first-of-type::before {
  content: none !important;
  display: none !important;
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type {
  font-size: 16px;
  line-height: 1.6;
  color: color-mix(in srgb, var(--wcp-on-primary) 72%, transparent);
}
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type strong:first-of-type {
  margin: 2px 0 10px;
}

@media (max-width: 1024px) {
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
    grid-column: 1;
  }
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation { grid-row: 1; }
  .woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content { grid-row: 2; }
}


/* =========================================================
   ADDRESSES TAB FIX
   ========================================================= */
.woocommerce-account .woocommerce-Addresses {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important;
  align-items: stretch;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px !important;
}

/* Header: title left, button right, wraps cleanly when tight */
.woocommerce-account .woocommerce-Address-title {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
}
.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after { content: none !important; display: none !important; }
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
  float: none !important;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: var(--wcp-weight-bold) !important;
  line-height: 1.3 !important;
}
.woocommerce-account .woocommerce-Address-title a.edit {
  float: none !important;
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: var(--wcp-weight-semibold) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  background: var(--wcp-input-bg) !important;
  color: var(--c-ink) !important;
  border: var(--wcp-border-w) solid var(--c-line) !important;
  border-radius: var(--wcp-btn-radius-pill) !important;
  text-decoration: none !important;
  box-shadow: none;
  transition: background .2s, border-color .2s;
}
.woocommerce-account .woocommerce-Address-title a.edit:hover {
  background: var(--c-accent-soft) !important;
  border-color: var(--c-accent) !important;
  color: var(--c-ink) !important;
}
.woocommerce-account .woocommerce-Address address {
  margin: 0;
  padding: 0;
  font-size: var(--wcp-font-size);
  line-height: 1.8;
  word-break: break-word;
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr) !important; gap: 14px; }
  .woocommerce-account .woocommerce-Addresses .woocommerce-Address { padding: var(--wcp-card-pad-mobile) !important; }
  .woocommerce-account .woocommerce-Address-title { flex-wrap: nowrap; }
  .woocommerce-account .woocommerce-Address-title h2,
  .woocommerce-account .woocommerce-Address-title h3 { font-size: 17px !important; }
  .woocommerce-account .woocommerce-MyAccount-content > p:first-child { font-size: 14px; }
}
@media (max-width: 380px) {
  .woocommerce-account .woocommerce-Address-title { flex-wrap: wrap; }
}


/* #########################################################
   4) CUSTOMIZER LAYER (fonts, card borders, form field gap)
   ######################################################### */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.woocommerce-account .woocommerce {
  font-family: var(--wcp-font-body);
}
.wp-block-woocommerce-cart input,
.wp-block-woocommerce-cart select,
.wp-block-woocommerce-cart button,
.wp-block-woocommerce-cart textarea,
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout button,
.wp-block-woocommerce-checkout textarea,
.woocommerce-account .woocommerce input,
.woocommerce-account .woocommerce select,
.woocommerce-account .woocommerce button,
.woocommerce-account .woocommerce textarea,
.woocommerce-account .woocommerce a.button { font-family: inherit; }

.wp-block-woocommerce-cart .wc-block-cart__totals-title,
.wp-block-woocommerce-cart a.wc-block-components-product-name,
.wp-block-woocommerce-checkout h2.wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description h3.wc-block-components-product-name,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce > h2,
.woocommerce-account .woocommerce .u-columns#customer_login h2,
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation-link--dashboard.is-active) .woocommerce-MyAccount-content > p:first-of-type strong {
  font-family: var(--wcp-font-heading) !important;
}

/* Optional card borders (Customizer: Borders > Card border width) */
.wp-block-woocommerce-cart .wc-block-cart-items__row,
.wp-block-woocommerce-cart .wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block,
.wp-block-woocommerce-checkout .wc-block-components-checkout-step,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce .u-columns#customer_login .u-column1,
.woocommerce-account .woocommerce .u-columns#customer_login .u-column2 {
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c) !important;
}

/* Checkout form fields: one consistent gap everywhere
   (Customizer: Spacing > Gap between form fields) */
.wp-block-woocommerce-checkout .wc-block-components-address-form {
  display: flex !important;
  flex-wrap: wrap;
  gap: var(--wcp-field-gap);
  margin: 0 !important;
  padding: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-address-form > * {
  flex: 1 1 100%;
  min-width: 0;
  margin: 0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-address-form > .wc-block-components-address-form__first_name,
.wp-block-woocommerce-checkout .wc-block-components-address-form > .wc-block-components-address-form__last_name,
.wp-block-woocommerce-checkout .wc-block-components-address-form > .wc-block-components-address-form__city,
.wp-block-woocommerce-checkout .wc-block-components-address-form > .wc-block-components-address-form__state,
.wp-block-woocommerce-checkout .wc-block-components-address-form > .wc-block-components-address-form__postcode,
.wp-block-woocommerce-checkout .wc-block-components-address-form > .wc-block-components-address-form__phone {
  flex: 1 1 calc(50% - (var(--wcp-field-gap) / 2));
}
.wp-block-woocommerce-checkout .wc-block-components-address-form .wc-blocks-components-select,
.wp-block-woocommerce-checkout .wc-block-components-address-form .wc-block-components-text-input,
.wp-block-woocommerce-checkout .wc-block-components-address-form .wc-block-components-country-input,
.wp-block-woocommerce-checkout .wc-block-components-address-form .wc-block-components-state-input { margin: 0 !important; }
/* keep the autofill helper input out of the layout (no extra gap) */
.wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-hidden-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0;
  pointer-events: none;
}
.wp-block-woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
  display: inline-block;
  line-height: 1.4;
}
@media (max-width: 480px) {
  .wp-block-woocommerce-checkout .wc-block-components-address-form > * { flex-basis: 100% !important; }
}


/* #########################################################
   5) PAGE SPACING (top & bottom)
   Customizer: WooCommerce Pages Style > Page spacing
   The "title hidden" space only applies when Hello Elementor's
   "Hide title" setting removes the .page-header.
   ######################################################### */
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main {
  padding-top: var(--wcp-page-pt);
  padding-bottom: var(--wcp-page-pb);
  margin-top: var(--wcp-page-mt);
  margin-bottom: var(--wcp-page-mb);
}
body.woocommerce-cart .site-main:not(:has(.page-header)),
body.woocommerce-checkout .site-main:not(:has(.page-header)),
body.woocommerce-account .site-main:not(:has(.page-header)) {
  padding-top: calc(var(--wcp-page-pt) + var(--wcp-notitle-pt));
  padding-bottom: calc(var(--wcp-page-pb) + var(--wcp-notitle-pb));
}
@media (max-width: 768px) {
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main,
  body.woocommerce-account .site-main {
    padding-top: var(--wcp-page-pt-m);
    padding-bottom: var(--wcp-page-pb-m);
    margin-top: var(--wcp-page-mt-m);
    margin-bottom: var(--wcp-page-mb-m);
  }
  body.woocommerce-cart .site-main:not(:has(.page-header)),
  body.woocommerce-checkout .site-main:not(:has(.page-header)),
  body.woocommerce-account .site-main:not(:has(.page-header)) {
    padding-top: calc(var(--wcp-page-pt-m) + var(--wcp-notitle-pt-m));
    padding-bottom: calc(var(--wcp-page-pb-m) + var(--wcp-notitle-pb-m));
  }
}


/* #########################################################
   6) CLASSIC CART & CHECKOUT (shortcode versions)
   Same Customizer variables as the block versions.
   ######################################################### */
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form),
body.woocommerce-cart .woocommerce:has(> .cart-empty),
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout),
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) {
  background: var(--wcp-page-bg);
  color: var(--wcp-text);
  padding: var(--wcp-wrap-pad);
  border-radius: var(--wcp-radius-wrap);
  margin: var(--wcp-wrap-margin) auto;
  font-family: var(--wcp-font-body);
  font-size: var(--wcp-font-size);
  line-height: 1.6;
  box-sizing: border-box;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) *,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) *::before,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) *::after,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form):before,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form):after,
body.woocommerce-cart .woocommerce:has(> .cart-empty) *,
body.woocommerce-cart .woocommerce:has(> .cart-empty) *::before,
body.woocommerce-cart .woocommerce:has(> .cart-empty) *::after,
body.woocommerce-cart .woocommerce:has(> .cart-empty):before,
body.woocommerce-cart .woocommerce:has(> .cart-empty):after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) *,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) *::before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) *::after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout):before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout):after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) *,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) *::before,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) *::after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order):before,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order):after {
  box-sizing: border-box;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-notices-wrapper:empty,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-notices-wrapper:empty,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-notices-wrapper:empty,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-notices-wrapper:empty {
  display: none;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form)::before,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form)::after,
body.woocommerce-cart .woocommerce:has(> .cart-empty)::before,
body.woocommerce-cart .woocommerce:has(> .cart-empty)::after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout)::before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout)::after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order)::before,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order)::after {
  content: none !important;
  display: none !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-message,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-info,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-error,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-message,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-info,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-error,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-message,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-info,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-error,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-message,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-info,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-error {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin: 0 0 var(--wcp-card-gap) !important;
  padding: 16px 20px 16px 52px !important;
  list-style: none !important;
  background: var(--wcp-card-bg) !important;
  color: var(--wcp-text) !important;
  border: 0 !important;
  border-left: 4px solid var(--wcp-accent) !important;
  border-radius: var(--wcp-radius-inner);
  box-shadow: var(--wcp-shadow);
  font-size: var(--wcp-font-size);
  line-height: 1.5;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-message::before,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-info::before,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-error::before,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-message::before,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-info::before,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-error::before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-message::before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-info::before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-error::before,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-message::before,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-info::before,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-error::before {
  display: block !important;
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  color: var(--wcp-accent) !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-error::before,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-error::before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-error::before,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-error::before {
  color: var(--wcp-danger) !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-error,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-error,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-error,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-error {
  background: var(--wcp-danger-soft) !important;
  border-left-color: var(--wcp-danger) !important;
  color: var(--wcp-danger-text) !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-error li,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-error li,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-error li,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-error li {
  margin: 0;
  list-style: none;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-message a:not(.button),
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-info a:not(.button),
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-message a:not(.button),
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-info a:not(.button),
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-message a:not(.button),
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-info a:not(.button),
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-message a:not(.button),
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-info a:not(.button) {
  color: var(--wcp-text);
  text-decoration: underline;
  text-decoration-color: var(--wcp-accent);
  text-underline-offset: 4px;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-message .button,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-info .button,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-message .button,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-info .button,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-message .button,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-info .button,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-message .button,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-info .button {
  order: 2;
  margin-left: auto;
  float: none !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.button,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) button.button,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input.button,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.button,
body.woocommerce-cart .woocommerce:has(> .cart-empty) button.button,
body.woocommerce-cart .woocommerce:has(> .cart-empty) input.button,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.button,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) button.button,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input.button,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.button,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) button.button,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 24px !important;
  background: transparent !important;
  color: var(--wcp-text) !important;
  border: var(--wcp-border-w) solid var(--wcp-border-strong) !important;
  border-radius: var(--wcp-btn-radius-pill) !important;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: var(--wcp-weight-semibold) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none;
  cursor: pointer;
  float: none !important;
  transition: background .2s, color .2s, border-color .2s, transform .2s;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.button:hover,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) button.button:hover:not(:disabled),
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input.button:hover,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.button:hover,
body.woocommerce-cart .woocommerce:has(> .cart-empty) button.button:hover:not(:disabled),
body.woocommerce-cart .woocommerce:has(> .cart-empty) input.button:hover,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.button:hover,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) button.button:hover:not(:disabled),
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input.button:hover,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.button:hover,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) button.button:hover:not(:disabled),
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input.button:hover {
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  border-color: var(--wcp-primary) !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) button.button:disabled,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) button.button.disabled,
body.woocommerce-cart .woocommerce:has(> .cart-empty) button.button:disabled,
body.woocommerce-cart .woocommerce:has(> .cart-empty) button.button.disabled,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) button.button:disabled,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) button.button.disabled,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) button.button:disabled,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) button.button.disabled {
  opacity: .45 !important;
  cursor: not-allowed;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.checkout-button,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) #place_order,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.button.wc-backward,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-order a.button.alt,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.checkout-button,
body.woocommerce-cart .woocommerce:has(> .cart-empty) #place_order,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.button.wc-backward,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-order a.button.alt,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.checkout-button,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #place_order,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.button.wc-backward,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-order a.button.alt,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.checkout-button,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) #place_order,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.button.wc-backward,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-order a.button.alt {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: var(--wcp-btn-h);
  padding: 0 24px !important;
  background: var(--wcp-primary) !important;
  color: var(--wcp-on-primary) !important;
  border: 0 !important;
  border-radius: var(--wcp-btn-radius) !important;
  font-size: var(--wcp-btn-font-size) !important;
  font-weight: var(--wcp-weight-semibold) !important;
  letter-spacing: .01em;
  box-shadow: 0 10px 24px -8px rgba(20,18,15,.45);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.checkout-button::after,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) #place_order::after,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.checkout-button::after,
body.woocommerce-cart .woocommerce:has(> .cart-empty) #place_order::after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.checkout-button::after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #place_order::after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.checkout-button::after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) #place_order::after {
  content: "→" !important;
  display: inline !important;
  font-size: 20px;
  transition: transform .2s;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.checkout-button:hover,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) #place_order:hover,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.button.wc-backward:hover,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-order a.button.alt:hover,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.checkout-button:hover,
body.woocommerce-cart .woocommerce:has(> .cart-empty) #place_order:hover,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.button.wc-backward:hover,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-order a.button.alt:hover,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.checkout-button:hover,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #place_order:hover,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.button.wc-backward:hover,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-order a.button.alt:hover,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.checkout-button:hover,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) #place_order:hover,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.button.wc-backward:hover,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-order a.button.alt:hover {
  background: var(--wcp-btn-hover) !important;
  color: var(--wcp-on-primary) !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -10px rgba(20,18,15,.5);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.checkout-button:hover::after,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) #place_order:hover::after,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.checkout-button:hover::after,
body.woocommerce-cart .woocommerce:has(> .cart-empty) #place_order:hover::after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.checkout-button:hover::after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #place_order:hover::after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.checkout-button:hover::after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) #place_order:hover::after {
  transform: translateX(4px);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.button.wc-backward,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.button.wc-backward,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.button.wc-backward,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.button.wc-backward {
  width: auto;
  display: inline-flex !important;
  padding: 0 32px !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.button:focus-visible,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) button:focus-visible,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) #place_order:focus-visible,
body.woocommerce-cart .woocommerce:has(> .cart-empty) a.button:focus-visible,
body.woocommerce-cart .woocommerce:has(> .cart-empty) button:focus-visible,
body.woocommerce-cart .woocommerce:has(> .cart-empty) #place_order:focus-visible,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.button:focus-visible,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) button:focus-visible,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #place_order:focus-visible,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.button:focus-visible,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) button:focus-visible,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) #place_order:focus-visible {
  outline: 2px solid var(--wcp-accent);
  outline-offset: 3px;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .wc-proceed-to-checkout::after,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) #payment .place-order::after,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .wc-proceed-to-checkout::after,
body.woocommerce-cart .woocommerce:has(> .cart-empty) #payment .place-order::after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .wc-proceed-to-checkout::after,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment .place-order::after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .wc-proceed-to-checkout::after,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) #payment .place-order::after {
  content: "🔒 " var(--wcp-txt-secure) !important;
  display: var(--wcp-secure-display) !important;
  text-align: center;
  margin-top: 14px;
  font-size: 13px;
  color: var(--wcp-muted);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="text"],
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="email"],
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="tel"],
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="password"],
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="number"],
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input.input-text,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) select,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) textarea,
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="text"],
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="email"],
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="tel"],
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="password"],
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="number"],
body.woocommerce-cart .woocommerce:has(> .cart-empty) input.input-text,
body.woocommerce-cart .woocommerce:has(> .cart-empty) select,
body.woocommerce-cart .woocommerce:has(> .cart-empty) textarea,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="text"],
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="email"],
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="tel"],
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="password"],
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="number"],
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input.input-text,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) select,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) textarea,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="text"],
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="email"],
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="tel"],
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="password"],
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="number"],
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input.input-text,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) select,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) textarea {
  width: 100%;
  height: var(--wcp-input-h);
  padding: 0 16px !important;
  background: var(--wcp-input-bg) !important;
  color: var(--wcp-text) !important;
  border: var(--wcp-border-w) solid var(--wcp-border) !important;
  border-radius: var(--wcp-radius-input) !important;
  font-family: inherit;
  font-size: var(--wcp-font-size);
  box-shadow: none !important;
  transition: border-color .2s, box-shadow .2s;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) textarea,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) textarea.input-text,
body.woocommerce-cart .woocommerce:has(> .cart-empty) textarea,
body.woocommerce-cart .woocommerce:has(> .cart-empty) textarea.input-text,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) textarea,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) textarea.input-text,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) textarea,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) textarea.input-text {
  height: auto;
  min-height: 120px;
  padding: 14px 16px !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="text"]:focus,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="email"]:focus,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="tel"]:focus,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="password"]:focus,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="number"]:focus,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input.input-text:focus,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) select:focus,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) textarea:focus,
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="text"]:focus,
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="email"]:focus,
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="tel"]:focus,
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="password"]:focus,
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="number"]:focus,
body.woocommerce-cart .woocommerce:has(> .cart-empty) input.input-text:focus,
body.woocommerce-cart .woocommerce:has(> .cart-empty) select:focus,
body.woocommerce-cart .woocommerce:has(> .cart-empty) textarea:focus,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="text"]:focus,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="email"]:focus,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="tel"]:focus,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="password"]:focus,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="number"]:focus,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input.input-text:focus,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) select:focus,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) textarea:focus,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="text"]:focus,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="email"]:focus,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="tel"]:focus,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="password"]:focus,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="number"]:focus,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input.input-text:focus,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) select:focus,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) textarea:focus {
  border-color: var(--wcp-primary) !important;
  box-shadow: 0 0 0 4px var(--wcp-accent-soft) !important;
  outline: none !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .form-row label,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) form label,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .form-row label,
body.woocommerce-cart .woocommerce:has(> .cart-empty) form label,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .form-row label,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form label,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .form-row label,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) form label {
  display: block;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: var(--wcp-weight-semibold);
  color: var(--wcp-text);
  line-height: 1.3;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) label.screen-reader-text,
body.woocommerce-cart .woocommerce:has(> .cart-empty) label.screen-reader-text,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) label.screen-reader-text,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) label.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .required,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .required,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .required,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .required {
  color: var(--wcp-danger);
  text-decoration: none;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .optional,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .optional,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .optional,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .optional {
  color: var(--wcp-muted);
  font-weight: 400;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-invalid input.input-text,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .woocommerce-invalid select,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-invalid input.input-text,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .woocommerce-invalid select,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-invalid select,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-invalid select {
  border-color: var(--wcp-danger) !important;
  box-shadow: 0 0 0 4px var(--wcp-danger-soft) !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="checkbox"],
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) input[type="radio"],
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="checkbox"],
body.woocommerce-cart .woocommerce:has(> .cart-empty) input[type="radio"],
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="checkbox"],
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) input[type="radio"],
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="checkbox"],
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) input[type="radio"] {
  width: 20px;
  height: 20px;
  margin: 0 10px 0 0 !important;
  accent-color: var(--wcp-primary);
  vertical-align: middle;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .select2-container,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .select2-container,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .select2-container,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .select2-container {
  width: 100% !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .select2-container--default .select2-selection--single,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .select2-container--default .select2-selection--single,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .select2-container--default .select2-selection--single,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .select2-container--default .select2-selection--single {
  display: flex;
  align-items: center;
  height: var(--wcp-input-h);
  padding: 0 16px;
  background: var(--wcp-input-bg);
  border: var(--wcp-border-w) solid var(--wcp-border);
  border-radius: var(--wcp-radius-input);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .select2-container--default .select2-selection--single .select2-selection__rendered,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0 !important;
  line-height: 1.4;
  color: var(--wcp-text);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .select2-container--default .select2-selection--single .select2-selection__arrow,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .select2-container--default .select2-selection--single .select2-selection__arrow,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .select2-container--default .select2-selection--single .select2-selection__arrow,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  right: 12px;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .select2-container--open .select2-selection--single,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .select2-container--open .select2-selection--single,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .select2-container--open .select2-selection--single,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .select2-container--default.select2-container--focus .select2-selection--single,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .select2-container--open .select2-selection--single {
  border-color: var(--wcp-primary);
  box-shadow: 0 0 0 4px var(--wcp-accent-soft);
}
body.woocommerce-checkout .select2-dropdown,
body.woocommerce-cart .select2-dropdown {
  border: var(--wcp-border-w) solid var(--wcp-border);
  border-radius: var(--wcp-radius-inner);
  overflow: hidden;
  box-shadow: var(--wcp-shadow);
  font-family: var(--wcp-font-body);
}
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected],
body.woocommerce-cart .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background: var(--wcp-primary);
  color: var(--wcp-on-primary);
}
body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  border: var(--wcp-border-w) solid var(--wcp-border);
  border-radius: var(--wcp-radius-input);
  height: 40px;
  padding: 0 12px;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) h2,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) h3,
body.woocommerce-cart .woocommerce:has(> .cart-empty) h2,
body.woocommerce-cart .woocommerce:has(> .cart-empty) h3,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) h2,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) h3,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) h2,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) h3 {
  margin: 0 0 20px;
  padding: 0 0 18px;
  border-bottom: var(--wcp-border-w) solid var(--wcp-border);
  font-family: var(--wcp-font-heading) !important;
  font-size: var(--wcp-h-size);
  font-weight: var(--wcp-weight-bold);
  letter-spacing: -.01em;
  line-height: 1.25;
  color: var(--wcp-text);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.shop_table,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.shop_table,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.shop_table,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) table.shop_table {
  width: 100%;
  margin: 0;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0;
  background: transparent;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.shop_table th,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.shop_table td,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.shop_table th,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.shop_table td,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.shop_table th,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.shop_table td,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) table.shop_table th,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) table.shop_table td {
  padding: var(--wcp-totals-pad) 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: var(--wcp-border-w) solid var(--wcp-border) !important;
  vertical-align: middle;
  text-align: left;
  font-size: var(--wcp-font-size);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.shop_table tr:last-child th,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.shop_table tr:last-child td,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.shop_table tr:last-child th,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.shop_table tr:last-child td,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.shop_table tr:last-child th,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.shop_table tr:last-child td,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) table.shop_table tr:last-child th,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) table.shop_table tr:last-child td {
  border-bottom: 0 !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a:not(.button),
body.woocommerce-cart .woocommerce:has(> .cart-empty) a:not(.button),
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a:not(.button),
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a:not(.button) {
  color: var(--wcp-text);
  text-underline-offset: 4px;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 0 var(--wcp-layout-gap);
  align-items: start;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > * {
  grid-column: 1 / -1;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form {
  grid-column: 1;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
  grid-column: 2;
  position: sticky;
  top: 24px;
  width: 100%;
  float: none;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals::before,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals::after {
  display: none !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tbody,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tbody {
  display: block;
  width: 100%;
  border: 0 !important;
  background: transparent;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart thead,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart thead {
  display: none;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tbody,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tbody {
  display: grid;
  gap: var(--wcp-card-gap);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);

  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  grid-template-areas:
    "thumb name sub"
    "thumb price sub"
    "thumb qty sub";
  column-gap: 24px;
  row-gap: 6px;
  align-items: start;
  position: relative;
  padding: var(--wcp-item-pad);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart td::before,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart td::before {
  display: none !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-thumbnail,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-thumbnail {
  grid-area: thumb;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-thumbnail img,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-thumbnail img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--wcp-radius-inner);
  background: var(--wcp-page-bg);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-name,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-name {
  grid-area: name;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-name a,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-name a {
  font-family: var(--wcp-font-heading);
  font-size: var(--wcp-product-size);
  font-weight: var(--wcp-weight-semibold);
  line-height: 1.3;
  color: var(--wcp-text);
  text-decoration: none;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-name a:hover,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-name a:hover {
  color: var(--wcp-accent);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-price,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-price {
  grid-area: price;
  color: var(--wcp-muted);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-quantity,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-quantity {
  grid-area: qty;
  margin-top: 8px !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-subtotal,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-subtotal {
  grid-area: sub;
  text-align: right !important;
  font-size: 20px;
  font-weight: var(--wcp-weight-bold);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-remove,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-remove {
  position: absolute !important;
  right: var(--wcp-item-pad);
  bottom: var(--wcp-item-pad);
  width: auto !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-remove a.remove,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-remove a.remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px !important;
  height: 40px !important;
  border: var(--wcp-border-w) solid var(--wcp-border) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--wcp-muted) !important;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: all .2s;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-remove a.remove:hover,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-remove a.remove:hover {
  background: var(--wcp-danger-soft) !important;
  border-color: var(--wcp-danger) !important;
  color: var(--wcp-danger) !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .quantity,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .quantity {
  display: inline-flex;
  margin: 0;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .quantity input.qty,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .quantity input.qty {
  width: 92px;
  height: 46px;
  padding: 0 12px !important;
  text-align: center;
  border-radius: 999px !important;
  font-weight: var(--wcp-weight-semibold);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr:has(> td.actions),
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr:has(> td.actions) {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);
  display: block !important;
  padding: var(--wcp-card-pad);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart td.actions,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart td.actions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart td.actions .coupon,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart td.actions .coupon {
  display: flex;
  flex: 1 1 320px;
  gap: 10px;
  float: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart td.actions .coupon input#coupon_code,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart td.actions .coupon .input-text,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart td.actions .coupon input#coupon_code,
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart td.actions .coupon .input-text {
  flex: 1 1 160px;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  height: 46px;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart td.actions > button[name="update_cart"],
body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart td.actions > button[name="update_cart"] {
  margin-left: auto;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);

  float: none !important;
  width: 100% !important;
  padding: var(--wcp-card-pad);
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals table.shop_table,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals table.shop_table {
  margin-bottom: 8px;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals th,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals th {
  color: var(--wcp-muted);
  font-weight: var(--wcp-weight-semibold) !important;
  width: 40%;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals td,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals td {
  text-align: right !important;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals tr.order-total th,
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals tr.order-total td,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals tr.order-total th,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals tr.order-total td {
  color: var(--wcp-text);
  font-size: 16px;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals tr.order-total td,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals tr.order-total td {
  font-size: var(--wcp-total-size);
  font-weight: var(--wcp-weight-bold);
  letter-spacing: -.02em;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .wc-proceed-to-checkout,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .wc-proceed-to-checkout {
  padding: 8px 0 0 !important;
  margin: 0;
}
body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals .shipping-calculator-button,
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals .shipping-calculator-button {
  color: var(--wcp-accent);
}
body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart-empty {
  margin-bottom: var(--wcp-card-gap) !important;
}
body.woocommerce-cart .woocommerce:has(> .cart-empty) .return-to-shop {
  margin: 0;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) > .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) > .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) > .checkout_coupon,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) > form.login {
  margin: 0 0 var(--wcp-card-gap);
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.checkout_coupon,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.woocommerce-form-coupon {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);

  padding: var(--wcp-card-pad) !important;
  margin: 0 0 var(--wcp-card-gap) !important;
  border-style: solid;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.checkout_coupon .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.checkout_coupon:not([style*="display:none"]):not([style*="display: none"]) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.checkout_coupon .form-row-first {
  flex: 1 1 220px;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.checkout_coupon .clear {
  display: none;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  grid-template-rows: auto auto auto 1fr;
  grid-template-areas:
    "notice  notice"
    "details heading"
    "details review"
    "details .";
  column-gap: var(--wcp-layout-gap);
  row-gap: 0;
  align-items: start;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.woocommerce-checkout > .woocommerce-NoticeGroup {
  grid-area: notice;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #customer_details {
  grid-area: details;
  display: grid;
  gap: var(--wcp-card-gap);
  float: none !important;
  width: auto !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #customer_details::before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #customer_details::after {
  display: none !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #customer_details .col-1,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #customer_details .col-2 {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);

  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: var(--wcp-card-pad);
  margin: 0 !important;
  min-width: 0;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #customer_details .col-2:not(:has(.woocommerce-shipping-fields > *, .woocommerce-additional-fields > *)) {
  display: none;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-shipping-fields:empty {
  display: none;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #ship-to-different-address {
  border: 0;
  padding: 0;
  margin: 0 0 20px;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #ship-to-different-address label {
  display: inline-flex;
  align-items: center;
  margin: 0;
  font-size: var(--wcp-h-size);
  font-weight: var(--wcp-weight-bold);
  cursor: pointer;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-additional-fields__field-wrapper,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-account-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--wcp-field-gap);
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .form-row {
  float: none !important;
  width: auto !important;
  margin: 0 0 var(--wcp-field-gap) !important;
  padding: 0 !important;
  grid-column: 1 / -1;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .form-row.form-row-first,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .form-row.form-row-last {
  grid-column: auto;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-input-wrapper {
  display: block;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .form-row::before,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .form-row::after {
  display: none;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-additional-fields h3 {
  margin-top: 0;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #order_review_heading {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);

  grid-area: heading;
  margin: 0 !important;
  padding: var(--wcp-card-pad) var(--wcp-card-pad) 18px !important;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  box-shadow: none;
  border-bottom: var(--wcp-border-w) solid var(--wcp-border);
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #order_review {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);

  grid-area: review;
  padding: 0 var(--wcp-card-pad) var(--wcp-card-pad);
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: 0;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.woocommerce-checkout-review-order-table {
  margin: 0 0 20px;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.woocommerce-checkout-review-order-table thead th {
  padding-top: var(--wcp-card-pad) !important;
  padding-bottom: 12px !important;
  font-size: 12px;
  font-weight: var(--wcp-weight-semibold);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--wcp-muted);
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.woocommerce-checkout-review-order-table tbody td {
  padding: var(--wcp-summary-item-pad) 0 !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.woocommerce-checkout-review-order-table td.product-total,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
  font-weight: var(--wcp-weight-semibold);
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) table.woocommerce-checkout-review-order-table tfoot th {
  color: var(--wcp-muted);
  font-weight: var(--wcp-weight-semibold) !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .product-quantity {
  color: var(--wcp-muted);
  font-weight: 400;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) tr.order-total th,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) tr.order-total td {
  color: var(--wcp-text);
  font-size: 16px;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) tr.order-total td {
  font-size: var(--wcp-total-size);
  font-weight: var(--wcp-weight-bold);
  letter-spacing: -.02em;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment {
  background: transparent !important;
  border-radius: 0;
  padding: 0;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment ul.payment_methods > li {
  margin: 0 0 10px;
  padding: 14px 16px;
  list-style: none;
  background: var(--wcp-card-bg);
  border: var(--wcp-border-w) solid var(--wcp-border);
  border-radius: var(--wcp-radius-inner);
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment ul.payment_methods > li > label {
  display: inline;
  margin: 0;
  font-weight: var(--wcp-weight-semibold);
  cursor: pointer;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment div.payment_box {
  margin: 12px 0 0 !important;
  padding: 14px 16px !important;
  background: var(--wcp-alt-bg) !important;
  color: var(--wcp-text) !important;
  border-radius: var(--wcp-radius-inner);
  font-size: 14px;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment div.payment_box::before {
  display: none !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment ul.payment_methods > li .woocommerce-info {
  margin: 0 !important;
  box-shadow: none;
  background: transparent !important;
  padding: 0 0 0 36px !important;
  border-left: 0 !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment ul.payment_methods > li .woocommerce-info::before {
  left: 0;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #payment .place-order {
  margin: 0;
  padding: 0 !important;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-privacy-policy-text {
  margin: 0 0 16px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--wcp-muted);
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-privacy-policy-text p {
  margin: 0;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-terms-and-conditions-wrapper a,
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-privacy-policy-text a {
  color: var(--wcp-text);
  text-decoration: underline;
}
body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin: 0;
  font-weight: 500;
  cursor: pointer;
}
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) ul.woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: var(--wcp-card-gap);
  margin: 0 0 var(--wcp-card-gap);
  padding: 0;
  list-style: none;
}
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) ul.woocommerce-order-overview li {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);

  float: none;
  margin: 0;
  padding: 18px 20px;
  border-right: 0;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--wcp-muted);
}
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 6px;
  font-size: var(--wcp-font-size);
  letter-spacing: 0;
  text-transform: none;
  color: var(--wcp-text);
}
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-order-details,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-customer-details {
  background: var(--wcp-card-bg);
  border: var(--wcp-card-border-w) solid var(--wcp-card-border-c);
  border-radius: var(--wcp-radius-card);
  box-shadow: var(--wcp-shadow);
  padding: var(--wcp-card-pad);
  margin-bottom: var(--wcp-card-gap);
}
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--wcp-card-gap);
}
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-columns--addresses .col-1,
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .woocommerce-columns--addresses .col-2 {
  float: none !important;
  width: auto !important;
}
body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) address {
  font-style: normal;
  color: var(--wcp-muted);
  line-height: 1.8;
  border: 0 !important;
  padding: 0 !important;
}
@media (max-width: 1024px) {  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) {
    grid-template-columns: minmax(0, 1fr);
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form,
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
    grid-column: 1;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
    position: static;
    margin-top: var(--wcp-card-gap);
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form),
  body.woocommerce-cart .woocommerce:has(> .cart-empty),
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout),
  body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) {
    padding: var(--wcp-wrap-pad-tablet);
  }
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) form.woocommerce-checkout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    grid-template-areas:
      "notice"
      "details"
      "heading"
      "review";
  }
}
@media (max-width: 768px) {
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item {
    grid-template-columns: 88px minmax(0, 1fr);
    grid-template-areas:
      "thumb name"
      "thumb price"
      "thumb qty"
      "sub sub";
    column-gap: 14px;
    padding: calc(var(--wcp-item-pad) - 6px);
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-thumbnail,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-thumbnail {
    display: block !important;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-remove,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-remove {
    top: 12px;
    right: 12px;
    bottom: auto;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-name,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-name {
    padding-right: 44px !important;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-subtotal,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-subtotal {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px !important;
    padding-top: 12px !important;
    border-top: var(--wcp-border-w) solid var(--wcp-border) !important;
    font-size: 18px;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr.cart_item td.product-subtotal::before,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr.cart_item td.product-subtotal::before {
    display: block !important;
    content: attr(data-title) !important;
    float: none !important;
    font-size: 12px;
    font-weight: var(--wcp-weight-semibold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--wcp-muted);
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart td.actions,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart td.actions {
    flex-direction: column;
    align-items: stretch;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart td.actions > button[name="update_cart"],
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart td.actions > button[name="update_cart"] {
    margin-left: 0;
    width: 100%;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals table.shop_table tr,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals table.shop_table tr {
    display: table-row !important;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals table.shop_table th,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals table.shop_table th {
    display: table-cell !important;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals table.shop_table td,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals table.shop_table td {
    display: table-cell !important;
    text-align: right !important;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals table.shop_table td::before,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals table.shop_table td::before {
    display: none !important;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals table.shop_table thead,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals table.shop_table thead {
    display: none;
  }
}
@media (max-width: 640px) {
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form),
  body.woocommerce-cart .woocommerce:has(> .cart-empty),
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout),
  body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) {
    padding: var(--wcp-wrap-pad-mobile);
    margin: 12px 0;
    border-radius: 20px;
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .cart_totals,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) .cart_totals {
    padding: var(--wcp-card-pad-mobile);
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) table.cart tr:has(> td.actions),
  body.woocommerce-cart .woocommerce:has(> .cart-empty) table.cart tr:has(> td.actions) {
    padding: var(--wcp-card-pad-mobile);
  }
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #customer_details .col-1,
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #customer_details .col-2 {
    padding: var(--wcp-card-pad-mobile);
  }
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #order_review_heading {
    padding: var(--wcp-card-pad-mobile) var(--wcp-card-pad-mobile) 14px !important;
  }
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #order_review {
    padding: 0 var(--wcp-card-pad-mobile) var(--wcp-card-pad-mobile);
  }
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: minmax(0, 1fr);
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) h2,
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) h3,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) h2,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) h3,
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) h2,
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) h3,
  body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) h2,
  body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) h3 {
    font-size: calc(var(--wcp-h-size) - 4px);
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) a.checkout-button,
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) #place_order,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) a.checkout-button,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) #place_order,
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) a.checkout-button,
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) #place_order,
  body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) a.checkout-button,
  body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) #place_order {
    min-height: calc(var(--wcp-btn-h) - 4px);
  }
  body.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) .wc-proceed-to-checkout::after,
  body.woocommerce-cart .woocommerce:has(> .cart-empty) .wc-proceed-to-checkout::after,
  body.woocommerce-checkout .woocommerce:has(> form.woocommerce-checkout) .wc-proceed-to-checkout::after,
  body.woocommerce-checkout .woocommerce:has(> .woocommerce-order) .wc-proceed-to-checkout::after {
    display: none !important;
  }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart .woocommerce *, body.woocommerce-checkout .woocommerce * { transition: none !important; }
}
