/*
 * Cart + checkout: Abel typeface (matches site / thank-you page).
 * High specificity so Divi / theme body fonts cannot override.
 */
body.woocommerce-cart,
body.woocommerce-checkout:not(.woocommerce-order-received) {
    --tnw-cart-font: 'Abel', Helvetica, Arial, Lucida, sans-serif;
    font-family: var(--tnw-cart-font) !important;
}

body.woocommerce-cart,
body.woocommerce-cart input,
body.woocommerce-cart textarea,
body.woocommerce-cart select,
body.woocommerce-cart button,
body.woocommerce-cart .button,
body.woocommerce-cart #main-content,
body.woocommerce-cart #main-content *:not(script):not(style),
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce *:not(script):not(style),
body.woocommerce-checkout:not(.woocommerce-order-received),
body.woocommerce-checkout:not(.woocommerce-order-received) input,
body.woocommerce-checkout:not(.woocommerce-order-received) textarea,
body.woocommerce-checkout:not(.woocommerce-order-received) select,
body.woocommerce-checkout:not(.woocommerce-order-received) button,
body.woocommerce-checkout:not(.woocommerce-order-received) .button,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content *:not(script):not(style),
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce *:not(script):not(style) {
    font-family: var(--tnw-cart-font, 'Abel', Helvetica, Arial, Lucida, sans-serif) !important;
}

/*
 * Checkout: force black body/label text (override Divi gray).
 * Buttons keep their own white/colored text via more-specific rules.
 */
body.woocommerce-checkout:not(.woocommerce-order-received),
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce {
    color: #000;
}

body.woocommerce-checkout:not(.woocommerce-order-received) #main-content label,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content p,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content li,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content th,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content td,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content h1,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content h2,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content h3,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content h4,
body.woocommerce-checkout:not(.woocommerce-order-received) #main-content a:not(.button),
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce label,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce p,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce li,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce th,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce td,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h1,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h2,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce h4,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce a:not(.button) {
    color: #000;
}

body.woocommerce-checkout:not(.woocommerce-order-received) input::placeholder,
body.woocommerce-checkout:not(.woocommerce-order-received) textarea::placeholder {
    color: #000 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #000;
}

/*
 * Cart page: hide Wholesale Rush Fees and Ultimate Payment Plans UI.
 * display:none keeps inputs in the DOM (rush radios / UPP plan fields) for submit.
 */
.woocommerce-cart .tnw-rush-options,
.woocommerce-cart .tnw-rush-options-row,
.woocommerce-cart .asp-upp-cart-handler-payment-plans-wrapper,
.woocommerce-cart .asp-upp-payment-plans-wrapper {
    display: none !important;
}

/*
 * Cart products table — outer frame inset only (match checkout #payment).
 * Padding on the table, not on every cell/row.
 */
body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
body.woocommerce-cart table.shop_table.shop_table_responsive.cart.woocommerce-cart-form__contents {
    padding: 30px;
    box-sizing: border-box;
}

/*
 * Cart Totals: hide everything inside .cart_totals except Proceed to checkout.
 * Keeps .wc-proceed-to-checkout (and the checkout button/link) visible.
 */
.woocommerce-cart .cart_totals > *:not(.wc-proceed-to-checkout) {
    display: none !important;
}

/* Ultimate Payment Plans Ã¢â‚¬â€ cart presentation (hidden on cart via rules above) */
.woocommerce-cart .asp-upp-cart-handler-payment-plans-wrapper {
    border: 1px solid #000;
    padding: 30px;
    margin: 0 0 1.5em;
    box-sizing: border-box;
}

.woocommerce-cart .asp-upp-payment-plan-total-payable-amount,
.woocommerce-cart .asp-upp-payment-plan-initial-payable-amount,
.woocommerce-cart .asp-upp-payment-plan-payments-schedule > label {
    display: none !important;
}

/*
 * Cart UPP: hide plan-selection radios + plan name (keep hidden).
 * For pay full / pay with plan: hide only the radio circle; keep labels/buttons visible and clickable.
 */
.woocommerce-cart .asp-upp-payment-plan-selection,
.woocommerce-cart .asp-upp-payment-plan-option > label,
.woocommerce-cart .asp-upp-payment-plan-name {
    display: none !important;
}

