/* Loaded only for the configured WooCommerce cart. Shared brand tokens live in custom.css. */
body.thepept-cart-page {
    --woocommerce: var(--color-forest);
    --wc-primary: var(--color-forest);
    --wc-primary-text: var(--color-white);
    --wc-secondary: var(--color-soft);
    --wc-secondary-text: var(--color-forest);
    --wc-highlight: var(--color-gold);
    --wc-red: var(--color-forest-dark);
    --wc-destructive: var(--color-forest-dark);
    background: var(--color-paper);
    color: var(--color-ink);
    font-family: Inter, Manrope, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}
.thepept-cart-page .wp-page-main { min-height: 65vh; padding: 64px 24px 80px; background: var(--color-paper); }
.thepept-cart-page .wp-content-shell { max-width: 1180px; margin: 0 auto; padding: 0; }
.thepept-cart-page .wp-page-hero { max-width: none; margin: 0 0 36px; padding: 0; text-align: left; }
.thepept-cart-page .thepept-cart-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 28px; color: var(--color-muted); font-size: 13px; }
.thepept-cart-page .thepept-cart-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.thepept-cart-page .wp-page-hero .section-kicker { margin: 0 0 12px; color: var(--color-muted); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.thepept-cart-page .wp-page-hero h1 { margin: 0; color: var(--color-forest-dark); font: 800 clamp(36px, 4vw, 50px)/1.08 Inter, Manrope, Arial, sans-serif; letter-spacing: -.045em; }
.thepept-cart-page .wp-page-hero > p:last-child { max-width: none; margin: 16px 0 0; color: var(--color-muted); font-size: 15px; line-height: 1.7; }
.thepept-cart-page .wp-entry-content { padding: 0; border: 0; background: transparent; box-shadow: none; }
.thepept-cart-page .wp-entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(340px, 1fr); align-items: start; gap: 28px 32px; max-width: none; margin: 0; padding: 0; }
.thepept-cart-page .wp-entry-content > .woocommerce::before,
.thepept-cart-page .wp-entry-content > .woocommerce::after { content: none; }
.thepept-cart-page .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
.thepept-cart-page .woocommerce-notices-wrapper { max-width: none; margin: 0; padding: 0; }
.thepept-cart-page .woocommerce-notices-wrapper:empty { display: none; }
.thepept-cart-page form.woocommerce-cart-form { min-width: 0; margin: 0; }

