/**
 * Farm Hub public UI (shortcodes/widgets).
 *
 * Scope everything to Farm Hub wrappers to avoid theme conflicts.
 */

:root {
	--fh-border: rgba(17, 17, 17, 0.12);
	--fh-muted: rgba(17, 17, 17, 0.72);
	--fh-bg: #fff;
	--fh-surface: #f6f7f7;
	--fh-radius: 12px;
	--fh-accent: #2d6a4f;
	--fh-accent-hover: #1b4332;
}

#farm-hub-checkout {
	scroll-margin-top: 24px;
}

.farm-hub-cart,
.farm-hub-checkout,
.farm-hub-driver-app {
	max-width: 920px;
	margin: 18px auto;
	padding: 16px;
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
}

/* Full-width cart + checkout flows use the theme content area instead of ~920px. */
.farm-hub-cart.farm-hub-cart--wide {
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
}

.farm-hub-checkout.farm-hub-checkout-app {
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
}

.farm-hub-form {
	max-width: 560px;
	margin: 24px auto;
	padding: 28px 24px;
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	box-sizing: border-box;
}

.farm-hub-cart h2,
.farm-hub-checkout h2,
.farm-hub-form h2,
.farm-hub-driver-app h2 {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1.25;
}

.farm-hub-cart p,
.farm-hub-checkout p,
.farm-hub-form p,
.farm-hub-driver-app p {
	color: var(--fh-muted);
}

.farm-hub-cart table,
.farm-hub-checkout table {
	width: 100%;
	border-collapse: collapse;
	margin: 10px 0 14px;
}

.farm-hub-cart th,
.farm-hub-cart td,
.farm-hub-checkout th,
.farm-hub-checkout td {
	text-align: left;
	border-bottom: 1px solid var(--fh-border);
	padding: 10px 8px;
	vertical-align: top;
}

.farm-hub-cart thead th,
.farm-hub-checkout thead th {
	font-weight: 700;
	color: rgba(17, 17, 17, 0.9);
}

.farm-hub-cart input[type="text"],
.farm-hub-cart input[type="email"],
.farm-hub-cart input[type="number"],
.farm-hub-checkout input[type="text"],
.farm-hub-checkout input[type="email"],
.farm-hub-checkout input[type="number"],
.farm-hub-checkout select,
.farm-hub-form input[type="text"],
.farm-hub-form input[type="email"],
.farm-hub-form input[type="tel"],
.farm-hub-form select,
.farm-hub-form textarea {
	width: 100%;
	max-width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--fh-border);
	border-radius: 10px;
	background: #fff;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1.4;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.farm-hub-form input:focus,
.farm-hub-form select:focus,
.farm-hub-form textarea:focus {
	outline: none;
	border-color: var(--fh-accent);
	box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.12);
}

.farm-hub-form textarea {
	min-height: 100px;
	resize: vertical;
}

.farm-hub-cart button,
.farm-hub-checkout button {
	padding: 10px 14px;
	border-radius: 10px;
	border: 1px solid rgba(17, 17, 17, 0.18);
	background: #111;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
}

.farm-hub-form button {
	width: 100%;
	padding: 14px 20px;
	border-radius: 10px;
	border: none;
	background: var(--fh-accent);
	color: #fff;
	cursor: pointer;
	font-weight: 600;
	font-size: 16px;
	transition: background 0.2s, transform 0.1s;
}

.farm-hub-cart button:hover,
.farm-hub-checkout button:hover {
	filter: brightness(1.05);
}

.farm-hub-form button:hover {
	background: var(--fh-accent-hover);
	transform: translateY(-1px);
}

.farm-hub-cart button[type="submit"],
.farm-hub-checkout button[type="submit"] {
	width: auto;
}

.farm-hub-cart-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin: 16px 0;
}

/* Cart page - reuses Order Review + Order Summary styling */
.farm-hub-cart h2 {
	margin: 0 0 20px;
	font-size: 1.5rem;
	font-weight: 700;
	color: rgba(17, 17, 17, 0.95);
}

.farm-hub-cart-alerts {
	margin-bottom: 20px;
	padding: 14px 18px;
	background: #fef3cd;
	border: 1px solid rgba(179, 132, 0, 0.3);
	border-radius: var(--fh-radius);
}

.farm-hub-cart-alert {
	margin: 0 0 8px;
	font-size: 0.95rem;
	color: #856404;
}

.farm-hub-cart-alert:last-child {
	margin-bottom: 0;
}

.farm-hub-cart-page {
	margin: 18px auto;
	max-width: 100%;
	width: 100%;
	padding: 0 16px;
	box-sizing: border-box;
}

.farm-hub-cart-page .farm-hub-review-order-totals {
	display: none;
}

.farm-hub-cart-update-btn {
	display: block;
	width: 100%;
	padding: 12px 20px;
	margin-top: 16px;
	border-radius: 10px;
	border: 1px solid rgba(17, 17, 17, 0.2);
	background: var(--fh-storefront-secondary-bg, #111);
	color: var(--fh-storefront-secondary-text, #fff);
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	transition: filter 0.2s;
}

.farm-hub-cart-update-btn:hover {
	filter: brightness(1.08);
}

/* Checkout Order Review: match cart “Update cart” button */
.farm-hub-checkout .farm-hub-review-order-block .farm-hub-cart-update-btn.farm-hub-review-update-btn {
	display: block;
	width: 100%;
	padding: 12px 20px;
	margin-top: 16px;
	margin-bottom: 0;
	border-radius: 10px;
	border: 1px solid rgba(17, 17, 17, 0.2);
	background: var(--fh-storefront-secondary-bg, #111);
	color: var(--fh-storefront-secondary-text, #fff);
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	transition: filter 0.2s;
}

.farm-hub-checkout .farm-hub-review-order-block .farm-hub-cart-update-btn.farm-hub-review-update-btn:hover {
	filter: brightness(1.08);
}

.farm-hub-checkout .farm-hub-review-order-block .farm-hub-review-coupon {
	margin-top: 20px;
}

.farm-hub-cart-sidebar-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 16px;
}

.farm-hub-cart-proceed-btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 14px 20px;
	border-radius: 10px;
	background: var(--fh-checkout-green);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s;
}

.farm-hub-cart-proceed-btn:hover {
	background: var(--fh-checkout-green-hover);
	color: #fff;
}

.farm-hub-cart-page .farm-hub-return-to-shop {
	display: block;
	text-align: center;
	padding: 10px;
	color: var(--fh-checkout-muted);
	text-decoration: none;
	font-size: 14px;
	transition: color 0.2s;
}

.farm-hub-cart-page .farm-hub-return-to-shop:hover {
	color: var(--fh-checkout-text);
}

.farm-hub-cart-clear-form {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--fh-checkout-border);
}

.farm-hub-cart-clear-btn {
	padding: 8px 0;
	border: none;
	background: transparent;
	color: var(--fh-checkout-muted);
	font-size: 14px;
	text-decoration: underline;
	cursor: pointer;
	transition: color 0.2s;
}

.farm-hub-cart-clear-btn:hover {
	color: #b32d2e;
}

.farm-hub-cart-page .farm-hub-checkout-disclaimer {
	margin-bottom: 0;
}

/*
 * Cart only: stack Order Summary under Order Review on tablets / small laptops
 * so the review column stays full width. Checkout keeps side-by-side from 768px.
 */
@media (min-width: 768px) and (max-width: 1199px) {
	.farm-hub-cart-page .farm-hub-checkout-layout {
		flex-direction: column;
	}

	.farm-hub-cart-page .farm-hub-checkout-sidebar {
		flex: none;
		width: 100%;
		max-width: none;
		position: static;
	}
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.farm-hub-btn-checkout {
	display: inline-flex;
	align-items: center;
	padding: 12px 24px;
	border-radius: 10px;
	background: var(--fh-accent);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s, transform 0.1s;
}

.farm-hub-btn-checkout:hover {
	background: var(--fh-accent-hover);
	color: #fff;
	transform: translateY(-1px);
}

/* Cart CTA uses both classes; .farm-hub-btn-checkout above would otherwise win on background. */
.farm-hub-btn-checkout.farm-hub-cart-proceed-btn {
	background: var(--fh-checkout-green);
	transform: none;
}

.farm-hub-btn-checkout.farm-hub-cart-proceed-btn:hover {
	background: var(--fh-checkout-green-hover);
	color: #fff;
	transform: none;
}

/* Login block */
.farm-hub-login-block {
	padding: 16px;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
	margin-bottom: 20px;
}

.farm-hub-login-block p {
	margin: 0 0 8px;
}

.farm-hub-login-block p:last-child {
	margin-bottom: 0;
}

.farm-hub-checkout-guest-note {
	font-style: italic;
	color: var(--fh-muted);
	margin-top: 12px;
}

/* Review order block */
.farm-hub-review-order-block {
	margin-bottom: 20px;
}

.farm-hub-review-order-table-wrap {
	max-width: 100%;
	overflow-x: auto;
	margin-bottom: 16px;
	-webkit-overflow-scrolling: touch;
}

.farm-hub-review-order-tax-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 12px 10px;
	margin: 0 0 12px;
	border-bottom: 1px solid var(--fh-border);
	font-weight: 600;
}

.farm-hub-review-order-tax-label {
	color: rgba(17, 17, 17, 0.85);
}

.farm-hub-review-order-tax-value {
	font-variant-numeric: tabular-nums;
}

/* Cart / review: total label + amount on one line */
.farm-hub-review-order-cart-total {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--fh-border);
}

.farm-hub-review-order-cart-total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
}

.farm-hub-review-order-cart-total-row + .farm-hub-review-order-cart-total-row {
	margin-top: 8px;
}

.farm-hub-review-order-cart-total-label {
	font-size: 15px;
}

.farm-hub-review-order-cart-total-value {
	font-size: 15px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.farm-hub-review-order-cart-total-row--secondary .farm-hub-review-order-cart-total-label {
	font-weight: 500;
}

/* Cart: primary actions in Order Review */
.farm-hub-review-cart-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
	margin-top: 16px;
}

.farm-hub-review-cart-actions .farm-hub-cart-update-btn,
.farm-hub-review-cart-actions .farm-hub-cart-proceed-btn {
	flex: 1 1 200px;
	margin-top: 0;
	width: auto;
	box-sizing: border-box;
}

.farm-hub-review-cart-actions .farm-hub-cart-update-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.farm-hub-review-cart-actions .farm-hub-cart-proceed-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 480px) {
	.farm-hub-review-cart-actions {
		flex-direction: column;
	}

	.farm-hub-review-cart-actions .farm-hub-cart-update-btn,
	.farm-hub-review-cart-actions .farm-hub-cart-proceed-btn {
		flex: none;
		width: 100%;
	}
}

.farm-hub-review-order-table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}

.farm-hub-review-order-table th,
.farm-hub-review-order-table td {
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid var(--fh-border);
}

.farm-hub-review-order-table th {
	font-weight: 600;
	color: rgba(17, 17, 17, 0.9);
}

.farm-hub-review-order-table td.farm-hub-review-product {
	vertical-align: top;
	min-width: 0;
}

.farm-hub-review-order-table th:nth-child(2),
.farm-hub-review-order-table td:nth-child(2) {
	width: 6.75rem;
	white-space: nowrap;
	text-align: right;
}

.farm-hub-review-order-table th:nth-child(3),
.farm-hub-review-order-table td:nth-child(3) {
	width: 5rem;
	text-align: center;
}

.farm-hub-review-order-table th:nth-child(4),
.farm-hub-review-order-table td:nth-child(4) {
	width: 6rem;
	white-space: nowrap;
	text-align: right;
}

.farm-hub-review-order-table th:nth-child(5),
.farm-hub-review-order-table td:nth-child(5) {
	width: 3.75rem;
	padding-left: 6px;
	padding-right: 6px;
	text-align: center;
	vertical-align: middle;
}

/*
 * Review/cart qty: must beat `.farm-hub-cart input[type="number"]` / checkout equivalents
 * (width: 100%) so the field keeps a stable width on narrow columns; hide spinners so
 * the value is not squeezed off-screen on mobile.
 */
.farm-hub-cart .farm-hub-review-order-table .farm-hub-review-qty,
.farm-hub-checkout .farm-hub-review-order-table .farm-hub-review-qty {
	width: 4.5rem;
	min-width: 4.5rem;
	max-width: 7rem;
	padding: 8px 10px;
	border: 1px solid var(--fh-border);
	border-radius: 8px;
	text-align: center;
	box-sizing: border-box;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	color: #111;
	background: #fff;
	-moz-appearance: textfield;
	appearance: textfield;
}

.farm-hub-cart .farm-hub-review-order-table .farm-hub-review-qty::-webkit-outer-spin-button,
.farm-hub-cart .farm-hub-review-order-table .farm-hub-review-qty::-webkit-inner-spin-button,
.farm-hub-checkout .farm-hub-review-order-table .farm-hub-review-qty::-webkit-outer-spin-button,
.farm-hub-checkout .farm-hub-review-order-table .farm-hub-review-qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.farm-hub-review-product-inner {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-width: 0;
}

.farm-hub-review-product-link,
.farm-hub-review-product-main {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	flex: 1;
	min-width: 0;
	text-decoration: none;
	color: inherit;
	outline-offset: 2px;
}

.farm-hub-review-product-link:hover .farm-hub-review-product-title {
	text-decoration: underline;
}

.farm-hub-review-product-thumb {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
}

.farm-hub-review-product-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.farm-hub-review-product-thumb--placeholder {
	background: linear-gradient(145deg, var(--fh-surface) 20%, rgba(0, 0, 0, 0.06) 100%);
}

.farm-hub-review-product-text {
	min-width: 0;
	flex: 1;
	line-height: 1.35;
}

.farm-hub-review-product-title {
	font-weight: 500;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.farm-hub-review-product-inner > .farm-hub-payments-btn {
	flex-shrink: 0;
	align-self: flex-start;
	margin-left: 0;
}

@media (max-width: 1200px) {
	.farm-hub-review-product-inner {
		flex-wrap: wrap;
	}

	.farm-hub-review-product-inner > .farm-hub-payments-btn {
		flex: 0 1 auto;
	}
}

.farm-hub-review-remove {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--fh-border);
	border-radius: 50%;
	background: #fff;
	color: #b32d2e;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.farm-hub-review-remove:hover {
	background: #fee;
	color: #8b0000;
}

.farm-hub-review-order-totals {
	padding: 16px;
	background: var(--fh-surface);
	border-radius: var(--fh-radius);
	margin-bottom: 16px;
}

.farm-hub-review-order-totals p {
	margin: 0 0 6px;
}

.farm-hub-review-order-totals p:last-child {
	margin-bottom: 0;
}

/*
 * Cart / checkout order review: from tablet down, stack labeled rows so the remove control
 * and payment actions are never clipped beside the sidebar layout.
 * From 721px–1024px, keep the product block full width but place price, qty, total, and
 * remove on one row (iPad-sized cart/checkout).
 */
@media (max-width: 1024px) {
	.farm-hub-review-order-table-wrap {
		overflow-x: visible;
		-webkit-overflow-scrolling: auto;
	}

	.farm-hub-review-order-table {
		border-collapse: separate;
		border-spacing: 0;
	}

	.farm-hub-review-order-table thead {
		display: none;
	}

	.farm-hub-review-order-table tbody {
		display: block;
	}

	.farm-hub-review-order-table tbody tr {
		display: block;
		padding: 14px 12px;
		margin-bottom: 12px;
		border: 1px solid var(--fh-ua-border, var(--fh-border));
		border-radius: var(--fh-ua-radius, var(--fh-radius));
		background: var(--fh-ua-surface, var(--fh-surface));
	}

	.farm-hub-review-order-table tbody tr:last-child {
		margin-bottom: 0;
	}

	.farm-hub-review-order-table tbody td {
		display: block;
		padding: 0;
		border: none;
		text-align: left;
		width: 100%;
		box-sizing: border-box;
	}

	.farm-hub-review-order-table tbody td + td {
		margin-top: 10px;
		padding-top: 10px;
		border-top: 1px solid var(--fh-ua-border, var(--fh-border));
	}

	.farm-hub-review-order-table tbody td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.6875rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--fh-ua-muted, var(--fh-muted));
		margin-bottom: 4px;
	}

	.farm-hub-cart .farm-hub-review-order-table .farm-hub-review-qty,
	.farm-hub-checkout .farm-hub-review-order-table .farm-hub-review-qty {
		width: 100%;
		max-width: 7rem;
		display: block;
	}
}