.woocommerce-cart .asp-upp-pay-options li {
    position: relative;
}

.woocommerce-cart input.asp-upp-pay-option[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    opacity: 0;
    appearance: none;
    -webkit-appearance: none;
}

.woocommerce-cart .asp-upp-payment-plan-payments-schedule table .tnw-upp-payment-number {
    white-space: nowrap;
    font-weight: 600;
}

/*
 * Cart / checkout UPP future payments: hide the "Future Payments" header and per-product
 * rows. JS inserts muted installment rows (th: "2nd Payment Due : {date}", td: bold amount).
 */
.woocommerce-cart .cart_totals tr.asp-upp-cart-future-payments,
.woocommerce-cart .cart_totals tr.asp-upp-cart-plan-order-item,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.asp-upp-cart-future-payments,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.asp-upp-cart-plan-order-item {
    display: none !important;
}

/* 80% transparent (20% opacity) for "2nd Payment Due : Ã¢â‚¬Â¦" installment rows */
.woocommerce-cart .cart_totals tr.tnw-upp-cart-future-payment,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.tnw-upp-cart-future-payment {
    opacity: 0.5;
}

.woocommerce-cart .cart_totals tr.tnw-upp-cart-future-payment td strong,
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.tnw-upp-cart-future-payment td strong {
    font-weight: 700;
}

/*
 * Cart / checkout: hide UPP WCPA line-item meta (Order Type, Initial Payment, Future Payment).
 * Class is applied by cart-ui.js matching .wcpa_cart_meta_item-label text.
 */
.woocommerce-cart .woocommerce-cart-form .wcpa_cart_meta_item.tnw-upp-wcpa-meta-hidden,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .wcpa_cart_meta_item.tnw-upp-wcpa-meta-hidden {
    display: none !important;
}

/* Hide cart products Price column (unit price shown under product name). */
.woocommerce-cart-form table.shop_table.cart th.product-price,
.woocommerce-cart-form table.shop_table.cart td.product-price {
    display: none !important;
}

/*
 * Cart products table formatting:
 * - Column order: Item | Bride's Info | Size | Details | Manage | Price (hidden) | Qty | Subtotal.
 * - Larger thumbnail filling the product-thumbnail column.
 * - Item: name + unit price only.
 * - Bride's Info: bride name (unlabeled) + Wedding Date label/value.
 * - Size: Size Option value (unlabeled) + consolidated Bust/Waist/Hip.
 * - Details: remaining WCPA options; Delete / Ask / Edit stacked in Manage column.
 * - Body text 14px; product name + bride name 16px bold; Bust/Waist/Hip not bold.
 * - Quantity header + read-only qty text right-aligned; Subtotal top / right-aligned.
 * - Native product-remove (×) column hidden; Delete button triggers the hidden remove link.
 * - Update Cart button hidden (qty not editable).
 */
.woocommerce-cart-form table.shop_table.cart th.product-remove,
.woocommerce-cart-form table.shop_table.cart td.product-remove {
    display: none !important;
}

.woocommerce-cart-form table.shop_table.cart th.product-subtotal,
.woocommerce-cart-form table.shop_table.cart td.product-subtotal {
    text-align: right !important;
    white-space: nowrap;
    vertical-align: top;
    color: #000000;
}

/* Cart products table body: all copy black (links, prices, WCPA meta).
 * Action chips keep their own gray/black/white chip colors. */
.woocommerce-cart-form table.shop_table.cart tbody td,
.woocommerce-cart-form table.shop_table.cart tbody td a:not(.tnw-cart-row-action):not(.tnw-product-inquire),
.woocommerce-cart-form table.shop_table.cart tbody td .woocommerce-Price-amount,
.woocommerce-cart-form table.shop_table.cart tbody td .woocommerce-Price-currencySymbol,
.woocommerce-cart-form table.shop_table.cart tbody td .amount,
.woocommerce-cart-form table.shop_table.cart tbody td .wcpa_cart_meta,
.woocommerce-cart-form table.shop_table.cart tbody td .wcpa_cart_meta_item-label,
.woocommerce-cart-form table.shop_table.cart tbody td .wcpa_cart_meta_item-value,
.woocommerce-cart-form table.shop_table.cart tbody td .wcpa_cart_price,
.woocommerce-cart-form table.shop_table.cart tbody td .wcpa_price,
.woocommerce-cart-form table.shop_table.cart tbody td .price_value {
    color: #000000 !important;
}

