/**
 * PaneoVR cart and checkout presentation.
 *
 * This file is enqueued only on WooCommerce cart/checkout routes. Selectors
 * remain body-scoped so neither shop archives nor third-party account screens
 * inherit the layout. Payment widgets and their iframes are intentionally left
 * structurally untouched; only their WooCommerce-owned outer containers are
 * presented as cards.
 */

body.woocommerce-cart,
body.woocommerce-checkout {
    --paneovr-commerce-ink: #17213d;
    --paneovr-commerce-muted: #64708b;
    --paneovr-commerce-line: #dce1ee;
    --paneovr-commerce-line-strong: #bac4db;
    --paneovr-commerce-surface: #ffffff;
    --paneovr-commerce-surface-soft: #f5f7fc;
    --paneovr-commerce-blue: #3159e8;
    --paneovr-commerce-blue-deep: #243fb4;
    --paneovr-commerce-violet: #7457f5;
    --paneovr-commerce-brand-blue: #204a73;
    --paneovr-commerce-brand-navy: #0b233a;
    --paneovr-commerce-danger: #b42318;
    --paneovr-commerce-success: #147a55;
    --paneovr-commerce-radius: 16px;
    --paneovr-commerce-radius-small: 11px;
    --paneovr-commerce-shadow: 0 16px 45px rgba(31, 43, 92, 0.09);
}

/* Flash defaults #primary to 65.5%, even on WooCommerce utility pages. */
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary {
    float: none;
    width: 100%;
    min-width: 0;
}

body.woocommerce-cart #secondary,
body.woocommerce-checkout #secondary {
    display: none;
}

body.woocommerce-cart .breadcrumb-trail,
body.woocommerce-checkout .breadcrumb-trail {
    margin-block-end: 0;
}

body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content {
    padding-block: clamp(12px, 1.4vw, 20px) clamp(28px, 4vw, 64px);
    background:
        radial-gradient(circle at 95% 0%, rgba(116, 87, 245, 0.08), transparent 32%),
        #f8f9fc;
}

body.woocommerce-cart .site-content > .tg-container,
body.woocommerce-checkout .site-content > .tg-container {
    width: calc(100% - clamp(24px, 5vw, 64px));
    max-width: 1380px;
}

body.woocommerce-cart #primary,
body.woocommerce-cart #main,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout #main,
body.woocommerce-checkout .entry-content {
    min-inline-size: 0;
}

body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
    color: var(--paneovr-commerce-ink);
}

body.woocommerce-cart :where(.entry-title, .wp-block-post-title),
body.woocommerce-checkout :where(.entry-title, .wp-block-post-title) {
    margin-block: 0 clamp(22px, 4vw, 42px);
    color: var(--paneovr-commerce-ink);
    font-size: clamp(30px, 4.2vw, 48px);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.08;
}

body.woocommerce-cart :where(.woocommerce, .wc-block-cart),
body.woocommerce-checkout :where(.woocommerce, .wc-block-checkout) {
    min-inline-size: 0;
}

body.woocommerce-cart :where(.woocommerce-Price-amount, .wc-block-components-product-price__value),
body.woocommerce-checkout :where(.woocommerce-Price-amount, .wc-block-components-product-price__value) {
    color: var(--paneovr-commerce-blue-deep);
    font-weight: 750;
}

body.woocommerce-cart :where(a, button, input, select, textarea):focus-visible,
body.woocommerce-checkout :where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(49, 89, 232, 0.34);
    outline-offset: 3px;
}

/* Notices remain visible, including PPOM or other integration diagnostics. */
body.woocommerce-cart :where(.woocommerce-error, .woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner),
body.woocommerce-checkout :where(.woocommerce-error, .woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner) {
    min-inline-size: 0;
    margin-block: 0 18px;
    padding: 15px 18px;
    border: 1px solid var(--paneovr-commerce-line);
    border-inline-start-width: 4px;
    border-radius: var(--paneovr-commerce-radius-small);
    background: var(--paneovr-commerce-surface);
    box-shadow: 0 7px 22px rgba(31, 43, 92, 0.06);
    color: var(--paneovr-commerce-ink);
    line-height: 1.5;
}

