.sp-agro {
	--sp-agro-accent: #0e7c6b;
	--sp-agro-head-bg: #f3f7f9;
	--sp-agro-head-color: #142033;
	--sp-agro-name: #142033;
	--sp-agro-price: #0e7c6b;
	--sp-agro-unit: #5a6b7d;
	--sp-agro-border: #dfe6ec;
	--sp-agro-name-size: 16px;
	--sp-agro-price-size: 16px;
	--sp-agro-radius: 12px;
	--sp-agro-stripe: rgba(20, 32, 51, 0.025);
	box-sizing: border-box;
	max-width: 100%;
	color: var(--sp-agro-name);
}

.sp-agro *,
.sp-agro *::before,
.sp-agro *::after {
	box-sizing: border-box;
}

.sp-agro__header {
	margin-bottom: 1rem;
}

.sp-agro__title {
	margin: 0 0 0.35rem;
	font-size: 1.35rem;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--sp-agro-name);
}

.sp-agro__desc {
	margin: 0 0 0.35rem;
	color: var(--sp-agro-unit);
	font-size: 0.95rem;
	line-height: 1.45;
}

.sp-agro__updated {
	margin: 0;
	font-size: 0.8rem;
	color: var(--sp-agro-unit);
}

.sp-agro__table-wrap {
	border: 1px solid var(--sp-agro-border);
	border-radius: var(--sp-agro-radius);
	overflow: hidden;
}

.sp-agro__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-variant-numeric: tabular-nums;
	background: transparent;
}

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

.sp-agro__th {
	background: var(--sp-agro-head-bg);
	color: var(--sp-agro-head-color);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: left;
	padding: 0.7rem 0.9rem;
	border-bottom: 1px solid var(--sp-agro-border);
}

.sp-agro__th--price,
.sp-agro__th--avail {
	text-align: right;
}

.sp-agro__cell {
	padding: 0.75rem 0.9rem;
	border-bottom: 1px solid var(--sp-agro-border);
	vertical-align: middle;
	text-align: left;
	font-weight: 400;
}

.sp-agro__row:last-child .sp-agro__cell {
	border-bottom: 0;
}

.sp-agro__row:nth-child(even) .sp-agro__cell {
	background: var(--sp-agro-stripe);
}

.sp-agro__row.is-featured .sp-agro__cell {
	box-shadow: inset 3px 0 0 var(--sp-agro-accent);
}

.sp-agro__row.is-unavailable .sp-agro__cell--price {
	opacity: 0.6;
}

.sp-agro__row.is-hidden .sp-agro__cell {
	opacity: 0.55;
}

.sp-agro__cell--price,
.sp-agro__cell--avail {
	text-align: right;
	white-space: nowrap;
}

.sp-agro__name {
	display: block;
	font-size: var(--sp-agro-name-size);
	font-weight: 600;
	color: var(--sp-agro-name);
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.sp-agro__product-desc {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.85rem;
	line-height: 1.4;
	color: var(--sp-agro-unit);
}

.sp-agro__price {
	font-size: var(--sp-agro-price-size);
	font-weight: 700;
	color: var(--sp-agro-price);
}

.sp-agro__price--empty,
.sp-agro-price__value--empty {
	color: var(--sp-agro-unit);
	font-weight: 500;
}

.sp-agro__price--ask,
.sp-agro-price__value--ask {
	font-size: 0.9em;
	font-weight: 600;
	color: var(--sp-agro-unit);
}

/* Price change indicators stay colour-neutral on purpose. */
.sp-agro__change,
.sp-agro-price__change {
	display: inline-block;
	margin-left: 0.4rem;
	font-size: 0.8em;
	font-weight: 600;
	color: var(--sp-agro-unit);
	white-space: nowrap;
}

.sp-agro__change--up,
.sp-agro__change--down,
.sp-agro-price__change--up,
.sp-agro-price__change--down {
	color: var(--sp-agro-unit);
}

.sp-agro__badge {
	display: inline-block;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	border: 1px solid var(--sp-agro-border);
	background: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--sp-agro-unit);
	white-space: nowrap;
}