/* Line Subtotal amount + currency symbol: 14px black. */
.woocommerce-cart-form table.shop_table.cart td.product-subtotal,
.woocommerce-cart-form table.shop_table.cart td.product-subtotal .woocommerce-Price-amount,
.woocommerce-cart-form table.shop_table.cart td.product-subtotal .woocommerce-Price-amount bdi,
.woocommerce-cart-form table.shop_table.cart td.product-subtotal .woocommerce-Price-currencySymbol,
.woocommerce-cart-form table.shop_table.cart td.product-subtotal .amount {
    font-size: 14px;
    font-weight: 700;
    color: #000000 !important;
}

/* Products Total amount (below table): black. */
.woocommerce-cart-form .actions .tnw-cart-products-total,
.woocommerce-cart-form .actions .tnw-cart-products-total__amount .woocommerce-Price-amount,
.woocommerce-cart-form .actions .tnw-cart-products-total__amount .woocommerce-Price-currencySymbol {
    color: #000000 !important;
}

.woocommerce-cart-form .actions .tnw-cart-products-total__amount .woocommerce-Price-amount {
    font-weight: 700;
}

.woocommerce-cart-form table.shop_table.cart th.product-quantity,
.woocommerce-cart-form table.shop_table.cart td.product-quantity {
    text-align: right !important;
    vertical-align: top;
}

/* Qty widget replaced with read-only text (woocommerce_cart_item_quantity filter). */
.woocommerce-cart .woocommerce-cart-form table.shop_table.cart td.product-quantity .quantity {
    display: none !important;
}

.woocommerce-cart-form table.shop_table.cart td.product-quantity .tnw-cart-qty-text {
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.39;
    color: #000000;
    text-align: right;
}

.woocommerce-cart-form table.shop_table.cart th.product-thumbnail,
.woocommerce-cart-form table.shop_table.cart td.product-thumbnail {
    width: 140px;
    max-width: 140px;
    vertical-align: top;
}

.woocommerce-cart-form table.shop_table.cart td.product-thumbnail a {
    display: block;
    width: 100%;
    line-height: 0;
}

.woocommerce-cart-form table.shop_table.cart td.product-thumbnail img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

.woocommerce-cart-form table.shop_table.cart th.product-name,
.woocommerce-cart-form table.shop_table.cart td.product-name {
    vertical-align: top;
}

.woocommerce-cart-form table.shop_table.cart td.product-name .tnw-cart-product-title {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.15em;
    margin: 0 0 0.35em;
}

.woocommerce-cart-form table.shop_table.cart td.product-name .tnw-cart-product-title > a:not(.wcpa_edit_product):not(.tnw-product-inquire) {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
}

.woocommerce-cart-form table.shop_table.cart td.product-name .tnw-cart-unit-price,
.woocommerce-cart-form table.shop_table.cart td.product-name .tnw-cart-unit-price .woocommerce-Price-amount {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    white-space: nowrap;
}