body.woocommerce-cart :where(.woocommerce-message, .wc-block-components-notice-banner.is-success),
body.woocommerce-checkout :where(.woocommerce-message, .wc-block-components-notice-banner.is-success) {
    border-inline-start-color: var(--paneovr-commerce-success);
}

body.woocommerce-cart :where(.woocommerce-error, .wc-block-components-notice-banner.is-error),
body.woocommerce-checkout :where(.woocommerce-error, .wc-block-components-notice-banner.is-error) {
    border-inline-start-color: var(--paneovr-commerce-danger);
}

body.woocommerce-cart :where(.woocommerce-info, .wc-block-components-notice-banner.is-info),
body.woocommerce-checkout :where(.woocommerce-info, .wc-block-components-notice-banner.is-info) {
    border-inline-start-color: var(--paneovr-commerce-blue);
}

body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty),
body.woocommerce-checkout .woocommerce-notices-wrapper:not(:empty) {
    margin-block-end: 22px;
}

/* Calm audience guidance: context for professional buyers, not a warning. */
body.woocommerce-cart .paneovr-commerce-audience-hint,
body.woocommerce-checkout .paneovr-commerce-audience-hint {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0 0 16px;
    padding: 10px 12px;
    border: 1px solid rgba(32, 74, 115, 0.1);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--paneovr-commerce-muted);
    font-size: 13px;
    line-height: 1.5;
}

body.woocommerce-cart .paneovr-commerce-audience-hint p,
body.woocommerce-checkout .paneovr-commerce-audience-hint p {
    margin: 0;
}

body.woocommerce-cart .paneovr-commerce-audience-hint__marker,
body.woocommerce-checkout .paneovr-commerce-audience-hint__marker {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-block-start: 0.5em;
    border-radius: 50%;
    background: var(--paneovr-commerce-brand-blue);
    opacity: 0.68;
}

/* WooCommerce Blocks: one comfortable column until there is real sidebar room. */
body.woocommerce-cart .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(20px, 3vw, 38px);
    align-items: start;
    min-inline-size: 0;
}

body.woocommerce-cart :where(.wc-block-cart__main, .wc-block-components-main),
body.woocommerce-cart :where(.wc-block-cart__sidebar, .wc-block-components-sidebar),
body.woocommerce-checkout :where(.wc-block-checkout__main, .wc-block-components-main),
body.woocommerce-checkout :where(.wc-block-checkout__sidebar, .wc-block-components-sidebar) {
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}

/*
 * Woo Blocks gives the main region width:65% with a selector that is more
 * specific than the low-specificity reset above.  Once the parent becomes a
 * grid that legacy flex width would shrink the form inside its grid track.
 */
