/* Purchase pages share the site's palette and font, without changing WooCommerce controls. */
.gt-purchase-page .gtc-entry { position: relative; max-width: 1200px; padding-block: 36px 56px; }
.gt-purchase-page .entry-header h1 { margin: 0 0 18px; font-size: clamp(28px, 3vw, 38px); line-height: 1.2; letter-spacing: -.025em; }
.gt-purchase-page .entry-content { font-size: 16px; line-height: 1.55; }
.gt-purchase-page .entry-content :is(button, input, select, textarea, .wc-block-components-title, .wc-block-cart__totals-title) { font-family: inherit; }
.gt-purchase-page .entry-content :is(.wc-block-cart, .wc-block-checkout) { font-family: inherit; font-size: 16px; color: var(--gtc-text); }
.gt-purchase-steps { display: flex; align-items: center; gap: 14px; margin: 0 0 28px; font-size: 14px; color: var(--gtc-muted); }
.gt-purchase-steps > :is(a, span:not(.gt-purchase-steps__line)) { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; }
.gt-purchase-steps > [aria-current] { color: var(--gtc-text); font-weight: 700; }
.gt-purchase-steps > :is(a, span) > span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--gtc-soft); }
.gt-purchase-steps > [aria-current] > span { background: var(--gtc-text); color: white; }
.gt-purchase-steps__line { width: 42px; height: 1px; background: var(--gtc-border); }
.gt-shipping-progress { box-sizing: border-box; display: flex; align-items: center; gap: 16px; width: 100%; min-height: 84px; margin: 0 0 18px; padding: 12px 0; background: transparent; border: 0; border-radius: 16px; }
.gt-shipping-progress[hidden] { display: none; }
.gt-shipping-progress__content { flex: 1 1 auto; min-width: 0; }
.gt-shipping-progress__message { margin: 0 0 6px !important; color: var(--gtc-text); font-size: clamp(16px, 1.5vw, 19px); line-height: 1.25; font-weight: 650; }
.gt-shipping-progress__message strong { color: color-mix(in srgb, var(--gtc-primary) 34%, var(--gtc-text)); font-weight: 700; }
.gt-shipping-progress__row { display: block; }
.gt-shipping-progress__track { position: relative; width: 100%; height: 16px; overflow: hidden; border: 0; border-radius: 999px; background: color-mix(in hsl, var(--gtc-primary) 90%, var(--gtc-deep)); }
.gt-shipping-progress__fill { position: absolute; inset: 0 auto 0 0; display: block; width: 0; border-radius: inherit; background: color-mix(in hsl, var(--gtc-primary) 56%, var(--gtc-deep)); transition: width .3s ease; }
.gt-shipping-progress__description { margin: 4px 0 0 !important; color: var(--gtc-muted); font-size: 12px; line-height: 1.35; }
.gt-shipping-progress__details { margin: 4px 0 0 !important; color: var(--gtc-muted); font-size: 11px; line-height: 1.4; }
.gt-shipping-progress__details[hidden] { display: none; }
.gt-purchase-page .wc-block-components-sidebar { padding: 24px; border-radius: 18px; background: var(--gtc-soft); border: 0; box-sizing: border-box; }
.gt-purchase-page .wc-block-components-main { min-width: 0; }
.gt-purchase-page .wc-block-cart__totals-title { padding-top: 0 !important; text-transform: none !important; font-size: 21px !important; line-height: 1.3; }
.gt-purchase-page :is(.wc-block-components-checkout-step__title, .wc-block-components-title) { font-size: 21px; line-height: 1.35; letter-spacing: -.015em; }
.gt-purchase-page .wc-block-components-checkout-step__description { color: var(--gtc-muted); font-size: 14px; }
.gt-purchase-page .wc-block-components-checkout-step { margin-bottom: 28px; }
.gt-purchase-page table.wc-block-cart-items { border-collapse: collapse; border: 0; }
.gt-purchase-page table.wc-block-cart-items :is(th, td) { background: transparent; border-color: var(--gtc-border); }
.gt-purchase-page .wc-block-cart-items__header th { text-transform: none !important; font-size: 13px; color: var(--gtc-muted); padding-bottom: 14px; }
.gt-purchase-page .wc-block-cart-item__image img { border-radius: 10px; }
.gt-purchase-page .wc-block-components-product-name { font-size: 16px; font-weight: 600; line-height: 1.45; color: var(--gtc-text); text-decoration: none; overflow-wrap: anywhere; }
.gt-purchase-page .wc-block-components-product-metadata__description { display: none; }
.gt-purchase-page .wc-block-components-product-metadata { font-size: 13px; color: var(--gtc-muted); }
.gt-purchase-page .wc-block-components-quantity-selector { min-height: 40px; border-radius: 8px; background: var(--gtc-white); }
.gt-purchase-page .wc-block-components-quantity-selector::after { border-color: var(--gtc-border); border-radius: 8px; }
.gt-purchase-page .wc-block-cart-item__remove-link { font-size: 12px !important; color: var(--gtc-muted) !important; text-underline-offset: 3px; }
/* Shared tracks keep the Woo Blocks header and item controls aligned.
   Include the table and row in selectors to outrank Woo's responsive rules. */
