body.woocommerce-checkout.usa-checkout-2026-active {
    background: var(--usa-commerce-soft, #f4f8f6);
    color: var(--usa-commerce-ink, #14251f);
}

body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-2026-intro,
body.woocommerce-checkout.usa-checkout-2026-active form.checkout.woocommerce-checkout {
    width: min(calc(100% - 40px), var(--usa-commerce-content, 1180px));
    margin-inline: auto;
    box-sizing: border-box;
}

body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-2026-intro {
    margin-block: clamp(24px, 4vw, 48px) 24px;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid var(--usa-commerce-line, #dce5e0);
    border-radius: var(--usa-commerce-radius, 16px);
    background: var(--usa-commerce-surface, #fff);
    box-shadow: var(--usa-commerce-shadow, 0 16px 40px rgba(20, 37, 31, .08));
}

.usa-checkout-2026-intro__eyebrow {
    margin: 0 0 8px;
    color: var(--usa-commerce-accent, #0f684d);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-2026-intro h1 {
    margin: 0;
    color: var(--usa-commerce-ink, #14251f);
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.08;
}

body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-2026-intro > p:not(.usa-checkout-2026-intro__eyebrow) {
    max-width: 700px;
    margin: 12px 0 0;
    color: var(--usa-commerce-muted, #5f6f68);
    line-height: 1.6;
}

.usa-checkout-2026-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.usa-checkout-2026-steps li {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 9px;
    color: var(--usa-commerce-ink, #14251f);
    font-size: .88rem;
    font-weight: 700;
}

.usa-checkout-2026-steps li span {
    display: inline-grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border-radius: 50%;
    background: var(--usa-commerce-accent, #0f684d);
    color: #fff;
    font-size: .78rem;
}

.usa-checkout-2026-account-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px 14px;
    align-items: center;
    margin-top: 20px;
    padding: 16px 18px;
    border: 1px solid var(--usa-commerce-line, #dce5e0);
    border-radius: 12px;
    background: var(--usa-commerce-soft, #f4f8f6);
    font-size: .9rem;
}

.usa-checkout-2026-account-note span {
    color: var(--usa-commerce-muted, #5f6f68);
}

.usa-checkout-2026-account-note a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: var(--usa-commerce-accent-dark, #0a4d39);
    font-weight: 800;
}

body.woocommerce-checkout.usa-checkout-2026-active form.checkout.woocommerce-checkout {
    position: relative;
    display: block;
    margin-bottom: 56px;
}

body.woocommerce-checkout.usa-checkout-2026-active:not(.usa-checkout-2026-ready) form.checkout.woocommerce-checkout::before {
    content: "Loading current total and delivery options...";
    position: absolute;
    z-index: 2;
    inset: 0 auto auto 0;
    display: grid;
    width: 100%;
    min-height: 180px;
    place-items: center;
    padding: 28px;
    border: 1px solid var(--usa-commerce-line, #dce5e0);
    border-radius: var(--usa-commerce-radius, 16px);
    background: var(--usa-commerce-surface, #fff);
    box-shadow: var(--usa-commerce-shadow, 0 16px 40px rgba(20, 37, 31, .08));
    color: var(--usa-commerce-muted, #5f6f68);
    font-weight: 700;
    box-sizing: border-box;
    animation: usa-checkout-loader-fail-open 0s 6s forwards;
}

/*
 * Flatsome wraps both Classic Checkout columns in one direct .row child.
 * The layout contract therefore belongs on that row, not on the form. Keeping
 * this route-scoped also leaves stock WooCommerce checkout markup portable.
 */
body.woocommerce-checkout.usa-checkout-2026-active form.checkout.woocommerce-checkout > .row {
    display: grid;
    width: 100%;
    max-width: none;
    grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr);
    gap: clamp(18px, 3vw, 32px);
    align-items: start;
    margin: 0;
}

body.woocommerce-checkout.usa-checkout-2026-active:not(.usa-checkout-2026-ready) form.checkout.woocommerce-checkout > .row {
    visibility: hidden;
    animation: usa-checkout-row-fail-open 0s 6s forwards;
}

body.woocommerce-checkout.usa-checkout-2026-active.usa-checkout-2026-ready form.checkout.woocommerce-checkout::before {
    display: none;
}

body.woocommerce-checkout.usa-checkout-2026-active.usa-checkout-2026-ready form.checkout.woocommerce-checkout > .row {
    visibility: visible;
    animation: none;
}

@keyframes usa-checkout-row-fail-open {
    to { visibility: visible; }
}

@keyframes usa-checkout-loader-fail-open {
    to { visibility: hidden; }
}

body.woocommerce-checkout.usa-checkout-2026-active form.checkout.woocommerce-checkout > .row > .col {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 0;
}

body.woocommerce-checkout.usa-checkout-2026-active form.checkout #customer_details,
body.woocommerce-checkout.usa-checkout-2026-active form.checkout #order_review {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--usa-commerce-line, #dce5e0);
    border-radius: var(--usa-commerce-radius, 16px);
    background: var(--usa-commerce-surface, #fff);
    box-shadow: var(--usa-commerce-shadow, 0 16px 40px rgba(20, 37, 31, .08));
    box-sizing: border-box;
}

body.woocommerce-checkout.usa-checkout-2026-active #customer_details .col-1,
body.woocommerce-checkout.usa-checkout-2026-active #customer_details .col-2 {
    float: none;
    width: 100%;
    min-width: 0;
}

body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-billing-fields > h3,
body.woocommerce-checkout.usa-checkout-2026-active #order_review_heading {
    display: none;
}

body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.woocommerce-checkout.usa-checkout-2026-active .form-row {
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
}

body.woocommerce-checkout.usa-checkout-2026-active .form-row-wide,
body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-contact-field,
body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-section-heading,
body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-optional-details {
    grid-column: 1 / -1;
}

.usa-checkout-section-heading {
    margin: 8px 0 2px;
}

.usa-checkout-section-heading:first-child {
    margin-top: 0;
}

.usa-checkout-section-heading__step {
    display: block;
    margin-bottom: 4px;
    color: var(--usa-commerce-accent, #0f684d);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.usa-checkout-section-heading h2 {
    margin: 0;
    color: var(--usa-commerce-ink, #14251f);
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    line-height: 1.25;
}

.usa-checkout-section-heading p {
    margin: 5px 0 0;
    color: var(--usa-commerce-muted, #5f6f68);
    font-size: .88rem;
    line-height: 1.5;
}

body.woocommerce-checkout.usa-checkout-2026-active label {
    color: var(--usa-commerce-ink, #14251f);
    font-size: .88rem;
    font-weight: 700;
}

body.woocommerce-checkout.usa-checkout-2026-active :where(input.input-text, select, textarea) {
    width: 100%;
    min-height: 48px;
    border: 1px solid #bac9c2;
    border-radius: 10px;
    background: #fff;
    color: var(--usa-commerce-ink, #14251f);
    font-size: 16px;
}

body.woocommerce-checkout.usa-checkout-2026-active textarea {
    min-height: 100px;
}

.usa-checkout-optional-details {
    border: 1px solid var(--usa-commerce-line, #dce5e0);
    border-radius: 10px;
    background: var(--usa-commerce-soft, #f4f8f6);
}

.usa-checkout-optional-details summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    padding: 10px 14px;
    cursor: pointer;
    color: var(--usa-commerce-accent-dark, #0a4d39);
    font-size: .88rem;
    font-weight: 800;
}

.usa-checkout-optional-details__fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 0 14px 14px;
}

body.woocommerce-checkout.usa-checkout-2026-active #order_review {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
}

body.woocommerce-checkout.usa-checkout-2026-active #payment {
    display: contents;
}

body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-payment-heading {
    order: 1;
}

body.woocommerce-checkout.usa-checkout-2026-active #payment .wc_payment_methods {
    order: 2;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--usa-commerce-line, #dce5e0);
    border-radius: 12px;
    background: var(--usa-commerce-soft, #f4f8f6);
    list-style: none;
}

body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-review-heading {
    order: 3;
}

body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-checkout-review-order-table {
    order: 4;
    width: 100%;
    margin: 0;
    border: 0;
}

body.woocommerce-checkout.usa-checkout-2026-active #payment .place-order {
    order: 5;
    margin: 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--usa-commerce-line, #dce5e0);
}

body.woocommerce-checkout.usa-checkout-2026-active #payment .payment_box {
    margin-top: 12px;
    padding: 14px;
    border-radius: 10px;
    background: #fff;
    color: var(--usa-commerce-muted, #5f6f68);
}

.usa-checkout-2026-submit-note {
    display: grid;
    gap: 3px;
    margin: 0 0 14px;
    padding: 13px 14px;
    border: 1px solid var(--usa-commerce-line, #dce5e0);
    border-radius: 10px;
    background: var(--usa-commerce-soft, #f4f8f6);
    font-size: .84rem;
}

.usa-checkout-2026-submit-note span {
    color: var(--usa-commerce-muted, #5f6f68);
}

.usa-checkout-2026-submit-status:not(:empty) {
    margin-bottom: 12px;
    padding: 12px 14px;
    border-left: 4px solid var(--usa-commerce-accent, #0f684d);
    border-radius: 8px;
    background: var(--usa-commerce-soft, #f4f8f6);
    color: var(--usa-commerce-ink, #14251f);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.45;
}

body.woocommerce-checkout.usa-checkout-2026-active #place_order {
    width: 100%;
    min-height: 52px;
    margin: 12px 0 0;
    border: 1px solid var(--usa-commerce-accent, #0f684d);
    border-radius: 999px;
    background: var(--usa-commerce-accent, #0f684d);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
}

body.woocommerce-checkout.usa-checkout-2026-active #place_order:hover,
body.woocommerce-checkout.usa-checkout-2026-active #place_order:focus-visible {
    background: var(--usa-commerce-accent-dark, #0a4d39);
}

body.woocommerce-checkout.usa-checkout-2026-active #place_order[aria-disabled="true"] {
    cursor: wait;
    opacity: .72;
}

body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-error,
body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-NoticeGroup-checkout {
    width: min(calc(100% - 40px), var(--usa-commerce-content, 1180px));
    margin-inline: auto;
}

body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-invalid :where(input, select, textarea) {
    border-color: var(--usa-commerce-error, #a9342b);
    box-shadow: 0 0 0 3px rgba(169, 52, 43, .12);
}

body.woocommerce-checkout.usa-checkout-2026-active :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid rgba(15, 104, 77, .38);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    body.woocommerce-checkout.usa-checkout-2026-active form.checkout.woocommerce-checkout > .row {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    body.woocommerce-checkout.usa-checkout-2026-active .usa-checkout-2026-intro,
    body.woocommerce-checkout.usa-checkout-2026-active form.checkout.woocommerce-checkout,
    body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-error,
    body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-NoticeGroup-checkout {
        width: min(calc(100% - 32px), var(--usa-commerce-content, 1180px));
    }

    .usa-checkout-2026-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .usa-checkout-2026-account-note {
        grid-template-columns: 1fr;
    }

    body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-shipping-fields__field-wrapper,
    body.woocommerce-checkout.usa-checkout-2026-active .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: minmax(0, 1fr);
    }

    body.woocommerce-checkout.usa-checkout-2026-active form.checkout #customer_details,
    body.woocommerce-checkout.usa-checkout-2026-active form.checkout #order_review {
        padding: 18px 16px;
    }
}

@media (max-width: 359px) {
    .usa-checkout-2026-steps {
        grid-template-columns: minmax(0, 1fr);
    }
}