.sp-agro__badge--available {
	border-color: rgba(14, 124, 107, 0.35);
	background: rgba(14, 124, 107, 0.08);
	color: var(--sp-agro-accent);
}

.sp-agro__badge--unavailable {
	background: #f4f6f8;
}

.sp-agro__badge--ask {
	border-style: dashed;
}

.sp-agro__badge--hidden {
	margin-left: 0.4rem;
	border-style: dashed;
	text-transform: lowercase;
}

.sp-agro__disclaimer {
	margin: 0.75rem 0 0;
	font-size: 0.8rem;
	line-height: 1.45;
	color: var(--sp-agro-unit);
}

.sp-agro__empty,
.sp-agro--empty {
	padding: 1rem;
	border: 1px dashed var(--sp-agro-border);
	border-radius: var(--sp-agro-radius);
	color: var(--sp-agro-unit);
}

.sp-agro--empty p {
	margin: 0;
}

/* Admin live preview only. */
.sp-live__preview-body .sp-agro__row.is-highlight .sp-agro__cell {
	background: rgba(14, 124, 107, 0.06);
	box-shadow: inset 0 0 0 1px var(--sp-agro-accent);
}

/* Single price */
.sp-agro-price {
	--sp-agro-accent: #0e7c6b;
	--sp-agro-price: #0e7c6b;
	--sp-agro-unit: #5a6b7d;
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.35rem;
	font-variant-numeric: tabular-nums;
}

.sp-agro-price__value {
	font-weight: 700;
	color: var(--sp-agro-price);
}

.sp-agro-price__updated {
	font-size: 0.75em;
	color: var(--sp-agro-unit);
}

.sp-agro-price--hidden,
.sp-agro-price--notice {
	padding: 0.15rem 0.5rem;
	border: 1px dashed var(--sp-agro-unit);
	border-radius: 6px;
	font-size: 0.85em;
	font-weight: 500;
	color: var(--sp-agro-unit);
}

/* Mobile: table rows become cards. */
@media (max-width: 767px) {
	.sp-agro__table-wrap {
		border: 0;
		border-radius: 0;
		overflow: visible;
	}

	.sp-agro__table,
	.sp-agro__table tbody,
	.sp-agro__row,
	.sp-agro__cell {
		display: block;
		width: 100%;
	}

	.sp-agro__table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}

	.sp-agro__row {
		margin-bottom: 0.7rem;
		border: 1px solid var(--sp-agro-border);
		border-radius: var(--sp-agro-radius);
		background: #fff;
		overflow: hidden;
	}

	.sp-agro__row:nth-child(even) .sp-agro__cell,
	.sp-agro__row:last-child .sp-agro__cell {
		background: transparent;
	}

	.sp-agro__cell {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 0.75rem;
		padding: 0.55rem 0.85rem;
		border-bottom: 1px solid var(--sp-agro-border);
		text-align: right;
		white-space: normal;
	}

	.sp-agro__cell:last-child {
		border-bottom: 0;
	}

	.sp-agro__cell--name {
		display: block;
		background: var(--sp-agro-head-bg);
		text-align: left;
		padding: 0.65rem 0.85rem;
	}

	.sp-agro__cell--name::before {
		content: none;
	}

	.sp-agro__cell[data-label]::before {
		content: attr(data-label);
		flex: 0 0 auto;
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		color: var(--sp-agro-unit);
		text-align: left;
	}

	.sp-agro__row.is-featured .sp-agro__cell {
		box-shadow: none;
	}

	.sp-agro__row.is-featured {
		border-left: 3px solid var(--sp-agro-accent);
	}
}

/* Mobile cards: keep Elementor color overrides visible. */
@media (max-width: 767px) {
	.elementor-widget-sitepilot_agro_pricing .sp-agro__cell--name {
		background-color: var(--sp-agro-head-bg);
	}

	.elementor-widget-sitepilot_agro_pricing .sp-agro__row:nth-child(even) .sp-agro__cell {
		background-color: transparent;
	}

	.elementor-widget-sitepilot_agro_pricing .sp-agro__price {
		color: var(--sp-agro-price);
	}

	.elementor-widget-sitepilot_agro_pricing .sp-agro__name {
		color: var(--sp-agro-name);
	}
}