/* Tablet / iPad: one row for price, qty, total, remove under the product block */
@media (min-width: 721px) and (max-width: 1024px) {
	.farm-hub-review-order-table tbody tr {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 10px;
		align-items: start;
	}

	.farm-hub-review-order-table tbody td:nth-child(1) {
		grid-column: 1 / -1;
		width: auto;
		margin-bottom: 0;
		padding-bottom: 10px;
		border-bottom: 1px solid var(--fh-ua-border, var(--fh-border));
	}

	.farm-hub-review-order-table tbody td:nth-child(2) {
		grid-column: 1;
	}

	.farm-hub-review-order-table tbody td:nth-child(3) {
		grid-column: 2;
	}

	.farm-hub-review-order-table tbody td:nth-child(4) {
		grid-column: 3;
	}

	.farm-hub-review-order-table tbody td:nth-child(5) {
		grid-column: 4;
	}

	.farm-hub-review-order-table tbody td:nth-child(2),
	.farm-hub-review-order-table tbody td:nth-child(3),
	.farm-hub-review-order-table tbody td:nth-child(4),
	.farm-hub-review-order-table tbody td:nth-child(5) {
		width: auto;
		min-width: 0;
	}

	.farm-hub-review-order-table tbody td + td {
		margin-top: 0;
		padding-top: 0;
		border-top: none;
	}

	.farm-hub-review-order-table tbody td:nth-child(2) {
		text-align: right;
	}

	.farm-hub-review-order-table tbody td:nth-child(3) {
		text-align: center;
	}

	.farm-hub-review-order-table tbody td:nth-child(4) {
		text-align: right;
	}

	.farm-hub-review-order-table tbody td:nth-child(5) {
		text-align: center;
	}

	.farm-hub-cart .farm-hub-review-order-table .farm-hub-review-qty,
	.farm-hub-checkout .farm-hub-review-order-table .farm-hub-review-qty {
		width: 4.5rem;
		min-width: 4.5rem;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

/*
 * Customer-facing data tables: stack into labeled blocks on small viewports.
 * Cells must expose data-label (see shortcodes). Avoids horizontal panning on phones.
 */
@media (max-width: 720px) {
	.farm-hub-user-account__table-wrap,
	.farm-hub-wallet__table-wrap,
	.farm-hub-payment-plans__table-wrap,
	.farm-hub-order-receipt__table-wrap,
	.farm-hub-coupons__table-wrap {
		overflow-x: visible;
		-webkit-overflow-scrolling: auto;
	}

	.farm-hub-payment-plans__table {
		min-width: 0;
	}

	.farm-hub-order-receipt__table,
	.farm-hub-user-account__table,
	.farm-hub-wallet__table,
	.farm-hub-refund-modal__items,
	.farm-hub-coupons__table,
	.farm-hub-plan-schedule-table {
		border-collapse: separate;
		border-spacing: 0;
	}

	.farm-hub-order-receipt__table thead,
	.farm-hub-user-account__table thead,
	.farm-hub-wallet__table thead,
	.farm-hub-refund-modal__items thead,
	.farm-hub-coupons__table thead,
	.farm-hub-plan-schedule-table thead {
		display: none;
	}

	.farm-hub-order-receipt__table tbody,
	.farm-hub-user-account__table tbody,
	.farm-hub-wallet__table tbody,
	.farm-hub-refund-modal__items tbody,
	.farm-hub-coupons__table tbody,
	.farm-hub-plan-schedule-table tbody {
		display: block;
	}

	.farm-hub-order-receipt__table tbody tr,
	.farm-hub-user-account__table tbody tr,
	.farm-hub-wallet__table tbody tr,
	.farm-hub-refund-modal__items tbody tr,
	.farm-hub-coupons__table tbody tr,
	.farm-hub-plan-schedule-table tbody tr {
		display: block;
		padding: 14px 12px;
		margin-bottom: 12px;
		border: 1px solid var(--fh-ua-border, var(--fh-border));
		border-radius: var(--fh-ua-radius, var(--fh-radius));
		background: var(--fh-ua-surface, var(--fh-surface));
	}

	.farm-hub-order-receipt__table tbody tr:last-child,
	.farm-hub-user-account__table tbody tr:last-child,
	.farm-hub-wallet__table tbody tr:last-child,
	.farm-hub-refund-modal__items tbody tr:last-child,
	.farm-hub-coupons__table tbody tr:last-child,
	.farm-hub-plan-schedule-table tbody tr:last-child {
		margin-bottom: 0;
	}

	.farm-hub-order-receipt__table tbody td,
	.farm-hub-user-account__table tbody td,
	.farm-hub-wallet__table tbody td,
	.farm-hub-refund-modal__items tbody td,
	.farm-hub-coupons__table tbody td,
	.farm-hub-plan-schedule-table tbody td {
		display: block;
		padding: 0;
		border: none;
		text-align: left;
		width: 100%;
		box-sizing: border-box;
	}

	.farm-hub-order-receipt__table tbody td + td,
	.farm-hub-user-account__table tbody td + td,
	.farm-hub-wallet__table tbody td + td,
	.farm-hub-refund-modal__items tbody td + td,
	.farm-hub-coupons__table tbody td + td,
	.farm-hub-plan-schedule-table tbody td + td {
		margin-top: 10px;
		padding-top: 10px;
		border-top: 1px solid var(--fh-ua-border, var(--fh-border));
	}

	.farm-hub-order-receipt__table tbody td::before,
	.farm-hub-user-account__table tbody td::before,
	.farm-hub-wallet__table tbody td::before,
	.farm-hub-refund-modal__items tbody td::before,
	.farm-hub-coupons__table tbody td::before,
	.farm-hub-plan-schedule-table tbody td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.6875rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--fh-ua-muted, var(--fh-muted));
		margin-bottom: 4px;
	}

	.farm-hub-order-receipt__table tfoot,
	.farm-hub-user-account__table tfoot {
		display: block;
	}

	.farm-hub-order-receipt__table tfoot tr,
	.farm-hub-user-account__table tfoot tr {
		display: block;
		padding: 14px 12px;
		margin-top: 12px;
		border: 1px solid var(--fh-ua-border, var(--fh-border));
		border-radius: var(--fh-ua-radius, var(--fh-radius));
		background: rgba(45, 106, 79, 0.06);
	}

	.farm-hub-order-receipt__table tfoot td,
	.farm-hub-user-account__table tfoot td {
		display: block;
		padding: 0;
		border: none;
		text-align: left;
		width: 100%;
		box-sizing: border-box;
	}

	.farm-hub-order-receipt__table tfoot td + td,
	.farm-hub-user-account__table tfoot td + td {
		margin-top: 10px;
		padding-top: 10px;
		border-top: 1px solid var(--fh-ua-border, var(--fh-border));
	}

	.farm-hub-order-receipt__table tfoot td::before,
	.farm-hub-user-account__table tfoot td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.6875rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--fh-ua-muted, var(--fh-muted));
		margin-bottom: 4px;
	}

	.farm-hub-installment-schedule__foot-skip {
		display: none !important;
	}

	.farm-hub-plan-schedule-table tfoot,
	.farm-hub-plan-schedule-table tfoot tr,
	.farm-hub-plan-schedule-table tfoot td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.farm-hub-plan-schedule-table tfoot tr {
		padding: 12px 10px;
		margin-top: 10px;
		border: 1px solid #eee;
		border-radius: 8px;
		background: #fafafa;
	}

	.farm-hub-plan-schedule-table tfoot td {
		padding: 4px 0;
		border: none;
	}

	.farm-hub-plan-schedule-table tfoot td + td {
		margin-top: 8px;
		padding-top: 8px;
		border-top: 1px solid #eee;
	}

	.farm-hub-plan-schedule-table tfoot td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.65rem;
		font-weight: 600;
		text-transform: uppercase;
		color: #666;
		margin-bottom: 4px;
	}
}

.farm-hub-review-coupon {
	margin-bottom: 16px;
}

.farm-hub-coupon-field-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin-bottom: 8px;
}

.farm-hub-review-coupon .farm-hub-coupon-input {
	width: 160px;
	min-width: 120px;
	padding: 10px 14px;
	border: 1px solid var(--fh-border);
	border-radius: 10px;
	font-size: 15px;
}

.farm-hub-review-coupon .farm-hub-coupon-apply-btn {
	padding: 10px 18px;
	border-radius: 10px;
	border: none;
	background: var(--fh-accent);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s;
}

.farm-hub-review-coupon .farm-hub-coupon-apply-btn:hover:not(:disabled) {
	background: var(--fh-accent-hover);
}

.farm-hub-review-coupon .farm-hub-coupon-apply-btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.farm-hub-coupon-message {
	display: block;
	font-size: 14px;
	line-height: 1.4;
	margin-top: 4px;
}

.farm-hub-coupon-message.farm-hub-coupon-error {
	color: #b32d2e;
	font-weight: 500;
}

.farm-hub-coupon-message.farm-hub-coupon-success {
	color: var(--fh-accent);
	font-weight: 500;
}

.farm-hub-coupon-applied {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	flex-direction: row;
}

.farm-hub-coupon-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: linear-gradient(135deg, rgba(45, 106, 79, 0.12) 0%, rgba(45, 106, 79, 0.06) 100%);
	border: 1px solid rgba(45, 106, 79, 0.3);
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	color: var(--fh-accent);
}

.farm-hub-coupon-badge-code {
	letter-spacing: 0.04em;
}

.farm-hub-coupon-remove-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(45, 106, 79, 0.2);
	color: var(--fh-accent);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.farm-hub-coupon-remove-btn:hover {
	background: var(--fh-accent);
	color: #fff;
}

.farm-hub-coupon-remove-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.farm-hub-checkout-summary-discount span:last-child {
	color: var(--fh-accent);
	font-weight: 600;
}

.farm-hub-checkout-app .farm-hub-checkout-summary-discount span:last-child {
	color: var(--fh-checkout-green);
}

.farm-hub-coupon-error-msg {
	color: #b32d2e;
	margin: 8px 0;
}

.farm-hub-review-update-btn {
	padding: 10px 18px;
	border-radius: 10px;
	border: 1px solid var(--fh-border);
	background: var(--fh-surface);
	cursor: pointer;
	font-weight: 600;
	transition: background 0.2s;
}

.farm-hub-review-update-btn:hover {
	background: #fff;
}

.farm-hub-shipping-method-block {
	padding: 12px;
	background: var(--fh-surface);
	border-radius: var(--fh-radius);
	margin-top: 12px;
}

.farm-hub-stripe-elements-wrap {
	display: none;
	margin: 0 0 12px;
	padding: 18px;
	background: linear-gradient(180deg, #fff 0%, #f8fbf7 100%);
	border: 1px solid rgba(40, 167, 69, 0.28);
	border-radius: 14px;
	box-shadow: 0 12px 30px rgba(17, 24, 39, 0.08);
}

.farm-hub-stripe-login-callout {
	margin: 14px 0;
	padding: 14px 16px;
	background: rgba(40, 167, 69, 0.08);
	border-radius: var(--fh-radius);
	border: 1px solid rgba(40, 167, 69, 0.25);
}

.farm-hub-stripe-login-callout[hidden] {
	display: none !important;
}

.farm-hub-stripe-login-callout-text {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--fh-checkout-text);
}

.farm-hub-stripe-login-callout-action {
	max-width: 100%;
	box-sizing: border-box;
	width: auto;
	min-width: 200px;
}

.farm-hub-payment-instructions {
	margin: 12px 0;
	font-size: 14px;
	line-height: 1.5;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
	padding: 12px 16px;
}

.farm-hub-payment-instructions-content p:first-child {
	margin-top: 0;
}

.farm-hub-payment-instructions-content p:last-child {
	margin-bottom: 0;
}

.farm-hub-stripe-header {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 14px;
}

.farm-hub-stripe-lock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	background: rgba(40, 167, 69, 0.12);
	color: var(--fh-checkout-green);
	flex-shrink: 0;
}

.farm-hub-stripe-lock svg {
	width: 19px;
	height: 19px;
}

.farm-hub-stripe-title {
	margin: 0 0 3px;
	font-size: 15px;
	font-weight: 700;
	color: var(--fh-checkout-text);
}

.farm-hub-stripe-subtitle,
.farm-hub-stripe-description,
.farm-hub-stripe-status {
	margin: 0;
	color: var(--fh-checkout-muted);
	font-size: 13px;
	line-height: 1.45;
}

.farm-hub-stripe-description {
	margin: 0 0 12px;
	padding: 10px 12px;
	background: rgba(40, 167, 69, 0.08);
	border-radius: 10px;
	color: var(--fh-checkout-green);
}

.farm-hub-stripe-status {
	margin: 10px 0;
}

.farm-hub-stripe-status.is-busy::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 8px;
	border: 2px solid rgba(40, 167, 69, 0.25);
	border-top-color: var(--fh-checkout-green);
	border-radius: 50%;
	animation: farm-hub-stripe-spin 0.8s linear infinite;
	vertical-align: -1px;
}

@keyframes farm-hub-stripe-spin {
	to { transform: rotate(360deg); }
}

.farm-hub-stripe-card-label {
	display: block;
	margin: 14px 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--fh-checkout-muted);
}

/* Stripe Elements inject iframes that need explicit min-height; flex/grid can collapse them */
.farm-hub-stripe-card {
	padding: 14px;
	border: 1px solid var(--fh-checkout-border);
	border-radius: 12px;
	background: #fff;
	width: 100%;
	min-width: 280px;
	max-width: none;
	min-height: 56px;
	margin-top: 8px;
	box-shadow: inset 0 1px 0 rgba(17, 24, 39, 0.03);
}

.farm-hub-stripe-error {
	color: #b32d2e;
	margin: 8px 0 0;
	font-size: 14px;
}

.farm-hub-payment-plan-wrap {
	display: none;
	margin: 12px 0;
	padding: 12px;
	border: 1px solid rgba(40, 167, 69, 0.25);
	background: #fff;
	border-radius: 12px;
}

.farm-hub-checkout-btn-submit {
	padding: 14px 28px;
	border-radius: 10px;
	border: none;
	background: var(--fh-accent);
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
}

.farm-hub-checkout-btn-submit:hover {
	background: var(--fh-accent-hover);
	transform: translateY(-1px);
}

.farm-hub-form-field {
	display: block;
	margin: 0 0 20px;
	padding: 0;
}

.farm-hub-form-field:last-of-type {
	margin-bottom: 0;
}

.farm-hub-form-field label {
	display: block;
	font-size: 15px;
	line-height: 1.5;
	cursor: pointer;
	margin-bottom: 8px;
}

.farm-hub-form-field strong {
	color: rgba(17, 17, 17, 0.92);
	font-weight: 600;
	margin-bottom: 8px;
	display: block;
	font-size: 14px;
	letter-spacing: 0.01em;
}

.farm-hub-form-field .farm-hub-form-label {
	color: rgba(17, 17, 17, 0.92);
	font-weight: 600;
	display: inline;
	font-size: 14px;
	letter-spacing: 0.01em;
}

.farm-hub-form-field .farm-hub-form-required,
.farm-hub-form-field .farm-hub-required-mark {
	color: #b91c1c;
	font-weight: 700;
	display: inline;
}

.farm-hub-form-field input[type="text"],
.farm-hub-form-field input[type="email"],
.farm-hub-form-field input[type="tel"],
.farm-hub-form-field select {
	margin-top: 6px;
	display: block;
	width: 100%;
}

.farm-hub-form-field input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-width: 18px;
	max-width: none;
	margin: 0 10px 0 0;
	vertical-align: middle;
	accent-color: var(--fh-accent);
	cursor: pointer;
}

.farm-hub-form-field-checkbox-group .farm-hub-form-label {
	display: block;
	margin-bottom: 12px;
}

.farm-hub-form-checkbox-options {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.farm-hub-form-checkbox-option {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
	font-size: 15px;
	line-height: 1.4;
}

.farm-hub-form-checkbox-option input[type="checkbox"] {
	margin: 0;
	flex-shrink: 0;
}

.farm-hub-form-payment-block {
	margin: 24px 0;
	padding: 20px;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
}

.farm-hub-form-payment-block .farm-hub-form-payment-amount {
	font-size: 22px;
	font-weight: 700;
	color: #111;
	line-height: 1.3;
}

.farm-hub-form-payment-block .farm-hub-form-payment-desc {
	margin-top: 6px;
	font-size: 14px;
	color: var(--fh-muted);
	line-height: 1.4;
}

.farm-hub-form-payment-block .farm-hub-form-payment-note {
	margin: 12px 0 0;
	font-size: 13px;
	color: var(--fh-muted);
	line-height: 1.4;
}

.farm-hub-form-success {
	border-radius: var(--fh-radius);
	padding: 16px 18px;
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 1.5;
}

.farm-hub-form .farm-hub-form-submit-wrap {
	margin-top: 28px;
	padding-top: 4px;
}

.farm-hub-form .farm-hub-form-submit-wrap p {
	margin: 0;
}

.farm-hub-form .farm-hub-form-submit-wrap button {
	width: 100%;
}

/* Multi-step checkout - theme-isolated Farm Hub Checkout app */
.farm-hub-checkout-app {
	--fh-checkout-green: #28a745;
	--fh-checkout-green-hover: #218838;
	--fh-checkout-green-tint: #e8f5e9;
	--fh-checkout-bg: #fff;
	--fh-checkout-card-bg: #fff;
	--fh-checkout-text: #333;
	--fh-checkout-muted: #6c757d;
	--fh-checkout-border: #dee2e6;
	--fh-checkout-radius: 12px;
	--fh-checkout-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	padding: 24px 16px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--fh-checkout-text);
	background: var(--fh-checkout-bg);
	border-radius: var(--fh-checkout-radius);
	border: none;
	box-shadow: none;
}

