.woocommerce-account main,
.woocommerce-cart main,
.woocommerce-checkout main,
.single-product main {
    background: var(--inbetween-canvas, #fcfafb);
}

.woocommerce-account .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.single-product .product {
    width: min(calc(100% - 2.5rem), var(--inbetween-wide, 75rem));
    margin-inline: auto;
}

.woocommerce-account.logged-in .woocommerce {
    display: grid;
    grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
    gap: 2rem;
}

.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
    display: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce div.product .summary,
.woocommerce div.product .woocommerce-tabs {
    box-sizing: border-box;
    padding: clamp(1rem, 3vw, 1.5rem);
    border: 1px solid var(--inbetween-border);
    border-radius: var(--inbetween-radius-xl);
    background: var(--inbetween-white);
    box-shadow: var(--inbetween-shadow-card);
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    float: none;
    width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: flex;
    min-height: 2.75rem;
    align-items: center;
    padding-inline: 0.875rem;
    border-radius: var(--inbetween-radius-md);
    color: var(--inbetween-muted);
    font-weight: 600;
    text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    background: var(--inbetween-soft);
    color: var(--inbetween-accent-dark);
}

.woocommerce-account #customer_login {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.woocommerce-account #customer_login > div {
    float: none;
    width: auto;
}

.woocommerce table.shop_table,
.woocommerce-checkout-review-order-table {
    overflow: hidden;
    border: 1px solid var(--inbetween-border);
    border-radius: var(--inbetween-radius-lg);
    background: var(--inbetween-white);
}

.woocommerce table.shop_table :is(th, td) {
    padding: 0.875rem;
    border-color: var(--inbetween-border);
}

.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.8fr);
    gap: 2rem;
}

.woocommerce-checkout :is(.col2-set, #order_review_heading, #order_review) {
    float: none;
    width: 100%;
}

.woocommerce-checkout :is(#order_review_heading, #order_review) {
    grid-column: 2;
}

.woocommerce-checkout #customer_details {
    grid-row: 1 / span 2;
}

.woocommerce div.product .woocommerce-product-gallery {
    display: none;
}

.woocommerce div.product .summary {
    float: none;
    width: 100%;
}

.single-product .product {
    display: grid;
    gap: clamp(1rem, 3vw, 2rem);
    padding-block: clamp(2rem, 6vw, 4.5rem);
}

.single-product .product::before {
    content: "五輪一對一文字諮詢";
    display: block;
    width: fit-content;
    padding: 0.5rem 0.875rem;
    border: 1px solid color-mix(in srgb, var(--inbetween-accent) 35%, transparent);
    border-radius: 999px;
    background: var(--inbetween-soft);
    color: var(--inbetween-accent-dark);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.woocommerce div.product .product_title {
    max-width: 16ch;
    margin-bottom: 0.75rem;
    font-family: "Noto Serif TC", serif;
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1.22;
}

.inbetween-commerce-gate {
    margin-block: 1.25rem;
    padding: 1rem 1.125rem;
    border-left: 0.25rem solid var(--inbetween-accent);
    border-radius: var(--inbetween-radius-lg);
}

.inbetween-commerce-gate p:last-child {
    margin-bottom: 0;
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    padding-block: clamp(2rem, 5vw, 4rem);
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #order_review {
    margin-top: 1rem;
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
    display: none;
}

.woocommerce-checkout #customer_details::before {
    content: "會員帳號";
    display: block;
    margin-bottom: 0.75rem;
    color: var(--inbetween-ink);
    font-family: "Noto Serif TC", serif;
    font-size: 1.5rem;
    font-weight: 600;
}

.woocommerce-checkout #billing_email[readonly] {
    cursor: not-allowed;
    background: var(--inbetween-soft);
    color: var(--inbetween-muted);
}

.woocommerce-checkout #payment,
.inbetween-order-received-note {
    border: 1px solid var(--inbetween-border);
    border-radius: var(--inbetween-radius-lg);
    background: var(--inbetween-white);
}

.inbetween-order-received-note {
    margin-block: 1.5rem;
    padding: clamp(1rem, 3vw, 1.5rem);
    box-shadow: var(--inbetween-shadow-card);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--inbetween-accent-dark);
    font-family: "Noto Serif TC", serif;
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    font-weight: 600;
}

@media (max-width: 767px) {
    .woocommerce-account.logged-in .woocommerce,
    .woocommerce-account #customer_login,
    .woocommerce-checkout form.checkout {
        display: block;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 1rem;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .woocommerce-account #customer_login > div + div,
    .woocommerce-checkout #order_review_heading {
        margin-top: 1.5rem;
    }

    .single-product .product {
        width: min(calc(100% - 1.5rem), var(--inbetween-wide, 75rem));
        padding-block: 1.5rem 2.5rem;
    }

    .woocommerce-cart .woocommerce,
    .woocommerce-checkout .woocommerce {
        width: min(calc(100% - 1.5rem), var(--inbetween-wide, 75rem));
    }
}

