/* Giỏ hàng — cùng semantic cho Woo Blocks và template classic dự phòng. */

.gpkm-gio {
  width: 100%;
  max-width: var(--rong-toi-da);
  margin-inline: auto;
  padding: var(--sp-6) var(--sp-3);
}

.woocommerce-cart .gpkm-noi-dung-trang > h1 {
  display: none;
}

.gpkm-gio__dau {
  margin-bottom: var(--sp-5);
}

.gpkm-gio__tieu-de {
  margin: 0;
  color: var(--ink);
  font-family: var(--font-tieu-de);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
}

.gpkm-gio__giao-hang {
  margin: var(--sp-2) 0 0;
  color: var(--ink-2);
}

.gpkm-noi-dung .gpkm-gio .wp-block-woocommerce-cart {
  max-width: none;
  padding: 0;
}

.wp-block-woocommerce-cart-line-items-block,
.wc-block-cart-items {
  background: var(--surface);
  border-radius: 1rem;
}

.wc-block-cart-items__header {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink-soft);
  border-bottom: 1px solid color-mix(in srgb, var(--line) 30%, transparent) !important;
}

.wc-block-cart-items__row {
  border-bottom: 1px solid color-mix(in srgb, var(--line) 20%, transparent) !important;
  border-radius: var(--bo-goc-lon);
  transition: background var(--nhanh) var(--easing), box-shadow var(--nhanh) var(--easing);
}

.wc-block-cart-items__row:hover {
  background: var(--surface);
  box-shadow: 0 4px 24px rgba(226, 45, 79, 0.04);
}

.wc-block-components-product-name {
  font-family: var(--font-tieu-de);
  font-weight: 600;
  color: var(--ink) !important;
  text-decoration: none !important;
}

.wc-block-components-product-name:hover { color: var(--rose-red) !important; }

.wc-block-components-product-price,
.wc-block-components-product-price__value {
  color: var(--ink) !important;
  font-size: 1rem;
}

.wc-block-components-product-metadata {
  color: var(--ink-soft);
  font-size: 0.875rem;
}

.wc-block-cart__sidebar,
.wp-block-woocommerce-cart-totals-block {
  background: var(--surface) !important;
  border-radius: 1rem !important;
  box-shadow: 0 8px 40px rgba(226, 45, 79, 0.06) !important;
  padding: var(--sp-5) !important;
  border: 1px solid var(--line-2) !important;
}

.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block {
  font-family: var(--font-tieu-de);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--ink);
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--rose-red) !important;
  font-family: var(--font-tieu-de);
  font-weight: 600;
}

.wc-block-cart__submit-button {
  min-height: 52px !important;
  border-radius: var(--bo-goc) !important;
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  box-shadow: 0 4px 14px rgba(226, 45, 79, 0.2);
}

.wc-block-cart__submit-button:hover {
  background: var(--primary-dam) !important;
  border-color: var(--primary-dam) !important;
}

.wc-block-components-quantity-selector {
  border-radius: var(--bo-goc-vien-thuoc) !important;
  overflow: hidden;
  border: 1px solid var(--line-2) !important;
  background: var(--surface);
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  min-width: 44px !important;
  min-height: 44px !important;
}

.wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--minus {
  border-radius: var(--bo-goc-vien-thuoc) 0 0 var(--bo-goc-vien-thuoc) !important;
}

.wc-block-components-quantity-selector > .wc-block-components-quantity-selector__button--plus {
  border-radius: 0 var(--bo-goc-vien-thuoc) var(--bo-goc-vien-thuoc) 0 !important;
}

.wc-block-components-product-image img {
  border-radius: var(--bo-goc);
  background: var(--surface-2);
}

/* Classic cart fallback (nếu page dùng [woocommerce_cart]) */
.woocommerce-cart .woocommerce {
  max-width: var(--rong-toi-da);
  margin-inline: auto;
}

.woocommerce-cart .shop_table {
  border: 0;
  background: transparent;
}

.woocommerce-cart .shop_table th {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.8125rem;
  color: var(--ink-soft);
  border-bottom: 1px solid color-mix(in srgb, var(--line) 30%, transparent);
}

.woocommerce-cart .cart_item td {
  border-bottom: 1px solid color-mix(in srgb, var(--line) 20%, transparent);
  padding-block: var(--sp-4);
  vertical-align: middle;
}

.woocommerce-cart .product-subtotal {
  color: var(--rose-red);
  font-family: var(--font-tieu-de);
  font-weight: 600;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  background: var(--surface);
  border-radius: 1rem;
  box-shadow: 0 8px 40px rgba(226, 45, 79, 0.06);
  padding: var(--sp-5);
  border: 1px solid var(--line-2);
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  background: var(--primary) !important;
  border-radius: var(--bo-goc);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

@media (min-width: 1024px) {
  .gpkm-gio .wc-block-components-sidebar-layout .wc-block-components-main {
    width: 66.6667%;
  }

  .gpkm-gio .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 33.3333%;
  }

  .gpkm-gio .wc-block-cart__sidebar,
  .gpkm-gio__tom-tat {
    position: sticky;
    top: calc(var(--cao-dau-trang) + var(--sp-4));
    align-self: start;
  }

  .gpkm-gio__luoi {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
    gap: var(--sp-5);
    align-items: start;
  }

  .gpkm-gio__luoi .cart-collaterals {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .gpkm-gio {
    padding-block: var(--sp-4);
  }

  .gpkm-gio__dau {
    margin-bottom: var(--sp-4);
  }
}