.farm-hub-checkout-app * {
	box-sizing: border-box;
}

/* Pay-order link inside theme (`templates/public-pay-order-page.php`) */
.farm-hub-pay-order-site-shell {
	max-width: 100%;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 0.5rem 1rem 2.5rem;
	box-sizing: border-box;
}

body.farm-hub-pay-order-context #farm-hub-pay-order-page.farm-hub-checkout-app {
	margin: 16px auto 0;
	border: 1px solid var(--fh-border);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	border-radius: var(--fh-checkout-radius, 12px);
}

.farm-hub-pay-order-checkout-header {
	justify-content: flex-end;
}

.farm-hub-pay-order-checkout-header-spacer {
	flex: 1 1 auto;
	min-width: 0;
}

/* Legacy: fullscreen pay-order body (standalone document removed; selectors kept harmless) */
.farm-hub-pay-order-body {
	background: transparent;
	min-height: 0;
	padding: 0;
}

.farm-hub-pay-order-page-title {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0 0 1rem;
	color: var(--fh-checkout-text);
}

.farm-hub-pay-order-actions {
	margin-top: 1.25rem;
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.farm-hub-pay-order-page-title {
		font-size: 1.25rem;
	}
}

.farm-hub-checkout-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	padding: 12px 0;
}

.farm-hub-checkout-back {
	display: inline-flex;
	align-items: center;
	color: var(--fh-checkout-muted);
	text-decoration: none;
	font-size: 18px;
	transition: color 0.2s;
}

.farm-hub-checkout-back:hover {
	color: var(--fh-checkout-text);
}

.farm-hub-checkout-brand {
	display: flex;
	align-items: center;
	gap: 10px;
}

.farm-hub-checkout-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--fh-checkout-green);
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	border-radius: 8px;
}

.farm-hub-checkout-secure {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--fh-checkout-green);
	font-size: 14px;
	font-weight: 500;
}

.farm-hub-checkout-messages {
	margin-bottom: 16px;
}

.farm-hub-checkout-messages p {
	margin: 0 0 8px;
	padding: 12px;
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 8px;
	color: #856404;
}

.farm-hub-checkout-email-login-notice {
	padding: 12px;
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 8px;
	color: #856404;
	margin: 0 0 8px;
}

.farm-hub-checkout-email-login-notice > p {
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	color: inherit;
}

.farm-hub-checkout-email-login-notice > p:last-child,
.farm-hub-checkout-email-login-actions {
	margin-bottom: 0;
}

.farm-hub-checkout-email-login-actions {
	padding: 0;
	background: none;
	border: none;
}

.farm-hub-checkout-email-login-link {
	display: inline-block;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.farm-hub-checkout-email-login-link:hover {
	text-decoration: none;
	opacity: 0.94;
	color: inherit;
}

.farm-hub-checkout-progress {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin-bottom: 32px;
	padding: 0 16px;
}

.farm-hub-checkout-step-indicator {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	transition: opacity 0.2s;
}

.farm-hub-checkout-step-indicator .farm-hub-checkout-step-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--fh-checkout-border);
	color: var(--fh-checkout-muted);
	transition: background 0.2s, color 0.2s;
}

.farm-hub-checkout-step-indicator .farm-hub-checkout-step-icon svg {
	flex-shrink: 0;
}

.farm-hub-checkout-step-indicator.is-active .farm-hub-checkout-step-icon,
.farm-hub-checkout-step-indicator.is-done .farm-hub-checkout-step-icon {
	background: var(--fh-checkout-green);
	color: #fff;
}

.farm-hub-checkout-step-indicator.is-done .farm-hub-checkout-step-icon {
	position: relative;
}

.farm-hub-checkout-step-indicator.is-done .farm-hub-checkout-step-icon svg {
	display: none;
}

.farm-hub-checkout-step-indicator.is-done .farm-hub-checkout-step-icon::after {
	content: "✓";
	font-size: 18px;
	font-weight: 700;
}

.farm-hub-checkout-step-indicator .farm-hub-checkout-step-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--fh-checkout-muted);
}

.farm-hub-checkout-step-indicator.is-active .farm-hub-checkout-step-label,
.farm-hub-checkout-step-indicator.is-done .farm-hub-checkout-step-label {
	color: var(--fh-checkout-green);
}

.farm-hub-checkout-progress-connector {
	flex: 1;
	max-width: 80px;
	height: 3px;
	background: var(--fh-checkout-border);
	margin: 0 4px;
	margin-bottom: 28px;
}

.farm-hub-checkout-step-indicator.is-done + .farm-hub-checkout-progress-connector,
.farm-hub-checkout-step-indicator.is-active + .farm-hub-checkout-progress-connector {
	background: var(--fh-checkout-green);
}

.farm-hub-checkout-layout {
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: stretch;
}

@media (min-width: 768px) {
	.farm-hub-checkout-layout {
		flex-direction: row;
		align-items: flex-start;
	}
}

.farm-hub-checkout-main {
	flex: 1;
	min-width: 0;
	order: 1;
}

.farm-hub-checkout-sidebar {
	flex: 0 0 auto;
	order: 2;
}

@media (min-width: 768px) {
	.farm-hub-checkout-sidebar {
		flex: 0 0 340px;
		position: sticky;
		top: 24px;
	}
}

.farm-hub-checkout-order-summary {
	background: var(--fh-checkout-card-bg);
	border-radius: var(--fh-checkout-radius);
	box-shadow: var(--fh-checkout-shadow);
	padding: 20px;
}

.farm-hub-checkout-order-summary-title {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 700;
	color: var(--fh-checkout-text);
}

.farm-hub-checkout-order-summary-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--fh-checkout-border);
}

.farm-hub-checkout-summary-row {
	display: flex;
	justify-content: space-between;
	font-size: 15px;
}

.farm-hub-checkout-summary-row span:last-child {
	font-weight: 600;
}

.farm-hub-checkout-summary-pending span:last-child {
	color: var(--fh-checkout-green);
	font-weight: 500;
}

.farm-hub-checkout-summary-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
	font-size: 18px;
	font-weight: 700;
}

.farm-hub-checkout-summary-total,
.farm-hub-checkout-summary-total span {
	font-weight: 700;
}

.farm-hub-checkout-summary-total span:last-child {
	font-size: 24px;
	font-weight: 800;
	color: var(--fh-checkout-green);
}

.farm-hub-checkout-disclaimer {
	display: flex;
	gap: 10px;
	padding: 12px;
	background: #f8f9fa;
	border-radius: 8px;
	font-size: 13px;
	color: var(--fh-checkout-muted);
}

.farm-hub-checkout-disclaimer-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background: var(--fh-checkout-muted);
	color: #fff;
	border-radius: 50%;
	font-size: 12px;
	font-style: italic;
}

.farm-hub-checkout-disclaimer p {
	margin: 0;
	line-height: 1.4;
}

.farm-hub-checkout-panels {
	position: relative;
	min-height: 120px;
}

.farm-hub-checkout-panel {
	display: none;
	padding: 0;
	animation: farm-hub-fade-in 0.25s ease;
}

.farm-hub-checkout-panel.is-active {
	display: block;
}

@keyframes farm-hub-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

.farm-hub-checkout-card {
	background: var(--fh-checkout-card-bg);
	border-radius: var(--fh-checkout-radius);
	box-shadow: var(--fh-checkout-shadow);
	padding: 20px;
	margin-bottom: 20px;
}

.farm-hub-checkout-card-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: 700;
	color: var(--fh-checkout-text);
}

.farm-hub-checkout-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: var(--fh-checkout-green);
	flex-shrink: 0;
}

.farm-hub-checkout-card-icon svg {
	width: 20px;
	height: 20px;
}

.farm-hub-checkout-fields {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 20px;
}

.farm-hub-field-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

@media (min-width: 768px) {
	.farm-hub-field-row {
		grid-template-columns: 1fr 1fr;
	}
}

.farm-hub-shipping-fields-wrap {
	display: none;
}

.farm-hub-shipping-fields-wrap .farm-hub-form-field {
	margin: 0;
}

.farm-hub-checkout-fields .farm-hub-form-field {
	margin: 0;
}

.farm-hub-checkout-fields .farm-hub-form-field label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: var(--fh-checkout-muted);
	margin-bottom: 6px;
}

.farm-hub-checkout-fields .farm-hub-form-label,
.farm-hub-checkout-fields .farm-hub-required-mark {
	display: inline;
}

.farm-hub-checkout-fields input[type="text"],
.farm-hub-checkout-fields input[type="email"],
.farm-hub-checkout-fields input[type="tel"],
.farm-hub-checkout-fields input[type="number"],
.farm-hub-checkout-fields select,
.farm-hub-checkout-fields textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--fh-checkout-border);
	border-radius: 8px;
	background: #fff;
	font-size: 15px;
	transition: border-color 0.2s;
}

.farm-hub-checkout-fields input:focus,
.farm-hub-checkout-fields select:focus,
.farm-hub-checkout-fields textarea:focus {
	outline: none;
	border-color: var(--fh-checkout-green);
}

.farm-hub-checkout-card-custom .farm-hub-form-field input,
.farm-hub-checkout-card-custom .farm-hub-form-field select,
.farm-hub-checkout-card-custom .farm-hub-form-field textarea {
	background: var(--fh-checkout-green-tint) !important;
	border-color: rgba(40, 167, 69, 0.4) !important;
}

.farm-hub-input-accent {
	background: var(--fh-checkout-green-tint) !important;
	border-color: rgba(40, 167, 69, 0.4) !important;
}

.farm-hub-form-helper {
	margin: 8px 0 0;
	font-size: 13px;
	color: var(--fh-checkout-green);
}

.farm-hub-shipping-options,
.farm-hub-payment-options {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.farm-hub-shipping-option,
.farm-hub-payment-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0;
	border-bottom: 1px solid var(--fh-checkout-border);
	cursor: pointer;
}

.farm-hub-shipping-option:last-child,
.farm-hub-payment-option:last-child {
	border-bottom: none;
}

.farm-hub-shipping-option input,
.farm-hub-payment-option input {
	width: auto;
	margin-right: 12px;
	accent-color: var(--fh-checkout-green);
}

.farm-hub-shipping-option-label,
.farm-hub-payment-option-label {
	flex: 1;
	font-weight: 600;
}

.farm-hub-shipping-option-price {
	font-weight: 700;
	color: var(--fh-checkout-green);
}

.farm-hub-payment-option-selected {
	background: #f8f9fa;
	border: 2px solid var(--fh-checkout-green);
	border-radius: 8px;
	padding: 12px;
}

.farm-hub-payment-split {
	margin-bottom: 4px;
}

.farm-hub-payment-split-title {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--fh-checkout-muted);
}

.farm-hub-payment-cad-title {
	margin-top: 20px;
}

.farm-hub-payment-option-locked {
	cursor: default;
	flex-wrap: wrap;
	align-items: flex-start;
	row-gap: 6px;
}

.farm-hub-payment-option-locked .farm-hub-payment-lock-icon {
	flex-shrink: 0;
	color: var(--fh-checkout-green);
	font-weight: 700;
	margin-right: 4px;
}

.farm-hub-payment-option-locked .farm-hub-payment-option-label {
	flex: 1 1 auto;
}

.farm-hub-payment-locked-amount {
	font-weight: 700;
	color: var(--fh-checkout-green);
	white-space: nowrap;
}

.farm-hub-payment-locked-hint {
	width: 100%;
	margin: 4px 0 0;
	padding-left: 22px;
	font-size: 13px;
	color: var(--fh-checkout-muted);
	line-height: 1.45;
}

.farm-hub-payment-cad-options {
	margin-top: 0;
}

@media (max-width: 600px) {
	.farm-hub-payment-option-locked .farm-hub-payment-locked-amount {
		width: 100%;
		padding-left: 22px;
	}
}

.farm-hub-checkout-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--fh-checkout-border);
}

.farm-hub-checkout-btn-back {
	padding: 10px 16px;
	border: none;
	background: none;
	color: var(--fh-checkout-muted);
	cursor: pointer;
	font-size: 15px;
	font-weight: 500;
	transition: color 0.2s;
}

.farm-hub-checkout-btn-back:hover {
	color: var(--fh-checkout-text);
}

.farm-hub-checkout-btn-next {
	padding: 14px 24px;
	border: none;
	border-radius: 8px;
	background: var(--fh-checkout-green);
	color: #fff;
	cursor: pointer;
	font-size: 15px;
	font-weight: 700;
	transition: background 0.2s;
}

.farm-hub-checkout-btn-next:hover {
	background: var(--fh-checkout-green-hover);
	color: #fff;
	text-decoration: none;
}

.farm-hub-checkout-btn-submit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	border: none;
	border-radius: 8px;
	background: var(--fh-checkout-green);
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 700;
	transition: background 0.2s;
}

.farm-hub-checkout-btn-submit:hover {
	background: var(--fh-checkout-green-hover);
}

.farm-hub-checkout-btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	background: rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	font-size: 14px;
}

.farm-hub-checkout-payment-panel .farm-hub-form-field {
	margin: 16px 0;
}

.farm-hub-review-order-block {
	margin-top: 0;
}

.farm-hub-review-order-block .farm-hub-review-order-totals {
	display: none;
}

@media (max-width: 767px) {
	.farm-hub-checkout-layout {
		flex-direction: column;
	}

	.farm-hub-checkout-sidebar {
		flex: none;
		width: 100%;
		position: static;
		order: 2;
	}

	.farm-hub-checkout-main {
		order: 1;
	}
}

@media (max-width: 640px) {
	.farm-hub-checkout-app {
		padding: 16px 12px;
	}

	.farm-hub-checkout-header {
		flex-wrap: wrap;
	}

	.farm-hub-checkout-progress {
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.farm-hub-checkout-step-indicator .farm-hub-checkout-step-label {
		font-size: 10px;
	}
}

/* Products grid */
.farm-hub-product-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
	margin: 18px auto;
	max-width: 1120px;
	padding: 0 12px;
}

.farm-hub-product-item {
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
	padding: 14px;
}

.farm-hub-product-item h3 {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.25;
}

.farm-hub-product-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 6px 0 10px;
}

.farm-hub-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 8px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	color: rgba(17, 17, 17, 0.92);
}

.farm-hub-product-thumb img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	display: block;
}

.farm-hub-product-gallery-thumbs {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin: 8px 0 10px;
}

.farm-hub-product-gallery-thumb img {
	width: 60px;
	height: 60px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--fh-border);
	display: block;
}

.farm-hub-product-item form {
	margin-top: 12px;
}

.farm-hub-stock-note {
	color: #b32d2e;
	margin: 8px 0;
}

/* Product archive (farm-hub-archive) */
.farm-hub-archive {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px;
}

.farm-hub-archive__header {
	margin-bottom: 28px;
}

.farm-hub-archive__search {
	display: flex;
	gap: 8px;
	margin-top: 16px;
	max-width: 400px;
}

.farm-hub-archive__search-input {
	flex: 1;
	padding: 10px 14px;
	border: 1px solid var(--fh-border);
	border-radius: 8px;
	font-size: 1rem;
}

.farm-hub-archive__search-input:focus {
	outline: 2px solid var(--fh-primary, #2d6a4f);
	outline-offset: 2px;
}

.farm-hub-archive__search-submit {
	padding: 10px 18px;
	background: var(--fh-primary, #2d6a4f);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
}

.farm-hub-archive__search-submit:hover {
	opacity: 0.9;
}

.farm-hub-archive__category {
	margin-bottom: 32px;
}

.farm-hub-archive__category-title {
	margin: 0 0 16px;
	font-size: 1.25rem;
	font-weight: 600;
	color: #1a1a1a;
}

.farm-hub-archive__title {
	margin: 0;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #1a1a1a;
}

.farm-hub-archive__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
@media (max-width: 1024px) {
	.farm-hub-archive__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 640px) {
	.farm-hub-archive__grid {
		grid-template-columns: 1fr;
	}
}

/* Category archive responsive columns: 4 desktop, 3 tablet, 1 mobile */
.farm-hub-category-archive__grid.farm-hub-category-archive--d4-t3-m1 {
	grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1024px) {
	.farm-hub-category-archive__grid.farm-hub-category-archive--d4-t3-m1 {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 640px) {
	.farm-hub-category-archive__grid.farm-hub-category-archive--d4-t3-m1 {
		grid-template-columns: 1fr;
	}
}

/* Category products grid: user-defined columns, auto-responsive for tablet/mobile */
.farm-hub-category-products__grid {
	grid-template-columns: repeat(var(--cols-d, 4), 1fr);
}
@media (max-width: 1024px) {
	.farm-hub-category-products__grid {
		grid-template-columns: repeat(var(--cols-t, 3), 1fr);
	}
}
@media (max-width: 640px) {
	.farm-hub-category-products__grid {
		grid-template-columns: repeat(var(--cols-m, 1), 1fr);
	}
}

.farm-hub-category-archive__description {
	margin-top: 12px;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--fh-muted);
}

.farm-hub-archive__card {
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.farm-hub-archive__card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
	border-color: rgba(45, 106, 79, 0.3);
}

.farm-hub-archive__card-link {
	display: block;
	text-decoration: none;
}

.farm-hub-archive__card-image {
	aspect-ratio: 1/1;
	overflow: hidden;
	background: var(--fh-surface);
}

.farm-hub-archive__card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.farm-hub-archive__card-image--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(17, 17, 17, 0.4);
	font-size: 14px;
}

.farm-hub-archive__card-body {
	padding: 18px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.farm-hub-archive__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 10px;
}

.farm-hub-archive__badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	color: rgba(17, 17, 17, 0.85);
}