/* Keep native table markup/hooks and form field names; present each row as a card. */
.thepept-cart-page .woocommerce table.cart { display: block; width: 100%; margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.thepept-cart-page .woocommerce table.cart thead { display: table-header-group; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.thepept-cart-page .woocommerce table.cart tbody { display: grid; gap: 16px; }
.thepept-cart-page .woocommerce table.cart tr { display: block; border: 0; background: transparent; }
.thepept-cart-page .woocommerce table.cart tr.cart_item { position: relative; display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: 16px 20px; padding: 22px; border: 1px solid var(--color-line); border-radius: 14px; background: var(--color-white); box-shadow: 0 4px 18px rgba(22, 35, 28, .025); }
.thepept-cart-page .woocommerce table.cart tr td { display: block; width: auto; min-width: 0; padding: 0; border: 0; background: transparent; text-align: left !important; }
.thepept-cart-page .woocommerce table.cart tr td::before { content: none; }
.thepept-cart-page .woocommerce table.cart .product-thumbnail { display: block; grid-column: 1; grid-row: 1 / span 2; align-self: center; }
.thepept-cart-page .woocommerce table.cart .product-thumbnail img { width: 112px; height: 112px; object-fit: contain; border: 1px solid var(--color-line); border-radius: 10px; background: var(--color-paper); }
.thepept-cart-page .woocommerce table.cart .product-name { grid-column: 2; grid-row: 1; align-self: center; overflow-wrap: anywhere; color: var(--color-forest); font-size: 17px; font-weight: 700; line-height: 1.4; }
.thepept-cart-page .woocommerce table.cart .product-name a { color: var(--color-forest); }
.thepept-cart-page .woocommerce table.cart .product-name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.thepept-cart-page .thepept-cart-unit-price { display: block; margin-top: 8px; color: var(--color-muted); font-size: 13px; font-weight: 400; }
.thepept-cart-page .woocommerce table.cart .product-name dl.variation { margin: 8px 0 0; color: var(--color-muted); font-size: 12px; font-weight: 400; }
.thepept-cart-page .woocommerce table.cart .product-name dl.variation dt,
.thepept-cart-page .woocommerce table.cart .product-name dl.variation dd,
.thepept-cart-page .woocommerce table.cart .product-name dl.variation p { margin: 0 5px 0 0; }
.thepept-cart-page .woocommerce table.cart .product-quantity { grid-column: 2; grid-row: 2; align-self: end; }
.thepept-cart-page .woocommerce table.cart .product-subtotal { grid-column: 3; grid-row: 2; align-self: end; color: var(--color-forest); font-size: 17px; font-weight: 700; text-align: right !important; }
.thepept-cart-page .woocommerce table.cart .product-subtotal::before { display: block; float: none; margin-bottom: 5px; color: var(--color-muted); font-size: 11px; font-weight: 400; content: attr(data-title); }
.thepept-cart-page .woocommerce table.cart .product-remove { grid-column: 3; grid-row: 1; justify-self: end; }
.thepept-cart-page .woocommerce table.cart .product-remove a.remove { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; background: transparent; color: var(--color-muted) !important; font-size: 24px; font-weight: 400; line-height: 1; }
.thepept-cart-page .woocommerce table.cart .product-remove a.remove:hover { background: var(--color-soft); color: var(--color-forest) !important; }
.thepept-cart-page .quantity { display: inline-flex; align-items: center; max-width: 100%; overflow: hidden; border: 1px solid var(--color-line); border-radius: 8px; background: var(--color-white); }
.thepept-cart-page .woocommerce table.cart .quantity input.qty { width: 48px; min-height: 44px; padding: 0 4px; border: 0; border-radius: 0; color: var(--color-forest); font: 600 14px/1.2 Inter, Manrope, Arial, sans-serif; text-align: center; }
.thepept-cart-page .quantity.has-stepper input.qty { appearance: textfield; -moz-appearance: textfield; }
.thepept-cart-page .quantity.has-stepper input.qty::-webkit-inner-spin-button,
.thepept-cart-page .quantity.has-stepper input.qty::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.thepept-cart-page .thepept-cart-quantity-button { flex: 0 0 40px; width: 40px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--color-forest); font: 500 19px/1 Inter, Manrope, Arial, sans-serif; cursor: pointer; }
.thepept-cart-page .thepept-cart-quantity-button:hover { background: var(--color-paper); }
.thepept-cart-page .thepept-cart-quantity-button:disabled { opacity: .4; cursor: default; }
.thepept-cart-page .woocommerce table.cart td.actions { display: flex; flex-wrap: wrap; gap: 12px; padding: 8px 0 0; }
.thepept-cart-page .woocommerce table.cart .coupon { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 10px; float: none; padding: 0; }
.thepept-cart-page .woocommerce table.cart .coupon #coupon_code { flex: 1 1 170px; width: auto; min-width: 0; min-height: 48px; margin: 0; padding: 12px 14px; border: 1px solid var(--color-line); border-radius: 8px; background: var(--color-white); font: inherit; font-size: 14px; }
.thepept-cart-page .woocommerce table.cart .coupon .button { flex: 0 1 auto; width: auto; }
.thepept-cart-page .woocommerce .button,
.thepept-cart-page .woocommerce a.button.alt { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: auto; min-height: 48px; padding: 12px 18px; border: 1px solid var(--color-forest); border-radius: 8px; background: var(--color-forest); color: var(--color-white); font: 600 14px/1.4 Inter, Manrope, Arial, sans-serif; text-decoration: none; transition: background 160ms ease; }
.thepept-cart-page .woocommerce .button:hover,
.thepept-cart-page .woocommerce a.button.alt:hover { background: var(--color-forest-dark); color: var(--color-white); }
.thepept-cart-page .woocommerce button[name='update_cart'] { border-color: var(--color-line); background: var(--color-white); color: var(--color-forest); }
.thepept-cart-page .woocommerce button[name='update_cart']:hover { border-color: var(--color-forest); background: var(--color-soft); color: var(--color-forest); }
.thepept-cart-page .woocommerce .button:disabled { opacity: .5; cursor: default; }

.thepept-cart-page .cart-collaterals { display: flex; flex-direction: column; width: 100%; min-width: 0; }
.thepept-cart-page .cart-collaterals::before,
.thepept-cart-page .cart-collaterals::after { content: none; }
.thepept-cart-page .cart-collaterals .cart_totals { order: -1; float: none; width: 100%; padding: 28px; border: 1px solid var(--color-line); border-radius: 14px; background: var(--color-white); box-shadow: 0 8px 28px rgba(22, 35, 28, .045); }
.thepept-cart-page .cart-collaterals .cart_totals h2 { margin: 0 0 20px; color: var(--color-forest); font: 700 23px/1.25 Inter, Manrope, Arial, sans-serif; letter-spacing: -.025em; }
.thepept-cart-page .cart_totals table.shop_table { display: table; table-layout: fixed; width: 100%; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.thepept-cart-page .cart_totals table.shop_table tr { display: table-row; border: 0; background: transparent; }
.thepept-cart-page .cart_totals table.shop_table th,
.thepept-cart-page .cart_totals table.shop_table td { display: table-cell; padding: 14px 0; border: 0; vertical-align: top; background: transparent; color: var(--color-muted); font-size: 13px; font-weight: 400; line-height: 1.6; overflow-wrap: anywhere; }
.thepept-cart-page .cart_totals table.shop_table th { width: 38%; padding-right: 12px; text-align: left; }
.thepept-cart-page .cart_totals table.shop_table td { color: var(--color-ink); text-align: right; }
.thepept-cart-page .cart_totals table.shop_table td::before { content: none; }
.thepept-cart-page .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background: transparent; }
.thepept-cart-page .cart_totals .amount { white-space: nowrap; }
.thepept-cart-page .cart_totals table.shop_table .order-total th,
.thepept-cart-page .cart_totals table.shop_table .order-total td { padding-top: 20px; border-top: 1px solid var(--color-line); color: var(--color-forest); font-size: 20px; font-weight: 700; }
.thepept-cart-page .cart_totals .order-total small { display: block; font-size: 11px; font-weight: 400; }
.thepept-cart-page .woocommerce ul#shipping_method { margin: 0; padding: 0; }
.thepept-cart-page .woocommerce ul#shipping_method li { margin-bottom: 8px; padding: 0; }
.thepept-cart-page .woocommerce ul#shipping_method li label { display: inline; font-weight: 400; }
.thepept-cart-page .woocommerce ul#shipping_method input { accent-color: var(--color-forest); }
.thepept-cart-page .woocommerce-shipping-destination { margin: 10px 0; font-size: 12px; }
.thepept-cart-page .shipping-calculator-button,
.thepept-cart-page .woocommerce-remove-coupon { color: var(--color-forest); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.thepept-cart-page .shipping-calculator-form { text-align: left; }
.thepept-cart-page .shipping-calculator-form input,
.thepept-cart-page .shipping-calculator-form select { width: 100%; max-width: 100%; min-height: 44px; padding: 8px; border: 1px solid var(--color-line); border-radius: 6px; background: var(--color-white); font: inherit; }
.thepept-cart-page .cart-collaterals .wc-proceed-to-checkout { margin: 14px 0 0; padding: 0; }
.thepept-cart-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; min-height: 54px; margin: 0; background: var(--color-forest); color: var(--color-white); font-size: 15px; }
.thepept-cart-page .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover { background: var(--color-forest-dark); }
.thepept-cart-page .thepept-cart-summary-note { display: flex; align-items: flex-start; gap: 10px; margin-top: 20px; color: var(--color-muted); font-size: 12px; line-height: 1.7; }
.thepept-cart-page .thepept-cart-summary-note svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; fill: none; stroke: var(--color-forest); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.thepept-cart-page .thepept-cart-summary-note p { margin: 0 0 8px; font-size: inherit; line-height: inherit; }
.thepept-cart-page .cart-collaterals .cross-sells { float: none; width: 100%; margin: 24px 0 0; }
.thepept-cart-page .woocommerce .thepept-cart-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding: 0; color: var(--color-muted); font-size: 13px; }
.thepept-cart-page .thepept-cart-actions a:first-child { color: var(--color-forest); font-weight: 600; }
.thepept-cart-page .thepept-cart-actions a:hover { text-decoration: underline; text-underline-offset: 4px; }