body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-sidebar {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-components-main {
    padding: 0;
}

body.woocommerce-cart .wc-block-cart__main {
    padding: clamp(16px, 2.8vw, 30px);
    border: 1px solid var(--paneovr-commerce-line);
    border-radius: var(--paneovr-commerce-radius);
    background: var(--paneovr-commerce-surface);
    box-shadow: var(--paneovr-commerce-shadow);
}

body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-checkout__sidebar {
    padding: clamp(18px, 2.8vw, 30px);
    border: 1px solid rgba(82, 89, 210, 0.2);
    border-radius: var(--paneovr-commerce-radius);
    background:
        radial-gradient(circle at 100% 0%, rgba(116, 87, 245, 0.12), transparent 38%),
        linear-gradient(145deg, #ffffff 22%, #f4f6ff 100%);
    box-shadow: var(--paneovr-commerce-shadow);
}

body.woocommerce-cart :where(.wc-block-cart-items, .wc-block-cart-items__row),
body.woocommerce-checkout :where(.wc-block-components-order-summary-item) {
    border-color: var(--paneovr-commerce-line);
}

body.woocommerce-cart :where(.wc-block-cart-item__wrap, .wc-block-components-product-name, .wc-block-components-product-metadata),
body.woocommerce-checkout :where(.wc-block-components-order-summary-item__description, .wc-block-components-product-name, .wc-block-components-product-metadata) {
    min-inline-size: 0;
    overflow-wrap: anywhere;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    min-block-size: 44px;
    border-color: var(--paneovr-commerce-line-strong);
    border-radius: 10px;
    background: var(--paneovr-commerce-surface);
}

body.woocommerce-cart :where(.wc-block-components-totals-wrapper, .wc-block-components-totals-item),
body.woocommerce-checkout :where(.wc-block-components-totals-wrapper, .wc-block-components-totals-item) {
    border-color: rgba(112, 123, 156, 0.2);
}

body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item {
    color: var(--paneovr-commerce-ink);
    font-size: 17px;
    font-weight: 800;
}

/* Each checkout stage reads as a discrete, scan-friendly card. */
body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step {
    min-inline-size: 0;
    margin-block: 0 18px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid var(--paneovr-commerce-line);
    border-radius: var(--paneovr-commerce-radius);
    background: var(--paneovr-commerce-surface);
    box-shadow: 0 10px 32px rgba(31, 43, 92, 0.065);
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading {
    margin-block-end: 20px;
}

body.woocommerce-checkout .wc-block-components-checkout-step__title {
    color: var(--paneovr-commerce-ink);
    font-size: clamp(20px, 2vw, 25px);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-components-checkout-step__title-description {
    color: var(--paneovr-commerce-muted);
    line-height: 1.5;
}

body.woocommerce-checkout :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-textarea),
body.woocommerce-cart :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input) {
    min-block-size: 50px;
    border: 1px solid var(--paneovr-commerce-line-strong);
    border-radius: var(--paneovr-commerce-radius-small);
    background: var(--paneovr-commerce-surface);
    box-shadow: inset 0 1px 2px rgba(31, 43, 92, 0.035);
    color: var(--paneovr-commerce-ink);
}

body.woocommerce-checkout :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-textarea):focus,
body.woocommerce-cart :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input):focus {
    border-color: var(--paneovr-commerce-blue);
    box-shadow: 0 0 0 4px rgba(49, 89, 232, 0.11);
}

body.woocommerce-checkout :where(.wc-block-components-checkbox__input, .wc-block-components-radio-control__input),
body.woocommerce-cart :where(.wc-block-components-checkbox__input, .wc-block-components-radio-control__input) {
    accent-color: var(--paneovr-commerce-violet);
}

body.woocommerce-checkout :where(.wc-block-checkout__payment-method, .wc-block-checkout__terms, .wc-block-components-radio-control-accordion-option) {
    min-inline-size: 0;
    border-color: var(--paneovr-commerce-line);
    border-radius: var(--paneovr-commerce-radius-small);
}

/* Never constrain Stripe/other gateway iframes or 3-D Secure overlays. */
body.woocommerce-checkout :where(.wc-block-gateway-container, .wc-block-components-payment-methods, .wc-block-components-radio-control-accordion-content) {
    min-inline-size: 0;
    max-inline-size: 100%;
}

/* Classic checkout and the PaneoVR order-scoped contract fields. */
body.woocommerce-checkout form.checkout.woocommerce-checkout,
body.woocommerce-checkout form.woocommerce-checkout {
    min-inline-size: 0;
}

body.woocommerce-checkout form.checkout :where(.col2-set, .col-1, .col-2),
body.woocommerce-checkout form.woocommerce-checkout :where(.col2-set, .col-1, .col-2) {
    float: none;
    width: 100%;
    min-inline-size: 0;
}

body.woocommerce-checkout form.checkout :where(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields),
body.woocommerce-checkout form.woocommerce-checkout :where(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) {
    margin-block-end: 18px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid var(--paneovr-commerce-line);
    border-radius: var(--paneovr-commerce-radius);
    background: var(--paneovr-commerce-surface);
    box-shadow: 0 10px 32px rgba(31, 43, 92, 0.065);
}

body.woocommerce-checkout .paneovr-b2b-checkout-fields {
    min-inline-size: 0;
    margin-block-start: 24px;
    padding-block-start: 24px;
    border-block-start: 1px solid var(--paneovr-commerce-line);
}