.farm-hub-archive__card-title {
	margin: 0 0 8px;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

.farm-hub-archive__card-title a {
	color: inherit;
	text-decoration: none;
}

.farm-hub-archive__card-title a:hover {
	text-decoration: underline;
}

.farm-hub-archive__card-excerpt {
	font-size: 14px;
	line-height: 1.5;
	color: var(--fh-muted);
	margin-bottom: 12px;
	flex: 1;
}

.farm-hub-archive__card-price {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 600;
	color: #1a1a1a;
}

.farm-hub-archive__price-old {
	color: #9ca3af;
	font-weight: 500;
	margin-right: 6px;
}

.farm-hub-archive__card-form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.farm-hub-archive__variation-select {
	flex: 1;
	min-width: 0;
	padding: 8px 12px;
	border: 1px solid var(--fh-border);
	border-radius: 10px;
	font-size: 14px;
	background: #fff;
}

.farm-hub-archive__addon-select {
	flex: 1;
	min-width: 0;
	padding: 8px 12px;
	border: 1px solid var(--fh-border);
	border-radius: 10px;
	font-size: 14px;
	background: #fff;
}

.farm-hub-archive__card-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	width: 100%;
	flex-basis: 100%;
}

.farm-hub-archive__add-status {
	font-size: 13px;
	font-weight: 600;
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.35;
}

.farm-hub-archive__add-status.is-hidden {
	display: none !important;
}

.farm-hub-archive__add-status.is-success {
	color: #15803d;
}

.farm-hub-archive__add-status.is-error {
	color: #b91c1c;
}

.farm-hub-archive__add-status.is-loading {
	color: #6b7280;
}

.farm-hub-archive__view-cart-link {
	font-size: 13px;
	font-weight: 600;
	color: #166534;
	text-decoration: underline;
	text-underline-offset: 2px;
	white-space: nowrap;
	flex-shrink: 0;
	align-self: center;
}

.farm-hub-archive__view-cart-link:hover {
	color: #14532d;
}

.farm-hub-archive__view-cart-link:focus-visible {
	outline: 2px solid #166534;
	outline-offset: 2px;
}

.farm-hub-archive__view-cart-link.is-hidden {
	display: none !important;
}

.farm-hub-archive__add-to-cart.is-loading {
	opacity: 0.85;
}

.farm-hub-archive__add-to-cart-busy {
	display: inline-block;
	padding: 0 4px;
}

.farm-hub-archive__add-to-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 18px;
	border: none;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	background: var(--fh-accent);
	color: #fff;
	transition: opacity 0.2s ease;
}

.farm-hub-archive__add-to-cart:hover:not(:disabled) {
	opacity: 0.92;
}

.farm-hub-archive__add-to-cart:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.farm-hub-archive__add-to-cart-icon {
	flex-shrink: 0;
}

.farm-hub-archive__pagination {
	margin-top: 32px;
	text-align: center;
}

.farm-hub-archive__pagination a,
.farm-hub-archive__pagination span {
	display: inline-block;
	padding: 8px 14px;
	margin: 0 4px;
	border-radius: 8px;
	text-decoration: none;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	color: #374151;
	font-size: 14px;
}

.farm-hub-archive__pagination a:hover {
	background: rgba(45, 106, 79, 0.08);
	border-color: var(--fh-accent);
	color: var(--fh-accent);
}

.farm-hub-archive__pagination .current {
	background: var(--fh-accent);
	border-color: var(--fh-accent);
	color: #fff;
}

.farm-hub-archive__empty {
	text-align: center;
	padding: 48px 16px;
	color: var(--fh-muted);
	font-size: 16px;
}

/* Related products (single farmhub_product) — reuses .farm-hub-archive__grid / __card */
.farm-hub-related-products {
	max-width: 1200px;
	margin: 40px auto 32px;
	padding: 0 20px;
	box-sizing: border-box;
}

.farm-hub-related-products__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.farm-hub-related-products__title {
	margin: 0 0 24px;
	font-size: clamp(1.5rem, 4vw, 1.75rem);
	font-weight: 700;
	line-height: 1.2;
	color: #111;
	letter-spacing: -0.02em;
}

.farm-hub-related-products__grid {
	margin-top: 0;
}

@media (max-width: 768px) {
	.farm-hub-related-products {
		padding: 0 16px;
		margin: 28px auto 24px;
	}

	.farm-hub-related-products__title {
		margin-bottom: 18px;
	}
}

/* Dashboard - card layout, mobile-first */
.farm-hub-dashboard {
	--fh-dash-bg: #fff;
	--fh-dash-surface: #f8faf8;
	--fh-dash-border: rgba(45, 106, 79, 0.12);
	--fh-dash-text: #1a1f1a;
	--fh-dash-muted: #5c6b5c;
	--fh-dash-accent: #2d6a4f;
	--fh-dash-accent-hover: #1b4332;
	--fh-dash-radius: 12px;
	--fh-dash-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	--fh-dash-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
	max-width: 1120px;
	margin: 0 auto;
	padding: 20px 16px 40px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--fh-dash-text);
	background: var(--fh-dash-bg);
}

.farm-hub-dashboard *,
.farm-hub-dashboard *::before,
.farm-hub-dashboard *::after {
	box-sizing: inherit;
}

.farm-hub-dashboard__header {
	margin-bottom: 28px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--fh-dash-border);
}

.farm-hub-dashboard__title {
	margin: 0 0 8px;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--fh-dash-text);
}

.farm-hub-dashboard__user {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.farm-hub-dashboard__user-name {
	font-weight: 600;
	font-size: 1rem;
	color: var(--fh-dash-text);
}

.farm-hub-dashboard__user-email {
	font-size: 0.875rem;
	color: var(--fh-dash-muted);
}

.farm-hub-dashboard__notifications {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 20px;
	width: 100%;
	max-width: 100%;
}

.farm-hub-dashboard__notification.farm-hub-user-account__card--notification {
	max-width: 100%;
}

.farm-hub-dashboard__grid {
	display: grid;
	/* Mobile + tablet: 3 columns (app-style icon grid); desktop uses 4 — see breakpoints below */
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.farm-hub-dashboard__card {
	display: block;
	padding: 24px;
	background: var(--fh-dash-surface);
	border: 1px solid var(--fh-dash-border);
	border-radius: var(--fh-dash-radius);
	box-shadow: var(--fh-dash-shadow);
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.farm-hub-dashboard__card:hover {
	box-shadow: var(--fh-dash-shadow-hover);
	border-color: rgba(45, 106, 79, 0.25);
	transform: translateY(-2px);
}

.farm-hub-dashboard__card-icon {
	width: 40px;
	height: 40px;
	margin-bottom: 12px;
	color: var(--fh-dash-accent);
}

.farm-hub-dashboard__card-icon svg {
	width: 100%;
	height: 100%;
}

.farm-hub-dashboard__card-heading {
	margin: 0 0 4px;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--fh-dash-text);
}

.farm-hub-dashboard__card-subheading {
	margin: 0 0 8px;
	font-size: 0.875rem;
	color: var(--fh-dash-muted);
}

.farm-hub-dashboard__card-text {
	margin: 0 0 8px;
	font-size: 0.9375rem;
	color: var(--fh-dash-muted);
	line-height: 1.5;
}

.farm-hub-dashboard__card-variable {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--fh-dash-accent);
}

.farm-hub-dashboard-login {
	padding: 24px;
	text-align: center;
	color: var(--fh-dash-muted);
}

.farm-hub-dashboard-login a {
	color: var(--fh-dash-accent);
	text-decoration: none;
}

.farm-hub-dashboard-login a:hover {
	text-decoration: underline;
}

/* Phone: compact tiles, subtitle + description hidden (title + optional variable stay) */
@media (max-width: 767px) {
	.farm-hub-dashboard__card-subheading,
	.farm-hub-dashboard__card-text {
		display: none;
	}

	.farm-hub-dashboard__card {
		padding: 16px 10px;
		text-align: center;
	}

	.farm-hub-dashboard__card-icon {
		width: 44px;
		height: 44px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 8px;
	}

	.farm-hub-dashboard__card-heading {
		font-size: 0.8125rem;
		font-weight: 600;
		line-height: 1.25;
		margin-bottom: 0;
	}

	.farm-hub-dashboard__card-variable {
		font-size: 0.875rem;
		margin-top: 6px;
	}
}

@media (min-width: 768px) {
	.farm-hub-dashboard {
		padding: 32px 24px 48px;
	}

	.farm-hub-dashboard__header {
		margin-bottom: 32px;
		padding-bottom: 24px;
	}

	.farm-hub-dashboard__title {
		font-size: 2rem;
	}

	.farm-hub-dashboard__grid {
		gap: 20px;
	}

	.farm-hub-dashboard__card {
		padding: 28px;
	}
}

@media (min-width: 1024px) {
	.farm-hub-dashboard__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px;
	}
}

/* User account page - theme-agnostic, mobile-first */
.farm-hub-user-account {
	--fh-ua-bg: #fff;
	--fh-ua-surface: #f8faf8;
	--fh-ua-border: rgba(45, 106, 79, 0.12);
	--fh-ua-text: #1a1f1a;
	--fh-ua-muted: #5c6b5c;
	--fh-ua-accent: #2d6a4f;
	--fh-ua-accent-hover: #1b4332;
	--fh-ua-radius: 12px;
	--fh-ua-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	--fh-ua-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
	max-width: 1120px;
	margin: 0 auto;
	padding: 20px 16px 40px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--fh-ua-text);
	background: var(--fh-ua-bg);
}

.farm-hub-user-account *,
.farm-hub-user-account *::before,
.farm-hub-user-account *::after {
	box-sizing: inherit;
}

.farm-hub-user-account__header {
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--fh-ua-border);
}

/* Standalone item page: back link to My Account */
.farm-hub-user-account__back-link {
	display: inline-block;
	margin-bottom: 12px;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--fh-ua-accent);
	text-decoration: none;
	transition: color 0.2s ease;
}
.farm-hub-user-account__back-link:hover {
	color: var(--fh-ua-accent-hover);
}
.farm-hub-user-account--standalone .farm-hub-user-account__main {
	width: 100%;
}

.farm-hub-user-account__title {
	margin: 0 0 8px;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--fh-ua-text);
}

.farm-hub-user-account__title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-bottom: 8px;
}

.farm-hub-user-account__title-row .farm-hub-user-account__title {
	margin: 0;
}

.farm-hub-user-account__topup-btn {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	border-radius: var(--fh-ua-radius);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	background: var(--fh-ua-accent);
	color: #fff;
	white-space: nowrap;
	transition: background 0.2s, transform 0.1s;
}

.farm-hub-user-account__topup-btn:hover {
	background: var(--fh-ua-accent-hover);
	transform: translateY(-1px);
	color: #fff;
}

.farm-hub-user-account__topup-btn:focus {
	outline: 2px solid var(--fh-ua-accent);
	outline-offset: 2px;
}

.farm-hub-user-account__user {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.farm-hub-user-account__user-name {
	font-weight: 600;
	font-size: 1rem;
	color: var(--fh-ua-text);
}

.farm-hub-user-account__user-email {
	font-size: 0.875rem;
	color: var(--fh-ua-muted);
}

.farm-hub-user-account__layout {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.farm-hub-user-account__nav {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 4px;
	margin: 0 -4px;
}

.farm-hub-user-account__nav::-webkit-scrollbar {
	height: 4px;
}

.farm-hub-user-account__nav::-webkit-scrollbar-thumb {
	background: var(--fh-ua-border);
	border-radius: 2px;
}

.farm-hub-user-account__nav-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: min-content;
}

.farm-hub-user-account__nav li {
	margin: 0;
}

.farm-hub-user-account__nav-link {
	display: inline-block;
	padding: 10px 16px;
	border-radius: var(--fh-ua-radius);
	text-decoration: none;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--fh-ua-text);
	background: var(--fh-ua-surface);
	border: 1px solid var(--fh-ua-border);
	white-space: nowrap;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.farm-hub-user-account__nav-link:hover {
	background: rgba(45, 106, 79, 0.08);
	border-color: rgba(45, 106, 79, 0.2);
	color: var(--fh-ua-accent);
}

.farm-hub-user-account__nav-link:focus {
	outline: 2px solid var(--fh-ua-accent);
	outline-offset: 2px;
}

.farm-hub-user-account__main {
	min-width: 0;
}

.farm-hub-user-account__dashboard {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.farm-hub-user-account__card {
	scroll-margin-top: 24px;
	background: var(--fh-ua-bg);
	border: 1px solid var(--fh-ua-border);
	border-radius: var(--fh-ua-radius);
	padding: 24px;
	box-shadow: var(--fh-ua-shadow);
}

.farm-hub-user-account__card-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-bottom: 16px;
}

.farm-hub-user-account__card-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--fh-ua-text);
}

.farm-hub-user-account__card-body {
	font-size: 0.9375rem;
	color: var(--fh-ua-muted);
}

.farm-hub-user-account__card-body p {
	margin: 0 0 0.75em;
}

.farm-hub-user-account__card-body p:last-child {
	margin-bottom: 0;
}

.farm-hub-user-account__placeholder {
	margin: 0;
	color: var(--fh-ua-muted);
}

.farm-hub-user-account__notice {
	padding: 12px 16px;
	margin-bottom: 20px;
	border-radius: var(--fh-ua-radius);
	font-size: 0.9375rem;
}

.farm-hub-user-account__notice--success {
	background: rgba(45, 106, 79, 0.1);
	border: 1px solid rgba(45, 106, 79, 0.25);
	color: var(--fh-ua-accent);
}

.farm-hub-user-account__notice--error {
	background: rgba(185, 28, 28, 0.08);
	border: 1px solid rgba(185, 28, 28, 0.2);
	color: #b91c1c;
}

.farm-hub-user-account__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 420px;
}

.farm-hub-user-account__form--details {
	max-width: 640px;
}

.farm-hub-user-account__form-section {
	margin-bottom: 8px;
	padding-top: 20px;
	border-top: 1px solid var(--fh-ua-border);
}

.farm-hub-user-account__form-section:first-child {
	padding-top: 0;
	border-top: none;
}

.farm-hub-user-account__form-section-title {
	margin: 0 0 12px;
	font-size: 1rem;
	font-weight: 600;
	color: var(--fh-ua-text);
}

.farm-hub-user-account__form-hint {
	margin: 0 0 12px;
	font-size: 0.875rem;
	color: var(--fh-ua-muted);
}

.farm-hub-user-account__form-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px 20px;
}

@media (min-width: 480px) {
	.farm-hub-user-account__form-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.farm-hub-user-account__form-grid .farm-hub-user-account__form-row:nth-child(odd):last-child {
	grid-column: 1 / -1;
}

@media (max-width: 479px) {
	.farm-hub-user-account__form--details {
		max-width: 100%;
	}
	.farm-hub-user-account__form-section-title {
		font-size: 0.9375rem;
	}
	.farm-hub-user-account__input {
		min-height: 44px;
		padding: 12px 14px;
	}
	.farm-hub-user-account__btn {
		min-height: 48px;
		width: 100%;
	}
}

.farm-hub-user-account__form-row {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.farm-hub-user-account__form-row label {
	font-weight: 500;
	font-size: 0.875rem;
	color: var(--fh-ua-text);
}

.farm-hub-user-account__input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--fh-ua-border);
	border-radius: 8px;
	font-size: 0.9375rem;
	background: var(--fh-ua-bg);
}

.farm-hub-user-account__input:focus {
	outline: 2px solid var(--fh-ua-accent);
	outline-offset: 2px;
}

.farm-hub-user-account__form-actions {
	margin-top: 4px;
}

.farm-hub-user-account__btn {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 8px;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	border: none;
	transition: background 0.2s ease, opacity 0.2s ease;
}

.farm-hub-user-account__btn--primary {
	background: var(--fh-ua-accent);
	color: #fff;
}

.farm-hub-user-account__btn--primary:hover {
	background: var(--fh-ua-accent-hover);
}

.farm-hub-user-account__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.farm-hub-user-account__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.farm-hub-user-account__table th,
.farm-hub-user-account__table td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid var(--fh-ua-border);
}

.farm-hub-user-account__table th {
	font-weight: 600;
	color: var(--fh-ua-text);
}

.farm-hub-user-account__table td {
	color: var(--fh-ua-muted);
}

.farm-hub-edit-order__intro {
	margin: 0 0 16px;
	color: var(--fh-ua-text);
}

.farm-hub-edit-order__toolbar,
.farm-hub-edit-order__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.farm-hub-edit-order__footer {
	margin-top: 16px;
	margin-bottom: 0;
}

.farm-hub-edit-order__total {
	font-weight: 600;
	color: var(--fh-ua-text);
}