.thepept-cart-page .woocommerce .woocommerce-message,
.thepept-cart-page .woocommerce .woocommerce-info,
.thepept-cart-page .woocommerce .woocommerce-error { width: 100%; margin: 0 0 16px; padding: 18px 20px 18px 48px; border: 1px solid var(--color-line); border-left: 3px solid var(--color-forest); border-radius: 10px; background: var(--color-white); box-shadow: none; color: var(--color-ink); font-size: 14px; }
.thepept-cart-page .woocommerce .woocommerce-error { border-left-color: var(--color-gold); }
.thepept-cart-page .woocommerce .coupon-error-notice { flex-basis: 100%; width: 100%; margin: 0; color: var(--color-ink); font-size: 13px; line-height: 1.6; }
.thepept-cart-page .woocommerce table.cart .coupon #coupon_code[aria-invalid='true'] { border-color: var(--color-gold); }
.thepept-cart-page .woocommerce-message::before,
.thepept-cart-page .woocommerce-info::before,
.thepept-cart-page .woocommerce-error::before { top: 18px; left: 19px; color: var(--color-forest); }
.thepept-cart-page .woocommerce-error::before { color: var(--color-gold); }
.thepept-cart-page .woocommerce-message a,
.thepept-cart-page .woocommerce-error a { text-decoration: underline; }
.thepept-cart-page .thepept-empty-cart { display: grid; justify-items: center; gap: 20px; width: 100%; padding: clamp(36px, 6vw, 72px) 24px; border: 1px solid var(--color-line); border-radius: 16px; background: var(--color-white); text-align: center; }
.thepept-cart-page .thepept-empty-cart svg { width: 44px; height: 44px; fill: none; stroke: var(--color-forest); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.thepept-cart-page .thepept-empty-cart h2 { margin: 0; color: var(--color-forest); font: 700 clamp(25px, 3vw, 32px)/1.2 Inter, Manrope, Arial, sans-serif; letter-spacing: -.03em; }
.thepept-cart-page .thepept-empty-cart p { max-width: 480px; margin: 14px auto 24px; color: var(--color-muted); font-size: 15px; line-height: 1.7; }
.thepept-cart-page :is(a, button, input, select):focus-visible { outline: 2px solid var(--color-forest); outline-offset: 3px; }
.thepept-cart-page .quantity:focus-within { outline: 2px solid var(--color-forest); outline-offset: 2px; }
.thepept-cart-page .woocommerce.is-updating { cursor: progress; }
.thepept-cart-page .woocommerce.is-updating :is(.woocommerce-cart-form, .cart_totals) { opacity: .6; }
.thepept-cart-page .woocommerce.is-updating .checkout-button { cursor: progress; }
.thepept-cart-page .blockUI.blockOverlay { background: var(--color-paper) !important; }
.thepept-cart-page .thepept-cart-status:empty { display: none; }
.thepept-cart-page .thepept-cart-status { margin: 0 0 16px; color: var(--color-muted); font-size: 13px; }
.thepept-cart-page .site-footer .site-brand { color: var(--color-forest); }

@media (max-width: 1024px) {
    .thepept-cart-page .wp-entry-content > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .thepept-cart-page .cart-collaterals { grid-column: 1; }
}
@media (max-width: 767px) {
    .thepept-cart-page .site-header .header-actions { flex-direction: row; }
    .thepept-cart-page .site-header .header-action { width: auto; }
    .thepept-cart-page .wp-page-main { padding: 36px 16px 56px; }
    .thepept-cart-page .wp-page-hero { margin-bottom: 28px; }
    .thepept-cart-page .wp-page-hero h1 { font-size: clamp(30px, 8vw, 36px); }
    .thepept-cart-page .thepept-cart-breadcrumb { margin-bottom: 22px; }
    .thepept-cart-page .woocommerce table.cart tr.cart_item { grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding: 18px; }
    .thepept-cart-page .woocommerce table.cart .product-thumbnail { grid-column: 1; grid-row: 1; align-self: start; }
    .thepept-cart-page .woocommerce table.cart .product-thumbnail img { width: 80px; height: 80px; }
    .thepept-cart-page .woocommerce table.cart .product-name { padding-right: 24px; font-size: 16px; }
    .thepept-cart-page .woocommerce table.cart .product-remove { position: absolute; top: 8px; right: 6px; }
    .thepept-cart-page .woocommerce table.cart .product-quantity { grid-column: 1 / -1; grid-row: 2; }
    .thepept-cart-page .woocommerce table.cart .product-subtotal { grid-column: 1 / -1; grid-row: 3; display: flex; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--color-line); }
    .thepept-cart-page .woocommerce table.cart .product-subtotal::before { margin: 0; font-size: 13px; }
    .thepept-cart-page .woocommerce table.cart .coupon .button,
    .thepept-cart-page .woocommerce table.cart .coupon #coupon_code,
    .thepept-cart-page .woocommerce button[name='update_cart'] { flex-basis: 100%; width: 100%; }
    .thepept-cart-page .cart-collaterals .cart_totals { padding: 24px 20px; }
    .thepept-cart-page .cart-collaterals .cart_totals h2 { font-size: 22px; }
    .thepept-cart-page .thepept-cart-quantity-button { flex-basis: 44px; width: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    .thepept-cart-page .woocommerce .button { transition: none; }
}