/* Figma 5:8 — Commerce R2 implementation. Engineering owner-map labels stay in Figma only. */
body.inbetween-commerce-r2-page {
    --inb-r2-canvas: #fcfafb;
    --inb-r2-surface: #fff;
    --inb-r2-subtle: #f7f2f4;
    --inb-r2-soft: #fff6f9;
    --inb-r2-brand: #d72865;
    --inb-r2-brand-dark: #a91f4d;
    --inb-r2-ink: #2d2529;
    --inb-r2-muted: #6f6268;
    --inb-r2-tertiary: #8b7d83;
    --inb-r2-border: #eadde3;
    --inb-r2-success: #19743b;
    --inb-r2-success-bg: #ecf8f0;
    --inb-r2-warning: #9a4d00;
    --inb-r2-warning-bg: #fff7e8;
    --inb-r2-error: #b42318;
    --inb-r2-error-bg: #fff0ef;
    background: var(--inb-r2-canvas);
    color: var(--inb-r2-ink);
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

body.inbetween-commerce-r2-page main,
body.inbetween-commerce-r2-page .site-main {
    background: var(--inb-r2-canvas) !important;
    width: 100%;
    flex: 1 0 auto;
}

body.inbetween-commerce-r2-page .inb-product-shell,
body.inbetween-commerce-r2-page .inb-commerce-shell {
    padding: 48px 0 64px !important;
    background: var(--inb-r2-canvas) !important;
}

body.inbetween-commerce-r2-page .elementor .inb-product-inner,
body.inbetween-commerce-r2-page .elementor .inb-commerce-shell__inner {
    box-sizing: border-box;
    display: flex !important;
    width: 100% !important;
    max-width: 1200px !important;
    flex-direction: column !important;
    gap: 32px !important;
    margin-inline: auto !important;
    padding: 0 !important;
}

body.inbetween-commerce-r2-product .product {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.inbetween-commerce-r2-product .product::before { display: none !important; content: none !important; }

body.inbetween-commerce-r2-page .inb-r2-title {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    text-align: left !important;
}

body.inbetween-commerce-r2-page .inb-r2-title > .elementor-element { width: 100% !important; }
body.inbetween-commerce-r2-page .inb-r2-title h1.elementor-heading-title {
    margin: 0 !important;
    color: var(--inb-r2-ink) !important;
    font: 600 36px/46px "Noto Serif TC", serif !important;
    letter-spacing: -.2px !important;
}

body.inbetween-commerce-r2-page .inb-r2-title .elementor-widget-text-editor,
body.inbetween-commerce-r2-page .inb-r2-title .elementor-widget-text-editor p {
    margin: 0 !important;
    color: var(--inb-r2-muted) !important;
    font: 400 16px/26px "Noto Sans TC", sans-serif !important;
}

.inb-r2-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    background: center / contain no-repeat;
}

.inb-r2-icon--info { background-image: url("icons/dashboard/info.svg"); }
.inb-r2-icon--receipt { background-image: url("icons/dashboard/receipt.svg"); }
.inb-r2-icon--arrow { background-image: url("icons/dashboard/arrow-right.svg"); }

.inb-r2-status {
    box-sizing: border-box;
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    font: 500 14px/22px "Noto Sans TC", sans-serif;
    white-space: nowrap;
}

.inb-r2-status .inb-r2-icon { width: 16px; height: 16px; flex-basis: 16px; }
.inb-r2-status--info { color: var(--inb-r2-brand-dark); background: var(--inb-r2-soft); }
.inb-r2-status--success { color: var(--inb-r2-success); background: var(--inb-r2-success-bg); }
.inb-r2-status--warning { color: var(--inb-r2-warning); background: var(--inb-r2-warning-bg); }
.inb-r2-status--error { color: var(--inb-r2-error); background: var(--inb-r2-error-bg); }
.inb-r2-status--neutral { color: var(--inb-r2-ink); background: var(--inb-r2-subtle); }

.inb-r2-alert {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    min-height: 118px;
    align-items: flex-start;
    gap: 16px;
    margin: 0 !important;
    padding: 20px !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: var(--inb-r2-ink) !important;
    box-shadow: none !important;
}

.inb-r2-alert > div { min-width: 0; }
.inb-r2-alert strong { display: block; margin: 0 0 4px; font: 500 14px/22px "Noto Sans TC", sans-serif; }
.inb-r2-alert p { margin: 0 !important; color: var(--inb-r2-ink) !important; font: 400 14px/22px "Noto Sans TC", sans-serif !important; }
.inb-r2-alert .button { width: auto !important; margin-top: 10px !important; }
.inb-r2-alert--info { background: var(--inb-r2-soft) !important; }
.inb-r2-alert--info strong { color: var(--inb-r2-brand-dark); }
.inb-r2-alert--success { background: var(--inb-r2-success-bg) !important; }
.inb-r2-alert--success strong { color: var(--inb-r2-success); }
.inb-r2-alert--warning { background: var(--inb-r2-warning-bg) !important; }
.inb-r2-alert--warning strong { color: var(--inb-r2-warning); }
.inb-r2-alert--error { background: var(--inb-r2-error-bg) !important; }
.inb-r2-alert--error strong { color: var(--inb-r2-error); }

.inb-r2-progress {
    box-sizing: border-box;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.inb-r2-progress__step {
    box-sizing: border-box;
    display: flex;
    height: 76px;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--inb-r2-border);
    border-radius: 12px;
    background: var(--inb-r2-surface);
}

.inb-r2-progress__step.is-current { border: 2px solid var(--inb-r2-brand); }
.inb-r2-progress__step > .inb-r2-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 999px;
    background-color: var(--inb-r2-subtle);
    background-size: 16px;
}
.inb-r2-progress__step.is-current > .inb-r2-icon { background-color: var(--inb-r2-soft); }
.inb-r2-progress__step.is-complete > .inb-r2-icon { background-color: var(--inb-r2-success-bg); }
.inb-r2-progress__step span:last-child { display: flex; min-width: 0; flex-direction: column; }
.inb-r2-progress__step strong { color: var(--inb-r2-ink); font: 500 14px/22px "Noto Sans TC", sans-serif; }
.inb-r2-progress__step small { color: var(--inb-r2-muted); font: 400 12px/18px "Noto Sans TC", sans-serif; }
.inb-r2-progress__step.is-current small { color: var(--inb-r2-brand-dark); }
.inb-r2-progress__step.is-complete small { color: var(--inb-r2-success); }

