/**
 * MosaicCE Commerce UI
 * Visual-only refinements. No checkout/business logic is changed here.
 */

:root {
    --mceu-navy: #082a4f;
    --mceu-navy-2: #123b75;
    --mceu-gold: #f6c400;
    --mceu-gold-dark: #d6a900;
    --mceu-ink: #14213d;
    --mceu-muted: #667085;
    --mceu-line: #dfe6ef;
    --mceu-soft: #f6f8fb;
    --mceu-white: #ffffff;
    --mceu-danger: #b42318;
    --mceu-radius: 8px;
    --mceu-shadow: 0 12px 34px rgba(8, 42, 79, 0.10);
}

/* Keep commerce typography compact and predictable. */
.mceu-commerce-ui .woocommerce,
.mceu-commerce-ui #moderncart-slide-out {
    color: var(--mceu-ink);
    font-size: 15px;
    line-height: 1.45;
}

.mceu-commerce-ui .woocommerce a,
.mceu-commerce-ui #moderncart-slide-out a {
    text-underline-offset: 2px;
}

/* Shared buttons */
.mceu-commerce-ui .woocommerce a.button,
.mceu-commerce-ui .woocommerce button.button,
.mceu-commerce-ui .woocommerce input.button,
.mceu-commerce-ui .woocommerce #respond input#submit,
.mceu-commerce-ui .woocommerce a.checkout-button,
.mceu-commerce-ui .woocommerce #place_order {
    min-height: 44px;
    border: 1px solid var(--mceu-navy) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.mceu-commerce-ui .woocommerce a.button,
.mceu-commerce-ui .woocommerce button.button,
.mceu-commerce-ui .woocommerce input.button {
    background: var(--mceu-navy) !important;
    color: #fff !important;
}

.mceu-commerce-ui .woocommerce a.button:hover,
.mceu-commerce-ui .woocommerce button.button:hover,
.mceu-commerce-ui .woocommerce input.button:hover {
    background: var(--mceu-navy-2) !important;
    border-color: var(--mceu-navy-2) !important;
    color: #fff !important;
}

/* Important purchase CTA stays gold. */
.mceu-commerce-ui .woocommerce #place_order,
.mceu-commerce-ui .woocommerce a.checkout-button {
    background: var(--mceu-gold) !important;
    border-color: var(--mceu-gold-dark) !important;
    color: #071b38 !important;
}

.mceu-commerce-ui .woocommerce #place_order:hover,
.mceu-commerce-ui .woocommerce a.checkout-button:hover {
    background: #ffd52d !important;
    border-color: var(--mceu-gold-dark) !important;
    color: #071b38 !important;
}

/* Notices */
.mceu-commerce-ui .woocommerce-message,
.mceu-commerce-ui .woocommerce-info,
.mceu-commerce-ui .woocommerce-error {
    border: 1px solid var(--mceu-line) !important;
    border-left: 4px solid var(--mceu-navy) !important;
    border-radius: var(--mceu-radius) !important;
    background: #fff !important;
    color: var(--mceu-ink) !important;
    box-shadow: none !important;
    padding: 14px 16px 14px 18px !important;
    margin: 0 0 22px !important;
}

.mceu-commerce-ui .woocommerce-error {
    border-left-color: var(--mceu-danger) !important;
}

/* =========================================================
   SIDE CART / ASTRA MODERN CART
   ========================================================= */
#moderncart-slide-out.moderncart-modal-wrap .moderncart-panel {
    width: min(440px, 100vw) !important;
    max-width: 440px !important;
    background: var(--mceu-white) !important;
    box-shadow: -20px 0 55px rgba(8, 42, 79, 0.20) !important;
    display: flex !important;
    flex-direction: column !important;
}

#moderncart-slide-out .moderncart-slide-out-header {
    flex: 0 0 auto;
    border-bottom: 1px solid var(--mceu-line) !important;
    background: #fff !important;
}

#moderncart-slide-out .moderncart-slide-out-header-heading {
    min-height: 74px !important;
    padding: 0 22px !important;
    display: grid !important;
    grid-template-columns: 34px 1fr 30px !important;
    gap: 12px !important;
    align-items: center !important;
}

#moderncart-slide-out .moderncart-slide-out-header-close {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--mceu-navy) !important;
}

#moderncart-slide-out .moderncart-slide-out-header-close svg {
    width: 27px !important;
    height: auto !important;
}

#moderncart-slide-out .moderncart-slide-out-header-title {
    text-align: center !important;
    color: var(--mceu-ink) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
}

#moderncart-slide-out .moderncart-slide-out-header-quantity {
    min-width: 28px !important;
    height: 28px !important;
    padding: 0 7px !important;
    border-radius: 6px !important;
    background: var(--mceu-soft) !important;
    color: var(--mceu-navy) !important;
    display: grid !important;
    place-items: center !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

#moderncart-slide-out .moderncart-slide-out-cart {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    background: #fff !important;
}

#moderncart-slide-out .moderncart-slide-out-cart-inner {
    padding: 18px 20px !important;
}

#moderncart-slide-out .moderncart-cart-item {
    padding: 0 !important;
    border: 0 !important;
}

#moderncart-slide-out .moderncart-cart-item-container {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 15px !important;
    align-items: start !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid var(--mceu-line) !important;
}

#moderncart-slide-out .moderncart-cart-item-image {
    width: 88px !important;
    height: 88px !important;
    margin: 0 !important;
    position: relative !important;
}

#moderncart-slide-out .moderncart-cart-item-image img {
    width: 88px !important;
    height: 88px !important;
    object-fit: cover !important;
    border-radius: 7px !important;
    border: 1px solid var(--mceu-line) !important;
}

#moderncart-slide-out .moderncart-cart-item-onsale {
    top: 6px !important;
    left: 6px !important;
    padding: 3px 6px !important;
    border-radius: 4px !important;
    background: var(--mceu-gold) !important;
    color: #071b38 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

#moderncart-slide-out .moderncart-cart-item-product-name,
#moderncart-slide-out .moderncart-cart-item-product-name a {
    color: var(--mceu-ink) !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

#moderncart-slide-out .moderncart-price {
    margin-top: 8px !important;
    color: var(--mceu-navy) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

#moderncart-slide-out .moderncart-price small {
    display: block !important;
    margin-top: 3px !important;
    color: #027a48 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

#moderncart-slide-out .moderncart-cart-item-actions-remove {
    margin-top: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--mceu-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

