/* ==========================================================================
   Cart page
   --------------------------------------------------------------------------
   Restyles the WooCommerce Cart block. Everything is scoped to
   `body.woocommerce-cart` so it follows whichever page WooCommerce is
   configured to use as the cart, in every environment, instead of the
   hard-coded `.page-id-41431` the previous cart styles relied on.

   This sheet is enqueued last (see inc/tobor-cart-ui.php), so it also
   neutralises the older cart hacks that live in css/style-one.css:
   the remote trash-can PNG on the remove button, the absolutely
   positioned quantity stepper, and the black-bordered totals box.

   Layout: line items read as an itemised manifest (hairline rules,
   uppercase micro-labels, tabular figures); the summary is a single
   sticky card that carries the checkout button inside it.
   ========================================================================== */

body.woocommerce-cart {
    --tc-ink: #101114;
    --tc-ink-mid: #5b606b;
    --tc-ink-soft: #8a8f99;
    --tc-line: #e4e6eb;
    --tc-line-mid: #d3d7de;
    --tc-surface: #fff;
    --tc-tile: #f7f8fa;
    --tc-blue: #506ccd;
    --tc-green: #99c300;
    --tc-green-dark: #6a8700;
    --tc-danger: #b4232a;
    --tc-radius: 16px;
    /* The site header is fixed and 93px tall; keep the sticky summary clear of it. */
    --tc-sticky-top: 117px;
}

/* --------------------------------------------------------------------------
   Page frame
   -------------------------------------------------------------------------- */

body.woocommerce-cart #page-title-pro {
    display: none;
}

body.woocommerce-cart #content-pro {
    padding-top: 56px;
    padding-bottom: 64px;
}

/* The cart page's content starts with a 100px spacer block added in the
   editor to clear the fixed header. #content-pro's own padding covers that
   now, so the spacer only doubles the gap. Neutralised here rather than
   deleted so the fix ships with the theme to every environment. */
body.woocommerce-cart .page-content-pro .wp-block-spacer {
    display: none;
}

/* The parent theme forces `width: 100% !important` on this container, so the
   cap has to come from max-width, which that rule cannot override. */
body.woocommerce-cart #content-pro .width-container-pro {
    max-width: min(1320px, calc(100% - 48px));
}

body.woocommerce-cart .custom-cart-class {
    align-items: start;
    gap: 36px;
}

body.woocommerce-cart .custom-cart-class > .wp-block-column {
    margin: 0 !important;
}

/* --------------------------------------------------------------------------
   Page heading (markup injected in inc/tobor-cart-ui.php)
   -------------------------------------------------------------------------- */

body.woocommerce-cart .tobor-cart-head {
    margin: 0 0 34px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--tc-line);
}

body.woocommerce-cart .tobor-cart-head__title {
    margin: 0;
    padding: 0;
    font-size: 38px;
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--tc-ink);
    text-transform: none;
}

/* --------------------------------------------------------------------------
   Two-column shell
   -------------------------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 384px;
    gap: 0 56px;
    align-items: start;
    margin: 0 0 8px;
    padding-top: 0;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-main.wc-block-cart__main {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
}

/* --------------------------------------------------------------------------
   Line items
   -------------------------------------------------------------------------- */

body.woocommerce-cart table.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block {
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 0;
    border-spacing: 0;
}

/* Column header: an uppercase micro-label rule, not a heading. */
body.woocommerce-cart .wc-block-cart .wc-block-cart-items__header th {
    padding: 0 0 14px;
    border-bottom: 1px solid var(--tc-line);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--tc-ink-soft);
    white-space: nowrap;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart-items__header .wc-block-cart-items__header-image {
    width: 136px;
    text-align: left !important;
}

/* WooCommerce hides the "Details" heading with visibility, which takes the
   cell's bottom border with it and breaks the rule into segments. Keep the
   cell visible and drop the text instead so the rule runs the full width. */