.farm-hub-edit-order__qty-control {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.farm-hub-edit-order__qty-btn,
.farm-hub-edit-order__remove-btn,
.farm-hub-edit-order__modal-close {
	border: 1px solid var(--fh-ua-border);
	background: #fff;
	color: var(--fh-ua-text);
	border-radius: 8px;
	cursor: pointer;
}

.farm-hub-edit-order__qty-btn {
	width: 32px;
	height: 32px;
	font-size: 1rem;
	line-height: 1;
}

.farm-hub-edit-order__qty-input,
.farm-hub-edit-order__search-qty {
	border: 1px solid var(--fh-ua-border);
	border-radius: 8px;
	padding: 8px 10px;
	font: inherit;
}

.farm-hub-edit-order__qty-input,
.farm-hub-edit-order__search-qty {
	width: 72px;
	text-align: center;
}

.farm-hub-edit-order__remove-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	font-size: 1.35rem;
	line-height: 1;
	font-weight: 600;
	color: var(--fh-ua-text);
}

.farm-hub-edit-order__remove-btn:hover {
	background: #f8fafc;
	border-color: #94a3b8;
	color: #64748b;
}

.farm-hub-user-account__btn.farm-hub-edit-order__btn-add-items {
	background: transparent;
	color: #0f172a;
	border: 2px solid #0f172a;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.farm-hub-user-account__btn.farm-hub-edit-order__btn-add-items:hover:not(:disabled) {
	background: #f1f5f9;
	color: #64748b;
	border-color: #94a3b8;
}

.farm-hub-edit-order__table td {
	vertical-align: middle;
}

.farm-hub-edit-order__stock-note {
	font-size: 0.8125rem;
	line-height: 1.3;
	margin-top: 0.35rem;
	color: #92400e;
	font-weight: 500;
}

.farm-hub-edit-order__stock-note--out {
	color: #b91c1c;
}

.farm-hub-edit-order__modal {
	position: fixed;
	inset: 0;
	display: none;
	z-index: 9999;
}

.farm-hub-edit-order__modal.is-open {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(16px, env(safe-area-inset-bottom, 0px));
	box-sizing: border-box;
}

.farm-hub-edit-order__modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.55);
}

.farm-hub-edit-order__modal-dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 640px;
	margin: 0;
	background: #fff;
	border-radius: 20px;
	padding: 0;
	max-height: min(90vh, calc(100vh - 32px));
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 25px 60px rgba(15, 23, 42, 0.22), 0 0 1px rgba(15, 23, 42, 0.08);
	border: 1px solid rgba(148, 163, 184, 0.35);
}

.farm-hub-edit-order__modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 22px 16px;
	border-bottom: 1px solid var(--fh-ua-border);
	flex-shrink: 0;
}

.farm-hub-edit-order__modal-title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--fh-ua-text);
}

.farm-hub-edit-order__modal-close {
	width: 40px;
	height: 40px;
	font-size: 1.5rem;
	line-height: 1;
	border-radius: 10px;
	flex-shrink: 0;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.farm-hub-edit-order__modal-close:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
}

.farm-hub-edit-order__modal-help {
	margin: 0;
	padding: 14px 22px 12px;
	color: var(--fh-ua-muted);
	font-size: 0.9375rem;
	line-height: 1.45;
	flex-shrink: 0;
}

.farm-hub-edit-order__search-field {
	padding: 0 22px 16px;
	flex-shrink: 0;
}

.farm-hub-edit-order__search-input {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--fh-ua-border);
	border-radius: 12px;
	padding: 12px 16px;
	font: inherit;
	font-size: 1rem;
	background: #f8fafc;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.farm-hub-edit-order__search-input:hover {
	background: #f1f5f9;
}

.farm-hub-edit-order__search-input:focus {
	outline: none;
	border-color: var(--fh-ua-accent, #2563eb);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.farm-hub-edit-order__search-results {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0 22px 22px;
	overflow-y: auto;
	min-height: 120px;
	flex: 1;
	-webkit-overflow-scrolling: touch;
}

.farm-hub-edit-order__search-state {
	color: var(--fh-ua-muted);
	margin: 24px 0;
	font-size: 0.9375rem;
}

.farm-hub-edit-order__search-state--center {
	text-align: center;
	margin: 32px 0;
}

.farm-hub-edit-order__product-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
}

.farm-hub-edit-order__product-pill {
	flex: 1 1 260px;
	min-width: min(100%, 220px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-radius: 16px;
	background: linear-gradient(145deg, #fafbfc 0%, #f1f5f9 100%);
	border: 1px solid rgba(148, 163, 184, 0.45);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.farm-hub-edit-order__product-pill:hover {
	border-color: rgba(37, 99, 235, 0.35);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
	transform: translateY(-1px);
}

.farm-hub-edit-order__product-pill-body {
	min-width: 0;
}

.farm-hub-edit-order__product-pill-title {
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.35;
	color: var(--fh-ua-text);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.farm-hub-edit-order__product-pill-meta {
	margin-top: 6px;
	font-size: 0.8125rem;
	color: var(--fh-ua-muted);
	line-height: 1.3;
}

.farm-hub-edit-order__product-pill-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.farm-hub-edit-order__product-pill-qty {
	width: 64px;
	text-align: center;
	border-radius: 10px;
}

.farm-hub-edit-order__product-pill-add {
	flex: 1 1 auto;
	min-width: 72px;
	border-radius: 10px;
	padding: 8px 14px;
	font-weight: 600;
	font-size: 0.875rem;
}

@media (max-width: 480px) {
	.farm-hub-edit-order__toolbar,
	.farm-hub-edit-order__footer {
		flex-direction: column;
		align-items: stretch;
	}

	.farm-hub-edit-order__product-pill-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.farm-hub-edit-order__product-pill-qty {
		width: 100%;
	}

	.farm-hub-edit-order__modal-dialog {
		width: calc(100% - 24px);
		max-width: 100%;
		max-height: calc(100vh - 24px);
		border-radius: 12px;
	}

	.farm-hub-edit-order__qty-control {
		justify-content: flex-start;
	}
}

.farm-hub-user-account__status--refunded {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 500;
	background: rgba(180, 83, 9, 0.15);
	color: #92400e;
	border: 1px solid rgba(180, 83, 9, 0.3);
}

.farm-hub-user-account__link {
	color: var(--fh-ua-accent);
	text-decoration: none;
	font-weight: 500;
}

/* Delivery schedule - mobile-friendly table */
.farm-hub-delivery-schedule__intro {
	margin: 0 0 8px;
	font-size: 0.9375rem;
	color: var(--fh-ua-text);
}

.farm-hub-delivery-schedule__help {
	margin: 0 0 20px;
	font-size: 0.875rem;
	color: var(--fh-ua-muted);
	line-height: 1.45;
}

.farm-hub-delivery-schedule__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--fh-ua-radius);
	border: 1px solid var(--fh-ua-border);
	background: var(--fh-ua-surface);
}

.farm-hub-delivery-schedule__table {
	width: 100%;
	min-width: 280px;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.farm-hub-delivery-schedule__table thead {
	background: rgba(45, 106, 79, 0.06);
}

.farm-hub-delivery-schedule__table th {
	padding: 12px 16px;
	text-align: left;
	font-weight: 600;
	color: var(--fh-ua-text);
	border-bottom: 1px solid var(--fh-ua-border);
}

.farm-hub-delivery-schedule__table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--fh-ua-border);
	color: var(--fh-ua-text);
}

.farm-hub-delivery-schedule__table tbody tr:last-child td {
	border-bottom: none;
}

.farm-hub-delivery-schedule__table tbody tr:hover {
	background: rgba(45, 106, 79, 0.03);
}

.farm-hub-delivery-schedule__row--past td {
	color: var(--fh-ua-muted);
	opacity: 0.75;
}

.farm-hub-delivery-schedule__row--skipped td {
	color: var(--fh-ua-muted);
}

.farm-hub-delivery-schedule__btn {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 8px;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.farm-hub-delivery-schedule__btn--skip {
	background: var(--fh-ua-surface);
	color: var(--fh-ua-accent);
	border: 1px solid var(--fh-ua-border);
}

.farm-hub-delivery-schedule__btn--skip:hover {
	background: rgba(45, 106, 79, 0.08);
	border-color: var(--fh-ua-accent);
}

.farm-hub-delivery-schedule__btn--secondary {
	background: transparent;
	color: var(--fh-ua-accent);
	border: 1px solid var(--fh-ua-accent);
	margin-left: 8px;
}

.farm-hub-delivery-schedule__btn--secondary:hover {
	background: rgba(45, 106, 79, 0.08);
}

.farm-hub-delivery-schedule__badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 0.8125rem;
	font-weight: 500;
	background: rgba(45, 106, 79, 0.12);
	color: var(--fh-ua-muted);
}

.farm-hub-delivery-schedule__muted {
	color: var(--fh-ua-muted);
	font-size: 0.875rem;
}

.farm-hub-delivery-schedule__help--fc {
	margin-top: 0.35rem;
}

.farm-hub-delivery-schedule__actions {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}

.farm-hub-delivery-schedule__badge--fc {
	background: rgba(34, 139, 34, 0.15);
	color: #1b5e20;
}

.farm-hub-delivery-schedule__fc {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 8px;
	border: 1px solid var(--fh-ua-border);
	color: var(--fh-ua-muted);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.farm-hub-delivery-schedule__fc:hover {
	color: #1b5e20;
	border-color: rgba(34, 139, 34, 0.45);
	background: rgba(34, 139, 34, 0.08);
}

.farm-hub-delivery-schedule__fc--active {
	color: #1b5e20;
	border-color: rgba(34, 139, 34, 0.55);
	background: rgba(34, 139, 34, 0.12);
}

.farm-hub-delivery-schedule__fc-icon {
	display: block;
}

/* Mobile: stacked layout for small screens */
@media (max-width: 720px) {
	.farm-hub-delivery-schedule__table thead {
		display: none;
	}

	.farm-hub-delivery-schedule__table tbody tr {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 12px;
		padding: 12px 16px;
		border-bottom: 1px solid var(--fh-ua-border);
	}

	.farm-hub-delivery-schedule__table tbody tr:last-child {
		border-bottom: none;
	}

	.farm-hub-delivery-schedule__table td {
		padding: 0;
		border: none;
		flex: 1 1 100%;
	}

	.farm-hub-delivery-schedule__table td:first-child {
		font-weight: 500;
		font-size: 1rem;
	}

	.farm-hub-delivery-schedule__table td:last-child {
		display: flex;
		align-items: center;
		gap: 8px;
		flex: 1 1 auto;
	}

	.farm-hub-delivery-schedule__table td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.75rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--fh-ua-muted);
		margin-bottom: 4px;
	}

	.farm-hub-delivery-schedule__table td:last-child::before {
		display: none;
	}
}

.farm-hub-user-account__link:hover {
	text-decoration: underline;
}

.farm-hub-user-account__empty {
	margin: 0;
	color: var(--fh-ua-muted);
}

.farm-hub-user-account__card--notification {
	background: rgba(45, 106, 79, 0.06);
	border-color: rgba(45, 106, 79, 0.2);
}

.farm-hub-user-account__notification-message {
	margin-bottom: 12px;
	color: var(--fh-ua-text);
}

.farm-hub-user-account__notification-message p:last-child {
	margin-bottom: 0;
}

.farm-hub-user-account__notification-actions {
	margin: 0;
}

/* Embedded shortcodes: payment plans, wallet */
.farm-hub-user-account .farm-hub-payment-plans h2,
.farm-hub-user-account .farm-hub-wallet h2 {
	margin-top: 0;
	font-size: 1rem;
}

.farm-hub-user-account .farm-hub-payment-plans,
.farm-hub-user-account .farm-hub-wallet {
	color: var(--fh-ua-muted);
}

.farm-hub-user-account .farm-hub-payment-plans button,
.farm-hub-user-account .farm-hub-payment-plans .button,
.farm-hub-user-account .farm-hub-payment-plans input[type="submit"] {
	padding: 8px 14px;
	border-radius: 8px;
	font-size: 0.875rem;
	cursor: pointer;
}