body.woocommerce-checkout .paneovr-b2b-checkout-fields > h3 {
    margin: 0 0 9px;
    color: var(--paneovr-commerce-ink);
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.2;
}

body.woocommerce-checkout .paneovr-b2b-checkout-fields > p {
    margin: 0 0 22px;
    color: var(--paneovr-commerce-muted);
    line-height: 1.55;
}

body.woocommerce-checkout form.checkout .form-row,
body.woocommerce-checkout form.woocommerce-checkout .form-row {
    min-inline-size: 0;
    margin-block: 0 16px;
    padding: 0;
}

body.woocommerce-checkout form.checkout :where(input.input-text, select, textarea),
body.woocommerce-checkout form.woocommerce-checkout :where(input.input-text, select, textarea),
body.woocommerce-checkout .select2-container .select2-selection--single {
    width: 100%;
    min-block-size: 50px;
    padding: 11px 13px;
    border: 1px solid var(--paneovr-commerce-line-strong);
    border-radius: var(--paneovr-commerce-radius-small);
    background: var(--paneovr-commerce-surface);
    box-shadow: inset 0 1px 2px rgba(31, 43, 92, 0.035);
    color: var(--paneovr-commerce-ink);
    line-height: 1.4;
}

body.woocommerce-checkout .select2-container {
    width: 100% !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0;
    color: var(--paneovr-commerce-ink);
    line-height: 26px;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    block-size: 48px;
}

body.woocommerce-checkout form.checkout :where(input.input-text, select, textarea):focus,
body.woocommerce-checkout form.woocommerce-checkout :where(input.input-text, select, textarea):focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single {
    border-color: var(--paneovr-commerce-blue);
    box-shadow: 0 0 0 4px rgba(49, 89, 232, 0.11);
}

body.woocommerce-checkout :where(#order_review, .woocommerce-checkout-review-order) {
    min-inline-size: 0;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid rgba(82, 89, 210, 0.2);
    border-radius: var(--paneovr-commerce-radius);
    background:
        radial-gradient(circle at 100% 0%, rgba(116, 87, 245, 0.12), transparent 38%),
        linear-gradient(145deg, #ffffff 22%, #f4f6ff 100%);
    box-shadow: var(--paneovr-commerce-shadow);
}

body.woocommerce-checkout #order_review_heading {
    margin: 0;
    color: var(--paneovr-commerce-ink);
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 1.2;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    table-layout: fixed;
    margin-block-end: 22px;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table :where(th, td) {
    padding: 13px 8px;
    border-width: 0 0 1px;
    border-color: rgba(112, 123, 156, 0.2);
    overflow-wrap: anywhere;
}

body.woocommerce-checkout #payment {
    background: transparent;
}

body.woocommerce-checkout #payment ul.payment_methods {
    margin: 0;
    padding: 0;
    border: 0;
}

body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
    margin-block-end: 10px;
    padding: 13px;
    border: 1px solid var(--paneovr-commerce-line);
    border-radius: var(--paneovr-commerce-radius-small);
    background: rgba(255, 255, 255, 0.78);
}

body.woocommerce-checkout #payment div.payment_box {
    width: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    margin-block: 12px 0;
    padding: 14px;
    background: var(--paneovr-commerce-surface-soft);
}

body.woocommerce-checkout #payment .place-order {
    margin: 0;
    padding: 18px 0 0;
}

/* Neutralize Flash's global 50px submit-button margin without restyling a
 * gateway-owned control or changing its hit area/event handling. */
body.woocommerce-cart #primary button[type="submit"],
body.woocommerce-checkout #primary button[type="submit"] {
    margin-block-end: 0;
}

