.ohpfc-offer-config,
.ohpfc-auction {
	--ohpfc-blue: #155eef;
	--ohpfc-ink: #182230;
	--ohpfc-muted: #667085;
	--ohpfc-line: #d0d5dd;
	--ohpfc-soft: #f8fafc;
	border: 1px solid var(--ohpfc-line);
	border-radius: 14px;
	box-sizing: border-box;
	color: var(--ohpfc-ink);
	margin: 1rem 0;
	padding: 1.1rem;
}

.ohpfc-choice,
.ohpfc-addons {
	border: 0;
	margin: 0 0 1rem;
	padding: 0;
}

.ohpfc-choice legend,
.ohpfc-addons legend {
	font-size: 1rem;
	font-weight: 700;
	margin-bottom: .65rem;
}

.ohpfc-choice > label {
	display: inline-flex;
	gap: .45rem;
	margin: 0 1rem .5rem 0;
}

.ohpfc-addon {
	align-items: center;
	background: var(--ohpfc-soft);
	border: 1px solid transparent;
	border-radius: 10px;
	display: grid;
	gap: .5rem;
	grid-template-columns: auto 1fr auto;
	margin: 0 0 .5rem;
	padding: .7rem .8rem;
}

.ohpfc-addon:has(input:checked) {
	background: #eff4ff;
	border-color: #84adff;
}

.ohpfc-addon small {
	color: var(--ohpfc-muted);
	grid-column: 2 / -1;
}

.ohpfc-addon.is-disabled {
	display: none;
}

.ohpfc-plan-summary {
	background: #eff8ff;
	border-left: 4px solid var(--ohpfc-blue);
	border-radius: 8px;
	padding: .8rem 1rem;
}

.ohpfc-countdown {
	align-items: center;
	background: #101828;
	border-radius: 9px;
	color: #fff;
	display: flex;
	font-variant-numeric: tabular-nums;
	gap: .6rem;
	justify-content: space-between;
	margin: .75rem 0;
	padding: .65rem .85rem;
}

.ohpfc-countdown.is-upcoming { background: #344054; }
.ohpfc-countdown.is-ended { background: #b42318; }
.ohpfc-countdown.is-live::before { color: #75e0a7; content: "●"; }

.ohpfc-pricing-table {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(var(--ohpfc-columns, 3), minmax(0, 1fr));
}

.ohpfc-price-card {
	border: 1px solid #d0d5dd;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	padding: 1.25rem;
}

.ohpfc-card-price {
	color: #155eef;
	font-size: 1.35rem;
	font-weight: 750;
	margin-bottom: .8rem;
}

.ohpfc-card-copy { flex: 1; }

.ohpfc-auction-live {
	align-items: center;
	display: flex;
	font-size: .8rem;
	font-weight: 800;
	gap: .4rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ohpfc-auction-live span {
	animation: ohpfc-pulse 1.5s infinite;
	background: #d92d20;
	border-radius: 50%;
	height: .65rem;
	width: .65rem;
}

.ohpfc-auction-grid {
	display: grid;
	gap: .7rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 1rem 0;
}

.ohpfc-auction-grid > div {
	background: var(--ohpfc-soft);
	border-radius: 10px;
	padding: .75rem;
}

.ohpfc-auction-grid small,
.ohpfc-auction-grid strong { display: block; }
.ohpfc-auction-grid strong { font-size: 1.15rem; margin-top: .2rem; }

.ohpfc-bid-controls > label:first-child {
	display: block;
	font-weight: 700;
	margin: .75rem 0;
}

.ohpfc-bid-controls input[data-role="bid-amount"] {
	display: block;
	margin-top: .35rem;
	max-width: 14rem;
	width: 100%;
}

.ohpfc-bid-controls .button { margin: .5rem .5rem 0 0; }
.ohpfc-auction-message.is-success { color: #067647; }
.ohpfc-auction-message.is-error { color: #b42318; }

@keyframes ohpfc-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(217, 45, 32, .4); }
	50% { box-shadow: 0 0 0 7px rgba(217, 45, 32, 0); }
}

@media (max-width: 720px) {
	.ohpfc-pricing-table { grid-template-columns: 1fr; }
	.ohpfc-auction-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.ohpfc-auction-live span { animation: none; }
}



/* Flex-owned checkout summary: Woo remains the order engine while Flex owns the visible activation/recurring presentation. */
body.ohpfc-flex-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-price,
body.ohpfc-flex-checkout .wc-block-components-order-summary-item__description > .wc-block-components-product-price,
body.ohpfc-flex-checkout .wc-block-components-order-summary-item__description .price {
	display: none !important;
}

body.ohpfc-flex-checkout .wc-block-components-product-details__name,
body.ohpfc-flex-checkout .wc-block-components-product-details__value {
	font-size: .82rem;
}

body.ohpfc-flex-checkout .wc-block-components-product-details__name {
	font-weight: 700;
}

body.ohpfc-flex-checkout .wc-block-components-totals-footer-item {
	font-size: 1.08em;
}