#moderncart-slide-out .moderncart-slide-out-footer {
    flex: 0 0 auto !important;
    padding: 0 !important;
    border-top: 1px solid var(--mceu-line) !important;
    background: #fff !important;
    box-shadow: 0 -8px 22px rgba(8, 42, 79, .05) !important;
}

#moderncart-slide-out .moderncart-have-coupon-code-area {
    min-height: 52px !important;
    padding: 0 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-bottom: 1px solid var(--mceu-line) !important;
    color: var(--mceu-ink) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

#moderncart-slide-out .moderncart-have-coupon-code-area svg {
    width: 20px !important;
    height: 20px !important;
}

#moderncart-slide-out .moderncart-slide-out-coupon {
    padding: 14px 20px !important;
    border-bottom: 1px solid var(--mceu-line) !important;
}

#moderncart-slide-out .moderncart-slide-out-coupon-input {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 8px !important;
}

#moderncart-slide-out #moderncart-coupon-input {
    height: 42px !important;
    min-width: 0 !important;
    border: 1px solid #cfd8e4 !important;
    border-radius: 6px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
}

#moderncart-slide-out .moderncart-slide-out-coupon-form-button {
    min-height: 42px !important;
    padding: 0 16px !important;
    border: 1px solid var(--mceu-navy) !important;
    border-radius: 0 !important;
    background: var(--mceu-navy) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

#moderncart-slide-out .moderncart-cart-total {
    padding: 16px 20px 20px !important;
}

#moderncart-slide-out .moderncart-cart-line-items-item {
    min-height: 38px !important;
    padding: 8px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 0 !important;
    font-size: 14px !important;
}

#moderncart-slide-out .moderncart-cart-line-items__total {
    margin-top: 4px !important;
    padding-top: 13px !important;
    border-top: 1px solid var(--mceu-line) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

#moderncart-slide-out .wc-proceed-to-checkout {
    margin: 14px 0 0 !important;
    padding: 0 !important;
}

#moderncart-slide-out .wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    border: 1px solid var(--mceu-gold-dark) !important;
    border-radius: 0 !important;
    background: var(--mceu-gold) !important;
    color: #071b38 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* =========================================================
   CART
   ========================================================= */
.mceu-cart-page .site-content .ast-container,
.mceu-cart-page .entry-content > .woocommerce {
    width: 100% !important;
    max-width: 1180px !important;
}

.mceu-cart-page .entry-content > .woocommerce {
    margin-left: auto !important;
    margin-right: auto !important;
}

.mceu-cart-page .woocommerce-cart-form,
.mceu-cart-page .cart-collaterals {
    float: none !important;
    width: 100% !important;
}

.mceu-cart-page .woocommerce-cart-form table.shop_table {
    width: 100% !important;
    table-layout: auto !important;
    border: 1px solid var(--mceu-line) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: var(--mceu-radius) !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 8px 26px rgba(8, 42, 79, .06) !important;
}

.mceu-cart-page .woocommerce-cart-form table.shop_table thead th {
    padding: 13px 14px !important;
    border: 0 !important;
    background: var(--mceu-navy) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}

.mceu-cart-page .woocommerce-cart-form table.shop_table td {
    padding: 16px 14px !important;
    border-top: 1px solid var(--mceu-line) !important;
    vertical-align: middle !important;
    font-size: 14px !important;
}

.mceu-cart-page td.product-thumbnail img {
    width: 82px !important;
    height: 82px !important;
    object-fit: cover !important;
    border: 1px solid var(--mceu-line) !important;
    border-radius: 7px !important;
}

.mceu-cart-page td.product-name a {
    color: var(--mceu-ink) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.mceu-cart-page td.product-price,
.mceu-cart-page td.product-subtotal {
    color: var(--mceu-navy) !important;
    font-weight: 700 !important;
}

.mceu-cart-page .product-remove a.remove {
    width: 30px !important;
    height: 30px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #667085 !important;
    display: grid !important;
    place-items: center !important;
    font-size: 19px !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.mceu-cart-page .product-remove a.remove:hover {
    border-color: #f1c0bb !important;
    background: #fff7f6 !important;
    color: var(--mceu-danger) !important;
}

.mceu-cart-page .woocommerce-cart-form td.actions {
    padding: 14px !important;
    background: var(--mceu-soft) !important;
}

.mceu-cart-page .woocommerce-cart-form .coupon {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
}

.mceu-cart-page .woocommerce-cart-form .coupon #coupon_code {
    width: 200px !important;
    max-width: 100% !important;
    height: 44px !important;
    border: 1px solid #cfd8e4 !important;
    border-radius: 6px !important;
    padding: 0 12px !important;
}

.mceu-cart-page .cart-collaterals {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 24px !important;
}

.mceu-cart-page .cart-collaterals .cart_totals {
    float: none !important;
    width: min(100%, 440px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--mceu-line) !important;
    border-radius: var(--mceu-radius) !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 10px 28px rgba(8, 42, 79, .07) !important;
}

.mceu-cart-page .cart_totals h2 {
    margin: 0 !important;
    padding: 16px 18px !important;
    background: var(--mceu-soft) !important;
    border-bottom: 1px solid var(--mceu-line) !important;
    color: var(--mceu-ink) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.mceu-cart-page .cart_totals table.shop_table {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.mceu-cart-page .cart_totals table.shop_table th,
.mceu-cart-page .cart_totals table.shop_table td {
    padding: 13px 18px !important;
    border-top: 1px solid var(--mceu-line) !important;
    background: #fff !important;
    color: var(--mceu-ink) !important;
    font-size: 14px !important;
}

.mceu-cart-page .cart_totals table.shop_table td {
    text-align: right !important;
}

.mceu-cart-page .cart_totals .order-total th,
.mceu-cart-page .cart_totals .order-total td {
    font-size: 16px !important;
    font-weight: 800 !important;
}

.mceu-cart-page .tlbm-cart-small {
    display: block !important;
    margin-top: 2px !important;
    color: var(--mceu-muted) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
}

.mceu-cart-page .cart_totals .wc-proceed-to-checkout {
    padding: 16px 18px 10px !important;
    margin: 0 !important;
}

.mceu-cart-page .cart_totals .checkout-button {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mceu-cart-page .mosaicce-cart-continue-shopping-wrap {
    padding: 0 18px 18px !important;
}

.mceu-cart-page .mosaicce-cart-continue-shopping-wrap .button {
    width: 100% !important;
    background: #fff !important;
    color: var(--mceu-navy) !important;
}

/* =========================================================
   CHECKOUT
   ========================================================= */
.mceu-checkout-page .site-content .ast-container,
.mceu-checkout-page .entry-content > .woocommerce {
    width: 100% !important;
    max-width: 1180px !important;
}

.mceu-checkout-page .entry-content > .woocommerce {
    margin-left: auto !important;
    margin-right: auto !important;
}

.mceu-checkout-page .tlbm-checkout-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
}

.mceu-checkout-page .tlbm-checkout-actions .button {
    min-height: 38px !important;
    padding: 9px 14px !important;
    font-size: 12px !important;
}

/* Prevent desktop/mobile order summaries from displaying together. */
@media (min-width: 769px) {
    .mceu-checkout-page .ast-mobile-order-review-wrap {
        display: none !important;
    }

    .mceu-checkout-page form.checkout.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.48fr) minmax(330px, .82fr) !important;
        column-gap: 30px !important;
        align-items: start !important;
        position: static !important;
    }

    .mceu-checkout-page #customer_details {
        grid-column: 1 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .mceu-checkout-page #customer_details .col-1,
    .mceu-checkout-page #customer_details .col-2 {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .mceu-checkout-page #ast-order-review-wrapper {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        margin: 0 !important;
        position: static !important;
        top: auto !important;
    }
}

