/**
 * WC Flexible Products — Public styles.
 *
 * @package WCFP
 * @since   1.0.0
 */

/* -----------------------------------------------------------------------
   Purchase option selector layout
   ----------------------------------------------------------------------- */

.wcfp-purchase-options {
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap !important;
	gap: 1em;
	align-items: flex-start !important;
}

/* Options header — full-width row of radio tabs */
.wcfp-options-header {
	width: 100%;
}

.wcfp-option-radios {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 0.75em;
	align-items: center;
}

.wcfp-option-radio-label {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	cursor: pointer;
	padding: 0.4em 0.9em;
	border: 2px solid #d0d0d0;
	border-radius: 4px;
	font-weight: 600;
	transition: border-color 0.15s, background 0.15s;
	user-select: none;
}

.wcfp-option-radio-label:hover {
	border-color: #888;
}

.wcfp-option-radio-label input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	position: absolute;
	opacity: 0;
}

.wcfp-option-radio-label:has(input:checked) {
	border-color: #222;
	background: #f5f5f5;
}

/* Options body — price info, quantity, buttons */
.wcfp-options-body {
	width: 100%;
}

/* Bottom row: quantity + add-to-cart side by side */
.wcfp-bottom-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75em;
	margin-top: 0.5em;
}

.wcfp-bottom-row .wcfp-quantity-wrap {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.5em;
}

/* Add-to-cart + View Cart grouped together */
.wcfp-atc-wrap {
	display: flex;
	align-items: center;
	gap: 0.6em;
	flex-wrap: wrap;
}

.wcfp-view-cart {
	display: inline-flex;
	align-items: center;
}

/* "Added" state for the submit button */
.wcfp-purchase-options .single_add_to_cart_button.wcfp-added {
	opacity: 0.85;
	cursor: default;
}

/* -----------------------------------------------------------------------
   Subscription status badges
   ----------------------------------------------------------------------- */
.wcfp-status-badge {
	display: inline-block;
	padding: 0.25em 0.5em;
	border-radius: 3px;
	font-size: 0.9em;
}

.wcfp-status-active {
	background: #d4edda;
	color: #155724;
}

.wcfp-status-paused {
	background: #fff3cd;
	color: #856404;
}

.wcfp-status-cancelled,
.wcfp-status-expired {
	background: #f8d7da;
	color: #721c24;
}

.wcfp-status-payment_failed,
.wcfp-status-suspended {
	background: #f8d7da;
	color: #721c24;
}

.wcfp-status-pending {
	background: #e2e3e5;
	color: #383d41;
}
