/* Zouqly checkout.css — cart, checkout, account.
   Editorial tables: hairlines, tabular numerals. Tokens only. */

/* ---------- Cart table ---------- */
.zq-cart-table {
  width: 100%;
  border-collapse: collapse;
}
.zq-cart-table th,
.zq-cart-table td {
  text-align: left;
  padding: var(--zq-space-3) var(--zq-space-2);
  border-bottom: 1px solid var(--zq-color-line);
  vertical-align: middle;
}
.zq-cart-table thead th {
  font-size: var(--zq-size-step--1);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--zq-color-ink-soft);
  padding-block: var(--zq-space-2);
}
.zq-cart-table .product-thumbnail img {
  width: 72px;
  border-radius: var(--zq-radius-base);
}
.zq-cart-table .product-name a { color: var(--zq-color-ink); text-decoration: none; }
.zq-cart-table .product-name a:hover { color: var(--zq-color-accent-deep); text-decoration: underline; }
.zq-cart-table .product-price,
.zq-cart-table .product-subtotal { font-variant-numeric: tabular-nums; }
.zq-cart-table .product-remove .remove {
  display: inline-block;
  width: 1.75em;
  text-align: center;
  font-size: var(--zq-size-step-1);
  color: var(--zq-color-ink-soft);
  text-decoration: none;
  border-radius: var(--zq-radius-base);
}
.zq-cart-table .product-remove .remove:hover { color: var(--zq-color-alert); background: var(--zq-color-line); }

.zq-cart-table td.actions {
  border-bottom: 0;
  padding-top: var(--zq-space-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--zq-space-2);
  justify-content: space-between;
  align-items: center;
}
.zq-coupon { display: flex; gap: var(--zq-space-2); align-items: center; }
.zq-coupon input#coupon_code { width: 14em; }

/* ---------- Cart collaterals: totals right, cross-sells full-width under ---------- */
.zq-cart-collaterals {
  display: grid;
  gap: var(--zq-space-5);
  margin-top: var(--zq-space-5);
}
@media (min-width: 900px) {
  .zq-cart-collaterals { grid-template-columns: 7fr 5fr; align-items: start; }
  .zq-cart-collaterals .cart_totals { grid-column: 2; grid-row: 1; }
  .zq-cart-collaterals .cross-sells { grid-column: 1 / -1; grid-row: 2; border-top: 1px solid var(--zq-color-line); padding-top: var(--zq-space-6); }
}

.cart_totals {
  background: var(--zq-color-surface);
  border: 1px solid var(--zq-color-line);
  border-radius: var(--zq-radius-base);
  padding: var(--zq-space-4);
}
.cart_totals h2 { font-size: var(--zq-size-step-2); margin-bottom: var(--zq-space-3); }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td {
  text-align: left;
  padding: var(--zq-space-2) 0;
  border-bottom: 1px solid var(--zq-color-line);
}
.cart_totals td { text-align: right; font-variant-numeric: tabular-nums; }
.cart_totals .order-total th, .cart_totals .order-total td { font-weight: 600; border-bottom: 0; }
.wc-proceed-to-checkout { margin-top: var(--zq-space-3); }
.wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--zq-color-accent);
  color: var(--zq-color-canvas);
  font-weight: 600;
  padding: var(--zq-space-2) var(--zq-space-4);
  border-radius: var(--zq-radius-base);
  text-decoration: none;
  transition: background-color var(--zq-motion-fast) var(--zq-motion-ease);
}
.wc-proceed-to-checkout .checkout-button:hover { background: var(--zq-color-accent-deep); color: var(--zq-color-canvas); }

.cross-sells > h2 { font-size: var(--zq-size-step-3); margin-bottom: var(--zq-space-5); }

/* ---------- Checkout ---------- */
#zq-express-checkout { margin-bottom: var(--zq-space-4); }
#zq-express-checkout:empty { display: none; }

.zq-checkout__grid { align-items: start; }

.zq-checkout__details .woocommerce-billing-fields h3,
.zq-checkout__details .woocommerce-shipping-fields h3,
#order_review_heading { font-size: var(--zq-size-step-2); }

.zq-checkout__details .form-row { margin-bottom: var(--zq-space-3); }
.zq-checkout__details .col-2 { margin-top: var(--zq-space-5); }

@media (min-width: 900px) {
  .zq-checkout__review {
    position: sticky;
    top: var(--zq-space-4);
  }
}
.zq-checkout__review #order_review {
  background: var(--zq-color-surface);
  border: 1px solid var(--zq-color-line);
  border-radius: var(--zq-radius-base);
  padding: var(--zq-space-4);
}