.mceu-checkout-page #customer_details,
.mceu-checkout-page #ast-order-review-wrapper {
    min-width: 0 !important;
}

.mceu-checkout-page .ast-customer-info,
.mceu-checkout-page .woocommerce-billing-fields,
.mceu-checkout-page .woocommerce-additional-fields,
.mceu-checkout-page #payment {
    width: 100% !important;
}

.mceu-checkout-page .ast-checkout-form-heading h3,
.mceu-checkout-page .woocommerce-billing-fields > h3,
.mceu-checkout-page .woocommerce-additional-fields > h3,
.mceu-checkout-page #ast-payment_options_heading,
.mceu-checkout-page #order_review_heading {
    margin: 0 0 14px !important;
    color: var(--mceu-ink) !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.mceu-checkout-page .woocommerce-billing-fields,
.mceu-checkout-page .woocommerce-additional-fields,
.mceu-checkout-page #payment,
.mceu-checkout-page #ast-order-review-wrapper {
    margin-bottom: 22px !important;
}

.mceu-checkout-page .woocommerce-billing-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 13px 14px !important;
}

.mceu-checkout-page .woocommerce-billing-fields__field-wrapper .form-row {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mceu-checkout-page .woocommerce-billing-fields__field-wrapper .form-row-wide,
.mceu-checkout-page #billing_country_field,
.mceu-checkout-page #billing_address_1_field,
.mceu-checkout-page #billing_phone_field,
.mceu-checkout-page #tltsc_A1344809B_field,
.mceu-checkout-page #tltsc_state_licensed_field {
    grid-column: 1 / -1 !important;
}

.mceu-checkout-page .form-row label {
    display: block !important;
    margin: 0 0 6px !important;
    color: #344054 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 650 !important;
}

.mceu-checkout-page .form-row .optional {
    color: var(--mceu-muted) !important;
    font-weight: 500 !important;
}

.mceu-checkout-page .woocommerce input.input-text,
.mceu-checkout-page .woocommerce textarea.input-text,
.mceu-checkout-page .select2-container .select2-selection--single,
.mceu-checkout-page .woocommerce select {
    min-height: 44px !important;
    border: 1px solid #cfd8e4 !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--mceu-ink) !important;
    font-size: 14px !important;
}

.mceu-checkout-page .woocommerce input.input-text,
.mceu-checkout-page .woocommerce textarea.input-text {
    padding: 10px 12px !important;
}

.mceu-checkout-page .woocommerce textarea.input-text {
    min-height: 92px !important;
    resize: vertical !important;
}

.mceu-checkout-page .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 42px !important;
    padding-left: 12px !important;
    padding-right: 34px !important;
}

.mceu-checkout-page .select2-container .select2-selection--single .select2-selection__arrow {
    height: 42px !important;
}

.mceu-checkout-page .ast-logged-in-customer-info {
    margin: 0 0 18px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--mceu-line) !important;
    border-radius: 6px !important;
    background: var(--mceu-soft) !important;
    color: var(--mceu-ink) !important;
    font-size: 13px !important;
}

.mceu-checkout-page .woocommerce-form-coupon-toggle {
    margin: 0 0 18px !important;
}

.mceu-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info {
    margin-bottom: 0 !important;
}

.mceu-checkout-page form.checkout_coupon {
    margin: -8px 0 20px !important;
    padding: 14px !important;
    border: 1px solid var(--mceu-line) !important;
    border-radius: var(--mceu-radius) !important;
    background: var(--mceu-soft) !important;
}

.mceu-checkout-page #ast-checkout-coupon {
    margin: 18px 0 !important;
    padding: 14px !important;
    border: 1px solid var(--mceu-line) !important;
    border-radius: 6px !important;
    background: var(--mceu-soft) !important;
}

.mceu-checkout-page #ast-coupon-trigger {
    margin: 0 !important;
    color: var(--mceu-navy) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.mceu-checkout-page #payment {
    padding: 0 !important;
    border: 1px solid var(--mceu-line) !important;
    border-radius: var(--mceu-radius) !important;
    background: #fff !important;
    overflow: hidden !important;
}

.mceu-checkout-page #payment ul.payment_methods {
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 0 !important;
    background: #fff !important;
}

.mceu-checkout-page #payment .payment_box {
    margin: 12px 0 0 !important;
    padding: 14px !important;
    border: 1px solid var(--mceu-line) !important;
    border-radius: 6px !important;
    background: var(--mceu-soft) !important;
}

.mceu-checkout-page #payment .place-order {
    margin: 0 !important;
    padding: 14px 16px 16px !important;
    border-top: 1px solid var(--mceu-line) !important;
    background: #fff !important;
}

.mceu-checkout-page #place_order {
    width: 100% !important;
    min-height: 50px !important;
    margin: 10px 0 0 !important;
    font-size: 15px !important;
}

.mceu-checkout-page .mosaicce-secure-payment-note {
    justify-content: center !important;
    margin-top: 9px !important;
    color: var(--mceu-muted) !important;
    font-size: 12px !important;
}

