body.woocommerce-cart div[data-elementor-type="wp-page"] {
  --thp-cart-radius: var(--thp-button-radius);
  --thp-cart-accent: var(--thp-color-brand);
  --thp-cart-accent-dark: var(--thp-color-brand-hover);
  --thp-cart-text: var(--thp-color-text);
  --thp-cart-muted: var(--thp-color-muted);
  --thp-cart-border: var(--thp-color-border);
  --thp-cart-soft-border: var(--thp-color-soft-border);
  --thp-cart-surface: var(--thp-color-surface);
  --thp-cart-panel: var(--thp-color-panel);
  --thp-cart-table-head: var(--thp-color-table-head);
  --thp-cart-card-padding: var(--thp-card-padding);
  --thp-cart-card-radius: var(--thp-card-radius);
  --thp-cart-section-gap: var(--thp-card-section-gap);
  --thp-cart-danger: var(--thp-error-color, #df5b52);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .elementor-widget-woocommerce-cart {
  --forms-fields-border-radius: var(--thp-cart-radius);
  --forms-buttons-border-radius: var(--thp-cart-radius);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .woocommerce,
body.woocommerce-cart div[data-elementor-type="wp-page"] .elementor-widget-woocommerce-cart .woocommerce {
  color: var(--thp-cart-text);
}

.cart-wrapper {
  padding-bottom: var(--thp-space-lg);
}

.e-clear {
  display: none;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(var(--thp-size-cart-col-min), 0.66fr);
  gap: var(--thp-cart-gap);
  align-items: start;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart__column {
  min-width: 0;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .woocommerce-cart-form {
  display: grid;
  gap: var(--thp-cart-section-gap);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart-section,
body.woocommerce-cart div[data-elementor-type="wp-page"] .cart-collaterals .cart_totals,
body.woocommerce-cart div[data-elementor-type="wp-page"] form.woocommerce-cart-form table.shop_table {
  border: var(--thp-border-width-md) solid var(--thp-cart-soft-border) !important;
  border-radius: var(--thp-cart-card-radius) !important;
  background: var(--thp-color-white) !important;
  box-shadow: var(--thp-shadow-card);
  margin: 0;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart-section,
body.woocommerce-cart div[data-elementor-type="wp-page"] .cart-collaterals .cart_totals {
  padding: var(--thp-cart-card-padding) !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals,
body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart__container .cart-collaterals .cart_totals {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] form.woocommerce-cart-form .e-shop-table,
body.woocommerce-cart div[data-elementor-type="wp-page"] form.woocommerce-cart-form table.shop_table {
  overflow: hidden;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] form.woocommerce-cart-form table.shop_table {
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .elementor-widget-woocommerce-cart form.woocommerce-cart-form table.shop_table,
body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart__container form.woocommerce-cart-form table.shop_table {
  border: 0 !important;
  border-radius: var(--thp-cart-radius) !important;
  box-shadow: none !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart-section table.shop_table,
body.woocommerce-cart div[data-elementor-type="wp-page"] .cart-collaterals table.shop_table {
  margin: 0 !important;
  border: 0 !important;
  border-radius: var(--thp-cart-radius);
  background: var(--thp-color-white);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table thead th {
  background: var(--thp-cart-table-head);
  color: var(--thp-cart-muted);
  font-weight: var(--thp-font-weight-bold);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table th,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table td {
  border-color: var(--thp-cart-border) !important;
  color: var(--thp-cart-text);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table_responsive th {
  padding: 0;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .elementor-widget-woocommerce-cart .woocommerce table.cart td {
  padding: 0;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table tr.woocommerce-cart-form__cart-item.cart_item>td {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table tbody tr,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table tbody tr:hover>td,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table tbody tr:hover>th {
  background: var(--thp-color-white) !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table .product-name a,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table .product-name .variation a,
body.woocommerce-cart div[data-elementor-type="wp-page"] .woocommerce-cart-form__cart-item .product-name>a {
  color: var(--thp-cart-accent);
  font-weight: var(--thp-font-weight-medium);
  text-decoration: none;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table .product-name a:hover,
body.woocommerce-cart div[data-elementor-type="wp-page"] .woocommerce-cart-form__cart-item .product-name>a:hover {
  color: var(--thp-cart-accent-dark);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table th.product-name,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table td.product-name {
  width: 25%;
  padding-inline: 0;
}

/* Override Elementor widget's hardcoded td span styles */
body.woocommerce-cart div[data-elementor-type="wp-page"] .elementor-widget-woocommerce-cart .woocommerce table.cart td span:not(.thp-wapo-service-row span.amount, .thp-wapo-service-row span.woocommerce-Price-currencySymbol) {
  font-size: var(--thp-font-size-base-lg);
  color: var(--thp-cart-text);
  font-weight: inherit;
}

/* Base price and subtotal amounts — identical treatment */
body.woocommerce-cart div[data-elementor-type="wp-page"] dl.thp-wapo-price-breakdown span.amount,
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-subtotal span.amount {
  font-size: var(--thp-font-size-xl);
  font-weight: var(--thp-font-weight-extrabold);
  color: var(--thp-cart-text);
}

/* Desktop table vertical alignment */
body.woocommerce-cart div[data-elementor-type="wp-page"] table.cart td,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.cart th {
  vertical-align: top;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove {
  vertical-align: top;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table td.product-thumbnail {
  padding-inline: 0.5rem !important;
}

/* Expand product-name column when it carries the services list */
body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table tr.has-wapo-services td.product-name {
  width: 50%;
}

/* ── Additional services list (desktop: inside product-name column) ── */
.thp-wapo-services {
  margin-top: var(--thp-space-sm);
  padding-top: var(--thp-space-sm);
  border-top: var(--thp-border-width-md) solid var(--thp-cart-soft-border);
}

.thp-wapo-services__heading {
  display: none;
}

/* Mobile services copy — hidden on desktop, revealed inside td.product-price on mobile */
.thp-wapo-services--price {
  display: none;
}

.thp-wapo-services__list {
  display: flex;
  flex-direction: column;
  gap: 0.15em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.thp-wapo-service-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--thp-space-sm);
  font-size: var(--thp-font-size-sm);
  color: var(--thp-cart-muted);
  line-height: 1.5;
}

.thp-wapo-service-row dt {
  font-weight: normal;
  flex: 1 1 auto;
  min-width: 0;
}

.thp-wapo-service-row dd {
  margin: 0;
  white-space: nowrap;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table .thp-wapo-service-row span.amount,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table .thp-wapo-service-row span.woocommerce-Price-currencySymbol {
  font-size: var(--thp-font-size-sm);
  color: var(--thp-cart-muted);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table th.product-subtotal,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table td.product-subtotal {
  width: 15%;
  padding: 0;
  text-align: center;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table td.product-thumbnail {
  padding-inline: 0;
  width: var(--thp-size-thumb-lg);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table .product-thumbnail img {
  width: var(--thp-size-thumb-lg);
  /* height: var(--thp-size-thumb-lg); */
  object-fit: contain;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table td.product-thumbnail {
  padding-inline: 0;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove {
  width: calc(var(--thp-size-icon-sm) + var(--thp-space-lg));
  text-align: center;
  vertical-align: middle;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: var(--thp-size-icon-md) !important;
  min-width: var(--thp-size-icon-md);
  height: var(--thp-size-icon-md) !important;
  min-height: var(--thp-size-icon-md);
  padding: 0 !important;
  margin: 0;
  border: var(--thp-border-width-md) solid color-mix(in srgb, var(--thp-cart-danger) 32%, transparent) !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--thp-cart-danger) 7%, var(--thp-color-white)) !important;
  color: var(--thp-cart-danger) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-align: center;
  text-decoration: none !important;
  text-indent: 0 !important;
  overflow: hidden;
  box-shadow: none;
  transition:
    border-color var(--thp-transition-xl),
    color var(--thp-transition-xl),
    background var(--thp-transition-xl),
    box-shadow var(--thp-transition-xl),
    transform var(--thp-transition-xl);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove::before,
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove::after,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove::before,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove::after {
  content: "";
  position: absolute;
  width: 0.75rem;
  height: 0.125rem;
  border-radius: 999px;
  background: currentColor;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove::before,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove::before {
  transform: rotate(45deg);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove::after,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove::after {
  transform: rotate(-45deg);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove:hover,
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove:focus-visible,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove:hover,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove:focus-visible {
  border-color: color-mix(in srgb, var(--thp-cart-danger) 46%, transparent) !important;
  background: color-mix(in srgb, var(--thp-cart-danger) 12%, var(--thp-color-white)) !important;
  color: var(--thp-cart-danger) !important;
  box-shadow: 0 0.375rem 0.875rem color-mix(in srgb, var(--thp-cart-danger) 16%, transparent);
  transform: translateY(-0.0625rem);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] input.input-text,
body.woocommerce-cart div[data-elementor-type="wp-page"] input[type='text'],
body.woocommerce-cart div[data-elementor-type="wp-page"] input[type='number'],
body.woocommerce-cart div[data-elementor-type="wp-page"] select,
body.woocommerce-cart div[data-elementor-type="wp-page"] textarea {
  min-height: var(--thp-size-input-height);
  padding: var(--thp-space-md) var(--thp-space-md-lg);
  border: var(--thp-border-width-md) solid var(--thp-cart-border) !important;
  border-radius: var(--thp-cart-radius) !important;
  background-color: var(--thp-cart-surface);
  color: var(--thp-cart-text);
  box-shadow: none;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] input.input-text:focus,
body.woocommerce-cart div[data-elementor-type="wp-page"] input[type='text']:focus,
body.woocommerce-cart div[data-elementor-type="wp-page"] input[type='number']:focus,
body.woocommerce-cart div[data-elementor-type="wp-page"] select:focus,
body.woocommerce-cart div[data-elementor-type="wp-page"] textarea:focus {
  border-color: var(--thp-cart-accent) !important;
  outline: none;
  box-shadow: 0 0 0 0.1875rem color-mix(in srgb, var(--thp-cart-accent) 16%, transparent);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .quantity .qty {
  width: 5.5rem;
  text-align: center;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon.e-cart-section {
  margin: 0 !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] table.cart td.actions {
  background: var(--thp-color-white) !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .coupon-col,
body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .form-row,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.cart td.actions .coupon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(11.25rem, 0.45fr);
  gap: var(--thp-cart-coupon-gap);
  align-items: center;
  margin: 0;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .coupon-col::before,
body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .coupon-col::after,
body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .form-row::before,
body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .form-row::after,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.cart td.actions .coupon::before,
body.woocommerce-cart div[data-elementor-type="wp-page"] table.cart td.actions .coupon::after {
  display: none !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon input.input-text,
body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon input[type='text'] {
  width: 100% !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .coupon-col-start,
body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .coupon-col-end {
  width: auto !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .button,
body.woocommerce-cart div[data-elementor-type="wp-page"] button.button,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.button,
body.woocommerce-cart div[data-elementor-type="wp-page"] .checkout-button,
body.woocommerce-cart div[data-elementor-type="wp-page"] .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: var(--thp-size-btn-height);
  padding: var(--thp-space-md-lg) var(--thp-space-lg-xl) !important;
  border: 0 !important;
  border-radius: var(--thp-cart-radius) !important;
  background: var(--thp-cart-accent) !important;
  color: var(--thp-color-white) !important;
  box-shadow: var(--thp-shadow-btn);
  font-weight: var(--thp-font-weight-extrabold);
  line-height: var(--thp-line-height-tight) !important;
  text-align: center;
  text-decoration: none !important;
  transition:
    transform var(--thp-transition-xl),
    box-shadow var(--thp-transition-xl),
    filter var(--thp-transition-xl),
    opacity var(--thp-transition-xl);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .button:hover,
body.woocommerce-cart div[data-elementor-type="wp-page"] .button:focus-visible,
body.woocommerce-cart div[data-elementor-type="wp-page"] button.button:hover,
body.woocommerce-cart div[data-elementor-type="wp-page"] button.button:focus-visible,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.button:hover,
body.woocommerce-cart div[data-elementor-type="wp-page"] a.button:focus-visible,
body.woocommerce-cart div[data-elementor-type="wp-page"] .checkout-button:hover,
body.woocommerce-cart div[data-elementor-type="wp-page"] .checkout-button:focus-visible,
body.woocommerce-cart div[data-elementor-type="wp-page"] .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart div[data-elementor-type="wp-page"] .wc-proceed-to-checkout a.checkout-button:focus-visible {
  color: var(--thp-color-white) !important;
  transform: translateY(-0.0625rem);
  box-shadow: var(--thp-shadow-btn-hover);
  filter: saturate(1.05);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .button:disabled,
body.woocommerce-cart div[data-elementor-type="wp-page"] .button.disabled,
body.woocommerce-cart div[data-elementor-type="wp-page"] button.button:disabled,
body.woocommerce-cart div[data-elementor-type="wp-page"] button.button:disabled[disabled],
body.woocommerce-cart div[data-elementor-type="wp-page"] button.button.disabled {
  background: color-mix(in srgb, var(--thp-cart-accent) 48%, var(--thp-color-white)) !important;
  color: var(--thp-color-white) !important;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
  transform: none;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .button {
  width: 100%;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals h2,
body.woocommerce-cart div[data-elementor-type="wp-page"] .cart_totals .e-cart-totals__title {
  margin: 0 0 var(--thp-space-lg-alt) !important;
  color: var(--thp-cart-text);
  font-size: clamp(1.15rem, 0.75vw + 1rem, 1.45rem);
  line-height: var(--thp-line-height-tight);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .cart_totals table.shop_table th,
body.woocommerce-cart div[data-elementor-type="wp-page"] .cart_totals table.shop_table td {
  padding: var(--thp-space-lg) 0 !important;
  border-width: 0 0 var(--thp-border-width-md) !important;
  background: transparent !important;
  font-size: clamp(0.98rem, 0.25vw + 0.92rem, 1.08rem);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .cart_totals table.shop_table tr:last-child th,
body.woocommerce-cart div[data-elementor-type="wp-page"] .cart_totals table.shop_table tr:last-child td {
  border-bottom: 0 !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .cart_totals table.shop_table td {
  text-align: right;
  font-weight: var(--thp-font-weight-extrabold);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .cart_totals .order-total th,
body.woocommerce-cart div[data-elementor-type="wp-page"] .cart_totals .order-total td {
  color: var(--thp-cart-text);
  font-size: clamp(1.02rem, 0.35vw + 0.94rem, 1.14rem);
  font-weight: var(--thp-font-weight-extrabold);
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .wc-proceed-to-checkout {
  margin: var(--thp-space-xl) 0 0;
  padding: 0 !important;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  min-height: var(--thp-size-btn-height-lg);
  margin: 0 !important;
  font-size: clamp(1.05rem, 0.8vw + 0.9rem, 1.35rem);
  text-transform: none;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] .woocommerce-info,
body.woocommerce-cart div[data-elementor-type="wp-page"] .woocommerce-message,
body.woocommerce-cart div[data-elementor-type="wp-page"] .woocommerce-error {
  border-top-color: var(--thp-cart-accent);
  border-radius: var(--thp-cart-radius);
  background: var(--thp-cart-panel);
  color: var(--thp-cart-text);
}

@supports not (color: color-mix(in srgb, #000 10%, transparent)) {

  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove,
  body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove {
    border-color: rgba(223, 91, 82, 0.32) !important;
    background: rgba(223, 91, 82, 0.07) !important;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] input.input-text:focus,
  body.woocommerce-cart div[data-elementor-type="wp-page"] input[type='text']:focus,
  body.woocommerce-cart div[data-elementor-type="wp-page"] input[type='number']:focus,
  body.woocommerce-cart div[data-elementor-type="wp-page"] select:focus,
  body.woocommerce-cart div[data-elementor-type="wp-page"] textarea:focus {
    box-shadow: 0 0 0 0.1875rem var(--thp-color-brand-focus);
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove:hover,
  body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove:focus-visible {
    border-color: rgba(223, 91, 82, 0.46) !important;
    background: rgba(223, 91, 82, 0.12) !important;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] .button:disabled,
  body.woocommerce-cart div[data-elementor-type="wp-page"] .button.disabled,
  body.woocommerce-cart div[data-elementor-type="wp-page"] button.button:disabled,
  body.woocommerce-cart div[data-elementor-type="wp-page"] button.button:disabled[disabled],
  body.woocommerce-cart div[data-elementor-type="wp-page"] button.button.disabled {
    background: var(--thp-color-brand-disabled) !important;
  }
}

@media (max-width: 1024px) {
  body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart__container {
    grid-template-columns: 1fr !important;
  }
}

/* YITH WAPO price breakdown in cart price column */
body.woocommerce-cart div[data-elementor-type="wp-page"] th.product-price {
  text-align: center;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1em;
  color: var(--thp-cart-muted);
  line-height: 1.5;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-row dt {
  font-weight: normal;
  flex: 1 1 auto;
  min-width: 0;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-row dd {
  margin: 0;
  min-width: 6em;
  white-space: nowrap;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-row .woocommerce-Price-amount,
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-row .woocommerce-Price-amount bdi,
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-row .woocommerce-Price-currencySymbol {
  color: inherit;
}

/* Grundpreis — muted, normal weight, bottom separator */
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-base {
  font-size: 0.975em;
  padding-bottom: 0.35em;
  margin-bottom: 0.15em;
  /* border-bottom: var(--thp-border-width-md, 1px) solid var(--thp-cart-soft-border); */
  text-align: center;
}

/* Hide the "Base price" label on desktop — mobile-only */
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-base dt {
  display: none;
}

/* body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-base span.amount {
  font-size: 0.975em;
} */

/* Option rows and Duration surcharge — smaller, muted */
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-option {
  font-size: 0.8125em;
}

/* Gesamt — bold, full text color, top separator */
body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-total {
  font-size: 0.975em;
  color: var(--thp-cart-text);
  font-weight: var(--thp-font-weight-bold);
  /* border-top: var(--thp-border-width-md, 1px) solid var(--thp-cart-border); */
  padding-top: 0.35em;
  margin-top: 0.15em;
}


@media (max-width: 767px) {

  /* ── Table → card reflow ── */

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table thead {
    display: none;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive,
  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive tbody {
    display: block;
    width: 100%;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive tr.woocommerce-cart-form__cart-item {
    display: grid;
    grid-template-columns: var(--thp-size-thumb-md) 1fr;
    column-gap: var(--thp-space-md);
    row-gap: var(--thp-space-sm);
    padding-top: calc(var(--thp-size-icon-sm) + var(--thp-space-md));
    padding-right: calc(var(--thp-size-icon-sm) + var(--thp-space-md));
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive tr.woocommerce-cart-form__cart-item>td {
    display: block;
    padding: 0 !important;
    border: 0 !important;
    width: auto !important;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive td.product-thumbnail {
    grid-column: 1;
    grid-row: 1;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive td.product-name {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }



  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive td.product-price {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive td.product-subtotal {
    grid-column: 1 / -1;
    grid-row: 3;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--thp-space-sm) !important;
    border-top: var(--thp-border-width-md) solid var(--thp-cart-soft-border) !important;
    font-size: var(--thp-font-size-subtotal);
    font-weight: var(--thp-font-weight-extrabold);
    text-align: right;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive td.product-subtotal::before {
    content: attr(data-title);
    color: var(--thp-cart-muted);
    font-weight: var(--thp-font-weight-normal);
    font-size: var(--thp-font-size-md);
    float: none;
    margin: 0;
  }

  /* Suppress WC's default data-title labels on cells that don't need them */
  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive td.product-thumbnail::before,
  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive td.product-name::before,
  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive td.product-price::before {
    content: none !important;
    display: none !important;
  }

  /* Base price row on mobile — mirrors Subtotal: small muted label left, bold price right */
  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-base {
    text-align: left;
    font-size: var(--thp-font-size-subtotal);
    margin: 0;
    padding: 0;
    line-height: 1.2;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-base dt {
    display: block;
    font-size: var(--thp-font-size-md);
    color: var(--thp-cart-muted);
    font-weight: var(--thp-font-weight-normal);
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-base dd {
    min-width: 0;
    flex: 1 0 auto;
    text-align: right;
    font-weight: var(--thp-font-weight-extrabold);
    color: var(--thp-cart-text);
  }

  /* Option rows: smaller text to de-emphasise add-ons vs base/subtotal */
  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price .thp-wapo-price-breakdown .thp-wapo-option {
    font-size: var(--thp-font-size-sm);
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-price span.amount {
    font-size: var(--thp-font-size-md);
  }

  /* Subtotal price span must inherit the large token from its parent td */
  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-subtotal span {
    font-size: inherit;
  }

  /* Reorder services below base price on mobile */
  .thp-wapo-services--name {
    display: none !important;
  }

  .thp-wapo-services--price {
    display: block;
    margin-top: var(--thp-space-sm);
    padding-top: var(--thp-space-sm);
    border-top: var(--thp-border-width-md) solid var(--thp-cart-soft-border);
  }

  /* Actions row (nonce/update) */
  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table.shop_table_responsive tr:not(.woocommerce-cart-form__cart-item) {
    display: block;
    width: 100%;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] .e-cart-section,
  body.woocommerce-cart div[data-elementor-type="wp-page"] .cart-collaterals .cart_totals {
    padding: var(--thp-space-lg) !important;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .coupon-col,
  body.woocommerce-cart div[data-elementor-type="wp-page"] .coupon .form-row,
  body.woocommerce-cart div[data-elementor-type="wp-page"] table.cart td.actions .coupon {
    grid-template-columns: 1fr;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] .button,
  body.woocommerce-cart div[data-elementor-type="wp-page"] button.button,
  body.woocommerce-cart div[data-elementor-type="wp-page"] a.button {
    width: 100%;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table .product-thumbnail img {
    width: var(--thp-size-thumb-md);
    /* height: var(--thp-size-thumb-md); */
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table tr.cart_item,
  body.woocommerce-cart div[data-elementor-type="wp-page"] table.shop_table tr.woocommerce-cart-form__cart-item {
    position: relative;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove {
    position: absolute;
    top: var(--thp-space-md);
    right: var(--thp-space-md);
    z-index: 2;
    display: flex !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: right !important;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove::before {
    content: none !important;
    display: none !important;
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove,
  body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove {
    width: var(--thp-size-icon-sm) !important;
    min-width: var(--thp-size-icon-sm);
    height: var(--thp-size-icon-sm) !important;
    min-height: var(--thp-size-icon-sm);
  }

  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove::before,
  body.woocommerce-cart div[data-elementor-type="wp-page"] td.product-remove a.remove::after,
  body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove::before,
  body.woocommerce-cart div[data-elementor-type="wp-page"] a.remove::after {
    width: 0.65rem;
  }
}