.sc-prices {
	--sc-ink: #183028;
	--sc-muted: #66766f;
	--sc-green: #20734d;
	--sc-green-dark: #14543a;
	--sc-cream: #f7f5ed;
	--sc-line: #dce5df;
	--sc-white: #fff;
	color: var(--sc-ink);
	font: inherit;
}

.sc-prices *,
.sc-prices *::before,
.sc-prices *::after { box-sizing: border-box; }

.sc-prices [hidden] { display: none !important; }

.sc-prices__intro {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 24px;
}

.sc-prices__eyebrow {
	margin: 0 0 6px;
	color: var(--sc-green);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.sc-prices__title { margin: 0; font-size: clamp(1.65rem, 4vw, 2.55rem); line-height: 1.08; }

.sc-prices__updated {
	margin: 0;
	color: var(--sc-muted);
	font-size: .88rem;
	white-space: nowrap;
}

.sc-prices__updated span { color: #43a86b; font-size: .75em; }

.sc-prices__toolbar {
	margin-bottom: 28px;
	padding: 18px;
	border: 1px solid var(--sc-line);
	border-radius: 18px;
	background: var(--sc-white);
	box-shadow: 0 10px 34px rgba(20, 84, 58, .06);
}

.sc-prices__search-label {
	display: block;
	margin: 0 0 8px;
	font-size: .86rem;
	font-weight: 750;
}

.sc-prices__search-wrap { position: relative; margin-bottom: 14px; }
.sc-prices__search-wrap > span {
	position: absolute;
	top: 50%;
	left: 16px;
	color: var(--sc-green);
	font-size: 1.35rem;
	transform: translateY(-52%) rotate(-20deg);
	pointer-events: none;
}

.sc-prices__search {
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 16px 0 48px;
	border: 1px solid var(--sc-line);
	border-radius: 12px;
	background: #fbfcfa;
	color: var(--sc-ink);
	font: inherit;
	outline: none;
}

.sc-prices__search:focus { border-color: var(--sc-green); box-shadow: 0 0 0 3px rgba(32, 115, 77, .14); }

.sc-prices__filters { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 4px; scrollbar-width: thin; }

.sc-prices__category-button {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	min-height: 38px;
	padding: 7px 13px;
	border: 1px solid var(--sc-line);
	border-radius: 999px;
	background: var(--sc-white);
	color: var(--sc-ink);
	font: inherit;
	font-size: .86rem;
	font-weight: 700;
	cursor: pointer;
}

.sc-prices__category-button span {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--sc-cream);
	font-size: .72rem;
}

.sc-prices__category-button:hover,
.sc-prices__category-button:focus-visible { border-color: var(--sc-green); outline: none; }
.sc-prices__category-button.is-active { border-color: var(--sc-green); background: var(--sc-green); color: var(--sc-white); }
.sc-prices__category-button.is-active span { background: rgba(255,255,255,.18); }

.sc-prices__result-status { margin: -12px 0 28px; color: var(--sc-muted); font-size: .84rem; }
.sc-prices__section { margin: 0 0 48px; scroll-margin-top: 110px; }

.sc-prices__section-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 15px;
	margin: 0 0 17px;
	padding-bottom: 11px;
	border-bottom: 1px solid var(--sc-line);
}

.sc-prices__section-heading h3 { margin: 0; font-size: clamp(1.25rem, 2vw, 1.6rem); }
.sc-prices__section-heading span { color: var(--sc-muted); font-size: .82rem; }

.sc-prices__grid {
	display: grid;
	grid-template-columns: repeat(var(--sc-columns, 4), minmax(0, 1fr));
	gap: 18px;
}

.sc-price-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--sc-line);
	border-radius: 16px;
	background: var(--sc-white);
	box-shadow: 0 7px 24px rgba(21, 62, 44, .055);
	transition: transform .18s ease, box-shadow .18s ease;
}

.sc-price-card:hover { transform: translateY(-3px); box-shadow: 0 13px 30px rgba(21, 62, 44, .1); }
.sc-price-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sc-cream); }
.sc-price-card__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.sc-price-card:hover .sc-price-card__image { transform: scale(1.035); }
.sc-price-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: #8aa397; font-size: 3rem; }

.sc-price-card__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	max-width: calc(100% - 20px);
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
	font-size: .68rem;
	font-weight: 800;
	line-height: 1.2;
}

.sc-price-card__body { padding: 15px; }
.sc-price-card__name { min-height: 2.5em; margin: 0 0 9px; color: var(--sc-ink); font-size: 1rem; line-height: 1.25; }
.sc-price-card__price { margin: 0 0 13px; color: var(--sc-green-dark); font-size: 1.1rem; font-weight: 850; }
.sc-price-card__price.is-unavailable { color: var(--sc-muted); font-size: .86rem; font-weight: 650; }
.sc-prices__note,
.sc-prices-empty {
	padding: 16px 18px;
	border-radius: 12px;
	background: var(--sc-cream, #f7f5ed);
	color: var(--sc-muted, #66766f);
	font-size: .84rem;
}

@media (max-width: 1020px) {
	.sc-prices__grid { grid-template-columns: repeat(min(var(--sc-columns, 4), 3), minmax(0, 1fr)); }
}

@media (max-width: 720px) {
	.sc-prices__intro { align-items: start; flex-direction: column; gap: 10px; }
	.sc-prices__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.sc-prices__toolbar { padding: 13px; border-radius: 14px; }
	.sc-price-card__body { padding: 12px; }
}

@media (max-width: 430px) {
	.sc-prices__grid { grid-template-columns: 1fr; }
	.sc-price-card { display: grid; grid-template-columns: 108px 1fr; }
	.sc-price-card__media { aspect-ratio: auto; min-height: 132px; }
	.sc-price-card__badge { display: none; }
	.sc-price-card__name { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.sc-price-card,
	.sc-price-card__image { transition: none; }
}