.mceu-checkout-page #ast-order-review-wrapper {
    border: 1px solid var(--mceu-line) !important;
    border-radius: var(--mceu-radius) !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 10px 28px rgba(8, 42, 79, .07) !important;
}

.mceu-checkout-page #ast-order-review-wrapper #order_review_heading {
    margin: 0 !important;
    padding: 16px 18px !important;
    border-bottom: 1px solid var(--mceu-line) !important;
    background: var(--mceu-soft) !important;
}

.mceu-checkout-page #ast-order-review-wrapper #order_review {
    padding: 0 !important;
}

.mceu-checkout-page #ast-order-review-wrapper table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
}

.mceu-checkout-page #ast-order-review-wrapper table.shop_table th,
.mceu-checkout-page #ast-order-review-wrapper table.shop_table td {
    padding: 12px 14px !important;
    border-top: 1px solid var(--mceu-line) !important;
    background: #fff !important;
    color: var(--mceu-ink) !important;
    font-size: 13px !important;
    vertical-align: middle !important;
}

.mceu-checkout-page #ast-order-review-wrapper table.shop_table thead th {
    border-top: 0 !important;
    background: var(--mceu-navy) !important;
    color: #fff !important;
    font-size: 12px !important;
}

.mceu-checkout-page #ast-order-review-wrapper .ast-product-image {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.mceu-checkout-page #ast-order-review-wrapper .ast-product-thumbnail img {
    width: 58px !important;
    height: 58px !important;
    object-fit: cover !important;
    border: 1px solid var(--mceu-line) !important;
    border-radius: 6px !important;
}

.mceu-checkout-page #ast-order-review-wrapper .ast-product-name {
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

.mceu-checkout-page #ast-order-review-wrapper .order-total th,
.mceu-checkout-page #ast-order-review-wrapper .order-total td {
    font-size: 15px !important;
    font-weight: 800 !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 900px) {
    .mceu-cart-page .entry-content > .woocommerce,
    .mceu-checkout-page .entry-content > .woocommerce {
        max-width: none !important;
    }
}

@media (max-width: 768px) {
    #moderncart-slide-out.moderncart-modal-wrap .moderncart-panel {
        width: min(100vw, 420px) !important;
        max-width: 100vw !important;
    }

    #moderncart-slide-out .moderncart-slide-out-header-heading {
        min-height: 64px !important;
        padding: 0 15px !important;
    }

    #moderncart-slide-out .moderncart-slide-out-cart-inner,
    #moderncart-slide-out .moderncart-have-coupon-code-area,
    #moderncart-slide-out .moderncart-slide-out-coupon,
    #moderncart-slide-out .moderncart-cart-total {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    #moderncart-slide-out .moderncart-cart-item-container {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    #moderncart-slide-out .moderncart-cart-item-image,
    #moderncart-slide-out .moderncart-cart-item-image img {
        width: 76px !important;
        height: 76px !important;
    }

    .mceu-cart-page .woocommerce-cart-form table.shop_table_responsive,
    .mceu-cart-page .woocommerce-cart-form table.shop_table_responsive tbody,
    .mceu-cart-page .woocommerce-cart-form table.shop_table_responsive tr,
    .mceu-cart-page .woocommerce-cart-form table.shop_table_responsive td {
        display: block !important;
        width: 100% !important;
    }

    .mceu-cart-page .woocommerce-cart-form table.shop_table_responsive thead {
        display: none !important;
    }

    .mceu-cart-page .woocommerce-cart-form table.shop_table_responsive tr.cart_item {
        position: relative !important;
        padding: 14px !important;
        border-bottom: 1px solid var(--mceu-line) !important;
    }

    .mceu-cart-page .woocommerce-cart-form table.shop_table_responsive td {
        min-height: 0 !important;
        padding: 5px 0 !important;
        border: 0 !important;
        text-align: left !important;
    }

    .mceu-cart-page .woocommerce-cart-form table.shop_table_responsive td::before {
        float: none !important;
        margin-right: 8px !important;
        color: var(--mceu-muted) !important;
        font-size: 11px !important;
        font-weight: 600 !important;
    }

    .mceu-cart-page td.product-remove {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        width: 30px !important;
        z-index: 2 !important;
    }

    .mceu-cart-page td.product-thumbnail {
        width: 82px !important;
        margin-bottom: 8px !important;
    }

    .mceu-cart-page td.product-name {
        padding-right: 44px !important;
        font-size: 15px !important;
    }

    .mceu-cart-page .woocommerce-cart-form td.actions {
        padding: 14px !important;
    }

    .mceu-cart-page .woocommerce-cart-form .coupon {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        width: 100% !important;
    }

    .mceu-cart-page .woocommerce-cart-form .coupon #coupon_code {
        width: 100% !important;
    }

    .mceu-cart-page .woocommerce-cart-form td.actions > .button[name="update_cart"] {
        width: 100% !important;
        margin-top: 8px !important;
    }

    .mceu-cart-page .cart-collaterals {
        display: block !important;
        margin-top: 18px !important;
    }

    .mceu-cart-page .cart-collaterals .cart_totals {
        width: 100% !important;
    }

    .mceu-checkout-page .ast-mobile-order-review-wrap {
        display: block !important;
        margin: 0 0 18px !important;
        border: 1px solid var(--mceu-line) !important;
        border-radius: var(--mceu-radius) !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    .mceu-checkout-page #ast-order-review-wrapper {
        display: none !important;
    }

    .mceu-checkout-page form.checkout.woocommerce-checkout,
    .mceu-checkout-page #customer_details,
    .mceu-checkout-page #customer_details .col-1,
    .mceu-checkout-page #customer_details .col-2 {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .mceu-checkout-page .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .mceu-checkout-page .woocommerce-billing-fields__field-wrapper .form-row {
        grid-column: 1 !important;
    }

    .mceu-checkout-page .tlbm-checkout-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .mceu-checkout-page .tlbm-checkout-actions .button {
        width: 100% !important;
        text-align: center !important;
    }
}