/* Single product */
body.inbetween-commerce-r2-product .inb-product-shell { background: var(--inb-r2-canvas) !important; }
body.inbetween-commerce-r2-product .inb-r2-product-hero {
    box-sizing: border-box;
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 700px) minmax(0, 404px) !important;
    align-items: start !important;
    gap: 32px !important;
    padding: 32px !important;
    border: 1px solid var(--inb-r2-brand) !important;
    border-radius: 16px !important;
    background: var(--inb-r2-soft) !important;
}

body.inbetween-commerce-r2-product .inb-r2-product-copy,
body.inbetween-commerce-r2-product .inb-r2-product-summary {
    display: flex !important;
    min-width: 0;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
}

body.inbetween-commerce-r2-product .inb-r2-product-summary {
    box-sizing: border-box;
    padding: 24px !important;
    border: 1px solid var(--inb-r2-border) !important;
    border-radius: 16px !important;
    background: var(--inb-r2-surface) !important;
}

body.inbetween-commerce-r2-product .inb-r2-product-identity .elementor-heading-title {
    display: inline-flex;
    width: 180px;
    max-width: 100%;
    min-width: 180px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0;
    padding: 7px 16px;
    border-radius: 999px;
    background: var(--inb-r2-success-bg);
    color: var(--inb-r2-success) !important;
    font: 500 14px/22px "Noto Sans TC", sans-serif !important;
}

body.inbetween-commerce-r2-product .inb-r2-product-identity .elementor-widget-container {
    display: flex;
    justify-content: flex-start;
    position: relative;
}
body.inbetween-commerce-r2-product .inb-r2-product-identity .elementor-widget-container::before {
    display: none;
    content: none;
}

body.inbetween-commerce-r2-product .inb-r2-product-heading .elementor-heading-title {
    margin: 0 !important;
    color: var(--inb-r2-ink) !important;
    font: 600 36px/46px "Noto Serif TC", serif !important;
    letter-spacing: -.2px !important;
}

body.inbetween-commerce-r2-product .inb-r2-product-lead,
body.inbetween-commerce-r2-product .inb-r2-product-lead p {
    margin: 0 !important;
    color: var(--inb-r2-muted) !important;
    font: 400 16px/26px "Noto Sans TC", sans-serif !important;
}

body.inbetween-commerce-r2-product .inb-r2-product-facts,
body.inbetween-commerce-r2-product .inb-r2-product-facts p {
    margin: 0 !important;
    color: var(--inb-r2-ink) !important;
    font: 400 14px/24px "Noto Sans TC", sans-serif !important;
}

body.inbetween-commerce-r2-product .inb-r2-summary-label .elementor-heading-title {
    display: inline-flex;
    min-width: 104px;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--inb-r2-success-bg);
    color: var(--inb-r2-success) !important;
    font: 500 14px/22px "Noto Sans TC", sans-serif !important;
}

body.inbetween-commerce-r2-product .inb-r2-summary-title .elementor-heading-title {
    margin: 0 !important;
    color: var(--inb-r2-ink) !important;
    font: 700 22px/30px "Noto Sans TC", sans-serif !important;
}

body.inbetween-commerce-r2-product .inb-r2-product-price .price {
    display: block;
    margin: 0 !important;
    color: var(--inb-r2-ink) !important;
    font: 600 28px/38px "Noto Serif TC", serif !important;
}

