/* Global commerce foundation only. No cart/product/checkout layouts yet. */
.woocommerce :where(input.input-text, textarea, select) { min-height: var(--vf-input-height); padding: var(--vf-space-3); border: var(--vf-control-border); border-radius: var(--vf-radius-sm); background: var(--vf-surface); color: var(--vf-text); }
.woocommerce :where(.price, .amount) { font-variant-numeric: tabular-nums; }
.woocommerce :where(.woocommerce-error, .woocommerce-info, .woocommerce-message) { border-radius: var(--vf-radius-md); }

/* Harvest reference: rounded photo hero, quiet filters and a three-column grid. */
[hidden] { display:none !important; }
.vf-woocommerce-content { padding-block-start: 1.5rem; }
.vf-harvest-hero { position:relative; isolation:isolate; overflow:hidden; min-height:clamp(19rem,30vw,24rem); border-radius:var(--vf-radius-xl); background:var(--vf-green-950); color:white; display:flex; align-items:center; margin-bottom:2rem; }
.vf-harvest-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.vf-harvest-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgb(12 28 7 / 88%),rgb(12 28 7 / 56%) 45%,rgb(12 28 7 / 10%)); }
.vf-harvest-hero__content { padding:2.5rem 4rem; max-width:45rem; }
.vf-harvest-hero h1 { color:white; font-size:clamp(3rem,6vw,5.5rem); margin:0 0 1rem; line-height:1.04; }
.vf-harvest-hero h1 span { display:block; font-size:.62em; font-weight:400; margin-bottom:.2em; }
.vf-harvest-hero p { max-width:26rem; font-size:var(--vf-type-body-large); line-height:1.45; margin:0 0 1.5rem; }
.vf-harvest-hero__dates { display:flex; flex-wrap:wrap; gap:1rem; padding:.85rem 1.1rem; border:1px solid #a0b47b; border-radius:1rem; font-size:.875rem; font-weight:600; width:fit-content; }
.vf-harvest-hero__dates span { display:flex; align-items:center; gap:.5rem; }
.vf-harvest-hero__dates span + span { border-left:1px solid #a0b47b; padding-left:1rem; }
.vf-catalogue-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin:0 1.5rem 1.5rem; }
.vf-catalogue-heading > div { display:flex; gap:1rem; align-items:baseline; }
.vf-catalogue-heading h2 { font:600 clamp(1.35rem,2.4vw,1.8rem)/1.3 var(--vf-font-sans); margin:0; }
.vf-catalogue-heading > div > span { color:var(--vf-green-700); font-size:.875rem; }
.vf-sort-form { display:flex; align-items:center; gap:.75rem; }
.vf-sort-form select { width:auto; min-width:10rem; min-height:44px; padding:.5rem .8rem; border-color:var(--vf-border-strong); border-radius:.75rem; }
.vf-sort-form button { padding-inline:.75rem; min-height:44px; }
.vf-catalogue-layout { display:grid; grid-template-columns:15.5rem minmax(0,1fr); gap:2.5rem; }
.vf-filter-form { background:var(--vf-off-white); border-radius:1rem; padding:1.5rem 1rem; }
.vf-filter-form fieldset { border:0; padding:0 0 1.25rem; margin:0 0 1.25rem; border-bottom:var(--vf-card-border); min-width:0; }
.vf-filter-form legend { color:var(--vf-green-700); font-size:.875rem; font-weight:600; text-transform:uppercase; margin-bottom:.75rem; }
.vf-filter-form label { display:flex; gap:.65rem; align-items:center; min-height:42px; padding:.35rem .5rem; border-radius:.5rem; font-size:.9375rem; cursor:pointer; }
.vf-filter-form input { accent-color:var(--vf-green-600); width:18px; height:18px; flex-shrink:0; }
.vf-filter-form .vf-category-option:has(:checked) { background:var(--vf-green-100); color:var(--vf-green-700); }
.vf-category-option input { position:absolute; clip-path:inset(50%); width:1px; height:1px; }
.vf-category-option:has(:focus-visible) { outline:3px solid var(--vf-focus); outline-offset:2px; }
.vf-filter-reset { display:block; text-align:center; padding:1rem 0; color:var(--vf-green-700); }
.vf-delivery-note { border:var(--vf-card-border); border-radius:1rem; padding:1rem; margin-top:2rem; }
.vf-delivery-note .vf-icon { color:var(--vf-green-600); }.vf-delivery-note a { color:var(--vf-green-700); font-weight:600; }
.vf-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; align-items:stretch; }
.vf-product-card { border:var(--vf-card-border); border-radius:var(--vf-radius-lg); box-shadow:var(--vf-shadow-card); overflow:hidden; background:white; min-width:0; display:flex; flex-direction:column; }
.vf-product-card__photo { position:relative; aspect-ratio:1.3; background:var(--vf-cream); }
.vf-product-card__photo > a { position:absolute; inset:0; display:block; width:100%; height:100%; }.vf-product-card__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.vf-product-card__badge { position:absolute; top:.75rem; left:.75rem; font-size:.75rem; padding:.2rem .6rem; max-width:calc(100% - 4rem); }
.vf-product-card__badge { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vf-product-card__heart { position:absolute; right:.45rem; top:.35rem; width:44px; height:44px; border:0; border-radius:50%; color:white; background:rgb(0 0 0 / 48%); display:grid; place-items:center; }
.vf-product-card__heart[aria-pressed=true] svg { fill:white; }.vf-product-card__heart:focus-visible { outline-color:white; }
.vf-product-card__body { padding:1rem; display:flex; flex-direction:column; flex:1; }
.vf-product-card h3 { font:600 1rem/1.35 var(--vf-font-sans); margin:0 0 .5rem; }.vf-product-card h3 a { color:var(--vf-text); text-decoration:none; }
.vf-product-card__price { font-size:.9375rem; line-height:1.4; }.vf-product-card__price del { color:var(--vf-text-muted); }.vf-product-card__price ins { background:none; text-decoration:none; }
.vf-product-card__stock { color:var(--vf-green-700); font-size:.875rem; margin:.4rem 0 1rem; }.vf-stock--low { color:var(--vf-warning); }.vf-stock--out { color:var(--vf-text-muted); }
.vf-card-form { margin-top:auto; display:grid; gap:.75rem; }.vf-card-form .vf-quantity { width:100%; overflow:hidden; border-color:var(--vf-border-strong); border-radius:.75rem; }
.vf-card-form .vf-quantity input { width:100%; min-width:0; padding:.3rem; -moz-appearance:textfield; border:0; }
.vf-card-form .vf-quantity input::-webkit-inner-spin-button { -webkit-appearance:none; }
.vf-quantity__unit { display:flex; align-items:center; padding-right:.5rem; font-size:.875rem; }
.vf-card-form .vf-quantity button { border-radius:0; flex:0 0 44px; }.vf-card-form .vf-quantity button:first-child { border-right:var(--vf-card-border); }.vf-card-form .vf-quantity button:last-child { border-left:var(--vf-card-border); }
.vf-product-card .vf-button { min-height:44px; padding:.5rem .7rem; font-size:.875rem; }.vf-product-card .vf-button .vf-icon { width:18px; height:18px; }
.vf-card-status:not(.vf-sr-only) { font-size:.875rem; color:var(--vf-error); margin-top:.75rem; }
/* The sticky basket bar supplies this destination after native AJAX success. */
.vf-card-form > .added_to_cart.wc-forward { display:none; }
.vf-catalogue-pagination { display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }.vf-catalogue-pagination > * { padding:.6rem 1rem; border:var(--vf-card-border); border-radius:.5rem; }.vf-catalogue-pagination .current { background:var(--vf-green-100); }
.vf-empty-state { text-align:center; padding:3rem 1rem; }.vf-empty-state h3 { margin-top:0; }
.vf-basket-bar-wrap { position:fixed; bottom:1rem; left:0; right:0; z-index:40; padding:0 var(--vf-container-gutter); pointer-events:none; }
.vf-basket-bar { pointer-events:auto; padding:1rem 1.5rem; background:white; border:var(--vf-card-border); border-radius:var(--vf-radius-xl); box-shadow:var(--vf-shadow-raised); display:flex; align-items:center; gap:1.5rem; max-width:80rem; }
.vf-basket-bar__icon { display:grid; place-items:center; width:60px; height:60px; background:var(--vf-green-100); color:var(--vf-green-600); border-radius:1rem; }.vf-basket-bar__icon svg { width:32px; height:32px; }
.vf-basket-bar__text { display:block; color:var(--vf-text-muted); font-size:.875rem; margin-top:.25rem; }.vf-basket-bar__total { margin-left:auto; font-size:1.5rem; }.vf-basket-bar .vf-button { min-width:13rem; }
.vf-site:has(.vf-basket-bar-wrap:not([hidden])) { padding-bottom:8rem; }
.vf-filter-dialog { padding:1.25rem; border:0; border-radius:1.25rem 1.25rem 0 0; margin:auto 0 0; width:100%; max-width:none; max-height:90dvh; box-sizing:border-box; color:var(--vf-text); }.vf-filter-dialog::backdrop { background:rgb(18 41 24 / 55%); }.vf-filter-dialog__heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.vf-filter-dialog__heading h2 { font-size:1.5rem; margin:0; }.vf-filter-dialog .vf-filter-form { background:white; padding:1rem 0; }.vf-filter-dialog .vf-delivery-note { display:none; }
.vf-filter-open { overflow:hidden; }.vf-filter-open body { position:fixed; top:var(--vf-filter-scroll); left:0; right:0; }
.woocommerce ul.products li.vf-product-item { margin-bottom:1.5rem; }.woocommerce ul.products li.vf-product-item .vf-product-card img { margin:0; }.woocommerce ul.products li.vf-product-item .vf-product-card .price { color:var(--vf-text); }
@media(max-width:64rem) { .vf-catalogue-layout { grid-template-columns:12rem minmax(0,1fr); gap:1.5rem; }.vf-product-grid { gap:1rem; }.vf-product-card__body { padding:.75rem; }.vf-harvest-hero__content { padding:2rem; }.vf-catalogue-heading { margin-inline:0; } }
@media(max-width:48rem) { .vf-harvest-hero { min-height:23rem; }.vf-harvest-hero__content { padding:2rem 1.5rem; }.vf-harvest-hero__dates { flex-direction:column; gap:.5rem; }.vf-catalogue-layout { display:block; }.vf-filter-host { margin-bottom:1rem; }.vf-filters-ready .vf-filter-host { display:none; }.vf-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.vf-catalogue-heading { flex-wrap:wrap; }.vf-catalogue-heading > div { flex:1 1 100%; }.vf-sort-form { flex:1; }.vf-sort-form select { min-width:0; width:100%; }.vf-sort-form label { display:none; }.vf-filters-ready .vf-sort-form button { display:none; }.vf-sort-form select { max-width:16rem; }.vf-basket-bar { gap:.75rem; padding:.75rem; flex-wrap:wrap; }.vf-basket-bar__icon { width:44px; height:44px; }.vf-basket-bar__text { display:none; }.vf-basket-bar__total { font-size:1.1rem; }.vf-basket-bar .vf-button { min-width:0; padding-inline:1rem; }.vf-basket-bar-wrap { bottom:.5rem; padding-inline:.5rem; } }
@media(max-width:360px) { .vf-product-grid { grid-template-columns:1fr; }.vf-catalogue-heading > div { flex-wrap:wrap; gap:.3rem; }.vf-basket-bar__icon { display:none; }.vf-basket-bar { gap:.5rem; }.vf-basket-bar strong { font-size:.875rem; }.vf-basket-bar .vf-button { font-size:.8rem; padding-inline:.7rem; } }
.vf-filter-dialog__heading { position:sticky; top:-1.25rem; z-index:2; padding:.5rem 0; background:white; }
@media(max-width:48rem) {
 .vf-harvest-hero__dates span + span { border:0; padding:0; }
 .vf-basket-bar { display:grid; grid-template-columns:44px minmax(0,1fr) auto; grid-template-areas:'icon summary action' 'icon total action'; column-gap:.65rem; row-gap:.15rem; width:100%; }
 .vf-basket-bar__icon { grid-area:icon; }.vf-basket-bar__summary { grid-area:summary; font-size:.8rem; }.vf-basket-bar__total { grid-area:total; margin:0; }.vf-basket-bar .vf-button { grid-area:action; font-size:.875rem; padding-inline:.85rem; min-height:44px; }.vf-basket-bar .vf-button svg { width:18px; }
}
@media(min-width:48.001rem) and (max-width:64rem) { .vf-harvest-hero__content { padding:1.5rem 2rem; } }
@media(max-width:360px) { .vf-basket-bar { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'summary action' 'total action'; } }
/* Single product: editorial layout shared with the harvest design system. */
.woocommerce .vf-single-product { width:100%; margin:0; }
.vf-product-tools { display:flex; justify-content:flex-end; gap:.5rem; margin-top:-2.75rem; margin-bottom:1rem; }
.vf-product-tools .vf-button { min-height:44px; padding:.5rem .75rem; font-weight:400; font-size:.875rem; }
.vf-product-main { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1.05fr) minmax(12rem,.52fr); gap:2rem; align-items:start; }
.vf-gallery { min-width:0; }.vf-gallery__stage { position:relative; border-radius:var(--vf-radius-lg); overflow:hidden; background:var(--vf-cream); aspect-ratio:1.28; }
.vf-gallery__slide { display:block; width:100%; height:100%; }.vf-gallery__slide img { display:block; width:100%; height:100%; object-fit:cover; }
.vf-gallery__badge { position:absolute; top:.75rem; left:.75rem; }.vf-gallery__prev,.vf-gallery__next { position:absolute; top:calc(50% - 22px); background:white; color:var(--vf-text); border-radius:50%; box-shadow:var(--vf-shadow-sm); font-size:1.75rem; }.vf-gallery__prev { left:.75rem; }.vf-gallery__next { right:.75rem; }
.vf-gallery__thumbs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin-top:.75rem; }.vf-gallery__thumbs a { border-radius:.65rem; overflow:hidden; border:2px solid transparent; aspect-ratio:1.1; }.vf-gallery__thumbs a[aria-current] { border-color:var(--vf-green-600); }.vf-gallery__thumbs img { width:100%; height:100%; object-fit:cover; }
.vf-product-details h1 { font-family:var(--vf-font-sans); font-size:clamp(1.65rem,2.5vw,2.25rem); line-height:1.2; margin:0 0 .75rem; }.vf-product-intro { font-size:.95rem; line-height:1.55; }.vf-product-intro p { margin:0 0 1rem; }
.vf-product-price { font-weight:700; font-size:1.7rem; margin-top:1rem; }.vf-product-price > span:last-child:not(.woocommerce-Price-amount) { color:var(--vf-green-700); font-size:1.1rem; }.vf-product-availability { color:var(--vf-green-700); margin:.35rem 0 1.25rem; font-weight:600; }
.vf-product-facts { display:flex; flex-wrap:wrap; gap:.75rem; padding:1rem; margin:0 0 1.25rem; list-style:none; border-radius:.75rem; background:var(--vf-cream); }.vf-product-facts:empty { display:none; }.vf-product-facts li { display:flex; align-items:center; flex:1 1 6rem; gap:.6rem; font-size:.75rem; }.vf-product-facts small { display:block; }.vf-product-facts svg { color:var(--vf-green-700); flex-shrink:0; }.vf-product-facts li > span:first-child:not(:last-child) { color:var(--vf-green-700); font-size:1.7rem; }
.vf-product-purchase > label { display:block; margin-bottom:.4rem; font-size:.875rem; }.vf-product-quantity-row { display:flex; align-items:center; gap:1.25rem; margin-bottom:1.25rem; }.vf-product-quantity-row .vf-quantity { width:10rem; flex-shrink:0; }.vf-product-quantity-row small { color:var(--vf-text-muted); }.vf-product-actions { display:flex; flex-wrap:wrap; gap:1rem; }.vf-product-actions .vf-button { flex:1 1 10rem; font-size:.875rem; padding-inline:1rem; min-width:0; border-radius:var(--vf-radius-pill); }
.vf-product-purchase[aria-busy=true] .vf-button { cursor:wait; opacity:.75; }.vf-card-status:not(.vf-sr-only):not(:empty) { font-size:.875rem; background:var(--vf-cream); border-radius:.5rem; padding:.65rem; margin:.75rem 0; }
.vf-product-reassurance { display:flex; align-items:center; gap:.5rem; font-size:.875rem; margin:1rem 0; }.vf-product-details .product_meta { font-size:.75rem; color:var(--vf-text-muted); margin-top:1rem; }.vf-product-details .product_meta > span { display:block; }
.vf-farmer-card { background:var(--vf-off-white); padding:1.5rem 1.1rem; text-align:center; box-shadow:none; }.vf-farmer-card h2 { font-family:var(--vf-font-sans); font-size:1rem; margin:0; }.vf-farmer-card__ornament { display:block; color:var(--vf-green-600); margin:.75rem; }.vf-farmer-card__photo { width:10rem; height:10rem; object-fit:cover; border-radius:50%; margin:0 auto 1rem; }.vf-farmer-card blockquote { margin:0; font-size:.875rem; line-height:1.6; text-align:left; }.vf-farmer-card blockquote::before { content:'“'; color:var(--vf-green-700); font:2rem Georgia,serif; line-height:.8; }.vf-farmer-card__name { font-size:.875rem; text-align:left; font-weight:600; }.vf-farmer-card__signature { font:italic 1.7rem Georgia,serif; color:var(--vf-green-600); text-align:right; }
.vf-product-delivery { grid-column:2 / 4; display:flex; align-items:center; gap:1rem; padding:1rem; }.vf-product-delivery > svg { color:var(--vf-green-700); width:40px; height:40px; flex-shrink:0; background:var(--vf-cream); padding:.35rem; border-radius:.5rem; }.vf-product-delivery > div { flex:1; }.vf-product-delivery p { font-size:.875rem; margin:.5rem 0 0; }.vf-product-delivery p a { margin-left:.5rem; }.vf-product-delivery .vf-button { font-size:.875rem; padding-inline:1rem; }
.vf-product-secondary { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(0,1fr); gap:1.25rem; margin-top:1.5rem; align-items:start; }.vf-product-tabs { overflow:hidden; box-shadow:none; }.vf-product-tabs__list { display:flex; overflow-x:auto; border-bottom:1px solid var(--vf-border); background:var(--vf-off-white); }.vf-product-tabs__list a { flex:1 0 auto; text-align:center; padding:1rem; font-size:.875rem; font-weight:600; color:var(--vf-text); text-decoration:none; border-bottom:2px solid transparent; }.vf-product-tabs__list [aria-selected=true] { border-color:var(--vf-green-600); color:var(--vf-green-700); background:white; }.vf-product-tabs__panel { padding:1.5rem; font-size:.95rem; }.vf-product-tabs__panel h2,.vf-product-tabs__panel h3 { font-family:var(--vf-font-sans); font-size:1.1rem; }.vf-product-tabs--enhanced .vf-product-panel-heading { display:none; }.vf-product-tabs__panel p { margin-top:0; }.vf-product-highlights { display:flex; flex-wrap:wrap; gap:.75rem; padding:0; list-style:none; margin:1rem 0 0; }.vf-product-highlights li { display:flex; gap:.5rem; align-items:center; border-radius:.6rem; background:var(--vf-cream); padding:.75rem; color:var(--vf-green-700); font-size:.8rem; }
.vf-crop-video { padding:1rem; background:var(--vf-off-white); box-shadow:none; }.vf-crop-video h2,.vf-product-benefits h2,.vf-product-related h2 { font:600 1.2rem var(--vf-font-sans); margin:0 0 1rem; }.vf-crop-video__media { aspect-ratio:16 / 9; background:var(--vf-cream); border-radius:.65rem; overflow:hidden; display:grid; position:relative; place-items:center; }.vf-crop-video__media > img { position:absolute; width:100%; height:100%; object-fit:cover; }.vf-crop-video__media .vf-button { position:relative; background:white; }.vf-crop-video__media iframe { width:100%; height:100%; border:0; }
.vf-product-benefits { padding:1.5rem; background:var(--vf-off-white); box-shadow:none; }.vf-product-benefits ul { padding:0; list-style:none; margin:0; }.vf-product-benefits li { display:flex; align-items:center; gap:.75rem; margin:.75rem 0; }.vf-product-benefits svg { color:var(--vf-green-700); flex-shrink:0; }.vf-product-reviews { min-width:0; }.vf-product-reviews #reviews #comments h2 { font:600 1.2rem var(--vf-font-sans); }.vf-product-reviews #reviews #comments ol.commentlist { padding:0; }.vf-product-reviews #reviews #comments ol.commentlist li .comment-text { border-radius:var(--vf-radius-lg); padding:1rem; }.vf-product-reviews #review_form_wrapper { padding:1rem; border:1px solid var(--vf-border); border-radius:var(--vf-radius-lg); }.vf-product-reviews #review_form #respond textarea { border:1px solid var(--vf-border-strong); border-radius:.5rem; padding:.5rem; }.vf-product-reviews #review_form #respond input { max-width:100%; }.vf-product-reviews .star-rating { color:var(--vf-green-700); }
.vf-product-related { margin:2rem 0; }.vf-product-related__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }.vf-product-related__grid .vf-product-card__body { padding:.85rem; }.vf-single-product .vf-product-related__grid h3 { font-family:var(--vf-font-sans); }
@media(max-width:70rem) { .vf-product-main { gap:1.25rem; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.vf-farmer-card { grid-column:2; }.vf-product-delivery { grid-column:1 / -1; }.vf-gallery { grid-row:1 / 3; }.vf-product-secondary { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); } }
@media(max-width:48rem) { .vf-product-tools { margin:0 0 .75rem; }.vf-product-main,.vf-product-secondary { display:flex; flex-direction:column; gap:1.25rem; }.vf-product-main > *,.vf-product-secondary > * { width:100%; }.vf-gallery__stage { aspect-ratio:1.2; }.vf-product-details h1 { font-size:1.85rem; }.vf-product-delivery { flex-wrap:wrap; }.vf-product-delivery .vf-button { width:100%; }.vf-farmer-card__photo { width:7rem; height:7rem; }.vf-product-tabs__panel { padding:1.1rem; }.vf-product-related__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.vf-product-actions { gap:.65rem; }.vf-product-facts { padding:.75rem; }.vf-product-secondary { margin-top:1.25rem; }.vf-product-reviews #reviews #comments ol.commentlist li .comment-text { margin-left:3rem; } }
@media(max-width:360px) { .vf-product-related__grid { grid-template-columns:1fr; }.vf-product-quantity-row { flex-wrap:wrap; gap:.5rem; } }
.vf-product-tabs--enhanced #vf-panel-description > h2 { display:none; }
.vf-basket-bar-wrap { bottom:max(.5rem,env(safe-area-inset-bottom)); }
.vf-card-status:not(.vf-sr-only) { color:var(--vf-green-700); }
.vf-card-status[data-vf-feedback="error"] { color:var(--vf-error); background:var(--vf-error-surface); }
.vf-cart-feedback { position:fixed; z-index:100; top:6rem; left:50%; transform:translateX(-50%); width:min(38rem,calc(100% - 2rem)); box-shadow:var(--vf-shadow-sm); display:flex; align-items:center; gap:1rem; }
.vf-cart-feedback > span { flex:1; }.vf-cart-feedback .vf-icon-button { flex-shrink:0; }
@media(max-width:48rem) { .vf-cart-feedback { top:5rem; } }
/* Basket cards and checkout location choices. */
.vf-basket-item__quantity input[type=number] { appearance:textfield; flex:1 1 0; width:0; min-width:2rem; padding:0; }
.vf-basket-item__quantity input::-webkit-inner-spin-button,.vf-basket-item__quantity input::-webkit-outer-spin-button { appearance:none; margin:0; }
.vf-basket-item__quantity button { flex:0 0 auto; }
.vf-basket-summary .wc-proceed-to-checkout a.checkout-button::after { content:none; }
.vf-location-selection { border:0; margin:0; padding:0; min-width:0; }.vf-location-selection legend { font-family:var(--vf-font-serif); font-size:1.5rem; padding:0; }.vf-location-selection > p { font-size:.875rem; }.vf-location-card { margin-bottom:.75rem; align-items:flex-start; }.vf-location-card > span { min-width:0; }.vf-location-card strong,.vf-location-card > span > span,.vf-location-card small { display:block; }.vf-location-card strong { font-size:.95rem; }.vf-location-card small,.vf-location-card > span > span { font-size:.875rem; line-height:1.5; margin-top:.15rem; }
.vf-basket-page { padding-top:2rem; padding-bottom:8rem; }.vf-basket-page h1 { margin:0 0 .5rem; font-size:clamp(2.25rem,4vw,3rem); }.vf-basket-page .vf-eyebrow { margin:0 0 .25rem; color:var(--vf-green-900); }.vf-basket-intro { font-size:.95rem; max-width:28rem; margin:0 0 1.75rem; line-height:1.6; }
.vf-basket-layout { display:grid; grid-template-columns:minmax(0,2.2fr) minmax(17rem,1fr); gap:2.5rem; align-items:start; }.vf-basket-items { min-width:0; }.vf-basket-form { margin:0; }.vf-basket-item { display:grid; grid-template-columns:6rem minmax(0,1fr) 9rem 4.5rem 44px; align-items:center; gap:1rem; padding:.5rem .75rem .5rem .5rem; margin-bottom:.75rem; background:var(--vf-surface); border:1px solid var(--vf-border); border-radius:.8rem; }
.vf-basket-item__image { height:6rem; border-radius:.55rem; overflow:hidden; }.vf-basket-item__image img { width:100%; height:100%; object-fit:cover; display:block; }.vf-basket-item__image a { display:block; height:100%; }.vf-basket-item__details h2 { font:600 .95rem var(--vf-font-sans); margin:0 0 .35rem; }.vf-basket-item__details h2 a { text-decoration:none; color:var(--vf-text); }.vf-basket-item__price { margin:0; font-size:.875rem; }.vf-basket-item__details dl.variation { font-size:.75rem; }.vf-basket-item__availability { color:var(--vf-green-700); font-size:.75rem; margin:.5rem 0 0; }.vf-basket-item__quantity { width:9rem; }.vf-basket-item__quantity input { min-width:1.5rem; }.vf-basket-item__total { font-size:.95rem; text-align:right; white-space:nowrap; }.vf-basket-item__remove { color:var(--vf-text-muted); border:0; text-decoration:none; }.vf-basket-item__remove:hover { color:var(--vf-error); background:var(--vf-error-surface); }.vf-basket-item__remove[aria-disabled=true] { opacity:.5; cursor:wait; }.vf-basket-item__remove svg { width:20px; height:20px; }.vf-basket-item__quantity [aria-busy=true] { background:var(--vf-cream); }
.vf-basket-information { display:flex; gap:1rem; align-items:center; margin:1.25rem 0; padding:1rem; font-size:.875rem; background:var(--vf-cream); border:0; }.vf-basket-information > span { color:var(--vf-green-700); font-size:1.25rem; }.vf-basket-continue { text-decoration:none; font-size:.875rem; color:var(--vf-green-900); }.vf-basket-update { margin:.5rem 0 1rem; }
.vf-basket-summary { padding:1.5rem; border-color:var(--vf-border); }.vf-basket-summary h2 { font:600 1.2rem var(--vf-font-serif); margin:0 0 1.25rem; }.vf-basket-totals { margin:0; font-size:.875rem; }.vf-basket-totals > div { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1.25rem; }.vf-basket-totals dt { flex:1; }.vf-basket-totals dd { margin:0; text-align:right; }.vf-basket-totals dd small { display:block; font-size:.75rem; font-weight:400; }.vf-basket-totals__total { border-top:1px solid var(--vf-border); padding-top:1rem; color:var(--vf-green-900); font-size:1.15rem; font-family:var(--vf-font-serif); font-weight:600; }.vf-basket-delivery-note { font-size:.8rem; padding:.85rem; background:var(--vf-cream); border-color:var(--vf-border); margin:1rem 0; }
.woocommerce .vf-basket-summary .wc-proceed-to-checkout { padding:0; }.woocommerce .vf-basket-summary .wc-proceed-to-checkout a.checkout-button { display:flex; align-items:center; justify-content:center; background:var(--vf-green-600); color:white; border-radius:.6rem; min-height:48px; font-size:.9rem; margin:0; padding:.75rem; text-decoration:none; }.woocommerce .vf-basket-summary .wc-proceed-to-checkout a.checkout-button:hover { background:var(--vf-green-700); }.vf-basket-summary .wc-proceed-to-checkout a.checkout-button::after { content:none; }.vf-basket-benefits { padding:0; margin:1.5rem 0 0; list-style:none; }.vf-basket-benefits li { display:flex; align-items:center; gap:.75rem; font-size:.8rem; margin:.9rem 0; }.vf-basket-benefits svg { color:var(--vf-green-600); width:22px; height:22px; }
.vf-basket-coupons { margin-top:1rem; font-size:.875rem; }.vf-basket-coupons summary { cursor:pointer; padding:.5rem 0; }.vf-basket-coupons form { margin-top:.5rem; display:grid; gap:.5rem; }.vf-basket-coupons input { width:100%; min-height:44px; padding:.5rem; border:1px solid var(--vf-border-strong); border-radius:.4rem; }.vf-basket-applied-coupon { font-size:.75rem; margin:.5rem 0; }.vf-basket-applied-coupon a { margin-left:.5rem; }.vf-empty-basket { text-align:center; max-width:42rem; margin:1rem auto; padding:3rem 1.5rem; }.vf-empty-basket__icon { color:var(--vf-green-600); }.vf-empty-basket__icon svg { width:48px; height:48px; }.vf-empty-basket h2 { font-size:1.75rem; }.vf-basket-mobile-summary { display:none; }
@media(max-width:75rem) { .vf-basket-layout { grid-template-columns:minmax(0,2fr) minmax(16rem,1fr); gap:1.5rem; }.vf-basket-item { grid-template-columns:5rem minmax(0,1fr) 8rem 4rem 44px; gap:.5rem; }.vf-basket-item__image { height:5rem; }.vf-basket-item__quantity { width:8rem; }.vf-basket-summary { padding:1rem; } }
@media(max-width:60rem) { .vf-basket-item { grid-template-columns:5rem minmax(0,1fr) 4rem 44px; grid-template-areas:'image details details remove' 'image quantity total remove'; }.vf-basket-item__image { grid-area:image; }.vf-basket-item__details { grid-area:details; }.vf-basket-item__quantity { grid-area:quantity; }.vf-basket-item__total { grid-area:total; }.vf-basket-item__remove { grid-area:remove; } }
@media(max-width:48rem) { .vf-basket-page { padding-top:1.25rem; }.vf-basket-layout { display:block; }.vf-basket-page h1 { font-size:2rem; }.vf-basket-intro { font-size:.875rem; max-width:24rem; margin-bottom:1rem; }.vf-basket-item { grid-template-columns:5rem minmax(0,1fr) auto 32px; gap:.35rem .5rem; border-radius:.75rem; padding:.35rem; grid-template-areas:'image details details details' 'image quantity total remove'; }.vf-basket-item__image { height:5rem; }.vf-basket-item__details h2 { font-size:.9rem; margin-bottom:.25rem; }.vf-basket-item__price { font-size:.8rem; }.vf-basket-item__availability { display:none; }.vf-basket-item__quantity { width:8rem; font-size:.8rem; min-height:44px; }.vf-basket-item__quantity input { width:2.3rem; padding:0; }.vf-basket-item__quantity button { min-width:32px; width:32px; padding:0; }.vf-basket-item__quantity .vf-quantity__unit { margin:0; font-size:.75rem; }.vf-basket-item__total { font-size:.85rem; }.vf-basket-item__remove { min-width:32px; width:32px; min-height:44px; color:var(--vf-error); }.vf-basket-information { font-size:.8rem; margin:1rem 0; }.vf-basket-summary { margin-top:1.5rem; padding:1.25rem; }.vf-basket-mobile-summary { display:block; }.vf-basket-benefits { display:flex; flex-direction:column; gap:.4rem; }.vf-basket-benefits li { margin:0; }.vf-location-card { padding:.85rem; } }
@media(max-width:360px) { .vf-basket-item { grid-template-columns:4rem minmax(0,1fr) auto 26px; column-gap:.35rem; }.vf-basket-item__image { height:4.8rem; }.vf-basket-item__quantity { width:7rem; }.vf-basket-item__quantity button { width:28px; min-width:28px; }.vf-basket-item__total { font-size:.8rem; }.vf-basket-item__remove { width:26px; min-width:26px; }.vf-basket-item__details h2 { font-size:.85rem; } }
/* Harvest offerings share the native card layout and global container. */
.vf-site .vf-harvest-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;}
.vf-site .vf-current-harvest {margin-block:1.5rem;padding:1.25rem;border:1px solid var(--vf-border,#dbe3d5);border-radius:1rem;}
.vf-site .vf-current-harvest dl {display:grid;gap:.65rem;margin-block:1rem;}
.vf-site .vf-current-harvest dl>div {display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;}
.vf-site .vf-current-harvest dd {margin:0;}
.vf-site .vf-current-harvest select {max-width:100%;margin-block:.75rem;}
.vf-site .vf-harvest-card {min-width:0;}
.vf-site .vf-harvest-filters {display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-block:1.5rem;}
.vf-site .vf-harvest-filters label {display:grid;gap:.4rem;min-width:0;}
.vf-site .vf-harvest-filters select {max-width:100%;}
@media(max-width:1024px){.vf-site .vf-harvest-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:768px){.vf-site .vf-harvest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}}
@media(max-width:480px){.vf-site .vf-harvest-grid{grid-template-columns:minmax(0,1fr);}}