@media (max-width: 480px) {
    #moderncart-slide-out.moderncart-modal-wrap .moderncart-panel {
        width: 100vw !important;
    }

    .mceu-cart-page .woocommerce-cart-form .coupon,
    #moderncart-slide-out .moderncart-slide-out-coupon-input,
    .mceu-checkout-page .tlbm-checkout-actions {
        grid-template-columns: 1fr !important;
    }

    #moderncart-slide-out .moderncart-slide-out-coupon-form-button,
    .mceu-cart-page .woocommerce-cart-form .coupon .button {
        width: 100% !important;
    }

    .mceu-checkout-page .woocommerce input.input-text,
    .mceu-checkout-page .select2-container .select2-selection--single {
        font-size: 16px !important; /* prevents iOS form zoom */
    }
}

/* =========================================================
   1.0.1 REFINEMENTS — sharper corporate commerce UI
   ========================================================= */
:root {
    --mceu-gold: #ffd400;
    --mceu-gold-dark: #d9b400;
    --mceu-yellow-soft: #fff8cc;
}

/* Buttons are deliberately square, with truly centred labels. */
.mceu-commerce-ui .woocommerce a.button,
.mceu-commerce-ui .woocommerce button.button,
.mceu-commerce-ui .woocommerce input.button,
.mceu-commerce-ui .woocommerce #respond input#submit,
.mceu-commerce-ui .woocommerce a.checkout-button,
.mceu-commerce-ui .woocommerce #place_order,
#moderncart-slide-out .moderncart-slide-out-coupon-form-button,
#moderncart-slide-out .wc-proceed-to-checkout .checkout-button,
#moderncart-slide-out .moderncart-cart-item-actions-remove {
    border-radius: 0 !important;
}

.mceu-commerce-ui .woocommerce a.button,
.mceu-commerce-ui .woocommerce button.button,
.mceu-commerce-ui .woocommerce a.checkout-button,
.mceu-commerce-ui .woocommerce #place_order,
#moderncart-slide-out .moderncart-slide-out-coupon-form-button,
#moderncart-slide-out .wc-proceed-to-checkout .checkout-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: middle !important;
    line-height: 1 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.mceu-commerce-ui .woocommerce input.button {
    text-align: center !important;
    line-height: 42px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Stronger luminous-yellow corporate accent without changing business logic. */
.mceu-cart-page .woocommerce-cart-form table.shop_table,
.mceu-cart-page .cart-collaterals .cart_totals,
.mceu-checkout-page #customer_details .col-1,
.mceu-checkout-page #ast-order-review-wrapper,
#moderncart-slide-out .moderncart-panel {
    border-radius: 0 !important;
}

/* =========================================================
   SIDE CART — sharper hierarchy and yellow accents
   ========================================================= */
#moderncart-slide-out.moderncart-modal-wrap .moderncart-panel {
    width: min(420px, 100vw) !important;
    max-width: 420px !important;
    border-left: 4px solid var(--mceu-gold) !important;
}

#moderncart-slide-out .moderncart-slide-out-header {
    border-top: 5px solid var(--mceu-gold) !important;
}

#moderncart-slide-out .moderncart-slide-out-header-quantity,
#moderncart-slide-out .moderncart-cart-item-onsale {
    border-radius: 0 !important;
    background: var(--mceu-gold) !important;
    color: var(--mceu-navy) !important;
}

#moderncart-slide-out .moderncart-cart-item-image img,
#moderncart-slide-out #moderncart-coupon-input {
    border-radius: 0 !important;
}

#moderncart-slide-out .moderncart-cart-total {
    border-top: 3px solid var(--mceu-gold) !important;
}

#moderncart-slide-out .moderncart-cart-line-items__total {
    background: var(--mceu-yellow-soft) !important;
    margin-left: -20px !important;
    margin-right: -20px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* =========================================================
   CART — notice icon clearance and stronger layout
   ========================================================= */
.mceu-cart-page .woocommerce-message {
    position: relative !important;
    padding: 15px 190px 15px 50px !important;
    border: 1px solid var(--mceu-line) !important;
    border-left: 4px solid var(--mceu-gold) !important;
    border-radius: 0 !important;
    background: #fff !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
}

.mceu-cart-page .woocommerce-message::before {
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    color: var(--mceu-navy) !important;
    font-size: 17px !important;
    line-height: 1 !important;
}

.mceu-cart-page .woocommerce-message .button {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    min-width: 158px !important;
    min-height: 40px !important;
    margin: 0 !important;
}

.mceu-cart-page .woocommerce-cart-form table.shop_table {
    border-top: 4px solid var(--mceu-gold) !important;
}

.mceu-cart-page .woocommerce-cart-form table.shop_table thead th {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.mceu-cart-page td.product-thumbnail img,
.mceu-cart-page .woocommerce-cart-form .coupon #coupon_code {
    border-radius: 0 !important;
}

.mceu-cart-page .product-remove a.remove {
    border-radius: 0 !important;
}

.mceu-cart-page .cart-collaterals .cart_totals {
    border-top: 4px solid var(--mceu-gold) !important;
}

.mceu-cart-page .cart_totals h2 {
    background: var(--mceu-navy) !important;
    color: #fff !important;
    border-bottom: 3px solid var(--mceu-gold) !important;
}

.mceu-cart-page .cart_totals .order-total th,
.mceu-cart-page .cart_totals .order-total td {
    background: var(--mceu-yellow-soft) !important;
    color: var(--mceu-navy) !important;
}

.mceu-cart-page .mosaicce-cart-continue-shopping-wrap .button {
    border: 1px solid var(--mceu-navy) !important;
    background: var(--mceu-navy) !important;
    color: #fff !important;
}

/* =========================================================
   CHECKOUT — customer heading, login row and padded order card
   ========================================================= */
.mceu-checkout-page .entry-content > .woocommerce,
.mceu-checkout-page .site-content .ast-container {
    max-width: 1240px !important;
}

.mceu-checkout-page .woocommerce-billing-fields-custom {
    display: block !important;
    width: 100% !important;
}

/* Astra puts the login prompt inside this H3. Force a true two-line hierarchy. */
.mceu-checkout-page .woocommerce-billing-fields-custom > h3,
.mceu-checkout-page .woocommerce-billing-fields-custom > .ast-checkout-form-heading h3 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 16px !important;
    padding: 0 0 13px !important;
    border-bottom: 3px solid var(--mceu-gold) !important;
    color: var(--mceu-navy) !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.mceu-checkout-page .woocommerce-billing-fields__customer-login-label {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    color: var(--mceu-muted) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
}