/* Classic cart: full-width content with readable table and a compact totals card. */
body.woocommerce-cart .woocommerce-cart-form {
    min-inline-size: 0;
    margin-block-end: 24px;
    padding: clamp(14px, 2.5vw, 26px);
    border: 1px solid var(--paneovr-commerce-line);
    border-radius: var(--paneovr-commerce-radius);
    background: var(--paneovr-commerce-surface);
    box-shadow: var(--paneovr-commerce-shadow);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.woocommerce-cart table.shop_table {
    min-inline-size: 0;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    border-radius: 0;
}

body.woocommerce-cart table.shop_table :where(th, td) {
    padding: 15px 12px;
    border-width: 0 0 1px;
    border-color: var(--paneovr-commerce-line);
    overflow-wrap: anywhere;
}

body.woocommerce-cart table.cart img {
    width: 64px;
    padding: 0;
    border-radius: 10px;
}

body.woocommerce-cart .cart-collaterals {
    width: 100%;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
    float: none;
    width: min(100%, 500px);
    margin-inline-start: auto;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid rgba(82, 89, 210, 0.2);
    border-radius: var(--paneovr-commerce-radius);
    background:
        radial-gradient(circle at 100% 0%, rgba(116, 87, 245, 0.12), transparent 38%),
        linear-gradient(145deg, #ffffff 22%, #f4f6ff 100%);
    box-shadow: var(--paneovr-commerce-shadow);
}

body.woocommerce-cart .cart_totals > h2 {
    margin: 0 0 18px;
    color: var(--paneovr-commerce-ink);
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 1.2;
}

/* Explicit primary actions; do not recolor gateway-owned buttons. */
body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button),
body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-block-size: 50px;
    margin: 0;
    padding: 13px 18px;
    border: 1px solid var(--paneovr-commerce-brand-blue);
    border-radius: 12px;
    background: var(--paneovr-commerce-brand-blue);
    box-shadow: 0 11px 25px rgba(11, 35, 58, 0.2);
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: box-shadow 160ms ease, filter 160ms ease, transform 160ms ease;
}

body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button):hover,
body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order):hover {
    border-color: var(--paneovr-commerce-brand-navy);
    background: var(--paneovr-commerce-brand-navy);
    box-shadow: 0 14px 30px rgba(11, 35, 58, 0.26);
    color: #ffffff;
    transform: translateY(-1px);
}

body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button):focus-visible,
body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order):focus-visible {
    outline-color: rgba(32, 74, 115, 0.36);
}

body.woocommerce-cart :where(button[name="update_cart"], .coupon .button, .wc-block-components-totals-coupon__button),
body.woocommerce-checkout :where(.woocommerce-form-coupon .button, .wc-block-components-totals-coupon__button) {
    min-block-size: 44px;
    margin: 0;
    padding: 10px 15px;
    border: 1px solid var(--paneovr-commerce-line-strong);
    border-radius: 10px;
    background: var(--paneovr-commerce-surface);
    color: var(--paneovr-commerce-blue-deep);
    font-weight: 750;
}

body.woocommerce-cart :where(button, input, select, textarea):disabled,
body.woocommerce-checkout :where(button, input, select, textarea):disabled {
    cursor: not-allowed;
    filter: grayscale(0.25);
    opacity: 0.58;
}

@media (min-width: 1100px) {
    body.woocommerce-cart .wc-block-components-sidebar-layout,
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        grid-template-columns: minmax(0, 1.55fr) minmax(360px, 0.82fr);
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-cart__main,
    body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-checkout__main {
        grid-column: 1;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-checkout__sidebar {
        grid-column: 2;
    }

    body.woocommerce-checkout form.checkout.woocommerce-checkout,
    body.woocommerce-checkout form.woocommerce-checkout {
        display: grid;
        grid-template-columns: minmax(0, 1.48fr) minmax(360px, 0.82fr);
        grid-template-rows: auto 1fr;
        gap: 18px clamp(28px, 3.2vw, 48px);
        align-items: start;
    }

    body.woocommerce-checkout form.checkout > #customer_details,
    body.woocommerce-checkout form.woocommerce-checkout > #customer_details {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    body.woocommerce-checkout form.checkout > #order_review_heading,
    body.woocommerce-checkout form.woocommerce-checkout > #order_review_heading {
        grid-column: 2;
        grid-row: 1;
    }

    body.woocommerce-checkout form.checkout > #order_review,
    body.woocommerce-checkout form.woocommerce-checkout > #order_review {
        grid-column: 2;
        grid-row: 2;
    }
}

