/* Scoped to the fourteen native steps; CartFlows owns all form behavior. */
body.cartflows-canvas.vm-flows-native { background: var(--black); color: var(--ivory); font-family: var(--font-sans); }
.vm-flow { margin: 0 auto; max-width: 76rem; padding: 2rem clamp(1rem,4vw,3rem) 3rem; color: var(--ivory); }
.vm-flow-top { display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid var(--line); padding-bottom: 1.5rem; }
.vm-flow-logo { display: block; width: 8rem; height: auto; }
.vm-flow-links { display: flex; gap: 1rem; flex-wrap: wrap; padding: 0; margin: 0; list-style: none; font-size: .8rem; }
.vm-flow-content { max-width: 46rem; margin: 3rem auto; }
.vm-flow h1 { font-size: clamp(2.25rem,5vw,3.75rem); line-height: 1.1; margin: 0 0 2rem; text-wrap: balance; }
.vm-flow-content > .vm-flow-links { display: inline-flex; margin: 0 1rem 1.5rem 0; color: var(--ivory-dim); }
.vm-flow-copy { line-height: 1.75; margin-block: 1.5rem; overflow-wrap: anywhere; }
.vm-flow-copy > :first-child { margin-top: 0; }
.vm-flow-footer { border-top: 1px solid var(--line); padding-top: 1.5rem; color: var(--ivory-dim); font-size: .8rem; }
.vm-flow-action a { display: inline-block; background: var(--oxblood); color: white; padding: .9rem 1.5rem; text-decoration: none; }
.vm-flow a:focus-visible, .vm-flow button:focus-visible, .vm-flow input:focus-visible { outline: 2px solid var(--ivory-dim); outline-offset: 3px; }
.vm-flow-form { background: #fff; color: #262626; padding: clamp(1rem,4vw,2.5rem); border-radius: 2px; }
.vm-flow-form .wcf-embed-checkout-form, .vm-flow-form .wcf-thankyou-wrap { color: #262626; }
.vm-flow-form .woocommerce label, .vm-flow-form .woocommerce h3, .vm-flow-form .woocommerce h2, .vm-flow-form .woocommerce th, .vm-flow-form .woocommerce td { color: #262626; }
.vm-flow-form a { color: #7b1827; }
.vm-flow-form .woocommerce form .form-row input.input-text, .vm-flow-form .woocommerce form .form-row textarea, .vm-flow-form .woocommerce form select { background: #fff; color: #262626; font-size: 16px; min-height: 44px; border: 1px solid #aaa; border-radius: 2px; }
.vm-flow-form .woocommerce #payment { background: #f5f4f2; color: #262626; }
.vm-flow-form .woocommerce #payment div.payment_box { background: #fff; color: #262626; }
.vm-flow-form .woocommerce #place_order { background: var(--oxblood); color: #fff; min-height: 48px; border: 0; }
.vm-flow-form--thankyou .woocommerce-customer-details { display: none; }
.vm-flow-form .woocommerce table { width: 100%; }
.vm-flow-form .woocommerce th, .vm-flow-form .woocommerce td { overflow-wrap: anywhere; }
@media(max-width:600px) {
 .vm-flow { padding-top: 1.25rem; }
 .vm-flow-top { gap: 1rem; }
 .vm-flow-top .vm-flow-links { font-size: .7rem; }
 .vm-flow-content { margin-block: 2rem; }
 .vm-flow-form .woocommerce form .form-row-first, .vm-flow-form .woocommerce form .form-row-last { float: none; width: 100%; }
}