.zq-review-table { width: 100%; border-collapse: collapse; font-size: var(--zq-size-step--1); }
.zq-review-table th, .zq-review-table td {
  text-align: left;
  padding: var(--zq-space-2) 0;
  border-bottom: 1px solid var(--zq-color-line);
  vertical-align: top;
}
.zq-review-table td, .zq-review-table tfoot td { text-align: right; font-variant-numeric: tabular-nums; }
.zq-review-table .order-total th, .zq-review-table .order-total td {
  font-weight: 600;
  font-size: var(--zq-size-step-0);
  border-bottom: 0;
}

/* Payment box: hairline separation, no boxes-within-boxes */
#payment { background: none; margin-top: var(--zq-space-3); }
#payment ul.wc_payment_methods {
  list-style: none;
  margin: 0 0 var(--zq-space-3);
  padding: 0;
  border-top: 1px solid var(--zq-color-line);
}
#payment ul.wc_payment_methods li { padding: var(--zq-space-2) 0; border-bottom: 1px solid var(--zq-color-line); }
#payment ul.wc_payment_methods li label { display: inline; font-weight: 600; margin-left: var(--zq-space-1); }
#payment div.payment_box {
  font-size: var(--zq-size-step--1);
  color: var(--zq-color-ink-soft);
  padding: var(--zq-space-2) 0 0;
}
#payment input[type="radio"], #payment input[type="checkbox"] { width: auto; }

#place_order {
  display: block;
  width: 100%;
  background: var(--zq-color-accent);
  color: var(--zq-color-canvas);
  border: 1px solid transparent;
  border-radius: var(--zq-radius-base);
  font-family: var(--zq-font-body);
  font-size: var(--zq-size-step-0);
  font-weight: 600;
  padding: var(--zq-space-2) var(--zq-space-4);
  cursor: pointer;
  transition: background-color var(--zq-motion-fast) var(--zq-motion-ease);
}
#place_order:hover { background: var(--zq-color-accent-deep); }
#place_order:disabled { background: var(--zq-color-line); color: var(--zq-color-ink-soft); cursor: not-allowed; }

.woocommerce-terms-and-conditions-wrapper { font-size: var(--zq-size-step--1); color: var(--zq-color-ink-soft); }

/* Errors */
.woocommerce-error {
  list-style: none;
  margin: 0 0 var(--zq-space-4);
  padding: var(--zq-space-2) var(--zq-space-3);
  border-left: 3px solid var(--zq-color-alert);
  background: var(--zq-color-surface);
  border-radius: var(--zq-radius-base);
}

/* ---------- Account ---------- */
.zq-account { align-items: start; }

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--zq-color-line);
}
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--zq-color-line); }
.woocommerce-MyAccount-navigation a {
  display: block;
  padding: var(--zq-space-2) 0;
  text-decoration: none;
  color: var(--zq-color-ink);
  transition: color var(--zq-motion-fast) var(--zq-motion-ease);
}
.woocommerce-MyAccount-navigation a:hover { color: var(--zq-color-accent-deep); }
.woocommerce-MyAccount-navigation .is-active a {
  color: var(--zq-color-accent-deep);
  font-weight: 600;
}

.zq-account__content .woocommerce-button {
  display: inline-block;
  font-size: var(--zq-size-step--1);
  font-weight: 600;
  padding: var(--zq-space-1) var(--zq-space-2);
  border: 1px solid var(--zq-color-ink);
  border-radius: var(--zq-radius-base);
  color: var(--zq-color-ink);
  text-decoration: none;
  background: none;
  cursor: pointer;
}
.zq-account__content .woocommerce-button:hover { background: var(--zq-color-ink); color: var(--zq-color-canvas); }

/* Orders table inherits .zq-spec-table hairlines; numerals tabular */
.zq-account__content .zq-spec-table td { font-variant-numeric: tabular-nums; }
.zq-account__content .zq-spec-table th { width: auto; }

/* ---------- Mini-cart ---------- */
.zq-mini-cart { list-style: none; margin: 0; padding: 0; }
.zq-mini-cart__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--zq-space-2);
  align-items: center;
  padding-block: var(--zq-space-2);
  border-bottom: 1px solid var(--zq-color-line);
  position: relative;
}
.zq-mini-cart__item img { width: 56px; border-radius: var(--zq-radius-base); }
.zq-mini-cart__item a { color: var(--zq-color-ink); text-decoration: none; }
.zq-mini-cart__item .remove_from_cart_button {
  position: absolute;
  right: 0;
  top: var(--zq-space-2);
  color: var(--zq-color-ink-soft);
}
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding-block: var(--zq-space-2); }
