.fab-checkout {
    --fab-accent: #0095a8;
    --fab-ink: #163844;
    --fab-muted: #536b75;
    --fab-line: #dce7ea;
    background: #fff;
    width: 100%;
    min-width: 0;
    margin-inline: auto;
    flex: 1 1 100%;
    color: var(--fab-ink);
    padding: 44px 20px 72px;
    font-family: inherit;
    line-height: 1.6;
}
.fab-checkout *, .fab-checkout *::before, .fab-checkout *::after { box-sizing: border-box; }
.fab-checkout__container { width: 100%; max-width: 1140px; margin-inline: auto; }
.fab-checkout__back { color: var(--fab-muted); font-size: 14px; text-decoration: none; }
.fab-checkout__header { margin: 30px 0; }
.fab-checkout__eyebrow { color: #087486; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.fab-checkout .fab-checkout__header h1 { font-size: clamp(28px, 4vw, 42px); line-height: 1.2; margin: 10px 0; color: var(--fab-ink); }
.fab-checkout__header p { color: var(--fab-muted); margin: 0; }
.fab-checkout .fab-checkout__steps { display: flex; gap: 30px; padding: 0; margin: 28px 0 0; list-style: none; font-size: 13px; flex-wrap: wrap; }
.fab-checkout__steps li { display: flex; align-items: center; gap: 8px; color: var(--fab-muted); }
.fab-checkout__steps span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e1ecef; }
.fab-checkout__steps [aria-current] { font-weight: 700; color: #087486; }
.fab-checkout__steps [aria-current] span { background: var(--fab-accent); color: white; }
.fab-checkout .woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 30px; align-items: start; }
.fab-checkout form.checkout::before, .fab-checkout form.checkout::after { display: none !important; }
.fab-checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; width: 100%; float: none; padding: 28px; border: 1px solid var(--fab-line); background: #fff; border-radius: 16px; }
.fab-checkout #customer_details .col-1, .fab-checkout #customer_details .col-2 { float: none; width: 100%; max-width: none; padding: 0; }
.fab-checkout #order_review_heading { grid-column: 2; margin: 0; padding: 22px 24px 12px; border: 1px solid var(--fab-line); border-bottom: 0; border-radius: 16px 16px 0 0; background: white; }
.fab-checkout #order_review { grid-column: 2; padding: 0 24px 24px; min-width: 0; border: 1px solid var(--fab-line); border-top: 0; border-radius: 0 0 16px 16px; background: white; }
.fab-checkout form.checkout > :not(#customer_details):not(#order_review_heading):not(#order_review) { grid-column: 1 / -1; }
.fab-checkout .woocommerce h3 { color: var(--fab-ink); font-size: 20px; line-height: 1.4; margin: 0 0 20px; }
.fab-checkout .woocommerce label { font-size: 14px; font-weight: 600; color: var(--fab-ink); }
.fab-checkout .woocommerce .form-row { margin: 0 0 16px; padding: 0; }
.fab-checkout .woocommerce .input-text, .fab-checkout .woocommerce select, .fab-checkout .select2-container .select2-selection--single {
    width: 100%; min-height: 46px; border: 1px solid #bccfd4; border-radius: 7px; padding: 10px 12px; background: #fff; color: var(--fab-ink); font: inherit;
}
.fab-checkout .select2-container .select2-selection--single { padding: 7px; }
.fab-checkout .select2-selection__arrow { top: 10px !important; }
.fab-checkout :is(input, select, textarea, button, a):focus-visible { outline: 3px solid #087486; outline-offset: 3px; }
.fab-checkout .woocommerce table.shop_table { width: 100%; border: 0; border-collapse: collapse; font-size: 14px; margin: 0 0 20px; }
.fab-checkout .woocommerce table.shop_table th, .fab-checkout .woocommerce table.shop_table td { padding: 14px 0; border: 0; border-bottom: 1px solid var(--fab-line); background: none; vertical-align: top; }
.fab-checkout .woocommerce table.shop_table .product-total, .fab-checkout .woocommerce table.shop_table tfoot td { text-align: right; }
.fab-checkout .woocommerce table.shop_table .order-total { font-size: 19px; color: #087486; }
.fab-checkout #payment { background: #f3f8f9; border-radius: 10px; }
.fab-checkout #payment ul.payment_methods { padding: 18px; border-bottom: 1px solid var(--fab-line); }
.fab-checkout #payment div.payment_box { background: #e4eef0; color: var(--fab-ink); font-size: 13px; }
.fab-checkout #payment div.payment_box::before { border-bottom-color: #e4eef0; }
.fab-checkout #payment .place-order { padding: 18px; }
.fab-checkout .woocommerce-privacy-policy-text { font-size: 12px; color: var(--fab-muted); }
.fab-checkout .woocommerce #place_order { display: block; width: 100%; float: none; padding: 17px 20px; margin-top: 18px; border: 0; border-radius: 8px; background: var(--fab-accent); color: white; font-size: 16px; font-weight: 700; cursor: pointer; line-height: 1.4; }
.fab-checkout .woocommerce #place_order:hover { background: #087486; }
.fab-checkout .woocommerce #place_order:disabled { opacity: .6; cursor: wait; }
.fab-checkout .woocommerce-info, .fab-checkout .woocommerce-message { border-top-color: var(--fab-accent); border-radius: 8px; }
.fab-checkout .woocommerce a { color: #087486; }
@media (max-width: 767px) {
    .fab-checkout { padding: 24px 16px 40px; }
    .fab-checkout__header { margin: 24px 0; }
    .fab-checkout .fab-checkout__steps { gap: 12px; font-size: 11px; }
    .fab-checkout__steps span { width: 22px; height: 22px; }
    .fab-checkout .woocommerce form.checkout { display: flex; flex-direction: column; gap: 0; }
    .fab-checkout form.checkout > * { width: 100%; min-width: 0; }
    .fab-checkout #customer_details { padding: 20px; margin-bottom: 22px; }
    .fab-checkout #order_review_heading { padding: 20px 20px 12px; }
    .fab-checkout #order_review { padding: 0 20px 20px; }
    .fab-checkout .woocommerce .form-row-first, .fab-checkout .woocommerce .form-row-last { width: 100%; float: none; }
}