@media (max-width: 1099px) {
    body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-checkout__main {
        order: 1;
    }

    body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-checkout__sidebar {
        position: static;
        order: 0;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-checkout__sidebar,
    body.woocommerce-checkout #order_review_heading {
        margin-block-start: 4px;
    }

    body.woocommerce-checkout #order_review_heading {
        margin-block-end: 14px;
    }
}

@media (max-width: 520px) {
    body.woocommerce-cart .site-content,
    body.woocommerce-checkout .site-content {
        padding-block: 12px 38px;
    }

    body.woocommerce-cart .site-content > .tg-container,
    body.woocommerce-checkout .site-content > .tg-container {
        width: calc(100% - 24px);
    }

    body.woocommerce-cart :where(.entry-title, .wp-block-post-title),
    body.woocommerce-checkout :where(.entry-title, .wp-block-post-title) {
        margin-block-end: 20px;
        font-size: clamp(28px, 10vw, 36px);
    }

    body.woocommerce-cart .wc-block-cart__main,
    body.woocommerce-cart .wc-block-components-sidebar-layout > .wc-block-cart__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar-layout > .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step,
    body.woocommerce-checkout form.checkout :where(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields),
    body.woocommerce-checkout form.woocommerce-checkout :where(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields),
    body.woocommerce-checkout :where(#order_review, .woocommerce-checkout-review-order),
    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals .cart_totals {
        padding: 14px;
        border-radius: 13px;
    }

    body.woocommerce-checkout form.checkout .form-row-first,
    body.woocommerce-checkout form.checkout .form-row-last,
    body.woocommerce-checkout form.woocommerce-checkout .form-row-first,
    body.woocommerce-checkout form.woocommerce-checkout .form-row-last {
        float: none;
        width: 100%;
    }

    body.woocommerce-cart table.shop_table :where(th, td),
    body.woocommerce-checkout .woocommerce-checkout-review-order-table :where(th, td) {
        padding-inline: 7px;
    }

    body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button),
    body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order) {
        min-block-size: 52px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button),
    body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order) {
        transition-duration: 0.01ms;
    }
}

@media (forced-colors: active) {
    body.woocommerce-cart :where(.wc-block-cart__main, .wc-block-cart__sidebar, .woocommerce-cart-form, .cart_totals),
    body.woocommerce-checkout :where(.wc-block-components-checkout-step, .wc-block-checkout__sidebar, #order_review, .paneovr-b2b-checkout-fields) {
        border: 1px solid CanvasText;
    }

    body.woocommerce-cart :where(.wc-block-cart__submit-button, .checkout-button),
    body.woocommerce-checkout :where(.wc-block-components-checkout-place-order-button, #place_order) {
        border-color: ButtonText;
        background: ButtonFace;
        color: ButtonText;
    }
}

.paneovr-invoice-fields {
    display: grid;
    gap: 0.55rem;
    padding-top: 0.6rem;
}

.paneovr-invoice-fields p {
    margin: 0 0 0.25rem;
    color: #324b62;
}

.paneovr-invoice-fields label {
    color: #0b233a;
    font-weight: 600;
}

.paneovr-invoice-fields input {
    width: 100%;
    min-height: 44px;
    border: 1px solid #ccd8e3;
    border-radius: 8px;
    background: #fff;
    padding: 0.65rem 0.8rem;
}

.paneovr-invoice-summary {
    border-left: 3px solid #204a73;
    background: #f2f6fa;
    padding: 0.85rem 1rem;
}

@media print {
    body.woocommerce-cart .site-content,
    body.woocommerce-checkout .site-content {
        padding: 0;
        background: #ffffff;
    }

    body.woocommerce-cart :where(.wc-block-cart__main, .wc-block-cart__sidebar, .woocommerce-cart-form, .cart_totals),
    body.woocommerce-checkout :where(.wc-block-components-checkout-step, .wc-block-checkout__sidebar, #order_review, .paneovr-b2b-checkout-fields) {
        box-shadow: none;
    }
}
