.vf-checkout-page { padding-top:2rem; padding-bottom:5rem; }.vf-checkout-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }.vf-checkout-heading h1 { font-size:1.8rem; margin:0; }.vf-checkout-heading a,.vf-checkout-actions a,.vf-checkout-back a { font-size:.875rem; text-decoration:none; color:var(--vf-green-900); }.vf-checkout-progress { padding:1.5rem; border-radius:var(--vf-radius-lg); background:var(--vf-surface); margin-bottom:2rem; }.vf-checkout-progress .vf-stepper { width:100%; }.vf-stepper a { text-decoration:none; color:inherit; }.vf-checkout-shell { max-width:38rem; margin:0 auto; padding:2rem; box-shadow:none; background:var(--vf-off-white); }.vf-checkout-shell h2 { font-size:1.65rem; margin:0 0 .5rem; }.vf-checkout-shell h2 + p { font-size:.875rem; margin:0 0 1.25rem; }.vf-checkout-shell .vf-field { margin-bottom:1rem; }.vf-checkout-shell textarea { min-height:5rem; }.vf-required { color:var(--vf-error); }.vf-checkout-actions { display:flex; gap:1rem; align-items:center; justify-content:space-between; margin-top:1.5rem; }.vf-checkout-actions .vf-button { min-width:10rem; font-size:.9rem; border-radius:.45rem; }.vf-checkout-choices { border:0; margin:0; padding:0; min-width:0; }.vf-checkout-choices .vf-radio-card { margin-bottom:.75rem; }.vf-checkout-choices strong { font-size:.95rem; display:block; }.vf-choice-status { display:block; font-size:.8rem; margin-top:.2rem; color:var(--vf-green-700); }.vf-choice-status--almost_full { color:var(--vf-warning); }.vf-choice-status--full,.vf-choice-status--unavailable { color:var(--vf-text-muted); }.vf-checkout-shell .vf-location-selection legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.vf-checkout-shell .vf-location-selection > p { margin-top:0; }.vf-review-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.vf-review-heading h3,.vf-review-crops-heading { font:600 1rem var(--vf-font-sans); margin:0; }.vf-review-heading a { font-size:.8rem; }.vf-booking-review { box-shadow:none; }.vf-booking-review section { padding:1rem; }.vf-booking-review section + section { border-top:1px solid var(--vf-border); }.vf-booking-review p { font-size:.875rem; margin:.6rem 0 0; }.vf-booking-review p a { color:var(--vf-text); text-decoration:none; }.vf-review-order { margin:1rem 0; }.woocommerce .vf-checkout-shell table.shop_table { background:var(--vf-surface); border-color:var(--vf-border); font-size:.875rem; border-radius:.7rem; }.woocommerce .vf-checkout-shell table.shop_table td,.woocommerce .vf-checkout-shell table.shop_table th { padding:.65rem; }.woocommerce .vf-checkout-shell table.shop_table .product-total,.woocommerce .vf-checkout-shell table.shop_table tfoot td { text-align:right; }.vf-payment-billing { margin:1rem 0; font-size:.875rem; }.vf-payment-billing summary { cursor:pointer; margin-bottom:.75rem; }.vf-payment-customer { margin-bottom:1.25rem; }.woocommerce .vf-checkout-shell #payment { background:transparent; border-radius:0; }.woocommerce .vf-checkout-shell #payment ul.payment_methods { border:0; padding:0; }.woocommerce .vf-checkout-shell #payment ul.payment_methods > li { padding:1rem; border:1px solid var(--vf-border); border-radius:.7rem; background:var(--vf-surface); margin:.75rem 0; }.woocommerce .vf-checkout-shell #payment ul.payment_methods > li:has(input:checked) { border-color:var(--vf-green-600); background:var(--vf-success-surface); }.woocommerce .vf-checkout-shell #payment ul.payment_methods > li > label { font-weight:600; }.woocommerce .vf-checkout-shell #payment div.payment_box { background:transparent; margin:.5rem 0 0; padding:0; color:var(--vf-text); }.woocommerce .vf-checkout-shell #payment div.payment_box::before { display:none; }.woocommerce .vf-checkout-shell #payment div.form-row { padding:1rem 0 0; }.woocommerce .vf-checkout-shell #place_order { background:var(--vf-green-600); color:white; width:100%; min-height:48px; border-radius:.5rem; }.woocommerce .vf-checkout-shell #place_order:hover { background:var(--vf-green-700); }.vf-checkout-feedback { margin:1rem 0; }.vf-booking-confirmation { text-align:center; max-width:42rem; padding:2.5rem; margin:auto; background:var(--vf-off-white); box-shadow:none; }.vf-booking-confirmation__icon { display:block; color:var(--vf-green-600); }.vf-booking-confirmation__icon svg { width:70px; height:70px; }.vf-booking-confirmation h1 { font-size:2.5rem; margin:1rem 0 .5rem; }.vf-booking-status { font-size:.95rem; }.vf-booking-receipt { border:1px solid var(--vf-border); border-radius:.65rem; overflow:hidden; max-width:27rem; margin:1.5rem auto; }.vf-booking-reference { background:var(--vf-green-100); padding:1rem; }.vf-booking-reference small,.vf-booking-reference strong { display:block; }.vf-booking-reference strong { font-size:1.5rem; color:var(--vf-green-700); overflow-wrap:anywhere; }.vf-booking-receipt dl { padding:1rem; margin:0; font-size:.875rem; }.vf-booking-receipt dl > div { display:flex; justify-content:space-between; gap:1rem; text-align:left; margin:.65rem 0; }.vf-booking-receipt dd { margin:0; text-align:right; }.vf-booking-confirmation__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }.vf-booking-confirmation__actions .vf-button { font-size:.875rem; }
@media(max-width:48rem) { .vf-checkout-page { padding-top:1rem; }.vf-checkout-heading h1 { font-size:1.35rem; }.vf-checkout-progress { padding:1rem .2rem; margin-bottom:1rem; background:transparent; }.vf-checkout-progress .vf-stepper > li { font-size:.62rem; padding:0; gap:.5rem; }.vf-checkout-progress .vf-stepper > li::before { width:28px; height:28px; }.vf-checkout-progress .vf-stepper > li:not(:last-child)::after { inset-block-start:14px; }.vf-checkout-shell { padding:1rem; }.vf-checkout-shell h2 { font-size:1.4rem; }.vf-checkout-actions { flex-direction:column-reverse; align-items:stretch; gap:.75rem; }.vf-checkout-actions a { padding:.5rem 0; min-height:44px; }.vf-checkout-actions button { width:100%; }.vf-booking-confirmation { padding:1.5rem 1rem; }.vf-booking-confirmation h1 { font-size:2rem; }.vf-booking-confirmation__actions .vf-button { flex:1 1 11rem; }.woocommerce .vf-checkout-shell table.shop_table { font-size:.8rem; }.woocommerce .vf-checkout-shell .form-row { float:none; width:100%; } }
.vf-checkout-page .woocommerce-info { border-top-color:var(--vf-green-600); background:var(--vf-cream); color:var(--vf-text); }.vf-checkout-page .woocommerce-info::before { color:var(--vf-green-600); }
@media(max-width:48rem) { .vf-checkout-progress .vf-stepper { flex-wrap:nowrap; gap:0; }.vf-checkout-progress .vf-stepper > li { flex:1 1 0; min-width:0; } }
.woocommerce .vf-payment-customer .form-row input.input-text,.woocommerce .vf-payment-customer .form-row select,.woocommerce .vf-payment-customer .form-row textarea { min-height:var(--vf-input-height); padding:.65rem .8rem; border:1px solid var(--vf-border); border-radius:var(--vf-radius-sm); background:var(--vf-surface); color:var(--vf-text); font:inherit; }
.woocommerce .vf-checkout-shell #payment input[type="radio"] { accent-color:var(--vf-green-600); width:1rem; height:1rem; }
.woocommerce .vf-checkout-shell input:focus-visible,.woocommerce .vf-checkout-shell select:focus-visible,.woocommerce .vf-checkout-shell textarea:focus-visible,.woocommerce .vf-checkout-shell summary:focus-visible { outline:3px solid var(--vf-green-700); outline-offset:3px; }
.vf-booking-confirmation__icon svg { margin-inline:auto; }

