/* Pro WP Farms — variation radio cards (reuse .pwf-radio from frontend.css). */
.pwf-vcards-wrap {
	/* Same tokens as the PWF options form (.pwf-options) so the cards match its radio cards exactly. */
	--pwf-green: #1f4d2e; --pwf-gold: #958e09; --pwf-gold-soft: rgba(149, 142, 9, .14);
	--pwf-surface: #f3f6f2; --pwf-surface-raised: #fff; --pwf-ink: #1a211c;
	--pwf-border: rgba(31, 77, 46, .14); --pwf-border-strong: rgba(31, 77, 46, .28);
	--pwf-radius-sm: .45rem; --pwf-tap: 48px;
	container-type: inline-size; inline-size: 100%;
}
.pwf-vcards-wrap * { box-sizing: border-box; }
.variations_form [data-pwf-vcards] .pwf-vcards { display: grid; margin: 0; padding: 0; }
.variations_form [data-pwf-vcards] .pwf-vcard { display: flex; align-items: center; margin: 0; font-weight: 400; color: var(--pwf-ink); }
/* Native select: kept for WooCommerce, hidden accessibly (the radios are the control). */
.pwf-vcards-sel { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.variations td.value:has([data-pwf-vcards]) .reset_variations { display: none !important; }
/* 2 per row; an odd last card spans the row. 3 per row when they fit. */
.pwf-vcards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pwf-vcards > .pwf-vcard:last-child:nth-child(odd) { grid-column: 1 / -1; }
@container (min-width: 27rem) {
	.pwf-vcards:has(> .pwf-vcard:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pwf-vcards:has(> .pwf-vcard:nth-child(3):last-child) > .pwf-vcard:last-child { grid-column: auto; }
}
.pwf-vcard { min-block-size: 48px; flex-wrap: wrap; row-gap: 2px; }
.pwf-vcard .pwf-vcard__label { font-weight: 700; font-size: 1rem; flex: 1 1 auto; }
.pwf-vcard .pwf-vcard__price { flex: 0 0 auto; margin-inline-start: auto; font-size: .9rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--pwf-green); white-space: nowrap; }
.pwf-vcard .pwf-vcard__price .woocommerce-Price-amount { color: inherit; }
.pwf-vcard.is-disabled { opacity: .5; cursor: not-allowed; }
.pwf-vcards-wrap.is-invalid .pwf-vcard { border-color: #b42318; }
.pwf-vcards__err { margin: 8px 0 0; color: #b42318; font-weight: 700; font-size: .9rem; }
[data-pwf-theme="dark"] .pwf-vcards__err { color: #ff9b8f; }
[data-pwf-theme="dark"] .pwf-vcard .pwf-vcard__price { color: #7fd1a8; }
/* The variations table cell: full width for the cards. */
.variations tr:has([data-pwf-vcards]) td.value { inline-size: 100%; }
/* Narrow cards: weight on one line, price under it (no "كيلو" glued to the price). */
.variations_form [data-pwf-vcards] .pwf-vcard { flex-wrap: wrap; column-gap: 8px; row-gap: 2px; }
.pwf-vcard .pwf-vcard__label { white-space: nowrap; }
@container (max-width: 520px) { .pwf-vcard .pwf-vcard__price { flex-basis: 100%; margin-inline-start: 0; padding-inline-start: 28px; } }