.mceu-checkout-page .woocommerce-billing-fields__customer-login-label a {
    color: var(--mceu-navy) !important;
    font-weight: 750 !important;
    text-decoration: underline !important;
    text-decoration-color: var(--mceu-gold) !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}

.mceu-checkout-page .woocommerce-billing-fields__customer-info-wrapper {
    display: block !important;
    width: 100% !important;
    clear: both !important;
}

.mceu-checkout-page .woocommerce-billing-fields__customer-info-wrapper .form-row {
    width: 100% !important;
    float: none !important;
}

.mceu-checkout-page #customer_details .col-1 {
    border: 1px solid var(--mceu-line) !important;
    border-top: 4px solid var(--mceu-gold) !important;
    background: #fff !important;
    padding: 24px !important;
    box-shadow: 0 10px 30px rgba(8, 42, 79, .06) !important;
}

.mceu-checkout-page .woocommerce-billing-fields > h3,
.mceu-checkout-page .woocommerce-additional-fields > h3,
.mceu-checkout-page #ast-payment_options_heading {
    position: relative !important;
    padding-bottom: 10px !important;
    margin-top: 4px !important;
    color: var(--mceu-navy) !important;
}

.mceu-checkout-page .woocommerce-billing-fields > h3::after,
.mceu-checkout-page .woocommerce-additional-fields > h3::after,
.mceu-checkout-page #ast-payment_options_heading::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 44px !important;
    height: 3px !important;
    background: var(--mceu-gold) !important;
}

.mceu-checkout-page .woocommerce input.input-text,
.mceu-checkout-page .woocommerce textarea.input-text,
.mceu-checkout-page .select2-container .select2-selection--single,
.mceu-checkout-page .woocommerce select,
.mceu-checkout-page form.checkout_coupon,
.mceu-checkout-page #ast-checkout-coupon,
.mceu-checkout-page #payment,
.mceu-checkout-page #payment .payment_box,
.mceu-checkout-page .ast-logged-in-customer-info {
    border-radius: 0 !important;
}

.mceu-checkout-page .woocommerce input.input-text:focus,
.mceu-checkout-page .woocommerce textarea.input-text:focus,
.mceu-checkout-page .select2-container--focus .select2-selection--single {
    border-color: var(--mceu-navy) !important;
    box-shadow: 0 0 0 2px rgba(255, 212, 0, .35) !important;
    outline: 0 !important;
}

/* Give Your order breathing room instead of letting the table touch the card edge. */
.mceu-checkout-page #ast-order-review-wrapper {
    border-top: 4px solid var(--mceu-gold) !important;
    overflow: visible !important;
}

.mceu-checkout-page #ast-order-review-wrapper #order_review_heading {
    padding: 17px 20px !important;
    background: var(--mceu-navy) !important;
    color: #fff !important;
    border-bottom: 3px solid var(--mceu-gold) !important;
}

.mceu-checkout-page #ast-order-review-wrapper #order_review {
    padding: 16px 18px 18px !important;
    background: #fff !important;
}

.mceu-checkout-page #ast-order-review-wrapper table.shop_table {
    border: 1px solid var(--mceu-line) !important;
}

.mceu-checkout-page #ast-order-review-wrapper table.shop_table th,
.mceu-checkout-page #ast-order-review-wrapper table.shop_table td {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

.mceu-checkout-page #ast-order-review-wrapper table.shop_table thead th {
    border-bottom: 2px solid var(--mceu-gold) !important;
}

.mceu-checkout-page #ast-order-review-wrapper table.shop_table .order-total th,
.mceu-checkout-page #ast-order-review-wrapper table.shop_table .order-total td {
    background: var(--mceu-yellow-soft) !important;
    color: var(--mceu-navy) !important;
}

.mceu-checkout-page #ast-order-review-wrapper .ast-product-thumbnail img {
    border-radius: 0 !important;
}

.mceu-checkout-page #place_order {
    border-width: 2px !important;
    min-height: 52px !important;
}

.mceu-checkout-page #place_order:hover,
.mceu-cart-page .checkout-button:hover,
#moderncart-slide-out .checkout-button:hover {
    background: #ffe033 !important;
}

/* Wider order column stops product names from being crushed. */
@media (min-width: 981px) {
    .mceu-checkout-page form.checkout.woocommerce-checkout {
        grid-template-columns: minmax(0, 1.35fr) minmax(420px, .9fr) !important;
        column-gap: 28px !important;
    }
}

/* Tablet: use the compact Astra order summary and stack checkout sections. */
@media (max-width: 980px) {
    .mceu-checkout-page .ast-mobile-order-review-wrap {
        display: block !important;
        margin: 0 0 18px !important;
        border: 1px solid var(--mceu-line) !important;
        border-top: 4px solid var(--mceu-gold) !important;
        border-radius: 0 !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    .mceu-checkout-page .ast-mobile-order-review-wrap #ast-order-review-content {
        padding: 12px 14px 14px !important;
    }

    .mceu-checkout-page #ast-order-review-wrapper {
        display: none !important;
    }

    .mceu-checkout-page form.checkout.woocommerce-checkout,
    .mceu-checkout-page #customer_details,
    .mceu-checkout-page #customer_details .col-1,
    .mceu-checkout-page #customer_details .col-2 {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

@media (max-width: 768px) {
    .mceu-cart-page .woocommerce-message {
        padding: 48px 15px 14px 46px !important;
        display: block !important;
    }

    .mceu-cart-page .woocommerce-message::before {
        top: 18px !important;
        transform: none !important;
    }

    .mceu-cart-page .woocommerce-message .button {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        margin-top: 12px !important;
    }

    .mceu-checkout-page #customer_details .col-1 {
        padding: 18px 15px !important;
    }

    .mceu-checkout-page .woocommerce-billing-fields-custom > h3,
    .mceu-checkout-page .woocommerce-billing-fields-custom > .ast-checkout-form-heading h3 {
        font-size: 19px !important;
    }

    .mceu-checkout-page .woocommerce-billing-fields__customer-login-label {
        font-size: 12px !important;
    }
}

@media (max-width: 380px) {
    .mceu-checkout-page .woocommerce-billing-fields__customer-login-label {
        font-size: 11px !important;
        letter-spacing: -0.1px !important;
    }
}

/* =========================================================
   1.0.2 HARDENED ASTRA CHECKOUT OVERRIDES
   These selectors deliberately do not depend only on the custom body class.
   Astra/WooCommerce markup itself is used as the fallback detection surface.
   ========================================================= */