/* One complete slot per card; no horizontal scrolling through delivery details. */
.vf-delivery-slot-list { display:grid; gap:1rem; border:0; padding:0; margin:0 0 1.5rem; min-width:0; }
.vf-delivery-slot-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1.5rem; }
.vf-delivery-slot-card { display:flex; gap:1rem; align-items:flex-start; min-width:0; width:100%; padding:1.25rem; border:2px solid var(--vf-border); text-align:left; }
label.vf-delivery-slot-card { cursor:pointer; }
.vf-delivery-slot-card input[type="radio"] { flex:0 0 auto; width:1.25rem; height:1.25rem; margin:.2rem 0 0; accent-color:var(--vf-green-700); }
.vf-delivery-slot-card__body { display:grid; gap:.45rem; min-width:0; width:100%; overflow-wrap:anywhere; }
.vf-delivery-slot-card__location { font-size:1.125rem; color:var(--vf-green-950); }
.vf-delivery-slot-card__date,.vf-delivery-slot-card__time { font-weight:600; }
.vf-delivery-slot-card__address,.vf-delivery-slot-card__notes,.vf-delivery-slot-card__fee { font-size:.875rem; }
.vf-delivery-slot-card__select { font-size:.875rem; font-weight:600; color:var(--vf-green-700); }
.vf-delivery-slot-card:has(input:checked) { border-color:var(--vf-green-700); background:var(--vf-success-surface); box-shadow:0 0 0 1px var(--vf-green-700); }
.vf-delivery-slot-card:focus-within { outline:3px solid var(--vf-green-700); outline-offset:3px; }
.vf-delivery-slot-card.is-unavailable { background:var(--vf-cream); }
.vf-choice-status--closed,.vf-choice-status--full { color:var(--vf-text-muted); }
@media(max-width:30rem) { .vf-checkout-progress { padding:1rem .5rem; } .vf-checkout-progress .vf-stepper > li { font-size:.75rem; } .vf-delivery-slot-card { padding:1rem; gap:.75rem; } }