.gt-purchase-page .wc-block-cart__main { container: gt-cart / inline-size; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items {
    --gt-cart-line: color-mix(in srgb, var(--gtc-primary) 18%, white);
    --gt-cart-column-line: color-mix(in srgb, var(--gtc-text) 14%, white);
    --gt-cart-tint: color-mix(in srgb, var(--gtc-primary) 42%, white);
    --gt-cart-wash: color-mix(in srgb, var(--gtc-primary) 16%, white);
    --gt-cart-row-a: color-mix(in srgb, var(--gtc-primary) 12%, white);
    --gt-cart-row-b: color-mix(in srgb, var(--gtc-primary) 5%, white);
    display: block; width: 100%; margin: 0 0 20px;
    border: 0; border-radius: 12px;
    border-spacing: 0; overflow: hidden; background: white;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items thead, .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items tbody { display: block; width: 100%; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header, .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row {
    display: grid; grid-template-columns: 88px minmax(0, 1fr) 17%;
    gap: 0; width: 100%; padding: 0; box-sizing: border-box;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header {
    grid-template-columns: minmax(0, 1fr) 17% 25% 17%;
    background: var(--gt-cart-tint); align-items: stretch;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header th,
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .gt-cart-quantity-heading {
    width: auto; min-width: 0; margin: 0; padding: 11px 14px;
    box-sizing: border-box; text-align: left !important;
    font-size: 12px; font-weight: 650; line-height: 1.4;
    color: var(--gtc-text); border: 0; white-space: nowrap;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header-image { grid-area: 1 / 1; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header-product { grid-area: 1 / 2; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header-product > :not(.gt-cart-label),
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header-total > :not(.gt-cart-label) { display: none; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .gt-cart-quantity-heading {
    grid-area: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: 0;
    text-align: center !important;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header-total { grid-area: 1 / 4; }


.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row { border-top: 0; align-items: stretch; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header { border-bottom: 1px solid var(--gt-cart-line); }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row:nth-child(odd) { background: var(--gt-cart-row-a); }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row:nth-child(even) { background: var(--gt-cart-row-b); }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row > td { width: auto; min-width: 0; margin: 0; padding: 0; border: 0; box-sizing: border-box; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
    grid-area: 1 / 1; display: flex; align-items: center; padding: 10px;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
    display: block; width: 68px; max-width: 100%; height: 68px;
    object-fit: contain; border-radius: 8px; background: var(--gt-cart-wash);
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
    grid-area: 1 / 2; display: grid;
    /* Percentages resolve against the table, not this narrower cell. */
    grid-template-columns: minmax(0, 1fr) 17cqw 25cqw;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
    grid-column: 1 / -1; display: grid; grid-template-columns: subgrid;
    grid-template-rows: 1fr auto auto 1fr; gap: 0; align-items: center;
    min-width: 0; padding: 10px 0;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap > .wc-block-components-product-name {
    grid-area: 2 / 1; min-width: 0; padding: 0 12px 0 8px;
    margin: 0 0 4px; font-size: 14px; line-height: 1.4; text-align: left;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
    line-clamp: 3; max-height: 4.2em; overflow: hidden; text-overflow: ellipsis;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata {
    grid-area: 3 / 1; min-width: 0; padding: 0 12px 4px 8px;
    font-size: 12px; overflow-wrap: anywhere;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-details__sku,
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-sale-badge { display: none !important; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
    grid-column: 2; grid-row: 1 / 6; align-self: stretch;
    display: flex; align-items: flex-start; justify-content: center; flex-direction: column;
    min-width: 0; margin: -10px 0; padding: 10px 14px;
    border-left: 1px solid var(--gt-cart-line); box-sizing: border-box;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .price {
    display: flex; flex-direction: column; align-items: flex-start; gap: 3px;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices del { color: var(--gtc-muted); font-size: 12px; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices ins { text-decoration: none; font-weight: 700; font-size: 15px; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity { display: contents; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity::before {
    content: ""; grid-column: 3; grid-row: 1 / 6; align-self: stretch;
    margin-block: -10px; border-left: 1px solid var(--gt-cart-line);
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector {
    grid-column: 3; grid-row: 1 / 6; align-self: center; justify-self: center;
    display: flex; width: 120px; max-width: calc(100% - 20px); min-height: 42px;
    margin: 0; border: 1px solid var(--gt-cart-line); border-radius: 8px;
    box-sizing: border-box;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector::after { border: 0; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector input { min-width: 0; width: 40px; flex: 1; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector button { min-width: 32px; width: 32px; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__remove-link {
    grid-column: 1; grid-row: 4; justify-self: start; align-self: start;
    display: inline-flex; align-items: center; gap: 5px;
    width: auto; height: auto; margin: 2px 8px 0; padding: 0;
    text-decoration: none; line-height: 1.5;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .gt-cart-total-label { display: none; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .gt-cart-metadata-empty { display: none; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__remove-link[hidden] { display: none; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__remove-link svg { width: 16px; height: 16px; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    grid-area: 1 / 3; display: flex; align-items: center; justify-content: flex-start;
    padding: 10px 14px; border-left: 1px solid var(--gt-cart-line) !important;
    text-align: left;
}
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total-price-and-sale-badge-wrapper { text-align: left; align-items: flex-start; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total .wc-block-components-product-price__value {
    font-size: 15px; font-weight: 700; white-space: nowrap;
}
.gt-purchase-page .wc-block-components-totals-item { padding-block: 14px; font-size: 15px; }
.gt-purchase-page .wc-block-components-totals-footer-item { font-size: 20px; border-top: 1px solid var(--gtc-border); }
.gt-purchase-page .wc-block-components-totals-coupon-link { color: var(--gtc-text); font-size: 14px; text-underline-offset: 4px; }
.gt-purchase-page .wc-block-components-button:not(.is-link),
.gt-purchase-page .woocommerce :is(button.button, a.checkout-button) { min-height: 48px; padding: 13px 20px; border: 1px solid var(--gtc-text); border-radius: 9px; background: var(--gtc-text); color: #fff; font-size: 15px; font-weight: 700; line-height: 1.4; text-decoration: none; box-shadow: none; }
.gt-purchase-page .wc-block-components-button:not(.is-link):hover { background: color-mix(in srgb, var(--gtc-text) 88%, white); }
.gt-purchase-page .wc-block-components-button:disabled { opacity: .55; cursor: not-allowed; }
.gt-purchase-page .wc-block-components-text-input :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"]),
.gt-purchase-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.gt-purchase-page .wc-block-components-textarea { border-radius: 8px; border-color: color-mix(in srgb, var(--gtc-text) 25%, white); background: var(--gtc-white); font-size: 16px; color: var(--gtc-text); }
.gt-purchase-page .entry-content :is(.wc-block-components-text-input input, .wc-block-components-combobox input, .wc-block-components-textarea, .wc-block-components-quantity-selector input, .woocommerce input.input-text, .woocommerce select, .woocommerce textarea):focus { border-color: var(--gtc-border) !important; box-shadow: none !important; }
.gt-purchase-page .wc-block-components-radio-control__option { background: var(--gtc-white); }
.gt-purchase-page .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 1px var(--gtc-border); }
.gt-purchase-page .wc-block-checkout__terms { font-size: 13px; color: var(--gtc-muted); line-height: 1.65; }
.gt-purchase-page .entry-content :focus-visible { outline: 2px solid var(--gtc-muted); outline-offset: 3px; }
.gt-purchase-page .woocommerce .cart_totals { padding: 24px; border: 0; border-radius: 16px; background: var(--gtc-soft); }
/* Stack line totals below the description, so discounts cannot squeeze product names. */
.gt-purchase-page .wp-block-woocommerce-checkout-order-summary-block,
.gt-purchase-page .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill { border: 0; border-radius: 0; }
.gt-purchase-page .wc-block-components-order-summary .wc-block-components-order-summary-item { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 16px; row-gap: 8px; padding-block: 16px; }
.gt-purchase-page .wc-block-components-order-summary .wc-block-components-order-summary-item__image { grid-column: 1; grid-row: 1 / span 2; align-self: start; width: 56px; height: 56px; margin-top: 4px; padding: 0; }
.gt-purchase-page .wc-block-components-order-summary .wc-block-components-order-summary-item__image > img { display: block; width: 56px; height: 56px; max-width: 56px; max-height: 56px; object-fit: contain; object-position: center; border-radius: 8px; background: var(--gtc-white); }
.gt-purchase-page .wc-block-components-order-summary .wc-block-components-order-summary-item__description { grid-column: 2; min-width: 0; padding: 0; gap: 6px; word-break: normal; }
.gt-purchase-page .wc-block-components-order-summary .wc-block-components-product-name { max-width: none; width: 100%; font-size: 15px; line-height: 1.5; word-break: normal; overflow-wrap: break-word; }
.gt-purchase-page .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { grid-column: 2; min-width: 0; margin: 0; padding: 0; text-align: left; font-size: 15px; }
.gt-purchase-page .wc-block-components-order-summary-item__individual-prices { display: flex; flex-wrap: wrap; gap: 4px 8px; font-size: 13px; color: var(--gtc-muted); }
.gt-purchase-page .wc-block-components-order-summary-item :is(.wc-block-formatted-money-amount, .woocommerce-Price-amount) { white-space: nowrap; }
.gt-purchase-page .wc-block-components-order-summary .wc-block-components-order-summary-item .wc-block-components-sale-badge { display: none !important; }
.gt-purchase-page :is(.wc-block-components-sidebar, .wp-block-woocommerce-cart-totals-block, .wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-checkout-totals-block, .wp-block-woocommerce-checkout-order-summary-block, .woocommerce .cart_totals) { border: 0 !important; box-shadow: none !important; outline: 0 !important; }
@media (min-width: 1000px) {
    .gt-purchase-page .wc-block-components-sidebar-layout { gap: 36px; align-items: flex-start; }
    .gt-purchase-page .wc-block-components-sidebar-layout .wc-block-components-main { flex: 1 1 0; width: auto; padding-right: 0; }
    .gt-purchase-page .wc-block-components-sidebar-layout .wc-block-components-sidebar { flex: 0 0 400px; width: 400px; margin: 0; padding: 20px; }
}
@media (min-width: 701px) {
    .gt-purchase-page .gt-purchase-steps { position: absolute; top: 42px; right: 0; margin: 0; }
    .gt-shipping-progress__track { width: calc(100% - 8px); }
    .gt-shipping-progress__message,
    .gt-shipping-progress__description,
    .gt-shipping-progress__details { transform: translateX(5px); }
}
@media (max-width: 700px) {
    .gt-purchase-page .gtc-entry { width: 100%; padding: 24px 18px 36px; }
    .gt-purchase-page .wc-block-components-sidebar { padding: 20px 16px; width: 100%; margin-top: 20px; }
    .gt-shipping-progress { width: calc(100% - 16px); min-height: 0; gap: 10px; padding: 10px 10px; margin: 0 auto 16px; border-radius: 14px; }
    .gt-shipping-progress__message { margin-bottom: 6px !important; font-size: 15px; }
    .gt-shipping-progress__row { display: block; }
    .gt-shipping-progress__track { height: 15px; }
    .gt-shipping-progress__message,
    .gt-shipping-progress__description,
    .gt-shipping-progress__details { transform: translateX(5px); }
    .gt-shipping-progress__description { margin-top: 4px !important; font-size: 12px; }
    .gt-purchase-steps { position: relative; display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; margin-bottom: 22px; gap: 0; font-size: 12px; }
    .gt-purchase-steps > :is(a, span:not(.gt-purchase-steps__line)) { min-width: 0; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; text-align: center; line-height: 1.35; }
    .gt-purchase-steps > :is(a, span:not(.gt-purchase-steps__line)):first-child { grid-column: 1; justify-self: center; }
    .gt-purchase-steps > :is(a, span:not(.gt-purchase-steps__line))[aria-current="step"] { grid-column: 2; justify-self: center; }
    .gt-purchase-steps > :is(a, span:not(.gt-purchase-steps__line)):last-child { grid-column: 3; justify-self: center; }
    .gt-purchase-steps > :is(a, span:not(.gt-purchase-steps__line)) > span { width: 23px; height: 23px; flex: 0 0 23px; }
    .gt-purchase-steps__line { position: absolute; top: 10.75px; display: block; width: calc(33.333333% - 23px); height: 1.5px; background: color-mix(in srgb, var(--gtc-primary) 55%, white); }
    .gt-purchase-steps__line:nth-child(2) { left: calc(16.666667% + 11.5px); }
    .gt-purchase-steps__line:nth-child(4) { left: calc(50% + 11.5px); }
    .gt-purchase-page .wc-block-components-product-name { font-size: 14px; }
    .gt-purchase-page .wc-block-components-checkout-step { padding-left: 0; }
    .gt-purchase-page .wc-block-components-checkout-step__container { padding-left: 0; }
    .gt-purchase-page .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before { display: none; }
}

.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header th,
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { border-left: 0 !important; }
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity::before { border-left: 0; }
/* Reapply the only column divider after Woo/theme border resets. */
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__header th.wc-block-cart-items__header-total,
.gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    border-left: 1px solid var(--gt-cart-column-line) !important;
    box-shadow: none !important;
}

/* Reflow based on the actual cart column, including narrow tablet layouts. */
@container gt-cart (max-width: 639px) {
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items { overflow: visible; background: transparent; }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items tbody { display: grid; gap: 18px; }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items thead { display: none; }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row {
        grid-template-columns: 60px minmax(0, 1fr) 116px;
        grid-template-rows: auto auto auto auto;
        gap: 4px 8px; padding: 10px;
        border: 0; border-radius: 12px; background: var(--gt-cart-wash);
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row:nth-child(odd) { background: var(--gt-cart-row-a); }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row:nth-child(even) { background: var(--gt-cart-row-b); }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
        grid-area: 1 / 1 / 4 / 2; align-items: flex-start; padding: 0; z-index: 1;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
        grid-area: 1 / 1 / 4 / -1; display: grid;
        grid-template-columns: subgrid; grid-template-rows: subgrid;
        pointer-events: none;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
        grid-area: 1 / 1 / -1 / -1;
        grid-template-columns: subgrid; grid-template-rows: subgrid;
        padding: 0; gap: 4px 8px;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap > * { pointer-events: auto; }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap > .wc-block-components-product-name {
        grid-area: 1 / 2 / 2 / -1; padding: 0; font-size: 14px; line-height: 1.4;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata { grid-area: 2 / 2 / 3 / -1; padding: 0; }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
        grid-area: 2 / 2 / 3 / 3; border: 0; margin: 0; padding: 0; align-self: center;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .price {
        flex-direction: column; align-items: flex-start; gap: 2px;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity::before { display: none; }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector {
        grid-area: 2 / 3 / 3 / 4; justify-self: end; align-self: center;
        width: 116px; max-width: 100%; min-height: 40px; margin: 0;
        pointer-events: auto;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__remove-link {
        grid-area: 3 / 2 / 4 / 3; align-self: center; margin: 0; min-height: 28px; pointer-events: auto;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
        grid-area: 3 / 3 / 4 / 4; flex-direction: column; align-items: flex-end;
        justify-content: center; gap: 2px; margin: 0; padding: 0;
        border: 0 !important; background: transparent; text-align: right;
    }
    .gt-purchase-page .wc-block-cart__main table.wc-block-cart-items .wc-block-cart-items__row .gt-cart-total-label {
        display: block; order: -1; font-size: 12px; color: var(--gtc-muted);
    }
}
@media (prefers-reduced-motion: reduce) { .gt-shipping-progress__fill { transition: none; } }