/* Wallet - balance, top-up button, transactions */
.farm-hub-wallet__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin-bottom: 16px;
}
.farm-hub-wallet__header h2 {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--fh-ua-text, #1a1f1a);
}
.farm-hub-wallet__balance {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--fh-ua-muted, #5c6b5c);
}
.farm-hub-wallet__topup-btn {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	border-radius: 8px;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	background: var(--fh-accent, #2d6a4f);
	color: #fff;
	transition: background 0.2s, transform 0.1s;
}
.farm-hub-wallet__topup-btn:hover {
	background: var(--fh-accent-hover, #1b4332);
	transform: translateY(-1px);
	color: #fff;
}
.farm-hub-wallet__topup-btn:focus {
	outline: 2px solid var(--fh-accent);
	outline-offset: 2px;
}
.farm-hub-wallet h3 {
	margin: 16px 0 10px;
	font-size: 1rem;
	font-weight: 600;
	color: var(--fh-ua-text, #1a1f1a);
}
.farm-hub-wallet__empty {
	margin: 0;
	color: var(--fh-ua-muted, #5c6b5c);
	font-size: 0.9375rem;
}
.farm-hub-wallet__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.farm-hub-wallet__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}
.farm-hub-wallet__table th,
.farm-hub-wallet__table td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid var(--fh-ua-border, rgba(45, 106, 79, 0.12));
}
.farm-hub-wallet__table th {
	font-weight: 600;
	color: var(--fh-ua-text, #1a1f1a);
}
.farm-hub-wallet__table td {
	color: var(--fh-ua-muted, #5c6b5c);
}

/* My Coupons shortcode — match wallet/list tables */
.farm-hub-coupons__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 12px 0 16px;
}
.farm-hub-coupons__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}
.farm-hub-coupons__table th,
.farm-hub-coupons__table td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid var(--fh-border);
}
.farm-hub-coupons__table th {
	font-weight: 600;
	color: rgba(17, 17, 17, 0.9);
}
.farm-hub-coupons__table td {
	color: var(--fh-muted);
}

/* Wallet top-up form - standalone page */
.farm-hub-wallet-topup {
	max-width: 420px;
	margin: 0 auto;
	padding: 24px 20px;
}
.farm-hub-wallet-topup__error {
	padding: 14px 18px;
	margin-bottom: 20px;
	background: rgba(185, 28, 28, 0.08);
	border: 1px solid rgba(185, 28, 28, 0.2);
	border-radius: var(--fh-radius, 12px);
	color: #b91c1c;
	font-size: 0.9375rem;
}
.farm-hub-wallet-topup__card {
	background: var(--fh-bg, #fff);
	border: 1px solid var(--fh-border, rgba(17, 17, 17, 0.12));
	border-radius: var(--fh-radius, 12px);
	padding: 28px 24px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}
.farm-hub-wallet-topup__header {
	margin-bottom: 24px;
}
.farm-hub-wallet-topup__title {
	margin: 0 0 8px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: rgba(17, 17, 17, 0.95);
}
.farm-hub-wallet-topup__desc {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--fh-muted, rgba(17, 17, 17, 0.72));
}
.farm-hub-wallet-topup__form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.farm-hub-wallet-topup__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.farm-hub-wallet-topup__field label {
	font-size: 0.95rem;
	font-weight: 600;
	color: rgba(17, 17, 17, 0.9);
}
.farm-hub-wallet-topup__input {
	width: 100%;
	padding: 14px 16px;
	font-size: 1.125rem;
	border: 1px solid var(--fh-border, rgba(17, 17, 17, 0.12));
	border-radius: 10px;
	background: #fff;
	box-sizing: border-box;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.farm-hub-wallet-topup__input:focus {
	outline: none;
	border-color: var(--fh-accent, #2d6a4f);
	box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.12);
}
.farm-hub-wallet-topup__total {
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-size: 1.25rem;
	font-weight: 700;
	color: rgba(17, 17, 17, 0.95);
}
.farm-hub-wallet-topup__total-value {
	color: var(--fh-accent, #2d6a4f);
}
.farm-hub-wallet-topup__btn {
	width: 100%;
	padding: 16px 24px;
	font-size: 1.0625rem;
	font-weight: 600;
	border: none;
	border-radius: 10px;
	background: var(--fh-accent, #2d6a4f);
	color: #fff;
	cursor: pointer;
	transition: background 0.2s, transform 0.1s;
}
.farm-hub-wallet-topup__btn:hover {
	background: var(--fh-accent-hover, #1b4332);
	transform: translateY(-1px);
}
.farm-hub-wallet-topup__btn:focus {
	outline: 2px solid var(--fh-accent);
	outline-offset: 2px;
}
@media (max-width: 480px) {
	.farm-hub-wallet-topup {
		padding: 16px 12px;
		max-width: 100%;
	}
	.farm-hub-wallet-topup__card {
		padding: 24px 18px;
	}
	.farm-hub-wallet-topup__title {
		font-size: 1.25rem;
	}
	.farm-hub-wallet-topup__input {
		padding: 16px 18px;
		font-size: 1rem;
		min-height: 48px;
	}
	.farm-hub-wallet-topup__btn {
		padding: 18px 24px;
		min-height: 52px;
		font-size: 1rem;
	}
}

@media (max-width: 360px) {
	.farm-hub-user-account__title-row {
		flex-direction: column;
		align-items: flex-start;
	}
	.farm-hub-user-account__card-header {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Payment plans - styled cards and modal */
.farm-hub-payments-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--fh-ua-border);
}
.farm-hub-payments-tab {
	appearance: none;
	border: 1px solid transparent;
	border-bottom: 0;
	border-radius: var(--fh-ua-radius) var(--fh-ua-radius) 0 0;
	background: transparent;
	color: var(--fh-ua-muted);
	cursor: pointer;
	font-size: 0.9375rem;
	font-weight: 600;
	padding: 10px 14px;
}
.farm-hub-payments-tab:hover,
.farm-hub-payments-tab:focus {
	color: var(--fh-ua-accent);
	outline: none;
}
.farm-hub-payments-tab.is-active {
	background: var(--fh-ua-bg);
	border-color: var(--fh-ua-border);
	color: var(--fh-ua-text);
	margin-bottom: -1px;
}
.farm-hub-payments-panel[hidden] {
	display: none;
}
.farm-hub-payment-methods-card {
	border: 1px solid var(--fh-ua-border);
	border-radius: var(--fh-ua-radius);
	background: var(--fh-ua-bg);
	padding: 20px;
}
.farm-hub-payment-methods-card__title {
	margin: 0 0 8px;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--fh-ua-text);
}
.farm-hub-payment-methods-card__copy {
	margin: 0 0 16px;
	color: var(--fh-ua-muted);
	font-size: 0.9375rem;
	line-height: 1.5;
}
.farm-hub-payment-methods-card__empty {
	margin: 0 0 16px;
	color: var(--fh-ua-muted);
	font-size: 0.9375rem;
}
.farm-hub-payment-methods-list {
	display: grid;
	gap: 10px;
	margin: 0 0 16px;
}
.farm-hub-payment-methods-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid var(--fh-ua-border);
	border-radius: var(--fh-ua-radius);
	background: var(--fh-ua-surface);
	padding: 12px 14px;
}
.farm-hub-payment-methods-row__details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.farm-hub-payment-methods-row__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	background: rgba(45, 106, 79, 0.1);
	color: var(--fh-ua-accent);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 1px;
	min-height: 28px;
	min-width: 40px;
}
.farm-hub-payment-methods-row__label {
	color: var(--fh-ua-text);
	font-size: 0.9375rem;
	font-weight: 600;
}
.farm-hub-payment-methods-row__badge {
	border-radius: 9999px;
	background: rgba(45, 106, 79, 0.15);
	color: var(--fh-ua-accent);
	font-size: 0.75rem;
	font-weight: 600;
	padding: 3px 8px;
}
.farm-hub-payment-methods-row__form {
	margin: 0;
}
.farm-hub-payment-methods-row__delete {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid transparent;
	border-radius: 9999px;
	background: transparent;
	color: #b91c1c;
	cursor: pointer;
}
.farm-hub-payment-methods-row__delete:hover,
.farm-hub-payment-methods-row__delete:focus {
	border-color: rgba(185, 28, 28, 0.2);
	background: rgba(185, 28, 28, 0.08);
	outline: none;
}
.farm-hub-payment-methods-row__trash {
	width: 20px;
	height: 20px;
	fill: currentColor;
}
.farm-hub-payment-plans--styled .farm-hub-payment-plans__notice {
	padding: 12px 16px;
	border-radius: var(--fh-ua-radius);
	margin-bottom: 16px;
	font-size: 0.9375rem;
}
.farm-hub-payment-plans--styled .farm-hub-payment-plans__notice--success {
	background: rgba(45, 106, 79, 0.1);
	border-left: 4px solid var(--fh-ua-accent);
	color: var(--fh-ua-text);
}
.farm-hub-payment-plans--styled .farm-hub-payment-plans__notice--error {
	background: rgba(185, 28, 28, 0.08);
	border-left: 4px solid #b91c1c;
	color: #991b1b;
}
.farm-hub-payment-plans__card {
	border: 1px solid var(--fh-ua-border);
	border-radius: var(--fh-ua-radius);
	background: var(--fh-ua-bg);
	margin-bottom: 20px;
	overflow: hidden;
}
.farm-hub-payment-plans__card-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 16px 20px;
	background: var(--fh-ua-surface);
	border-bottom: 1px solid var(--fh-ua-border);
}
.farm-hub-payment-plans__card-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--fh-ua-text);
}
.farm-hub-payment-plans__badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 600;
}
.farm-hub-payment-plans__badge--autopay {
	background: rgba(45, 106, 79, 0.15);
	color: var(--fh-ua-accent);
}
.farm-hub-payment-plans__badge--manual {
	background: rgba(107, 114, 128, 0.2);
	color: var(--fh-ua-muted);
}
.farm-hub-payment-plans__card-body {
	padding: 20px;
}
.farm-hub-payment-plans__meta {
	margin: 0 0 8px;
	font-size: 0.9375rem;
	color: var(--fh-ua-text);
}
.farm-hub-payment-plans__meta--muted {
	color: var(--fh-ua-muted);
	font-size: 0.875rem;
}
.farm-hub-payment-plans__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0;
}
.farm-hub-payment-plans__form-inline {
	display: inline;
}
.farm-hub-payment-plans__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border-radius: var(--fh-ua-radius);
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.farm-hub-payment-plans__btn--primary {
	background: var(--fh-ua-accent);
	color: #fff;
	border-color: var(--fh-ua-accent);
}
.farm-hub-payment-plans__btn--primary:hover {
	background: var(--fh-ua-accent-hover);
	border-color: var(--fh-ua-accent-hover);
}
.farm-hub-payment-plans__btn--secondary {
	background: var(--fh-ua-surface);
	color: var(--fh-ua-text);
	border-color: var(--fh-ua-border);
}
.farm-hub-payment-plans__btn--secondary:hover {
	background: rgba(45, 106, 79, 0.08);
	border-color: rgba(45, 106, 79, 0.2);
	color: var(--fh-ua-accent);
}

/*
 * Bare type="button" secondary actions kept native/OS chrome without appearance reset;
 * adjacent type="submit" inside .farm-hub-payment-plans__form-inline looked smaller and card-like.
 */
.farm-hub-user-account .farm-hub-payment-plans .farm-hub-payment-plans__btn--secondary[type="button"],
.farm-hub-user-account .farm-hub-payment-plans a.farm-hub-payment-plans__btn.farm-hub-payment-plans__btn--secondary {
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
	box-sizing: border-box;
	min-height: 0;
	padding: 8px 14px;
	border-radius: 8px;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.45;
	vertical-align: middle;
}
.farm-hub-payment-plans__table-wrap {
	overflow-x: auto;
	margin-top: 16px;
	border-radius: var(--fh-ua-radius);
	border: 1px solid var(--fh-ua-border);
}
.farm-hub-payment-plans__table {
	width: 100%;
	min-width: 560px;
}

.farm-hub-payment-plans__table tfoot td {
	border-top: 2px solid var(--fh-ua-border);
	font-weight: 600;
	background: rgba(45, 106, 79, 0.04);
}
.farm-hub-payment-plans__status--paid { color: #059669; }
.farm-hub-payment-plans__status--pending { color: #d97706; }
.farm-hub-payment-plans__status--failed { color: #dc2626; }
.farm-hub-payment-plans__refunded { font-size: 0.8125rem; color: var(--fh-ua-muted); }
.farm-hub-payment-plans__setup {
	margin-top: 16px;
	padding: 16px;
	border: 1px solid var(--fh-ua-border);
	border-radius: var(--fh-ua-radius);
	background: var(--fh-ua-surface);
}
.farm-hub-payment-plans__setup-title { margin: 0 0 12px; font-weight: 600; }
.farm-hub-payment-plans__error { margin: 8px 0 0; color: #b91c1c; font-size: 0.875rem; }

/* Manual payment modal */
.farm-hub-payment-plans__modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	box-sizing: border-box;
}
.farm-hub-payment-plans__modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	cursor: pointer;
}
.farm-hub-payment-plans__modal-content {
	position: relative;
	width: 100%;
	max-width: 420px;
	background: var(--fh-ua-bg);
	border-radius: var(--fh-ua-radius);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
	padding: 24px;
}
.farm-hub-payment-plans__modal-title {
	margin: 0 0 12px;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--fh-ua-text);
}
.farm-hub-payment-plans__modal-amount {
	margin: 0 0 20px;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--fh-ua-accent);
}
.farm-hub-payment-plans__modal-label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--fh-ua-text);
}
.farm-hub-payment-plans__modal-select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--fh-ua-border);
	border-radius: var(--fh-ua-radius);
	font-size: 1rem;
	background: var(--fh-ua-bg);
}
.farm-hub-payment-plans__modal-actions {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 20px;
}
@media (max-width: 480px) {
	.farm-hub-payments-tabs { flex-direction: column; border-bottom: 0; }
	.farm-hub-payments-tab {
		width: 100%;
		border: 1px solid var(--fh-ua-border);
		border-radius: var(--fh-ua-radius);
		text-align: center;
	}
	.farm-hub-payments-tab.is-active { margin-bottom: 0; }
	.farm-hub-payment-methods-card { padding: 16px; }
	.farm-hub-payment-methods-row {
		align-items: stretch;
		flex-direction: column;
	}
	.farm-hub-payment-methods-row__form,
	.farm-hub-payment-methods-row__delete {
		width: 100%;
	}
	.farm-hub-payment-plans__modal-content { padding: 20px; }
	.farm-hub-payment-plans__actions { flex-direction: column; }
	.farm-hub-payment-plans__btn { width: 100%; justify-content: center; }
}

.farm-hub-user-account-login {
	text-align: center;
	padding: 48px 24px;
	font-size: 1rem;
	color: var(--fh-muted);
}

.farm-hub-user-account-login a {
	color: var(--fh-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.farm-hub-user-account-login a:hover {
	color: var(--fh-accent-hover);
}

/* Meal Planner embed (iframe): full width; height set via postMessage from Meal Planner site */
.farm-hub-meal-planner-embed {
	width: 100%;
	max-width: 100%;
	position: relative;
	border: 0;
	overflow: visible;
	box-sizing: border-box;
}

/* Bleed embed to card edges (account dashboard cards have horizontal padding) */
.farm-hub-user-account__card-body > .farm-hub-meal-planner-embed {
	margin-left: -24px;
	margin-right: -24px;
	width: calc(100% + 48px);
	max-width: none;
}

.farm-hub-meal-planner-iframe {
	width: 100%;
	max-width: 100%;
	min-height: min(40vh, 480px);
	height: auto;
	border: 0;
	display: block;
	vertical-align: top;
	overflow: hidden;
	box-sizing: border-box;
}

/* Tablet and up: sidebar layout */
@media (min-width: 768px) {
	.farm-hub-user-account {
		padding: 32px 24px 48px;
	}

	.farm-hub-user-account__header {
		margin-bottom: 32px;
		padding-bottom: 24px;
	}

	.farm-hub-user-account__title {
		font-size: 2rem;
	}

	.farm-hub-user-account__layout {
		display: grid;
		grid-template-columns: 220px 1fr;
		gap: 32px;
		align-items: start;
	}

	.farm-hub-user-account__nav {
		position: sticky;
		top: 24px;
		overflow: visible;
		padding-bottom: 0;
		margin: 0;
	}

	.farm-hub-user-account__nav-list {
		flex-direction: column;
		flex-wrap: nowrap;
		min-width: auto;
	}

	.farm-hub-user-account__nav-link {
		display: block;
		width: 100%;
		text-align: left;
		white-space: normal;
	}

	.farm-hub-user-account__dashboard {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
		gap: 24px;
	}

	/* Meal Planner sections need full main-column width (not a narrow grid cell) */
	.farm-hub-user-account__dashboard > section#meal_plans,
	.farm-hub-user-account__dashboard > section[id^="meal_planner_"] {
		grid-column: 1 / -1;
	}
}

/* Desktop: wider cards, more breathing room */
@media (min-width: 1024px) {
	.farm-hub-user-account__layout {
		grid-template-columns: 260px 1fr;
		gap: 40px;
	}

	.farm-hub-user-account__card {
		padding: 28px;
		box-shadow: var(--fh-ua-shadow-lg);
	}

	.farm-hub-user-account__card-body > .farm-hub-meal-planner-embed {
		margin-left: -28px;
		margin-right: -28px;
		width: calc(100% + 56px);
	}
}

/* Modal (Upsells / future dialogs) */
.farm-hub-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 18px;
}

.farm-hub-modal.is-open {
	display: flex;
}

.farm-hub-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
}

.farm-hub-modal__panel {
	position: relative;
	width: 100%;
	max-width: 560px;
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
	padding: 16px;
}

.farm-hub-modal__title {
	margin: 0 0 6px;
	font-size: 20px;
	line-height: 1.25;
}

.farm-hub-modal__subtitle {
	margin: 0 0 12px;
	color: var(--fh-muted);
}

/* Scrollable modal body (long tables, payment schedules). */
.farm-hub-modal__panel.farm-hub-modal__panel--scroll-body {
	display: flex;
	flex-direction: column;
	max-height: min(85vh, calc(100vh - 36px));
	min-height: 0;
}

.farm-hub-modal__panel.farm-hub-modal__panel--scroll-body > .farm-hub-modal__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

.farm-hub-plan-schedule-panel .farm-hub-modal__title {
	padding-right: 40px;
}

.farm-hub-upsell-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	border: 1px solid var(--fh-border);
	background: var(--fh-surface);
	padding: 12px;
	border-radius: 12px;
	margin: 10px 0;
}

.farm-hub-upsell-item__thumb {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--fh-muted);
}

.farm-hub-upsell-item__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.farm-hub-upsell-item__content {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.farm-hub-upsell-item__title {
	line-height: 1.3;
}

.farm-hub-upsell-item__price {
	font-size: 0.9em;
	color: var(--fh-muted);
	font-weight: 600;
}

.farm-hub-upsell-item__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 4px;
}

.farm-hub-upsell-item__view {
	font-size: 0.875rem;
	color: var(--fh-primary, #111);
	text-decoration: underline;
}

.farm-hub-upsell-item__view:hover {
	text-decoration: none;
}

.farm-hub-upsell-item__btn {
	white-space: nowrap;
}

.farm-hub-modal__actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 12px;
}

.farm-hub-modal__secondary {
	background: #fff;
	color: #111;
	border: 1px solid rgba(17, 17, 17, 0.18);
}

.farm-hub-modal__secondary:hover {
	filter: brightness(1.02);
}

/* Driver app: make stop cards readable on mobile. */
.farm-hub-driver-app .farmhub-stop {
	background: #fff;
}

/* Chatbot: override inline to match the same visual system. */
.farm-hub-chatbot [data-fh-chat-open] {
	background: #111 !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}

.farm-hub-chatbot [data-fh-chat-panel] {
	border-radius: var(--fh-radius) !important;
	border-color: var(--fh-border) !important;
}

.farm-hub-chatbot [data-fh-chat-log] {
	background: #fff !important;
}

/* Order receipt page - clean, card-style layout */
.farm-hub-order-receipt {
	max-width: 720px;
	margin: 24px auto;
	padding: 24px;
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.farm-hub-order-receipt__thank-you {
	margin: 0 0 20px;
	padding: 16px 20px;
	background: linear-gradient(135deg, rgba(45, 106, 79, 0.12) 0%, rgba(45, 106, 79, 0.06) 100%);
	border: 1px solid rgba(45, 106, 79, 0.25);
	border-radius: var(--fh-radius);
	font-size: 18px;
	font-weight: 600;
	color: var(--fh-accent);
	text-align: center;
}

.farm-hub-order-receipt__title {
	margin: 0 0 16px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #1a1a1a;
}

.farm-hub-order-receipt__meta {
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--fh-border);
}

.farm-hub-order-receipt__meta p {
	margin: 0 0 8px;
	font-size: 15px;
	color: var(--fh-muted);
}

.farm-hub-order-receipt__meta p:last-child {
	margin-bottom: 0;
}

.farm-hub-order-receipt__status {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	text-transform: lowercase;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
}

.farm-hub-order-receipt__table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 20px;
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
	background: var(--fh-surface);
}

.farm-hub-order-receipt__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.farm-hub-order-receipt__table th,
.farm-hub-order-receipt__table td {
	padding: 12px 16px;
	text-align: left;
	border-bottom: 1px solid var(--fh-border);
}

.farm-hub-order-receipt__table thead th {
	font-weight: 600;
	color: rgba(17, 17, 17, 0.9);
	background: rgba(45, 106, 79, 0.06);
}

.farm-hub-order-receipt__table tbody tr:last-child td {
	border-bottom: 1px solid var(--fh-border);
}

.farm-hub-order-receipt__table tfoot td {
	border-top: 2px solid var(--fh-border);
	font-weight: 600;
	color: #1a1a1a;
	background: rgba(45, 106, 79, 0.06);
}

.farm-hub-order-receipt__table td {
	color: var(--fh-muted);
}

.farm-hub-order-receipt__table td:first-child {
	font-weight: 500;
	color: #1a1a1a;
}