/* Buttons are always square and the label is genuinely centered. */
.mceu-commerce-ui .woocommerce a.button,
.mceu-commerce-ui .woocommerce button.button,
.mceu-commerce-ui .woocommerce input.button,
.mceu-commerce-ui .woocommerce a.checkout-button,
.mceu-commerce-ui .woocommerce #place_order,
#moderncart-slide-out .moderncart-button,
#moderncart-slide-out .checkout-button,
.woocommerce form.checkout.woocommerce-checkout .button,
.woocommerce form.checkout.woocommerce-checkout button,
.woocommerce-cart-form .button,
.cart_totals .button {
    border-radius: 0 !important;
}

.mceu-commerce-ui .woocommerce a.button,
.mceu-commerce-ui .woocommerce button.button,
.mceu-commerce-ui .woocommerce a.checkout-button,
.mceu-commerce-ui .woocommerce #place_order,
#moderncart-slide-out .moderncart-button,
#moderncart-slide-out .checkout-button,
.woocommerce form.checkout.woocommerce-checkout .button,
.woocommerce form.checkout.woocommerce-checkout button,
.woocommerce-cart-form button.button,
.cart_totals a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: middle !important;
}

/* Never let older rules round the Modern Cart controls. */
#moderncart-slide-out .moderncart-slide-out-coupon-form-button,
#moderncart-slide-out .wc-proceed-to-checkout .checkout-button {
    border-radius: 0 !important;
}

/* Cart notice: reserve real space for the status icon. */
body.woocommerce-cart .woocommerce-message,
.mceu-cart-page .woocommerce-message,
.woocommerce .woocommerce-message {
    position: relative !important;
    padding: 15px 190px 15px 52px !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
}

body.woocommerce-cart .woocommerce-message::before,
.mceu-cart-page .woocommerce-message::before,
.woocommerce .woocommerce-message::before {
    left: 19px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    line-height: 1 !important;
}

body.woocommerce-cart .woocommerce-message .button,
.mceu-cart-page .woocommerce-message .button {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

/* Strong checkout canvas -- works even if is_checkout() body class detection fails. */
body.woocommerce-checkout .site-content .ast-container,
body.woocommerce-checkout .entry-content > .woocommerce,
.mceu-checkout-detected .site-content .ast-container,
.mceu-checkout-detected .entry-content > .woocommerce,
.woocommerce:has(form.checkout.woocommerce-checkout) {
    width: 100% !important;
    max-width: 1240px !important;
}

body.woocommerce-checkout .entry-content > .woocommerce,
.mceu-checkout-detected .entry-content > .woocommerce {
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 769px) {
    body.woocommerce-checkout .ast-mobile-order-review-wrap,
    .mceu-checkout-detected .ast-mobile-order-review-wrap {
        display: none !important;
    }

    body.woocommerce-checkout form.checkout.woocommerce-checkout,
    .mceu-checkout-detected form.checkout.woocommerce-checkout,
    .woocommerce form.checkout.woocommerce-checkout {
        display: grid !important;
        grid-template-columns: minmax(0, 1.52fr) minmax(390px, .88fr) !important;
        gap: 0 42px !important;
        align-items: start !important;
        width: 100% !important;
        max-width: none !important;
        position: static !important;
    }

    body.woocommerce-checkout form.checkout #customer_details,
    .mceu-checkout-detected form.checkout #customer_details,
    .woocommerce form.checkout.woocommerce-checkout #customer_details {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout #customer_details .col-1,
    body.woocommerce-checkout #customer_details .col-2,
    .mceu-checkout-detected #customer_details .col-1,
    .mceu-checkout-detected #customer_details .col-2,
    .woocommerce form.checkout.woocommerce-checkout #customer_details .col-1,
    .woocommerce form.checkout.woocommerce-checkout #customer_details .col-2 {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.woocommerce-checkout #ast-order-review-wrapper,
    .mceu-checkout-detected #ast-order-review-wrapper,
    .woocommerce form.checkout.woocommerce-checkout ~ #ast-order-review-wrapper,
    .woocommerce form.checkout.woocommerce-checkout #ast-order-review-wrapper {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        position: static !important;
        top: auto !important;
    }
}

/* Customer Information is the main heading, full-width and unwrapped. */
body.woocommerce-checkout .ast-customer-info,
.mceu-checkout-detected .ast-customer-info,
.woocommerce form.checkout .ast-customer-info {
    display: block !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid #dfe6ef !important;
}

body.woocommerce-checkout .ast-customer-info .ast-checkout-form-heading,
.mceu-checkout-detected .ast-customer-info .ast-checkout-form-heading,
.woocommerce form.checkout .ast-customer-info .ast-checkout-form-heading,
.mceu-customer-heading {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
}

body.woocommerce-checkout .ast-customer-info .ast-checkout-form-heading h3,
.mceu-checkout-detected .ast-customer-info .ast-checkout-form-heading h3,
.woocommerce form.checkout .ast-customer-info .ast-checkout-form-heading h3 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    color: #082a4f !important;
    font-size: 23px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    letter-spacing: -.2px !important;
}

/* Existing-customer login prompt below the heading, never beside it. */
body.woocommerce-checkout .ast-customer-info .mceu-login-prompt,
.mceu-checkout-detected .ast-customer-info .mceu-login-prompt,
.woocommerce form.checkout .ast-customer-info .mceu-login-prompt {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    color: #475467 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout .ast-customer-info .mceu-login-prompt a,
.mceu-checkout-detected .ast-customer-info .mceu-login-prompt a {
    color: #082a4f !important;
    font-weight: 750 !important;
    text-decoration: underline !important;
    text-decoration-color: #f6c400 !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}

/* Fallback when Astra's prompt wrapper cannot be classified by JS. */
body.woocommerce-checkout .ast-customer-info .woocommerce-billing-fields-custom,
.mceu-checkout-detected .ast-customer-info .woocommerce-billing-fields-custom {
    display: block !important;
    width: 100% !important;
}

/* Section headings gain a crisp luminous-yellow accent. */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #ast-payment_options_heading,
.mceu-checkout-detected .woocommerce-billing-fields > h3,
.mceu-checkout-detected .woocommerce-additional-fields > h3,
.mceu-checkout-detected #ast-payment_options_heading {
    position: relative !important;
    margin: 0 0 18px !important;
    padding: 0 0 9px !important;
    color: #082a4f !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    border-bottom: 1px solid #dfe6ef !important;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3::after,
body.woocommerce-checkout .woocommerce-additional-fields > h3::after,
body.woocommerce-checkout #ast-payment_options_heading::after,
.mceu-checkout-detected .woocommerce-billing-fields > h3::after,
.mceu-checkout-detected .woocommerce-additional-fields > h3::after,
.mceu-checkout-detected #ast-payment_options_heading::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -1px !important;
    width: 54px !important;
    height: 3px !important;
    background: #f6c400 !important;
}

/* Order details: visible internal left/right padding and stronger hierarchy. */
body.woocommerce-checkout #ast-order-review-wrapper,
.mceu-checkout-detected #ast-order-review-wrapper {
    border: 1px solid #d7dfeb !important;
    border-top: 4px solid #f6c400 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(8, 42, 79, .10) !important;
    overflow: hidden !important;
}