body.inbetween-commerce-r2-product .inb-r2-summary-copy,
body.inbetween-commerce-r2-product .inb-r2-summary-copy p,
body.inbetween-commerce-r2-product .inb-r2-caption,
body.inbetween-commerce-r2-product .inb-r2-caption p { margin: 0 !important; }
body.inbetween-commerce-r2-product .inb-r2-summary-copy { color: var(--inb-r2-muted); font: 400 14px/22px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-product .inb-r2-caption { color: var(--inb-r2-tertiary); font: 400 12px/18px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-product .inb-r2-product-add,
body.inbetween-commerce-r2-product .inb-r2-product-add .cart { width: 100% !important; margin: 0 !important; }
body.inbetween-commerce-r2-product .inb-r2-product-gate,
body.inbetween-commerce-r2-product .inb-r2-product-gate > .elementor-widget-container,
body.inbetween-commerce-r2-product .inbetween-commerce-gate {
    box-sizing: border-box;
    width: 100% !important;
}
body.inbetween-commerce-r2-product .inb-r2-product-add .cart { display: flex !important; }
body.inbetween-commerce-r2-product .inb-r2-product-add .quantity { display: none !important; }
body.inbetween-commerce-r2-product .inb-r2-product-add .single_add_to_cart_button {
    width: 196px !important;
    margin: 0 !important;
}

body.inbetween-commerce-r2-product .woocommerce-notices-wrapper,
body.inbetween-commerce-r2-product .woocommerce-error,
body.inbetween-commerce-r2-product .woocommerce-info,
body.inbetween-commerce-r2-product .woocommerce-message {
    box-sizing: border-box;
    width: min(calc(100% - 48px), 1200px);
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}

body.inbetween-commerce-r2-product .woocommerce-notices-wrapper:empty {
    display: none;
}

body.inbetween-commerce-r2-product .woocommerce-notices-wrapper > :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 48px !important;
}

body.inbetween-commerce-r2-product .woocommerce-notices-wrapper > :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before {
    position: static !important;
    margin-right: 10px;
    transform: none !important;
}

@media (max-width: 600px) {
    body.inbetween-commerce-r2-product .woocommerce-notices-wrapper,
    body.inbetween-commerce-r2-product .woocommerce-error,
    body.inbetween-commerce-r2-product .woocommerce-info,
    body.inbetween-commerce-r2-product .woocommerce-message {
        width: calc(100% - 32px);
    }

    body.inbetween-commerce-r2-product .woocommerce-notices-wrapper > :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
        padding: 12px 18px !important;
    }
}
body.inbetween-commerce-r2-product .inb-r2-product-add .single_add_to_cart_button::before,
body.inbetween-commerce-r2-page .wc-proceed-to-checkout .checkout-button::before,
body.inbetween-commerce-r2-checkout #place_order::before {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    background: center / contain no-repeat url("icons/dashboard/arrow-right.svg");
    filter: brightness(0) invert(1);
    content: "";
    vertical-align: middle;
}

/* Cart */
body.inbetween-commerce-r2-cart .inb-r2-woo,
body.inbetween-commerce-r2-cart .inb-r2-woo > .elementor-widget-container,
body.inbetween-commerce-r2-cart .inb-r2-woo .elementor-shortcode,
body.inbetween-commerce-r2-cart .inb-r2-woo .woocommerce { width: 100% !important; max-width: none !important; }
body.inbetween-commerce-r2-cart .inb-r2-woo .woocommerce {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 760px) minmax(0, 408px);
    align-items: start;
    gap: 32px;
    margin: 0 !important;
    padding: 0 !important;
}