body.woocommerce-cart .wc-block-cart .wc-block-cart-items__header .wc-block-cart-items__header-product {
    visibility: visible;
    font-size: 0;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart-items__header .wc-block-cart-items__header-total {
    width: 140px;
    padding-right: 0;
    text-align: right !important;
}

/* WooCommerce ships `margin: 0 0 40px` on these cells. It is inert while they
   are table cells, but the row becomes a grid on narrow screens and the margin
   then opens a gap under every cell — zero it everywhere. */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row > td,
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header > th {
    margin: 0;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row > td {
    border-top: 0;
    padding: 26px 0;
    vertical-align: top;
}

body.woocommerce-cart table.wc-block-cart-items tbody tr:not(:last-child) > td {
    border-bottom: 1px solid var(--tc-line);
}

/* Product image sits in a tile so a 100px render still reads as a spec photo. */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__image {
    width: 136px;
    padding-right: 24px;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image > a {
    display: grid;
    place-items: center;
    box-sizing: border-box;
    width: 112px;
    height: 112px;
    padding: 8px;
    background: var(--tc-tile);
    border: 1px solid var(--tc-line);
    border-radius: 14px;
    overflow: hidden;
    transition: border-color 0.18s ease;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image > a:hover {
    border-color: var(--tc-line-mid);
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
    width: auto;
    max-width: 96px;
    max-height: 96px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    object-fit: contain;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__product {
    padding-left: 0;
    padding-right: 28px;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart-item__wrap > * {
    margin-bottom: 0;
}

body.woocommerce-cart .wc-block-cart a.wc-block-components-product-name {
    display: block;
    max-width: none;
    margin: 0 0 8px !important;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: var(--tc-ink);
    text-decoration: none;
    transition: color 0.16s ease;
}

body.woocommerce-cart .wc-block-cart a.wc-block-components-product-name:hover,
body.woocommerce-cart .wc-block-cart a.wc-block-components-product-name:focus-visible {
    color: var(--tc-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Unit price is secondary — the Total column carries the figure that matters. */
body.woocommerce-cart .wc-block-cart .wc-block-cart-item__prices {
    margin: 0;
    line-height: 1.4;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart-item__prices .wc-block-components-product-price__value {
    font-size: 14px;
    font-weight: 500;
    color: var(--tc-ink-mid);
    font-variant-numeric: tabular-nums;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-product-metadata {
    margin: 10px 0 0;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-product-metadata__description {
    display: block;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-product-metadata__description p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--tc-ink-mid);
}

/* --------------------------------------------------------------------------
   Quantity stepper + remove
   -------------------------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart .wc-block-cart-item__quantity {
    position: static;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin: 18px 0 0 !important;
    padding: 0;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-quantity-selector {
    position: static;
    top: auto;
    left: auto;
    display: grid;
    grid-template-columns: 40px minmax(48px, 1fr) 40px;
    grid-template-areas: "minus input plus";
    align-items: stretch;
    box-sizing: border-box;
    /* It sits in a flex row — stop it shrinking and clipping the + button. */
    flex: 0 0 auto;
    width: 128px;
    height: 44px;
    margin: 0 !important;
    padding: 0;
    background: var(--tc-surface);
    border: 1px solid var(--tc-line-mid) !important;
    border-radius: 12px !important;
    box-shadow: none;
    overflow: hidden;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector::after {
    content: none;
    border: 0 !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
    grid-area: input;
    width: auto;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 0 !important;
    background: transparent;
    border: 0;
    border-left: 1px solid var(--tc-line);
    border-right: 1px solid var(--tc-line);
    border-radius: 0;
    box-shadow: none;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--tc-ink) !important;
    -moz-appearance: textfield;
    appearance: textfield;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__input:focus,
body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__input:focus-visible {
    outline: 2px solid var(--tc-blue);
    outline-offset: -2px;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    position: static;
    /* Flex, not grid: the zero-width label text would otherwise take a grid
       row of its own and push the drawn glyph off centre. */
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    /* WooCommerce sets the labels as "−" (U+2212) and "＋" (U+FF0B). Helvetica
       has no full-width plus, so the + button renders blank. Drop the text and
       draw both glyphs instead — identical weight, no font dependency. */
    position: relative;
    font-size: 0 !important;
    line-height: 1 !important;
    color: var(--tc-ink-mid) !important;
    opacity: 1 !important;
    cursor: pointer;
    transition: background-color 0.16s ease, color 0.16s ease;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button::before {
    content: "";
    display: block;
    width: 12px;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__button--minus {
    grid-area: minus;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__button--plus {
    grid-area: plus;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 12px;
    margin: -6px 0 0 -1px;
    border-radius: 1px;
    background: currentColor;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) {
    background: var(--tc-tile);
    color: var(--tc-ink) !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__button:disabled {
    color: var(--tc-ink-soft) !important;
    opacity: 0.5 !important;
    cursor: not-allowed;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__button:focus-visible {
    outline: 2px solid var(--tc-blue);
    outline-offset: -2px;
}

/* Remove: a plain text button. Drops the remote trash-can PNG that
   css/style-one.css pulled from toborlife.ai and positioned by hand. */
body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity button.wc-block-cart-item__remove-link {
    position: static;
    top: auto;
    left: auto;
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
    font-size: 13px !important;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--tc-ink-mid);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: var(--tc-line-mid);
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.16s ease, text-decoration-color 0.16s ease;
}

body.woocommerce-cart .wc-block-cart button.wc-block-cart-item__remove-link::after,
body.woocommerce-cart .wc-block-cart button.wc-block-cart-item__remove-link::before {
    content: none !important;
    background: none !important;
    position: static;
    width: auto;
    height: auto;
}

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity button.wc-block-cart-item__remove-link:hover {
    background: none;
    transform: none;
    color: var(--tc-danger);
    text-decoration-color: var(--tc-danger);
}

body.woocommerce-cart .wc-block-cart button.wc-block-cart-item__remove-link:focus-visible {
    outline: 2px solid var(--tc-blue);
    outline-offset: 3px;
    border-radius: 3px;
}

/* --------------------------------------------------------------------------
   Line total
   -------------------------------------------------------------------------- */

body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__total {
    width: 140px;
    padding-left: 16px !important;
    padding-right: 0 !important;
    text-align: right;
    justify-content: flex-end;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: var(--tc-ink);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Summary card
   -------------------------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
    position: sticky;
    top: var(--tc-sticky-top);
    align-self: start;
    box-sizing: border-box;
    width: auto;
    margin: 0;
    padding: 24px;
    background: var(--tc-surface);
    border: 1px solid var(--tc-line);
    border-radius: var(--tc-radius);
    box-shadow: 0 1px 2px rgba(16, 17, 20, 0.04), 0 18px 40px -24px rgba(16, 17, 20, 0.16);
}

/* WooCommerce indents panels inside the sidebar; the card supplies that now. */
body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar .wc-block-components-panel,
body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon,
body.woocommerce-cart .wc-block-cart .wc-block-cart__sidebar .wc-block-components-totals-item {
    padding-left: 0;
    padding-right: 0;
}

body.woocommerce-cart .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}

body.woocommerce-cart .wc-block-cart h2.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title {
    display: block !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    text-align: left;
    color: var(--tc-ink-soft);
}

/* Coupons ------------------------------------------------------------------ */

body.woocommerce-cart .wc-block-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block {
    margin-bottom: 4px;
    border-bottom: 1px solid var(--tc-line);
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-coupon {
    padding-top: 4px !important;
    padding-bottom: 12px !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-panel__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 8px 0 !important;
    background: none;
    border: 0;
    border-radius: 0;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4;
    text-align: left;
    color: var(--tc-ink-mid);
    cursor: pointer;
    transition: color 0.16s ease;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-panel__button:hover {
    color: var(--tc-ink);
}

/* WooCommerce positions this icon absolutely, so centre it explicitly —
   flex alignment on the button has no effect on it. */
body.woocommerce-cart .wc-block-cart .wc-block-components-panel__button-icon {
    position: absolute;
    right: 0;
    top: 50%;
    width: 20px;
    height: 20px;
    margin: 0;
    fill: currentColor;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-panel__button[aria-expanded="true"] .wc-block-components-panel__button-icon {
    transform: translateY(-50%) rotate(180deg);
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-coupon__form {
    display: flex;
    gap: 10px;
    margin: 4px 0 6px;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-coupon__input {
    flex: 1 1 auto;
    margin: 0;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-coupon__input input {
    height: 44px;
    padding: 0 12px;
    background: var(--tc-surface);
    border: 1px solid var(--tc-line-mid);
    border-radius: 10px;
    box-shadow: none;
    font-size: 14px;
    color: var(--tc-ink);
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-coupon__input input:focus {
    border-color: var(--tc-blue);
    outline: 2px solid rgba(80, 108, 205, 0.25);
    outline-offset: 0;
}

/* Applying a coupon is a secondary action — keep the green for checkout. */
body.woocommerce-cart .wc-block-cart button.wc-block-components-button.wc-block-components-totals-coupon__button.contained {
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 18px;
    background: var(--tc-ink) !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: background-color 0.16s ease;
}

body.woocommerce-cart .wc-block-cart button.wc-block-components-button.wc-block-components-totals-coupon__button.contained:hover {
    background: #2b2e35 !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-discount__coupon-list {
    margin: 4px 0 0;
    padding: 0;
    font-size: 13px;
}

/* Totals ------------------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-wrapper {
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin: 0;
    padding: 9px 0 !important;
    font-size: 14.5px;
    line-height: 1.4;
    color: var(--tc-ink) !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item .wc-block-components-totals-item__label {
    font-weight: 500;
    color: var(--tc-ink-mid);
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item .wc-block-components-totals-item__value {
    font-weight: 600;
    color: var(--tc-ink);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    text-align: right;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item .wc-block-components-totals-item__value strong {
    font-weight: 600;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item .wc-block-components-totals-item__description {
    flex: 1 1 100%;
    margin: 2px 0 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--tc-ink-soft);
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-item .wc-block-components-totals-item__description:empty {
    display: none;
    margin: 0;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-footer-item {
    margin: 6px 0 0 !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid var(--tc-line);
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 15px;
    font-weight: 600;
    color: var(--tc-ink);
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--tc-ink);
}

/* Affirm financing line ---------------------------------------------------- */

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-wrapper.slot-wrapper {
    padding: 14px 0 0 !important;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-order-meta {
    margin: 0;
}

body.woocommerce-cart .wc-block-cart .class-affirm-ala-cart-block {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--tc-ink-mid);
}

body.woocommerce-cart .wc-block-cart .class-affirm-ala-cart-block a {
    color: var(--tc-blue);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Affirm fills this paragraph from its own script. Until it does — or if it
   never loads — collapse the slot instead of leaving a gap above the button. */
body.woocommerce-cart .wc-block-cart .class-affirm-ala-cart-block:empty {
    display: none;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-totals-wrapper.slot-wrapper:has(.class-affirm-ala-cart-block:empty) {
    padding: 0 !important;
}

/* --------------------------------------------------------------------------
   Checkout button — lives inside the summary card
   -------------------------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart .wc-block-cart__payment-options:empty {
    display: none;
    padding: 0;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart__submit.wp-block-woocommerce-proceed-to-checkout-block {
    width: 100%;
    margin: 18px 0 0;
    padding: 0;
}

body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container {
    margin: 0;
    padding: 0;
}

body.woocommerce-cart .wc-block-cart a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained,
body.woocommerce-cart .wc-block-cart button.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    padding: 14px 20px;
    background: var(--tc-green) !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: #14170c !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2;
    letter-spacing: 0.005em;
    text-transform: none !important;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(16, 17, 20, 0.06);
    transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

body.woocommerce-cart .wc-block-cart a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover,
body.woocommerce-cart .wc-block-cart button.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover {
    background: var(--tc-green-dark) !important;
    border: 0 !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px -10px rgba(106, 135, 0, 0.6);
}

body.woocommerce-cart .wc-block-cart a.wc-block-components-button.wc-block-cart__submit-button.contained:active,
body.woocommerce-cart .wc-block-cart button.wc-block-components-button.wc-block-cart__submit-button.contained:active {
    transform: none;
}

body.woocommerce-cart .wc-block-cart a.wc-block-components-button.wc-block-cart__submit-button.contained:focus-visible,
body.woocommerce-cart .wc-block-cart button.wc-block-components-button.wc-block-cart__submit-button.contained:focus-visible {
    outline: 3px solid rgba(80, 108, 205, 0.45);
    outline-offset: 2px;
}

body.woocommerce-cart .wc-block-cart .wc-block-components-button__text {
    font: inherit;
    color: inherit;
}

/* WooCommerce pins the button to the viewport once it scrolls past on narrow screens. */
body.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky {
    margin: 0;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(8px);
    border-top: 1px solid var(--tc-line);
    box-shadow: 0 -6px 20px -12px rgba(16, 17, 20, 0.25);
}

/* --------------------------------------------------------------------------
   Empty cart
   -------------------------------------------------------------------------- */

body.woocommerce-cart .wc-block-cart__empty-cart__title {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--tc-ink);
}

/* --------------------------------------------------------------------------
   Narrow screens
   -------------------------------------------------------------------------- */

@container (max-width: 899px) {
    body.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px 0;
    }

    body.woocommerce-cart .wc-block-cart .wc-block-components-main.wc-block-cart__main {
        order: 0;
    }

    /* Items first, then the summary — WooCommerce defaults to the reverse. */
    body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
        position: static;
        top: auto;
        order: 1;
        margin-bottom: 0;
    }
}

@container (max-width: 699px) {
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row {
        display: grid;
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 0 16px;
        padding: 20px 0;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__image {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: auto;
        padding: 0;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image > a {
        width: 96px;
        height: 96px;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
        max-width: 80px;
        max-height: 80px;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__product {
        grid-column: 2;
        grid-row: 1;
        padding: 0;
    }

    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row td.wc-block-cart-item__total {
        grid-column: 2;
        grid-row: 2;
        width: auto;
        padding: 14px 0 0 !important;
        justify-content: flex-start;
        text-align: left;
    }

    /* WooCommerce hides the remove button entirely below 700px; keep it. */
    body.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity button.wc-block-cart-item__remove-link {
        display: inline-flex;
    }

    body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar.wc-block-cart__sidebar {
        padding: 18px;
    }

    body.woocommerce-cart .wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
        font-size: 22px;
    }
}

@media (max-width: 1024px) {
    body.woocommerce-cart #content-pro .width-container-pro {
        width: calc(100% - 32px);
    }
}

@media (max-width: 781px) {
    body.woocommerce-cart #content-pro {
        padding-top: 72px;
        padding-bottom: 40px;
    }

    /* iOS Safari zooms into any focused input below 16px. */
    body.woocommerce-cart .wc-block-components-totals-coupon__input input,
    body.woocommerce-cart .wc-block-cart .wc-block-components-quantity-selector__input {
        font-size: 16px !important;
    }

    body.woocommerce-cart #content-pro .width-container-pro {
        width: calc(100% - 24px);
    }

    body.woocommerce-cart .custom-cart-class {
        gap: 24px;
    }

    body.woocommerce-cart .tobor-cart-head {
        margin-bottom: 24px;
        padding-bottom: 16px;
    }

    body.woocommerce-cart .tobor-cart-head__title {
        font-size: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.woocommerce-cart .wc-block-cart *,
    body.woocommerce-cart .wc-block-cart *::before,
    body.woocommerce-cart .wc-block-cart *::after {
        transition-duration: 0.01ms !important;
    }

    body.woocommerce-cart .wc-block-cart a.wc-block-cart__submit-button:hover,
    body.woocommerce-cart .wc-block-cart button.wc-block-cart__submit-button:hover {
        transform: none;
    }
}