body.woocommerce-checkout #ast-order-review-wrapper #order_review_heading,
.mceu-checkout-detected #ast-order-review-wrapper #order_review_heading {
    margin: 0 !important;
    padding: 18px 22px !important;
    background: #082a4f !important;
    border: 0 !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout #ast-order-review-wrapper #order_review,
.mceu-checkout-detected #ast-order-review-wrapper #order_review {
    padding: 18px 22px 22px !important;
    background: #fff !important;
}

body.woocommerce-checkout #ast-order-review-wrapper table.shop_table,
.mceu-checkout-detected #ast-order-review-wrapper table.shop_table {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid #dfe6ef !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    background: #fff !important;
}

body.woocommerce-checkout #ast-order-review-wrapper table.shop_table th,
body.woocommerce-checkout #ast-order-review-wrapper table.shop_table td,
.mceu-checkout-detected #ast-order-review-wrapper table.shop_table th,
.mceu-checkout-detected #ast-order-review-wrapper table.shop_table td {
    padding: 14px 16px !important;
    vertical-align: middle !important;
    border-top: 1px solid #e4e9f0 !important;
    background: #fff !important;
    color: #14213d !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body.woocommerce-checkout #ast-order-review-wrapper table.shop_table thead th,
.mceu-checkout-detected #ast-order-review-wrapper table.shop_table thead th {
    border-top: 0 !important;
    background: #123b75 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

body.woocommerce-checkout #ast-order-review-wrapper table.shop_table .product-name,
.mceu-checkout-detected #ast-order-review-wrapper table.shop_table .product-name {
    width: 72% !important;
    padding-left: 16px !important;
}

body.woocommerce-checkout #ast-order-review-wrapper table.shop_table .product-total,
.mceu-checkout-detected #ast-order-review-wrapper table.shop_table .product-total {
    width: 28% !important;
    padding-right: 16px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

body.woocommerce-checkout #ast-order-review-wrapper .ast-product-image,
.mceu-checkout-detected #ast-order-review-wrapper .ast-product-image {
    display: grid !important;
    grid-template-columns: 60px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
}

body.woocommerce-checkout #ast-order-review-wrapper .ast-product-thumbnail,
.mceu-checkout-detected #ast-order-review-wrapper .ast-product-thumbnail {
    width: 60px !important;
    min-width: 60px !important;
}

body.woocommerce-checkout #ast-order-review-wrapper .ast-product-thumbnail img,
.mceu-checkout-detected #ast-order-review-wrapper .ast-product-thumbnail img {
    display: block !important;
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border: 1px solid #dfe6ef !important;
    border-radius: 0 !important;
}

body.woocommerce-checkout #ast-order-review-wrapper .ast-product-name,
.mceu-checkout-detected #ast-order-review-wrapper .ast-product-name {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    color: #14213d !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
}

body.woocommerce-checkout #ast-order-review-wrapper tr.fee th,
body.woocommerce-checkout #ast-order-review-wrapper tr.order-total th,
.mceu-checkout-detected #ast-order-review-wrapper tr.fee th,
.mceu-checkout-detected #ast-order-review-wrapper tr.order-total th {
    background: #082a4f !important;
    color: #fff !important;
}

body.woocommerce-checkout #ast-order-review-wrapper tr.order-total td,
.mceu-checkout-detected #ast-order-review-wrapper tr.order-total td {
    border-top: 3px solid #f6c400 !important;
    color: #082a4f !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

/* Checkout inputs: corporate focus cue. */
body.woocommerce-checkout form.checkout input.input-text:focus,
body.woocommerce-checkout form.checkout textarea.input-text:focus,
body.woocommerce-checkout form.checkout .select2-container--focus .select2-selection--single,
.mceu-checkout-detected form.checkout input.input-text:focus,
.mceu-checkout-detected form.checkout textarea.input-text:focus {
    border-color: #123b75 !important;
    box-shadow: 0 0 0 2px rgba(246, 196, 0, .18) !important;
    outline: none !important;
}

/* Primary Place Order CTA: luminous yellow, square and centered. */
body.woocommerce-checkout #place_order,
.mceu-checkout-detected #place_order {
    width: 100% !important;
    min-height: 52px !important;
    padding: 0 20px !important;
    border: 1px solid #d6a900 !important;
    border-radius: 0 !important;
    background: #f6c400 !important;
    color: #071b38 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.woocommerce-checkout #place_order:hover,
.mceu-checkout-detected #place_order:hover {
    background: #ffd52d !important;
    color: #071b38 !important;
}

@media (max-width: 768px) {
    body.woocommerce-cart .woocommerce-message,
    .mceu-cart-page .woocommerce-message,
    .woocommerce .woocommerce-message {
        padding: 15px 16px 15px 46px !important;
        display: block !important;
    }

    body.woocommerce-cart .woocommerce-message .button,
    .mceu-cart-page .woocommerce-message .button {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        margin: 12px 0 0 !important;
    }

    body.woocommerce-checkout .ast-customer-info .ast-checkout-form-heading h3,
    .mceu-checkout-detected .ast-customer-info .ast-checkout-form-heading h3,
    body.woocommerce-checkout .ast-customer-info .mceu-login-prompt,
    .mceu-checkout-detected .ast-customer-info .mceu-login-prompt {
        white-space: normal !important;
    }

    body.woocommerce-checkout #ast-order-review-wrapper #order_review,
    .mceu-checkout-detected #ast-order-review-wrapper #order_review {
        padding: 14px !important;
    }
}
