/* =========================================================
   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;
  /* 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)
   ######################################################### */
.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; }
}