.farm-hub-order-receipt__table td:last-child {
	font-weight: 600;
	color: #1a1a1a;
}

.farm-hub-order-receipt__notes {
	margin: 16px 0;
	padding: 16px 20px;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
}

.farm-hub-order-receipt__notes-title {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 600;
	color: #1a1a1a;
}

.farm-hub-order-receipt__notes-list {
	margin: 0;
	padding-left: 20px;
}

.farm-hub-order-receipt__notes-list li {
	margin-bottom: 6px;
}

.farm-hub-order-receipt__notes-list li:last-child {
	margin-bottom: 0;
}

.farm-hub-order-receipt__totals {
	padding: 16px 20px;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
}

.farm-hub-order-receipt__totals p {
	margin: 0 0 8px;
	font-size: 16px;
	color: #1a1a1a;
}

.farm-hub-order-receipt__totals p:last-child {
	margin-bottom: 0;
}

.farm-hub-order-receipt__totals strong {
	display: inline-block;
	min-width: 120px;
}

.farm-hub-order-receipt__payment-plan {
	margin-top: 20px;
	padding: 16px 20px;
	background: rgba(45, 106, 79, 0.06);
	border: 1px solid rgba(45, 106, 79, 0.2);
	border-radius: var(--fh-radius);
}

.farm-hub-order-receipt__payment-plan-title {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 600;
	color: #1a1a1a;
}

.farm-hub-order-receipt__payment-plan p {
	margin: 0 0 8px;
	font-size: 15px;
}

.farm-hub-order-receipt__payment-plan p:last-child {
	margin-bottom: 0;
}

.farm-hub-order-receipt__badge {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-radius: 4px;
	vertical-align: middle;
}

.farm-hub-order-receipt__badge--payment-plan {
	background: rgba(45, 106, 79, 0.15);
	color: #2d6a4f;
	border: 1px solid rgba(45, 106, 79, 0.3);
}

.farm-hub-order-receipt__payment-plan-name {
	margin: 0 0 12px;
}

.farm-hub-order-receipt__account-created {
	margin-top: 20px;
	padding: 20px;
	background: linear-gradient(135deg, rgba(45, 106, 79, 0.08) 0%, rgba(45, 106, 79, 0.04) 100%);
	border: 1px solid rgba(45, 106, 79, 0.25);
	border-radius: var(--fh-radius);
}

.farm-hub-order-receipt__account-created-title {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 600;
	color: #1a1a1a;
}

.farm-hub-order-receipt__account-created-desc {
	margin: 0 0 16px;
	font-size: 15px;
	color: var(--fh-muted);
	line-height: 1.5;
}

.farm-hub-order-receipt__account-created-credentials {
	display: grid;
	gap: 12px;
	margin-bottom: 16px;
	padding: 16px;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	border-radius: 8px;
}

.farm-hub-order-receipt__account-created-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
}

.farm-hub-order-receipt__account-created-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--fh-muted);
	min-width: 80px;
}

.farm-hub-order-receipt__account-created-value {
	font-family: ui-monospace, monospace;
	font-size: 15px;
	padding: 4px 10px;
	background: #fff;
	border: 1px solid var(--fh-border);
	border-radius: 6px;
	word-break: break-all;
}

.farm-hub-order-receipt__account-created-note {
	margin: 0;
	font-size: 13px;
	color: var(--fh-muted);
}

.farm-hub-order-receipt__create-meal-plan-wrap {
	margin-top: 20px;
	margin-bottom: 20px;
}

.farm-hub-order-receipt__create-meal-plan {
	display: inline-block;
	min-height: 44px;
	min-width: 44px;
	padding: 12px 24px;
	background: var(--fh-accent);
	color: #fff;
	text-decoration: none;
	border-radius: var(--fh-radius);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	transition: opacity 0.2s;
}

.farm-hub-order-receipt__create-meal-plan:hover {
	opacity: 0.9;
	color: #fff;
}

/* Full-page receipt meal plan: back (top right) + Meal Planner iframe */
.farm-hub-receipt-meal-plan-page {
	max-width: 100%;
	box-sizing: border-box;
}

.farm-hub-receipt-meal-plan-page__toolbar {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 12px 16px;
	padding-top: max(12px, env(safe-area-inset-top));
	padding-right: max(16px, env(safe-area-inset-right));
	padding-left: max(16px, env(safe-area-inset-left));
	border-bottom: 1px solid var(--fh-border, #e5e7eb);
	background: var(--fh-surface, #fff);
}

.farm-hub-receipt-meal-plan-page__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 8px 16px;
	font-weight: 600;
	font-size: 15px;
	color: var(--fh-accent, #2d6a4f);
	text-decoration: none;
	border-radius: var(--fh-radius, 8px);
	transition: background 0.15s, opacity 0.15s;
}

.farm-hub-receipt-meal-plan-page__back:hover {
	background: rgba(45, 106, 79, 0.08);
	opacity: 1;
}

.farm-hub-receipt-meal-plan-page__back:focus-visible {
	outline: 2px solid var(--fh-accent, #2d6a4f);
	outline-offset: 2px;
}

.farm-hub-receipt-meal-plan-page__embed {
	margin-top: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}

.farm-hub-receipt-meal-plan-page__embed .farm-hub-meal-planner-iframe {
	min-height: min(70vh, 720px);
	border: 0;
	outline: none;
}

.farm-hub-receipt-meal-plan-page__msg {
	margin: 0;
	padding: 16px 20px max(24px, env(safe-area-inset-bottom));
	font-size: 15px;
	line-height: 1.5;
	color: #374151;
}

.farm-hub-receipt-meal-plan-page--message .farm-hub-receipt-meal-plan-page__msg {
	margin-top: 0;
}

/* Checkout login modal */
.farm-hub-checkout-login-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s, visibility 0.2s;
}

.farm-hub-checkout-login-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.farm-hub-checkout-login-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.farm-hub-checkout-login-modal-content {
	position: relative;
	width: 100%;
	max-width: 400px;
	padding: 24px;
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

.farm-hub-checkout-login-modal-title {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 700;
	color: #1a1a1a;
}

.farm-hub-checkout-login-modal-desc {
	margin: 0 0 20px;
	font-size: 15px;
	color: var(--fh-muted);
	line-height: 1.5;
}

.farm-hub-checkout-login-form .farm-hub-checkout-login-field {
	margin-bottom: 16px;
}

.farm-hub-checkout-login-form label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 500;
	color: #374151;
}

.farm-hub-checkout-login-form input[type="text"],
.farm-hub-checkout-login-form input[type="password"] {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--fh-border);
	border-radius: 8px;
	font-size: 16px;
}

.farm-hub-checkout-login-error {
	display: none;
	margin: 0 0 12px;
	padding: 10px 14px;
	background: rgba(220, 38, 38, 0.1);
	border: 1px solid rgba(220, 38, 38, 0.3);
	border-radius: 8px;
	font-size: 14px;
	color: #b91c1c;
}

.farm-hub-checkout-login-actions {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 20px;
}

.farm-hub-checkout-login-cancel {
	padding: 10px 18px;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	border-radius: 8px;
	font-size: 15px;
	cursor: pointer;
}

.farm-hub-checkout-login-submit {
	padding: 10px 18px;
	background: var(--fh-accent);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.farm-hub-checkout-login-submit:hover {
	opacity: 0.95;
}

@media (max-width: 480px) {
	.farm-hub-checkout-login-modal-content {
		padding: 20px 16px;
	}
	.farm-hub-checkout-login-actions {
		flex-direction: column;
	}
	.farm-hub-checkout-login-actions button {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.farm-hub-order-receipt {
		margin: 16px 12px;
		padding: 16px;
	}

	.farm-hub-order-receipt__thank-you {
		font-size: 16px;
		padding: 14px 16px;
	}

	.farm-hub-order-receipt__table th,
	.farm-hub-order-receipt__table td {
		padding: 10px 12px;
		font-size: 14px;
	}

	.farm-hub-order-receipt__account-created {
		padding: 16px;
	}

	.farm-hub-order-receipt__account-created-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.farm-hub-order-receipt__account-created-value {
		width: 100%;
		box-sizing: border-box;
	}

	.farm-hub-order-receipt__create-meal-plan-wrap {
		margin-top: 16px;
		margin-bottom: 16px;
	}

	.farm-hub-order-receipt__create-meal-plan {
		display: block;
		width: 100%;
		text-align: center;
		padding: 14px 20px;
	}
}

/* Fallback thank-you when receipt is prepended to non-shortcode page */
.farm-hub-thank-you-message {
	margin: 0 0 20px;
	padding: 16px 20px;
	background: linear-gradient(135deg, rgba(45, 106, 79, 0.12) 0%, rgba(45, 106, 79, 0.06) 100%);
	border: 1px solid rgba(45, 106, 79, 0.25);
	border-radius: var(--fh-radius);
}

.farm-hub-thank-you-message p {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--fh-accent);
}

.farm-hub-google-reviews {
	max-width: 920px;
	margin: 18px auto;
	padding: 16px;
	background: var(--fh-bg);
	border: 1px solid var(--fh-border);
	border-radius: var(--fh-radius);
}

.farm-hub-google-reviews iframe {
	width: 100%;
	max-width: 100%;
	border: 0;
	border-radius: 12px;
}

/* Single product page - scoped to override theme styles */
.farm-hub-product-single {
	max-width: 1200px;
	margin: 32px auto;
	padding: 0 20px;
	--fh-qty-bg: #f9fafb;
	--fh-qty-border: #e5e7eb;
	--fh-qty-btn-color: #374151;
	--fh-card-border: #e5e7eb;
	--fh-card-selected: #22c55e;
	--fh-card-selected-bg: rgba(34, 197, 94, 0.06);
	--fh-save-badge: #f97316;
}

/* Override theme button/input styles that commonly conflict */
.farm-hub-product-single .farm-hub-product-single__qty-btn {
	background: var(--fh-qty-bg) !important;
	color: var(--fh-qty-btn-color) !important;
	border: none !important;
	min-width: 48px;
	min-height: 48px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	touch-action: manipulation;
}

.farm-hub-product-single .farm-hub-product-single__qty-wrap {
	border-color: var(--fh-qty-border) !important;
}

.farm-hub-product-single .farm-hub-product-single__qty-input {
	background: #fff !important;
	color: #111 !important;
	border-color: var(--fh-qty-border) !important;
}

.farm-hub-product-single .farm-hub-product-single__addon-input {
	background: #fff !important;
	border-color: #d1d5db !important;
}

.farm-hub-product-single__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}

/* Single product: keep the summary/form column independent from the gallery row height. */
.farm-hub-product-single__grid:not(.farm-hub-product-single__grid--has-benefits) {
	grid-template-areas:
		"gallery summary";
}

.farm-hub-product-single__grid--has-benefits {
	grid-template-areas:
		"gallery summary";
}

.farm-hub-product-single__gallery {
	grid-area: gallery;
	align-self: start;
	position: sticky;
	top: 24px;
}

.farm-hub-product-single__info-top {
	grid-area: info-top;
	min-width: 0;
}

.farm-hub-product-single__info-bottom {
	grid-area: info-bottom;
	min-width: 0;
}

.farm-hub-product-single__summary-column {
	grid-area: summary;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.farm-hub-product-single__main-image-wrap {
	position: relative;
	margin-bottom: 16px;
}

.farm-hub-product-single__image-badges {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-end;
	z-index: 2;
}

.farm-hub-product-single__image-badge {
	display: inline-block;
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #fff;
	white-space: nowrap;
}

.farm-hub-product-single__image-badge--new {
	background: #22c55e;
}

.farm-hub-product-single__image-badge--on-sale,
.farm-hub-product-single__image-badge--sale {
	background: #ef4444;
}

.farm-hub-product-single__image-badge--featured {
	background: #f97316;
}

.farm-hub-product-single__image-badge--limited {
	background: #8b5cf6;
}

.farm-hub-product-single__image-badge:not([class*="--new"]):not([class*="--on-sale"]):not([class*="--sale"]):not([class*="--featured"]):not([class*="--limited"]) {
	background: #6b7280;
}

.farm-hub-product-single__feature-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
	background: #fff;
	border-radius: 16px 16px 0 0;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
}

.farm-hub-product-single__feature-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--fh-accent);
	margin-bottom: 10px;
}

.farm-hub-product-single__feature-badge-icon {
	flex-shrink: 0;
}

.farm-hub-product-single__feature-title {
	margin: 0 0 6px;
	font-size: 16px;
	font-weight: 700;
	color: #111;
}

.farm-hub-product-single__feature-desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--fh-muted);
}

.farm-hub-product-single__benefits-heading {
	margin: 24px 0 0;
	font-size: 18px;
	font-weight: 700;
	color: #111;
}

.farm-hub-product-single__excerpt {
	margin: 0 0 24px;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(17, 17, 17, 0.85);
}

.farm-hub-product-single__excerpt p {
	margin: 0 0 0.75em;
}

.farm-hub-product-single__excerpt p:last-child {
	margin-bottom: 0;
}

.farm-hub-product-single__section {
	margin-bottom: 28px;
}

.farm-hub-product-single__section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-bottom: 14px;
}

.farm-hub-product-single__section-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 50%;
	background: var(--fh-single-section-number-background, #1f2937);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

.farm-hub-product-single__section-title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #111;
}

.farm-hub-product-single__section-note {
	margin-left: auto;
	font-size: 13px;
	color: #6b7280;
}

.farm-hub-product-single__cards {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.farm-hub-product-single__card {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 8px 12px;
	padding: 16px 18px;
	min-height: 48px;
	box-sizing: border-box;
	background: #fff;
	border: 2px solid var(--fh-card-border);
	border-radius: 14px;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
	touch-action: manipulation;
}

.farm-hub-product-single__card:hover:not(.is-disabled) {
	border-color: #9ca3af;
}

.farm-hub-product-single__card.is-selected {
	border-color: var(--fh-card-selected);
	background: var(--fh-card-selected-bg);
	box-shadow: 0 0 0 1px var(--fh-card-selected);
}

.farm-hub-product-single__card.is-disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.farm-hub-product-single__card-input {
	position: absolute;
	inset: 0;
	opacity: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: 0;
	pointer-events: none;
}

/* Visually hidden inputs used with explicit for/id label association - no pointer-events manipulation */
.farm-hub-product-single__card-input--hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	inset: auto;
	opacity: 1;
	z-index: auto;
	cursor: default;
}

.farm-hub-product-single__card-check {
	position: absolute;
	top: 16px;
	right: 16px;
	display: none;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--fh-card-selected);
	color: #fff;
}

.farm-hub-product-single__card.is-selected .farm-hub-product-single__card-check {
	display: flex;
}

.farm-hub-product-single__card-label {
	flex: 1 1 100%;
	font-size: 16px;
	font-weight: 600;
	color: #111;
}

.farm-hub-product-single__card-desc {
	flex: 1 1 100%;
	font-size: 14px;
	line-height: 1.45;
	color: #6b7280;
}

.farm-hub-product-single__card-price {
	font-size: 15px;
	font-weight: 700;
	color: var(--fh-card-selected);
}

.farm-hub-product-single__addon-card,
.farm-hub-product-single__payment-card {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.farm-hub-product-single__addon-card .farm-hub-product-single__card-label,
.farm-hub-product-single__payment-card .farm-hub-product-single__card-label {
	flex: 1 1 auto;
	min-width: 0;
}

.farm-hub-product-single__addon-icon,
.farm-hub-product-single__payment-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	background: rgba(45, 106, 79, 0.1);
	border-radius: 10px;
	color: var(--fh-accent);
}

.farm-hub-product-single__addon-card--none .farm-hub-product-single__card-label {
	color: #9ca3af;
	font-weight: 500;
}

.farm-hub-product-single__card-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
}

.farm-hub-product-single__card-badge--save {
	background: rgba(249, 115, 22, 0.15);
	color: var(--fh-save-badge);
}

/* Optional highlight label on variable share-size cards (set per variation in admin). */
.farm-hub-product-single__variation-badge {
	flex: 1 1 100%;
	align-self: flex-start;
	margin-top: -2px;
	margin-bottom: 2px;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	background: rgba(45, 106, 79, 0.12);
	color: var(--fh-accent);
}

.farm-hub-product-single__category {
	margin: 0 0 12px;
	font-size: 14px;
	color: #6b7280;
	line-height: 1.4;
}

.farm-hub-product-single__price-block {
	margin: 20px 0 12px;
}

.farm-hub-product-single__price-label {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6b7280;
}

.farm-hub-product-single__price-row {
	margin: 0 0 8px;
	font-size: 24px;
	font-weight: 700;
	color: #111;
	line-height: 1.3;
}

.farm-hub-product-single__plan-details {
	margin: 8px 0 0;
	padding: 12px;
	background: rgba(45, 106, 79, 0.06);
	border-radius: 10px;
	border: 1px solid rgba(45, 106, 79, 0.15);
}

.farm-hub-product-single__plan-installments,
.farm-hub-product-single__plan-total {
	margin: 0 0 4px;
	font-size: 14px;
	color: #374151;
	line-height: 1.4;
}

.farm-hub-product-single__plan-total {
	margin-bottom: 0;
	font-weight: 600;
}