/* Bride's Info column */
.woocommerce-cart-form table.shop_table.cart th.tnw-cart-bride-info {
    vertical-align: top;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-bride-info {
    vertical-align: top;
    text-align: left;
    font-size: 14px;
    font-weight: 400;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-bride-info .tnw-cart-product-bride {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    line-height: 1.25;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-bride-info .tnw-cart-product-wedding-date {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-bride-info .tnw-cart-product-wedding-date__label,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-bride-info .tnw-cart-product-wedding-date__value {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
}

/* Size column — Size Option value + consolidated Bust / Waist / Hip */
.woocommerce-cart-form table.shop_table.cart th.tnw-cart-size {
    vertical-align: top;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size {
    vertical-align: top;
    text-align: left;
    font-size: 14px;
    font-weight: 400;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta > li.wcpa_cart_meta_item {
    margin: 0;
    padding: 0;
    line-height: 1.39;
    font-size: 14px;
    font-weight: 400;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta .wcpa_cart_meta_item-label,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta .wcpa_cart_meta_item-value,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta .wcpa_cart_meta_item-value p,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta p {
    margin: 0;
    padding: 0;
    line-height: 1.39;
    font-size: 14px;
    font-weight: 400;
}

/* Size Option: show value only (no "Size Option:" label) */
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta > li.wcpa_cart_meta_item.tnw-wcpa-hide-label > .wcpa_cart_meta_item-label {
    display: none !important;
}

/* Consolidated Bust / Waist / Hip — same weight as Size Option (not bold) */
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta > li.wcpa_cart_meta_item.tnw-wcpa-size-consolidated,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta > li.wcpa_cart_meta_item.tnw-wcpa-size-consolidated .wcpa_cart_meta_item-value,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-size ul.wcpa_cart_meta > li.wcpa_cart_meta_item.tnw-wcpa-size-consolidated .wcpa_cart_meta_item-value p {
    color: #000;
    font-size: 14px;
    font-weight: 400;
}

/* Bride / wedding date / size rows moved out of Details */
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta > li.wcpa_cart_meta_item.tnw-cart-meta-relocated {
    display: none !important;
}

/* Details — remaining WCPA option meta */
.woocommerce-cart-form table.shop_table.cart th.tnw-cart-order-details {
    vertical-align: top;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details {
    vertical-align: top;
    text-align: left;
    font-size: 14px;
    font-weight: 400;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta > li.wcpa_cart_meta_item {
    margin: 0;
    padding: 0;
    line-height: 1.39;
    font-size: 14px;
    font-weight: 400;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta .wcpa_cart_meta_item-label,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta .wcpa_cart_meta_item-value,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta .wcpa_cart_meta_item-value p,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta p {
    margin: 0;
    padding: 0;
    line-height: 1.39;
    font-size: 14px;
    font-weight: 400;
}

/*
 * Details sections: label on its own line; each option on its own line,
 * indented 2 spaces (2ch). Applies to Add / Skirt / Fabric / Extra Fabric / Notes / etc.
 */
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta > li.wcpa_cart_meta_item > .wcpa_cart_meta_item-label {
    display: block !important;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta > li.wcpa_cart_meta_item > .wcpa_cart_meta_item-value {
    display: block !important;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details ul.wcpa_cart_meta > li.wcpa_cart_meta_item > .wcpa_cart_meta_item-value > .tnw-wcpa-option-line {
    display: block !important;
    margin: 0;
    padding: 0 0 0 2ch;
    line-height: 1.39;
    font-size: 14px;
    font-weight: 400;
}

.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details li.wcpa_cart_item_productGroup .wcpa_cart_meta_item-value img,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-order-details li.wcpa_cart_item_image-group .wcpa_cart_meta_item-value img {
    display: none !important;
}

/* Manage column: Delete / Ask / Edit stacked — uniform chip size */
.woocommerce-cart-form table.shop_table.cart th.tnw-cart-item-actions,
.woocommerce-cart-form table.shop_table.cart td.tnw-cart-item-actions {
    vertical-align: top;
    text-align: left;
    white-space: nowrap;
}

.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.35em;
    width: 5.75em;
}

.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-action {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 0;
    height: 2.1em;
    min-height: 2.1em;
    border: 1px solid #CFCFCF;
    border-radius: 0;
    background-color: #CFCFCF;
    color: #000 !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.2;
    text-decoration: none !important;
    text-transform: none;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
}

/*
 * Divi/WC .button arrow overlay — Ask keeps .button; suppress ::before/::after
 * so hover shows solid fill only (no arrow icon).
 */
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-action::before,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-action::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-action,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions .tnw-product-inquire,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions .tnw-product-inquire--cart {
    background-image: none !important;
}

.woocommerce-cart-form table.shop_table.cart .tnw-cart-action-delete {
    border-color: #CFCFCF;
    background-color: #CFCFCF;
    color: #000 !important;
}

/* Ask matches Delete/Edit gray chip fill */
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions .tnw-product-inquire,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions .tnw-product-inquire--cart {
    border-color: #CFCFCF !important;
    background-color: #CFCFCF !important;
    color: #000 !important;
    letter-spacing: 0.06em;
    text-transform: none;
}

/* Delete / Ask / Edit — black fill + white text on hover/focus */
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-action:hover,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-action:focus,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions .tnw-product-inquire:hover,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions .tnw-product-inquire:focus,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions .tnw-product-inquire--cart:hover,
.woocommerce-cart-form table.shop_table.cart .tnw-cart-row-actions .tnw-product-inquire--cart:focus {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

/*
 * Product-only Total above a 1×2 actions table (Empty Cart | Continue Shopping).
 * Table + margin-left:auto avoids theme button margin/float inset that flex left.
 */
.woocommerce-cart-form td.actions {
    text-align: right;
}

.woocommerce-cart-form .actions .tnw-cart-actions-wrap {
    display: block;
    width: 100%;
    text-align: right;
}

.woocommerce-cart-form .actions .tnw-cart-products-total {
    display: block;
    width: 100%;
    margin: 0 0 0.5em;
    padding: 0;
    text-align: right;
    font-size: 1.05em;
    line-height: 1.4;
}

.woocommerce-cart-form .actions .tnw-cart-products-total__amount {
    margin-left: 0.35em;
}

.woocommerce-cart-form .actions .tnw-cart-actions-table {
    width: auto;
    max-width: 100%;
    margin: 0 0 0 auto;
    padding: 0;
    border: 0 !important;
    border-collapse: collapse;
    border-spacing: 0;
    background: transparent;
    box-shadow: none;
}

.woocommerce-cart-form .actions .tnw-cart-actions-table td {
    border: 0 !important;
    padding: 0;
    margin: 0;
    vertical-align: middle;
    text-align: right;
    background: transparent;
    width: auto;
}

.woocommerce-cart-form .actions .tnw-cart-actions-table td.tnw-cart-action-update {
    display: none !important;
    padding-right: 0;
}

.woocommerce-cart-form .actions .tnw-cart-actions-table td.tnw-cart-action-empty {
    padding-right: 0.5em;
}

.woocommerce-cart-form .actions .tnw-cart-actions-table td.tnw-cart-action-continue {
    padding-right: 0;
}

/*
 * Continue Shopping (anchor): fixed shared box model.
 * Update Cart is hidden (qty read-only); keep selectors so legacy markup stays styled if present.
 * button.button.alt gets extra Divi/Woo padding/height; min-height + em padding
 * alone did not equalize button vs anchor — use explicit height + padding.
 */
.woocommerce-cart-form .actions .tnw-cart-actions-table .button,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.button[name="hpy_cs_continue"],
.woocommerce-cart-form .actions .tnw-cart-actions-table a.continue-shopping,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.tnw-empty-cart,
.woocommerce-cart-form .actions a.continue-shopping,
.woocommerce-cart-form .actions a.tnw-empty-cart,
.woocommerce-cart-form .actions a.button[name="hpy_cs_continue"] {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 1.25em !important;
    border-width: 1px !important;
    border-style: solid !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    float: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer;
}

/* Update Cart: hidden — quantity is read-only text. */
.woocommerce-cart-form .actions button[name="update_cart"],
.woocommerce-cart-form .actions button[name="update_cart"].alt,
.woocommerce-cart-form .actions .tnw-cart-actions-table button[name="update_cart"],
.woocommerce-cart-form .actions .tnw-cart-actions-table button[name="update_cart"].alt,
.woocommerce-cart-form .actions button[name="update_cart"].tnw-update-cart-hidden {
    display: none !important;
}

/*
 * Continue Shopping — gray chip fill (matches Delete / Ask / Edit).
 * Suppress Divi ::before/::after arrow overlay; hover/focus black fill + white text.
 */
.woocommerce-cart-form .actions a.continue-shopping,
.woocommerce-cart-form .actions a.tnw-empty-cart,
.woocommerce-cart-form .actions a.button[name="hpy_cs_continue"],
.woocommerce-cart-form .actions .tnw-cart-actions-table a.continue-shopping,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.tnw-empty-cart,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.button[name="hpy_cs_continue"] {
    border: 1px solid #CFCFCF !important;
    border-color: #CFCFCF !important;
    background-color: #CFCFCF !important;
    background-image: none !important;
    color: #000 !important;
    font-weight: 700;
}

.woocommerce-cart-form .actions a.continue-shopping::before,
.woocommerce-cart-form .actions a.continue-shopping::after,
.woocommerce-cart-form .actions a.tnw-empty-cart::before,
.woocommerce-cart-form .actions a.tnw-empty-cart::after,
.woocommerce-cart-form .actions a.button[name="hpy_cs_continue"]::before,
.woocommerce-cart-form .actions a.button[name="hpy_cs_continue"]::after,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.continue-shopping::before,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.continue-shopping::after,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.tnw-empty-cart::before,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.tnw-empty-cart::after,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.button[name="hpy_cs_continue"]::before,
.woocommerce-cart-form .actions .tnw-cart-actions-table a.button[name="hpy_cs_continue"]::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Continue Shopping is <a.button>; beat Divi #page-container a.button color !important */
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.continue-shopping:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.continue-shopping:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.button.continue-shopping:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.button.continue-shopping:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.tnw-empty-cart:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.tnw-empty-cart:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.button.tnw-empty-cart:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.button.tnw-empty-cart:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.button[name="hpy_cs_continue"]:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions a.button[name="hpy_cs_continue"]:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.continue-shopping:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.continue-shopping:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.button.continue-shopping:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.button.continue-shopping:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.tnw-empty-cart:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.tnw-empty-cart:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.button.tnw-empty-cart:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.button.tnw-empty-cart:focus,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.button[name="hpy_cs_continue"]:hover,
body.woocommerce-cart #main-content .woocommerce-cart-form .actions .tnw-cart-actions-table a.button[name="hpy_cs_continue"]:focus {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/*
 * Cart: Proceed to Checkout — right-aligned auto-width button; Divi accent blue;
 * suppress Divi/WC full-bleed block layout, hover arrow, and button animations.
 */
.woocommerce-cart .cart_totals,
.woocommerce-cart .wc-proceed-to-checkout {
    text-align: right;
}

.woocommerce-cart .wc-proceed-to-checkout {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    clear: both;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.alt,
.woocommerce-cart a.checkout-button.button.alt {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100%;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 0 1em !important;
    padding: 0 1.25em !important;
    float: none !important;
    border-width: 1px !important;
    border-style: solid !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-align: center !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    background-color: #2ea3f2 !important;
    background-image: none !important;
    border-color: #2ea3f2 !important;
    color: #fff !important;
    transition: none !important;
    animation: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.alt::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.alt::after,
.woocommerce-cart a.checkout-button.button.alt::before,
.woocommerce-cart a.checkout-button.button.alt::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.alt:hover,
.woocommerce-cart a.checkout-button.button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.alt:focus,
.woocommerce-cart a.checkout-button.button.alt:focus {
    background-color: #2690d8 !important;
    background-image: none !important;
    border-color: #2690d8 !important;
    color: #fff !important;
    transition: none !important;
    animation: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
}

/*
 * Checkout: "Your order" section heading — black box header owns spacing
 * (see checkout-order-review.css). Legacy h3 selector kept inert.
 */
.woocommerce-checkout h3#order_review_heading {
    margin-top: 2.5em !important;
    margin-bottom: 0.75em;
    padding-top: 0.35em;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.3;
    clear: both;
}

/*
 * Checkout billing / shipping / additional fields: white bg, black text, 1px black
 * border Ã¢â‚¬â€ match Country/State selects + Order notes (override Divi gray inputs).
 */
body.woocommerce-checkout .woocommerce-billing-fields input.input-text,
body.woocommerce-checkout .woocommerce-billing-fields input[type="text"],
body.woocommerce-checkout .woocommerce-billing-fields input[type="tel"],
body.woocommerce-checkout .woocommerce-billing-fields input[type="email"],
body.woocommerce-checkout .woocommerce-billing-fields input[type="password"],
body.woocommerce-checkout .woocommerce-billing-fields textarea,
body.woocommerce-checkout .woocommerce-billing-fields select,
body.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
body.woocommerce-checkout .woocommerce-shipping-fields input[type="text"],
body.woocommerce-checkout .woocommerce-shipping-fields input[type="tel"],
body.woocommerce-checkout .woocommerce-shipping-fields input[type="email"],
body.woocommerce-checkout .woocommerce-shipping-fields input[type="password"],
body.woocommerce-checkout .woocommerce-shipping-fields textarea,
body.woocommerce-checkout .woocommerce-shipping-fields select,
body.woocommerce-checkout .woocommerce-additional-fields input.input-text,
body.woocommerce-checkout .woocommerce-additional-fields input[type="text"],
body.woocommerce-checkout .woocommerce-additional-fields input[type="tel"],
body.woocommerce-checkout .woocommerce-additional-fields input[type="email"],
body.woocommerce-checkout .woocommerce-additional-fields input[type="password"],
body.woocommerce-checkout .woocommerce-additional-fields textarea,
body.woocommerce-checkout .woocommerce-additional-fields select,
body.woocommerce-checkout #customer_details input.input-text,
body.woocommerce-checkout #customer_details input[type="text"],
body.woocommerce-checkout #customer_details input[type="tel"],
body.woocommerce-checkout #customer_details input[type="email"],
body.woocommerce-checkout #customer_details input[type="password"],
body.woocommerce-checkout #customer_details textarea,
body.woocommerce-checkout #customer_details select {
    background-color: #ffffff !important;
    background-image: none !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    outline: none;
    box-shadow: none !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #000000;
}

body.woocommerce-checkout .woocommerce-billing-fields input.input-text::placeholder,
body.woocommerce-checkout .woocommerce-billing-fields textarea::placeholder,
body.woocommerce-checkout .woocommerce-shipping-fields input.input-text::placeholder,
body.woocommerce-checkout .woocommerce-shipping-fields textarea::placeholder,
body.woocommerce-checkout .woocommerce-additional-fields input.input-text::placeholder,
body.woocommerce-checkout .woocommerce-additional-fields textarea::placeholder,
body.woocommerce-checkout #customer_details input.input-text::placeholder,
body.woocommerce-checkout #customer_details textarea::placeholder {
    color: #000000 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #000000;
}

body.woocommerce-checkout .woocommerce-billing-fields input.input-text:focus,
body.woocommerce-checkout .woocommerce-billing-fields input[type="text"]:focus,
body.woocommerce-checkout .woocommerce-billing-fields input[type="tel"]:focus,
body.woocommerce-checkout .woocommerce-billing-fields input[type="email"]:focus,
body.woocommerce-checkout .woocommerce-billing-fields input[type="password"]:focus,
body.woocommerce-checkout .woocommerce-billing-fields textarea:focus,
body.woocommerce-checkout .woocommerce-billing-fields select:focus,
body.woocommerce-checkout .woocommerce-shipping-fields input.input-text:focus,
body.woocommerce-checkout .woocommerce-shipping-fields input[type="text"]:focus,
body.woocommerce-checkout .woocommerce-shipping-fields input[type="tel"]:focus,
body.woocommerce-checkout .woocommerce-shipping-fields input[type="email"]:focus,
body.woocommerce-checkout .woocommerce-shipping-fields input[type="password"]:focus,
body.woocommerce-checkout .woocommerce-shipping-fields textarea:focus,
body.woocommerce-checkout .woocommerce-shipping-fields select:focus,
body.woocommerce-checkout .woocommerce-additional-fields input.input-text:focus,
body.woocommerce-checkout .woocommerce-additional-fields input[type="text"]:focus,
body.woocommerce-checkout .woocommerce-additional-fields input[type="tel"]:focus,
body.woocommerce-checkout .woocommerce-additional-fields input[type="email"]:focus,
body.woocommerce-checkout .woocommerce-additional-fields input[type="password"]:focus,
body.woocommerce-checkout .woocommerce-additional-fields textarea:focus,
body.woocommerce-checkout .woocommerce-additional-fields select:focus,
body.woocommerce-checkout #customer_details input.input-text:focus,
body.woocommerce-checkout #customer_details input[type="text"]:focus,
body.woocommerce-checkout #customer_details input[type="tel"]:focus,
body.woocommerce-checkout #customer_details input[type="email"]:focus,
body.woocommerce-checkout #customer_details input[type="password"]:focus,
body.woocommerce-checkout #customer_details textarea:focus,
body.woocommerce-checkout #customer_details select:focus {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
    box-shadow: none !important;
    outline: 1px solid #000000;
    outline-offset: 0;
    -webkit-text-fill-color: #000000;
}