body.inbetween-commerce-r2-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.inbetween-commerce-r2-cart .woocommerce-cart-form,
body.inbetween-commerce-r2-cart .cart-collaterals .cart_totals {
    box-sizing: border-box;
    width: 100% !important;
    padding: 24px !important;
    border: 1px solid var(--inb-r2-border) !important;
    border-radius: 16px !important;
    background: var(--inb-r2-surface) !important;
    box-shadow: none !important;
}
body.inbetween-commerce-r2-cart .cart-collaterals { width: 100% !important; margin: 0 !important; }
body.inbetween-commerce-r2-cart table.shop_table { margin: 0 !important; border: 0 !important; border-radius: 0 !important; }
body.inbetween-commerce-r2-cart table.shop_table thead { display: none; }
body.inbetween-commerce-r2-cart table.shop_table tbody,
body.inbetween-commerce-r2-cart table.shop_table tr.cart_item { display: grid; width: 100%; }
body.inbetween-commerce-r2-cart table.shop_table tr.cart_item {
    grid-template-columns: 120px 120px minmax(120px, 1fr) 120px;
    gap: 0 16px;
}
body.inbetween-commerce-r2-cart table.shop_table td {
    padding: 12px 0 !important;
    border: 0 !important;
    background: transparent !important;
}
body.inbetween-commerce-r2-cart td.product-thumbnail { display: none !important; }
body.inbetween-commerce-r2-cart td.product-name {
    grid-column: 1 / -1;
    color: var(--inb-r2-ink);
    font: 700 22px/30px "Noto Sans TC", sans-serif;
}
body.inbetween-commerce-r2-cart td.product-price,
body.inbetween-commerce-r2-cart td.product-quantity,
body.inbetween-commerce-r2-cart td.product-subtotal {
    margin-top: 4px;
    padding: 16px !important;
    background: var(--inb-r2-soft) !important;
    color: var(--inb-r2-ink);
    font: 400 16px/26px "Noto Sans TC", sans-serif;
}
body.inbetween-commerce-r2-cart td.product-price { grid-column: 1 / 2; border-radius: 12px 0 0 12px !important; }
body.inbetween-commerce-r2-cart td.product-quantity { grid-column: 2 / 4; }
body.inbetween-commerce-r2-cart td.product-subtotal { grid-column: 4 / 5; border-radius: 0 12px 12px 0 !important; text-align: right; }
body.inbetween-commerce-r2-cart td.product-remove { grid-column: 1 / -1; grid-row: 3; text-align: left; }
body.inbetween-commerce-r2-cart td.product-remove a.remove {
    display: inline-flex !important;
    width: auto !important;
    height: 44px !important;
    align-items: center;
    gap: 8px;
    color: var(--inb-r2-brand-dark) !important;
    font-size: 0 !important;
}
body.inbetween-commerce-r2-cart td.product-remove a.remove::after { content: "移除"; font: 500 14px/22px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-cart td.product-remove a.remove:hover { background: transparent !important; }
body.inbetween-commerce-r2-cart td.product-quantity .quantity { display: none !important; }
body.inbetween-commerce-r2-cart td.product-quantity::after { content: "數量 1"; }
body.inbetween-commerce-r2-cart tr:not(.cart_item) td.actions { display: none !important; }
body.inbetween-commerce-r2-cart .cart_totals h2 { margin: 0 0 12px !important; font: 700 22px/30px "Noto Sans TC", sans-serif !important; }
body.inbetween-commerce-r2-cart .cart_totals table { margin: 0 !important; border: 0 !important; }
body.inbetween-commerce-r2-cart .cart_totals table :is(th,td) { padding: 6px 0 !important; border: 0 !important; font: 400 14px/22px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-cart .cart_totals table th { color: var(--inb-r2-muted); }
body.inbetween-commerce-r2-cart .cart_totals .order-total :is(th,td) { color: var(--inb-r2-ink); font: 700 22px/30px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-cart .inb-r2-cart-gate { margin: 12px 0 !important; }
body.inbetween-commerce-r2-cart .wc-proceed-to-checkout { padding: 0 !important; }
body.inbetween-commerce-r2-cart .wc-proceed-to-checkout .checkout-button { width: 100% !important; margin: 0 !important; font: 500 14px/22px "Noto Sans TC", sans-serif !important; }
body.inbetween-commerce-r2-cart .cart-empty.woocommerce-info {
    box-sizing: border-box;
    display: block;
    min-height: 118px;
    margin: 0 !important;
    padding: 28px 24px 20px 72px !important;
    border: 1px solid var(--inb-r2-brand) !important;
    border-radius: 12px !important;
    background: var(--inb-r2-soft) !important;
    color: var(--inb-r2-brand-dark) !important;
}
body.inbetween-commerce-r2-cart .return-to-shop { margin: 12px 0 0 !important; }

/* Checkout */
body.inbetween-commerce-r2-checkout .inb-r2-woo,
body.inbetween-commerce-r2-checkout .inb-r2-woo > .elementor-widget-container,
body.inbetween-commerce-r2-checkout .inb-r2-woo .woocommerce { width: 100% !important; max-width: none !important; }
body.inbetween-commerce-r2-checkout .inb-r2-woo .woocommerce { margin: 0 !important; padding: 0 !important; }
body.inbetween-commerce-r2-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 688px) minmax(0, 480px) !important;
    align-items: start;
    gap: 32px !important;
}
body.inbetween-commerce-r2-checkout #customer_details,
body.inbetween-commerce-r2-checkout #order_review {
    box-sizing: border-box;
    width: 100% !important;
    padding: 24px !important;
    border: 1px solid var(--inb-r2-border) !important;
    border-radius: 16px !important;
    background: var(--inb-r2-surface) !important;
    box-shadow: none !important;
}
body.inbetween-commerce-r2-checkout #customer_details .col2-set,
body.inbetween-commerce-r2-checkout #customer_details .col-1 {
    float: none !important;
    width: 100% !important;
}
body.inbetween-commerce-r2-checkout #customer_details .col-2 { display: none !important; }
body.inbetween-commerce-r2-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
body.inbetween-commerce-r2-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 !important; font: 700 22px/30px "Noto Sans TC", sans-serif !important; }
body.inbetween-commerce-r2-checkout #order_review { grid-column: 2; grid-row: 1; margin: 52px 0 0 !important; }
body.inbetween-commerce-r2-checkout #customer_details::before { content: "帳號與付款方式"; margin: 0 0 16px; font: 700 22px/30px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-checkout .woocommerce-billing-fields > h3 { display: none !important; }
body.inbetween-commerce-r2-checkout .form-row { margin: 0 0 16px !important; }
body.inbetween-commerce-r2-checkout .form-row label { color: var(--inb-r2-tertiary); font: 500 14px/22px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-checkout #billing_email[readonly] {
    height: 44px;
    border-color: var(--inb-r2-border) !important;
    background: #f0e7eb !important;
    color: var(--inb-r2-tertiary) !important;
}
body.inbetween-commerce-r2-checkout .inb-r2-checkout-context { display: flex; flex-direction: column; gap: 16px; }
body.inbetween-commerce-r2-checkout .inb-r2-status-row { display: flex; gap: 12px; }
body.inbetween-commerce-r2-checkout .inb-r2-bacs-card {
    box-sizing: border-box;
    padding: 16px;
    border: 1px solid var(--inb-r2-brand);
    border-radius: 12px;
    background: var(--inb-r2-soft);
}
body.inbetween-commerce-r2-checkout .inb-r2-bacs-card h3 { margin: 12px 0 4px !important; font: 700 22px/30px "Noto Sans TC", sans-serif !important; }
body.inbetween-commerce-r2-checkout .inb-r2-bacs-card p { margin: 0 !important; color: var(--inb-r2-muted); font: 400 14px/22px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-checkout .inb-r2-bacs-card .inb-r2-bank-instructions { margin-top: 16px !important; color: var(--inb-r2-brand); }
body.inbetween-commerce-r2-checkout .inb-r2-bank-accounts { display: grid; gap: 10px; margin: 16px 0 0; padding-top: 16px; border-top: 1px solid var(--inb-r2-border); }
body.inbetween-commerce-r2-checkout .inb-r2-bank-accounts > div { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
body.inbetween-commerce-r2-checkout .inb-r2-bank-accounts dt { color: var(--inb-r2-muted); font-weight: 400; }
body.inbetween-commerce-r2-checkout .inb-r2-bank-accounts dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
body.inbetween-commerce-r2-checkout #order_review table { margin: 0 0 16px !important; border: 0 !important; }
body.inbetween-commerce-r2-checkout #order_review table :is(th,td) { padding: 8px 0 !important; border-color: var(--inb-r2-border) !important; }
body.inbetween-commerce-r2-checkout #payment { padding: 0 !important; border: 0 !important; background: transparent !important; }
body.inbetween-commerce-r2-checkout #payment ul.payment_methods { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.inbetween-commerce-r2-checkout #payment ul.payment_methods li > :is(input,label) { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden; clip: rect(0 0 0 0); }
body.inbetween-commerce-r2-checkout #payment .payment_box { display: none !important; }
body.inbetween-commerce-r2-checkout #payment .place-order { margin: 0 !important; padding: 0 !important; }
body.inbetween-commerce-r2-checkout #payment .woocommerce-privacy-policy-text { margin-bottom: 12px; color: var(--inb-r2-tertiary); font: 400 12px/18px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-checkout #place_order { width: 100% !important; margin: 0 !important; font: 500 14px/22px "Noto Sans TC", sans-serif !important; }

/* Order received */
body.inbetween-commerce-r2-order-received .inb-r2-checkout-title,
body.inbetween-commerce-r2-order-received .inb-r2-checkout-progress { display: none !important; }
body.inbetween-commerce-r2-order-received .woocommerce-order {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
body.inbetween-commerce-r2-order-received .inb-r2-received-header,
body.inbetween-commerce-r2-order-received .inb-r2-progress,
body.inbetween-commerce-r2-order-received .woocommerce-order-overview,
body.inbetween-commerce-r2-order-received .inb-r2-lifecycle { grid-column: 1 / -1; }
body.inbetween-commerce-r2-order-received .inb-r2-received-header { display: flex; flex-direction: column; gap: 8px; }
body.inbetween-commerce-r2-order-received .inb-r2-received-header :is(p,h1) { width: 100%; margin: 0 !important; }
body.inbetween-commerce-r2-order-received .inb-r2-received-header .inb-r2-eyebrow { color: var(--inb-r2-brand-dark); font: 500 14px/22px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-order-received .inb-r2-received-header h1 { color: var(--inb-r2-ink); font: 600 36px/46px "Noto Serif TC", serif; letter-spacing: -.2px; }
body.inbetween-commerce-r2-order-received .inb-r2-received-header > p:last-child { color: var(--inb-r2-muted); font: 400 16px/26px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-order-received .woocommerce-thankyou-order-received:empty { display: none; }
body.inbetween-commerce-r2-order-received .woocommerce-order-overview {
    box-sizing: border-box;
    display: grid;
    width: 100%;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid var(--inb-r2-border);
    border-radius: 16px;
    background: var(--inb-r2-surface);
}
body.inbetween-commerce-r2-order-received .woocommerce-order-overview::before {
    grid-column: 1 / -1;
    color: var(--inb-r2-ink);
    content: "訂單摘要";
    font: 700 22px/30px "Noto Sans TC", sans-serif;
}
body.inbetween-commerce-r2-order-received .woocommerce-order-overview li {
    min-width: 0;
    margin: 0 !important;
    padding: 12px !important;
    border: 0 !important;
    border-radius: 8px;
    background: var(--inb-r2-subtle);
    color: var(--inb-r2-muted);
    font: 500 12px/18px "Noto Sans TC", sans-serif;
}
body.inbetween-commerce-r2-order-received .woocommerce-order-overview li strong { display: block; margin-top: 4px; color: var(--inb-r2-ink); font: 400 14px/22px "Noto Sans TC", sans-serif; overflow-wrap: anywhere; }
body.inbetween-commerce-r2-order-received section.woocommerce-bacs-bank-details,
body.inbetween-commerce-r2-order-received .wc-bacs-bank-details {
    box-sizing: border-box;
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid var(--inb-r2-brand);
    border-radius: 16px;
    background: var(--inb-r2-soft);
}
body.inbetween-commerce-r2-order-received section.woocommerce-bacs-bank-details { grid-column: 1; }
body.inbetween-commerce-r2-order-received .inbetween-order-received-note { grid-column: 2; }
body.inbetween-commerce-r2-order-received :is(.wc-bacs-bank-details-heading,.wc-bacs-bank-details-account-name) { margin: 0 0 8px !important; color: var(--inb-r2-ink); font: 700 22px/30px "Noto Sans TC", sans-serif !important; }
body.inbetween-commerce-r2-order-received ul.wc-bacs-bank-details { padding: 16px !important; border: 1px solid var(--inb-r2-border); border-radius: 12px; background: var(--inb-r2-surface); }
body.inbetween-commerce-r2-order-received .inbetween-order-received-note {
    box-sizing: border-box;
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid var(--inb-r2-border);
    border-radius: 16px;
    background: var(--inb-r2-surface);
    box-shadow: none;
}
body.inbetween-commerce-r2-order-received .inbetween-order-received-note h2 { margin: 12px 0 4px !important; font: 700 22px/30px "Noto Sans TC", sans-serif !important; }
body.inbetween-commerce-r2-order-received .inbetween-order-received-note p { margin: 0 0 16px !important; color: var(--inb-r2-muted); font: 400 14px/22px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-order-received .inb-r2-lifecycle {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--inb-r2-border);
    border-radius: 16px;
    background: var(--inb-r2-subtle);
}
body.inbetween-commerce-r2-order-received .inb-r2-lifecycle > div { padding: 16px; border: 1px solid var(--inb-r2-border); border-radius: 12px; background: var(--inb-r2-surface); }
body.inbetween-commerce-r2-order-received .inb-r2-lifecycle p { margin: 8px 0 0 !important; color: var(--inb-r2-muted); font: 400 14px/22px "Noto Sans TC", sans-serif; }
body.inbetween-commerce-r2-order-received :is(.woocommerce-order-details,.woocommerce-customer-details) { display: none !important; }

@media (max-width: 767px) {
    body.inbetween-commerce-r2-page .inb-product-shell,
    body.inbetween-commerce-r2-page .inb-commerce-shell { padding: 16px 0 32px !important; }
    body.inbetween-commerce-r2-page .elementor .inb-product-inner,
    body.inbetween-commerce-r2-page .elementor .inb-commerce-shell__inner {
        width: calc(100% - 32px) !important;
        max-width: 358px !important;
        gap: 16px !important;
    }
    body.inbetween-commerce-r2-page .inb-r2-title { gap: 4px !important; }
    body.inbetween-commerce-r2-page .inb-r2-title h1.elementor-heading-title { font-size: 28px !important; line-height: 38px !important; }
    body.inbetween-commerce-r2-page .inb-r2-title .elementor-widget-text-editor,
    body.inbetween-commerce-r2-page .inb-r2-title .elementor-widget-text-editor p { font-size: 14px !important; line-height: 22px !important; }
    .inb-r2-progress {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .inb-r2-progress__step { width: 100%; height: 76px; gap: 4px; padding: 8px 6px; }
    .inb-r2-progress__step > .inb-r2-icon { width: 32px; height: 32px; flex-basis: 32px; }
    .inb-r2-progress__step strong { font-size: 14px; }
    .inb-r2-progress__step small { max-width: 48px; }
    .inb-r2-alert { min-height: 0; gap: 12px; padding: 16px !important; }

    body.inbetween-commerce-r2-product .inb-r2-product-hero {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        padding: 24px !important;
    }
    body.inbetween-commerce-r2-product .inb-r2-product-copy,
    body.inbetween-commerce-r2-product .inb-r2-product-summary { width: 100% !important; gap: 12px !important; }
    body.inbetween-commerce-r2-product .inb-r2-product-summary { padding: 0 !important; border: 0 !important; background: transparent !important; }
    body.inbetween-commerce-r2-product .inb-r2-product-heading .elementor-heading-title { font-size: 28px !important; line-height: 38px !important; }
    body.inbetween-commerce-r2-product .inb-r2-product-lead,
    body.inbetween-commerce-r2-product .inb-r2-product-lead p { font-size: 14px !important; line-height: 22px !important; }
    body.inbetween-commerce-r2-product .inb-r2-product-facts,
    body.inbetween-commerce-r2-product .inb-r2-summary-label,
    body.inbetween-commerce-r2-product .inb-r2-summary-title,
    body.inbetween-commerce-r2-product .inb-r2-product-price { display: none !important; }
    body.inbetween-commerce-r2-product .inb-r2-product-add .single_add_to_cart_button { width: 100% !important; }

    body.inbetween-commerce-r2-cart .inb-r2-woo .woocommerce { display: block !important; }
    body.inbetween-commerce-r2-cart .woocommerce-notices-wrapper,
    body.inbetween-commerce-r2-cart .woocommerce-cart-form,
    body.inbetween-commerce-r2-cart .cart-collaterals,
    body.inbetween-commerce-r2-cart .cart-collaterals .cart_totals { width: 100% !important; }
    body.inbetween-commerce-r2-cart .woocommerce-message {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px;
        border: 1px solid var(--inb-r2-success) !important;
        background: var(--inb-r2-success-bg) !important;
    }
    body.inbetween-commerce-r2-cart .woocommerce-message .button {
        float: none !important;
        width: 100% !important;
        order: 2;
    }
    body.inbetween-commerce-r2-cart .woocommerce-cart-form,
    body.inbetween-commerce-r2-cart .cart-collaterals .cart_totals { padding: 16px !important; }
    body.inbetween-commerce-r2-cart .cart-collaterals { margin-top: 12px !important; }
    body.inbetween-commerce-r2-cart table.shop_table tr.cart_item { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.inbetween-commerce-r2-cart td.product-name { grid-column: 1 / -1; }
    body.inbetween-commerce-r2-cart td.product-name,
    body.inbetween-commerce-r2-cart td.product-name a { display: block; text-align: left !important; }
    body.inbetween-commerce-r2-cart td.product-price,
    body.inbetween-commerce-r2-cart td.product-subtotal {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
    }
    body.inbetween-commerce-r2-cart td.product-price { grid-column: 1; border-radius: 12px 0 0 12px !important; }
    body.inbetween-commerce-r2-cart td.product-quantity { display: none !important; }
    body.inbetween-commerce-r2-cart td.product-subtotal { grid-column: 2; border-radius: 0 12px 12px 0 !important; text-align: right; }
    body.inbetween-commerce-r2-cart td.product-remove { grid-column: 1 / -1; }
    body.inbetween-commerce-r2-cart table.shop_table_responsive tr td::before { display: none !important; }
    body.inbetween-commerce-r2-cart table.shop_table_responsive tr td.product-price::before {
        display: inline !important;
        content: "單價";
    }
    body.inbetween-commerce-r2-cart table.shop_table_responsive tr td.product-subtotal::before {
        display: inline !important;
        content: "小計";
    }
    body.inbetween-commerce-r2-cart .cart_totals table.shop_table_responsive tr {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
    body.inbetween-commerce-r2-cart .cart_totals table.shop_table_responsive tr th,
    body.inbetween-commerce-r2-cart .cart_totals table.shop_table_responsive tr td {
        display: block !important;
        width: 100% !important;
    }
    body.inbetween-commerce-r2-cart .cart_totals table.shop_table_responsive tr th { text-align: left !important; }
    body.inbetween-commerce-r2-cart .cart_totals table.shop_table_responsive tr td { text-align: right !important; }

    body.inbetween-commerce-r2-checkout form.checkout { display: block !important; }
    body.inbetween-commerce-r2-checkout #customer_details,
    body.inbetween-commerce-r2-checkout #order_review { padding: 16px !important; }
    body.inbetween-commerce-r2-checkout #order_review_heading { margin-top: 8px !important; padding: 0 16px; }
    body.inbetween-commerce-r2-checkout #order_review { margin-top: 8px !important; }
    body.inbetween-commerce-r2-checkout .inb-r2-status-row { width: 100%; flex-direction: row; gap: 8px; }
    body.inbetween-commerce-r2-checkout .inb-r2-status-row .inb-r2-status { width: calc(50% - 4px); }
    body.inbetween-commerce-r2-checkout .inb-r2-checkout-context > .inb-r2-alert { display: none; }
    body.inbetween-commerce-r2-checkout .inb-r2-bacs-card { padding: 12px; }
    body.inbetween-commerce-r2-checkout .inb-r2-bacs-card h3 { display: none; }

    body.inbetween-commerce-r2-order-received .inb-r2-received-header { gap: 4px; }
    body.inbetween-commerce-r2-order-received .woocommerce-order {
        display: flex;
        min-width: 0;
        flex-direction: column;
    }
    body.inbetween-commerce-r2-order-received .woocommerce-order > * {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
    }
    body.inbetween-commerce-r2-order-received .inb-r2-received-header .inb-r2-eyebrow { font-size: 12px; line-height: 18px; }
    body.inbetween-commerce-r2-order-received .inb-r2-received-header h1 { font-size: 28px; line-height: 38px; }
    body.inbetween-commerce-r2-order-received .inb-r2-received-header > p:last-child { font-size: 14px; line-height: 22px; }
    body.inbetween-commerce-r2-order-received .woocommerce-order-overview { display: flex; flex-direction: column; gap: 0; padding: 12px !important; }
    body.inbetween-commerce-r2-order-received .woocommerce-order-overview::before { margin-bottom: 8px; }
    body.inbetween-commerce-r2-order-received .woocommerce-order-overview li { display: grid; grid-template-columns: 72px minmax(0, 1fr); padding: 3px 0 !important; background: transparent; }
    body.inbetween-commerce-r2-order-received .woocommerce-order-overview li strong { margin: 0; }
    body.inbetween-commerce-r2-order-received .wc-bacs-bank-details,
    body.inbetween-commerce-r2-order-received .inbetween-order-received-note { padding: 12px !important; border-radius: 12px; }
    body.inbetween-commerce-r2-order-received .inbetween-order-received-note h2 { font-size: 14px !important; line-height: 22px !important; }
    body.inbetween-commerce-r2-order-received .inb-r2-lifecycle { display: grid; width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px; }
    body.inbetween-commerce-r2-order-received .inb-r2-lifecycle > div {
        display: flex;
        width: 100%;
        flex-direction: column;
        padding: 0;
        border: 0;
        background: transparent;
    }
    body.inbetween-commerce-r2-order-received .inb-r2-lifecycle > div p { display: none; }
    body.inbetween-commerce-r2-order-received .inb-r2-lifecycle .inb-r2-status { width: 100%; padding-inline: 4px; font-size: 12px; }
    body.inbetween-commerce-r2-order-received .inb-r2-lifecycle::after {
        grid-column: 1 / -1;
        color: var(--inb-r2-muted);
        content: "確認付款後建立案件與第 1 輪；完成五輪後停止重複購買。";
        font: 400 12px/18px "Noto Sans TC", sans-serif;
    }
    body.inbetween-commerce-r2-order-received .inbetween-order-received-note .button { width: 100% !important; }
}