.farm-hub-product-single__benefits-section {
	margin-top: 20px;
}

.farm-hub-product-single__benefits-section .farm-hub-product-single__benefits-heading {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #111;
}

.farm-hub-product-single__benefits-content {
	font-size: 14px;
	line-height: 1.5;
	color: var(--fh-muted);
}

.farm-hub-product-single__benefits-content p {
	margin: 0 0 8px;
}

.farm-hub-product-single__benefits-content p:last-child {
	margin-bottom: 0;
}

.farm-hub-product-single__benefits-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.farm-hub-product-single__benefit-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--fh-muted);
}

.farm-hub-product-single__benefit-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	overflow: hidden;
	object-fit: cover;
}

.farm-hub-product-single__benefit-desc {
	flex: 1;
	min-width: 0;
}

.farm-hub-product-single__main-image {
	aspect-ratio: 1;
	border-radius: 16px;
	overflow: hidden;
	background: var(--fh-surface);
	border: 1px solid var(--fh-border);
	margin-bottom: 16px;
}

.farm-hub-product-single__main-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.farm-hub-product-single__main-image.farm-hub-product-single__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--fh-muted);
	font-size: 14px;
}

.farm-hub-product-single__thumbs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.farm-hub-product-single__thumb {
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
	background: none;
	transition: border-color 0.2s;
	touch-action: manipulation;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.06);
}

.farm-hub-product-single__thumb.is-active,
.farm-hub-product-single__thumb:hover {
	border-color: var(--fh-card-selected, #22c55e);
}

.farm-hub-product-single__thumb img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	display: block;
}

body.farm-hub-product-single-img-square .farm-hub-product-single__main-image,
body.farm-hub-product-single-img-square .farm-hub-product-single__thumb {
	border-radius: 0;
}

.farm-hub-product-single__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}

.farm-hub-product-single__badge {
	display: inline-block;
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #fff;
}

.farm-hub-product-single__badge--memberships {
	background: #22c55e;
}

.farm-hub-product-single__badge--seasonal {
	background: #f97316;
}

.farm-hub-product-single__badge:not(.farm-hub-product-single__badge--memberships):not(.farm-hub-product-single__badge--seasonal) {
	background: #6b7280;
}

.farm-hub-product-single__title {
	margin: 0 0 12px;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	color: var(--fh-single-title-color, #111);
}

.farm-hub-product-single__price,
.farm-hub-product-single [data-fh-price] {
	font-size: 22px;
	font-weight: 700;
	color: var(--fh-single-price-color, #111);
	line-height: 1.3;
}

.farm-hub-product-single__price-old {
	color: var(--fh-muted);
	font-weight: 500;
	margin-right: 8px;
}

.farm-hub-product-single__price-suffix {
	font-size: 0.7em;
	font-weight: 500;
	color: #6b7280;
	margin-left: 2px;
}

.farm-hub-product-single__shipping-note {
	margin: 0 0 24px;
	font-size: 14px;
	color: #6b7280;
	line-height: 1.5;
}

.farm-hub-product-single__out-of-stock {
	color: #b32d2e;
	font-weight: 600;
	margin: 0 0 16px;
}

.farm-hub-product-single__field {
	margin-bottom: 24px;
}

.farm-hub-product-single__field-label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #6b7280;
	margin-bottom: 10px;
}

.farm-hub-product-single__field label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #6b7280;
	margin-bottom: 10px;
}

.farm-hub-product-single__field--variations .farm-hub-product-single__field-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
}

.farm-hub-product-single__field-head {
	display: block;
	margin-bottom: 10px;
}

.farm-hub-product-single__variation-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.farm-hub-product-single__variation-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.farm-hub-product-single__size-guide {
	font-size: 13px;
	color: #22c55e;
	text-decoration: none;
	font-weight: 500;
	margin-left: auto;
	white-space: nowrap;
}

.farm-hub-product-single__size-guide:hover {
	text-decoration: underline;
}

.farm-hub-product-single__variation-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	border: 2px solid #e5e7eb;
	border-radius: 999px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	background: #fff;
	color: #374151;
	transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.farm-hub-product-single__variation-pill:hover:not(.is-disabled) {
	border-color: #22c55e;
}

.farm-hub-product-single__variation-pill.is-selected {
	border-color: #15803d;
	background: #dcfce7;
	color: #15803d;
}

.farm-hub-product-single__variation-pill.is-disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.farm-hub-product-single__variation-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.farm-hub-product-single__addons {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.farm-hub-product-single__addon {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	cursor: pointer;
	font-size: 15px;
	color: #111;
	background: #f9fafb;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	transition: border-color 0.2s, background 0.2s;
}

.farm-hub-product-single__addon:hover {
	background: #f3f4f6;
	border-color: #d1d5db;
}

.farm-hub-product-single__addon--none {
	background: transparent;
	border-color: transparent;
}

.farm-hub-product-single__addon--none:hover {
	background: #f9fafb;
	border-color: #e5e7eb;
}

.farm-hub-product-single__addon-input {
	width: 20px;
	height: 20px;
	min-width: 20px;
	margin: 0;
	flex-shrink: 0;
	border-radius: 50%;
	border: 2px solid #d1d5db;
	appearance: none;
	-webkit-appearance: none;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
}

.farm-hub-product-single__addon-input:checked {
	background: #22c55e;
	border-color: #22c55e;
	box-shadow: inset 0 0 0 3px #fff;
}

.farm-hub-product-single__addon-input:focus {
	outline: 2px solid #22c55e;
	outline-offset: 2px;
}

.farm-hub-product-single__addon-title {
	flex: 1;
	font-weight: 500;
}

.farm-hub-product-single__addon-price {
	font-weight: 600;
	color: #22c55e;
	font-size: 15px;
}

.farm-hub-product-single__addon--none .farm-hub-product-single__addon-title {
	color: #9ca3af;
	font-weight: 400;
}

.farm-hub-product-single__field select {
	width: 100%;
	max-width: 280px;
	padding: 10px 12px;
	border: 1px solid var(--fh-border);
	border-radius: 10px;
	background: #fff;
	font-size: 15px;
}

.farm-hub-product-single__quantity .farm-hub-product-single__qty-wrap {
	display: flex;
	align-items: center;
	gap: 0;
	max-width: 150px;
	border: 2px solid var(--fh-qty-border, #e5e7eb);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

.farm-hub-product-single__qty-btn {
	min-width: 48px;
	min-height: 48px;
	width: 48px;
	height: 48px;
	padding: 0;
	border: none;
	background: var(--fh-qty-bg, #f9fafb);
	cursor: pointer;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	color: var(--fh-qty-btn-color, #374151);
	transition: background 0.2s;
	touch-action: manipulation;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.06);
}

.farm-hub-product-single__qty-btn:hover {
	background: #f3f4f6 !important;
}

.farm-hub-product-single__qty-input {
	width: 56px;
	min-width: 48px;
	height: 48px;
	min-height: 48px;
	padding: 0;
	border: none;
	border-left: 2px solid var(--fh-qty-border, #e5e7eb);
	border-right: 2px solid var(--fh-qty-border, #e5e7eb);
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	color: #111;
	background: #fff;
	-moz-appearance: textfield;
	box-sizing: border-box;
}

.farm-hub-product-single__qty-input::-webkit-outer-spin-button,
.farm-hub-product-single__qty-input::-webkit-inner-spin-button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}

.farm-hub-product-single__form-wrap {
	margin: 0 0 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.farm-hub-product-single__inline-alert {
	margin: 0;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.45;
}

.farm-hub-product-single__inline-alert--error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}

.farm-hub-product-single__form {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.farm-hub-product-single__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-top: 8px;
}

.farm-hub-product-single__add-success {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border: 1px solid #bbf7d0;
	border-radius: 10px;
	background: #f0fdf4;
	color: #166534;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.farm-hub-product-single__add-success.is-hidden {
	display: none;
}

.farm-hub-product-single__add-success.is-loading {
	border-color: #bfdbfe;
	background: #eff6ff;
	color: #1d4ed8;
}

.farm-hub-product-single__add-success.is-loading .farm-hub-product-single__add-success-icon {
	background: #2563eb;
}

.farm-hub-product-single__add-success.is-error {
	border-color: #fecaca;
	background: #fef2f2;
	color: #b91c1c;
}

.farm-hub-product-single__add-success.is-error .farm-hub-product-single__add-success-icon {
	background: #dc2626;
}

.farm-hub-product-single__add-success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: #16a34a;
	color: #fff;
}

.farm-hub-product-single__add-success a {
	color: #166534;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.farm-hub-product-single__add-success a:hover {
	color: #14532d;
}

.farm-hub-product-single__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 24px;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	border: none;
	transition: filter 0.2s;
}

.farm-hub-product-single__btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.farm-hub-product-single__btn--primary {
	background: var(--fh-single-primary-button-bg, #22c55e);
	color: var(--fh-single-primary-button-text, #fff);
}

.farm-hub-product-single__btn--primary:hover:not(:disabled) {
	filter: brightness(1.05);
}

.farm-hub-product-single__btn--secondary {
	background: var(--fh-single-secondary-button-bg, #111);
	color: var(--fh-single-secondary-button-text, #fff);
}

.farm-hub-product-single__btn--secondary:hover:not(:disabled) {
	filter: brightness(1.1);
}

.farm-hub-product-single__btn-icon {
	flex-shrink: 0;
}

.farm-hub-product-single__buy-now-form {
	display: inline-flex;
	margin: 0;
}

.farm-hub-product-single .farm-hub-buy-now .button {
	display: inline-flex;
	align-items: center;
	padding: 14px 24px;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	background: var(--fh-single-secondary-button-bg, #111);
	color: var(--fh-single-secondary-button-text, #fff);
	border: none;
	cursor: pointer;
}

.farm-hub-product-single__features {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 24px 0;
	padding-top: 24px;
	border-top: 1px solid var(--fh-border);
}

.farm-hub-product-single__feature {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.farm-hub-product-single__feature-icon {
	flex-shrink: 0;
	color: var(--fh-card-selected, #22c55e);
}

.farm-hub-product-single__feature strong {
	display: block;
	font-size: 15px;
	margin-bottom: 2px;
}

.farm-hub-product-single__feature p {
	margin: 0;
	font-size: 14px;
	color: var(--fh-muted);
}

.farm-hub-product-single__description {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--fh-border);
}

.farm-hub-product-single__description h2 {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
}

.farm-hub-product-single__description p {
	margin: 0 0 12px;
	line-height: 1.6;
	color: rgba(17, 17, 17, 0.85);
}

.farm-hub-product-unavailable {
	padding: 24px;
	text-align: center;
	color: var(--fh-muted);
}

@media (max-width: 768px) {
	.farm-hub-product-single__cards {
		gap: 14px;
	}

	.farm-hub-product-single {
		padding: 0 16px;
		margin: 20px auto;
	}

	.farm-hub-product-single__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.farm-hub-product-single__summary-column {
		display: contents;
	}

	.farm-hub-product-single__grid:not(.farm-hub-product-single__grid--has-benefits) {
		grid-template-areas:
			"gallery"
			"info-top"
			"info-bottom";
	}

	.farm-hub-product-single__grid--has-benefits {
		grid-template-areas:
			"gallery"
			"info-top"
			"info-bottom";
	}

	.farm-hub-product-single__gallery {
		position: static;
	}

	.farm-hub-product-single__main-image-wrap {
		margin-bottom: 12px;
	}

	.farm-hub-product-single__feature-overlay {
		padding: 16px;
		border-radius: 12px 12px 0 0;
	}

	.farm-hub-product-single__feature-title {
		font-size: 15px;
	}

	.farm-hub-product-single__feature-desc {
		font-size: 13px;
	}

	.farm-hub-product-single__benefits-heading {
		margin-top: 20px;
		font-size: 16px;
	}

	.farm-hub-product-single__title {
		font-size: 24px;
	}

	.farm-hub-product-single__excerpt {
		margin-bottom: 20px;
		font-size: 14px;
	}

	.farm-hub-product-single__section-head {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 12px;
	}

	.farm-hub-product-single__section-note {
		margin-left: 0;
	}

	.farm-hub-product-single__card {
		padding: 14px 16px;
	}

	.farm-hub-product-single__card-check {
		top: 12px;
		right: 12px;
		width: 22px;
		height: 22px;
	}

	.farm-hub-product-single__card-label {
		font-size: 15px;
		padding-right: 32px;
	}

	.farm-hub-product-single__price-row,
	.farm-hub-product-single [data-fh-price] {
		font-size: 20px;
	}

	.farm-hub-product-single__quantity .farm-hub-product-single__qty-wrap {
		max-width: 100%;
	}

	.farm-hub-product-single__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.farm-hub-product-single__add-success {
		justify-content: center;
	}

	.farm-hub-product-single__btn {
		justify-content: center;
	}

	.farm-hub-product-single__buy-now-form {
		width: 100%;
	}

	.farm-hub-product-single__buy-now-form button {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.farm-hub-product-single {
		padding: 0 12px;
		margin: 16px auto;
	}

	.farm-hub-product-single__title {
		font-size: 20px;
	}

	.farm-hub-product-single__section-num {
		min-width: 24px;
		height: 24px;
		font-size: 12px;
	}

	.farm-hub-product-single__section-title {
		font-size: 15px;
	}

	.farm-hub-product-single__card {
		padding: 12px 14px;
	}

	.farm-hub-product-single__addon-icon,
	.farm-hub-product-single__payment-icon {
		width: 36px;
		height: 36px;
	}
}

@media (max-width: 720px) {
	.farm-hub-cart,
	.farm-hub-checkout,
	.farm-hub-driver-app {
		padding: 14px;
		margin: 14px 12px;
	}

	.farm-hub-cart-page {
		padding: 0 12px;
	}

	.farm-hub-form {
		padding: 20px 16px;
		margin: 16px 12px;
		max-width: none;
	}

	.farm-hub-form input[type="text"],
	.farm-hub-form input[type="email"],
	.farm-hub-form input[type="tel"],
	.farm-hub-form select {
		padding: 12px 14px;
		font-size: 16px;
	}

	.farm-hub-form-field {
		margin-bottom: 18px;
	}

	.farm-hub-form-payment-block {
		padding: 16px;
		margin: 20px 0;
	}

	.farm-hub-form-payment-block .farm-hub-form-payment-amount {
		font-size: 20px;
	}

	.farm-hub-form .farm-hub-form-submit-wrap {
		margin-top: 24px;
	}

	.farm-hub-form button {
		padding: 14px 18px;
	}
}

@media (max-width: 480px) {
	.farm-hub-form {
		padding: 18px 14px;
		margin: 12px 10px;
	}

	.farm-hub-form-checkbox-option {
		font-size: 14px;
	}
}

/* Refund request modal */
.farm-hub-refund-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	pointer-events: none;
	visibility: hidden;
}

.farm-hub-refund-modal.farm-hub-refund-modal--open {
	pointer-events: auto;
	visibility: visible;
}

.farm-hub-refund-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	cursor: pointer;
}

.farm-hub-refund-modal__content {
	position: relative;
	width: 100%;
	max-width: 520px;
	max-height: 90vh;
	overflow-y: auto;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
	padding: 24px;
}

.farm-hub-refund-modal__title {
	margin: 0 0 16px;
	font-size: 1.25rem;
}

.farm-hub-refund-modal__body {
	margin-bottom: 20px;
}

.farm-hub-refund-modal__order-info {
	margin-bottom: 12px;
}

.farm-hub-refund-modal__items {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 16px;
	font-size: 0.9rem;
}

.farm-hub-refund-modal__items th,
.farm-hub-refund-modal__items td {
	padding: 8px 10px;
	text-align: left;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.farm-hub-refund-modal__reason-wrap label {
	display: block;
	font-weight: 500;
	margin-bottom: 6px;
}

.farm-hub-refund-modal__reason-wrap .required {
	color: #b91c1c;
}

.farm-hub-refund-modal__reason {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 8px;
	font-family: inherit;
	resize: vertical;
}

.farm-hub-refund-modal__error {
	margin: 8px 0 0;
	color: #b91c1c;
	font-size: 0.875rem;
	display: none;
}

.farm-hub-refund-modal__footer {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
}

.farm-hub-refund-modal__cancel,
.farm-hub-refund-modal__confirm {
	padding: 10px 20px;
	border-radius: 8px;
	font-size: 0.9375rem;
	cursor: pointer;
	border: 1px solid rgba(0, 0, 0, 0.2);
	background: #fff;
}

.farm-hub-refund-modal__confirm {
	background: var(--fh-accent, #2d6a4f);
	color: #fff;
	border-color: var(--fh-accent, #2d6a4f);
}

.farm-hub-refund-modal__confirm:hover:not(:disabled) {
	background: var(--fh-accent-hover, #1b4332);
}

.farm-hub-refund-modal__confirm:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.farm-hub-orders-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.farm-hub-refund-request-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 10px;
	border: none;
	background: transparent;
	color: var(--fh-accent, #2d6a4f);
	cursor: pointer;
	border-radius: 6px;
}

.farm-hub-refund-request-btn:hover {
	background: rgba(45, 106, 79, 0.1);
}

