@media (max-width: 799px) {
	.single-producto .site-header {
		display: none;
	}
}

.product-page {
	width: 100%;
	max-width: 100%;
	padding-bottom: calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 48px);
	overflow-x: hidden;
	overflow-x: clip;
}

.product-mobile-bar {
	position: sticky;
	z-index: 30;
	top: 0;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: center;
	min-height: 72px;
	background: rgb(255 255 255 / 96%);
	backdrop-filter: blur(12px);
}

.product-mobile-bar .site-brand {
	justify-self: center;
}

.product-mobile-bar .icon-button[aria-pressed="true"] {
	background: var(--color-action);
	color: #fff;
}

.product-page__inner {
	display: grid;
	width: min(calc(100% - (2 * var(--layout-gutter))), var(--layout-wide));
	max-width: 100%;
	min-width: 0;
	gap: 0;
}

.product-header {
	display: grid;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	gap: 26px;
	padding-block: 12px 42px;
}

.product-header__media {
	display: grid;
	width: 100%;
	max-width: min(430px, 100%);
	min-width: 0;
	aspect-ratio: 1;
	place-items: center;
	justify-self: center;
	padding: 28px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface-soft);
	overflow: hidden;
}

.product-header__media img {
	width: auto !important;
	height: auto !important;
	max-width: 88% !important;
	max-height: 88% !important;
	object-fit: contain !important;
	object-position: center;
}

.product-image-placeholder {
	display: grid;
	width: 90px;
	height: 90px;
	place-items: center;
	border-radius: 50%;
	background: #e8efeb;
	color: #758078;
}

.product-image-placeholder .icon {
	width: 38px;
	height: 38px;
}

.product-header__content {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	align-self: center;
}

.product-header__topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.product-header__save {
	display: none;
	min-height: 42px;
	align-items: center;
	gap: 8px;
	padding-inline: 13px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	font-size: 0.75rem;
	font-weight: 700;
}

.product-header__save[aria-pressed="true"] {
	border-color: var(--color-action);
	background: var(--color-action);
	color: #fff;
}

.product-category {
	display: inline-flex;
	padding: 6px 11px;
	border-radius: 999px;
	background: #e9f8ef;
	color: #087f3d;
	font-size: 0.75rem;
	font-weight: 700;
}

.product-header h1 {
	overflow-wrap: anywhere;
	max-width: 760px;
	margin: 16px 0 10px;
	font-size: 2.2rem;
	line-height: 1.08;
	letter-spacing: 0;
}

.product-header__taxonomy {
	margin: 0;
	color: var(--color-muted);
}

.product-header__contributor {
	width: fit-content;
	margin: 10px 0 0;
	padding: 7px 10px;
	border-radius: 999px;
	background: #f2faf5;
	color: #087f3d;
	font-size: 0.75rem;
	font-weight: 750;
}

.product-header__taxonomy a:hover,
.product-header__taxonomy a:focus-visible {
	color: var(--color-action);
	text-decoration: underline;
}

.product-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-top: 22px;
}

.product-facts > span {
	max-width: 100%;
	min-width: 0;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--color-muted);
	font-size: 0.75rem;
	overflow-wrap: anywhere;
}

.product-facts .icon {
	width: 17px;
	height: 17px;
}

.product-facts .product-status--verified,
.product-facts .product-status--analyzed {
	color: var(--color-action);
}

.product-facts .product-status--outdated,
.product-facts .product-status--review {
	color: var(--color-attention);
}

.purchase-links {
	margin-top: 24px;
}

.purchase-links > p {
	margin: 0 0 8px;
	color: var(--color-muted);
	font-size: 0.75rem;
}

.purchase-links__list {
	display: grid;
	gap: 10px;
}

.purchase-links__list a {
	display: flex;
	min-height: 50px;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	padding: 11px 14px;
	border: 1px solid #bfe8cf;
	border-radius: var(--radius-md);
	background: #f2faf5;
	font-size: 0.8125rem;
	font-weight: 800;
	max-width: 100%;
	min-width: 0;
}

.purchase-links__list a:hover,
.purchase-links__list a:focus-visible {
	border-color: var(--color-action);
	background: #e7f8ee;
}

.purchase-link__brand {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: #fff;
	color: #111318;
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1;
	box-shadow: inset 0 -2px 0 #ffb000;
}

.purchase-links__list strong {
	min-width: 0;
	flex: 1 1 auto;
	overflow-wrap: anywhere;
}

.purchase-links__list .icon {
	width: 18px;
	height: 18px;
	color: var(--color-action);
}

.product-section {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-top: 54px;
}

.product-section > h2,
.product-section__heading h2 {
	margin: 0 0 18px;
	font-size: 1rem;
}

.product-score-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.product-score-card {
	display: grid;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 170px;
	align-content: center;
	justify-items: center;
	gap: 18px;
	padding: 20px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	text-align: center;
}

.product-score-card__label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 0.8125rem;
	font-weight: 700;
}

.product-score-card__label .icon {
	width: 18px;
	height: 18px;
	color: var(--color-action);
}

.product-score-card .score {
	align-items: center;
}

.product-score-card__empty {
	color: var(--color-muted);
}

.product-score-card__context {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	margin-top: -6px;
	padding: 7px 10px;
	border-radius: 999px;
	background: #fff7ef;
	color: #f97316;
	font-size: 0.75rem;
	font-weight: 800;
	line-height: 1.2;
}

.product-score-card__context .icon {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
}

.product-score-note {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	margin-top: 16px;
	padding: 18px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface-soft);
	font-size: 0.875rem;
}

.product-score-note__status {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--color-ink);
	font-weight: 800;
}

.product-score-note__status span {
	display: inline-block;
	width: 11px;
	height: 11px;
	border-radius: 999px;
	background: var(--color-action);
}

.product-score-note p {
	max-width: 76ch;
	margin: 0;
	color: var(--color-muted);
	line-height: 1.55;
}

.product-score-note__coverage {
	display: block;
	padding: 12px 14px;
	border-radius: var(--radius-sm);
	background: rgb(255 255 255 / 72%);
	color: var(--color-muted);
	font-size: 0.875rem;
	font-weight: 650;
	line-height: 1.55;
}

.product-score-note__coverage strong {
	display: inline-block;
	margin-inline: 4px;
	color: var(--color-action);
	font-size: 1.65rem;
	line-height: 1;
	vertical-align: -0.1em;
}

.product-score-note--definitiva {
	border-color: #a9e5bf;
	background: #f0fbf4;
}

.product-score-note--provisional {
	border-color: #f1d78d;
	background: #fffaf0;
}

.product-score-note--provisional .product-score-note__status span {
	background: var(--color-warning);
}

.product-score-note--provisional .product-score-note__coverage strong {
	color: var(--color-warning);
}

.product-score-note--insuficiente {
	border-color: #f1c59d;
	background: #fff7ef;
}

.product-score-note--insuficiente .product-score-note__status span {
	background: #f97316;
}

.product-score-note--insuficiente .product-score-note__coverage strong {
	color: #f97316;
}

.product-alerts {
	display: grid;
	gap: 16px;
}

.product-alerts h2 {
	margin: 0;
}

.product-alerts__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.product-alert {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	padding: 18px;
	border: 1px solid #f1d78d;
	border-radius: var(--radius-md);
	background: #fffaf0;
}

.product-alert--important {
	border-color: #f1c59d;
	background: #fff7ef;
}

.product-alert--critical {
	border-color: #f0b4b4;
	background: #fff5f5;
}

.product-alert__icon {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border-radius: 50%;
	background: rgb(242 183 5 / 16%);
	color: var(--color-warning);
}

.product-alert--important .product-alert__icon {
	background: rgb(249 115 22 / 14%);
	color: #f97316;
}

.product-alert--critical .product-alert__icon {
	background: rgb(220 38 38 / 12%);
	color: #dc2626;
}

.product-alert__icon .icon {
	width: 21px;
	height: 21px;
}

.product-alert__copy {
	min-width: 0;
}

.product-alert h3 {
	margin: 0 0 6px;
	font-size: 1rem;
}

.product-alert p {
	margin: 0;
	color: var(--color-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.product-verdict {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 18px;
	margin-top: 24px;
	padding: 24px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #f7f8f7;
	min-width: 0;
}

.product-verdict--positive {
	background: #f7f8f7;
}

.product-verdict--warning {
	border: 1px solid #f1c59d;
	background: #fff7ef;
}

.product-verdict--critical {
	border: 1px solid #f0b4b4;
	background: #fff5f5;
}

.product-verdict__icon {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	background: #eef2ef;
	color: var(--color-ink);
}

.product-verdict--warning .product-verdict__icon {
	background: #f97316;
}

.product-verdict--critical .product-verdict__icon {
	background: #dc2626;
}

.product-verdict h2 {
	margin: 0 0 8px;
	font-size: 1rem;
}

.product-verdict p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.65;
}

.score-breakdown__groups {
	display: grid;
	gap: 18px;
}

.score-breakdown__content {
	padding: 20px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface-soft);
	color: var(--color-ink);
	line-height: 1.65;
}

.score-breakdown__content strong {
	display: block;
	margin-bottom: 8px;
}

.score-breakdown__content--editorial {
	background: #fbfcfb;
}

.score-breakdown__content > :first-child {
	margin-top: 0;
}

.score-breakdown__content > :last-child {
	margin-bottom: 0;
}

.score-breakdown__group {
	display: grid;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface);
}

.score-breakdown__group-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.score-breakdown__group-header h3 {
	margin: 0;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.score-breakdown__axis-score {
	display: flex;
	align-items: baseline;
	gap: 3px;
	margin: 8px 0 0;
	color: var(--color-action);
}

.score-breakdown__axis-score--medium {
	color: var(--color-warning);
}

.score-breakdown__axis-score--low {
	color: #f97316;
}

.score-breakdown__axis-score--critical {
	color: #dc2626;
}

.score-breakdown__axis-score strong {
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 0.95;
}

.score-breakdown__axis-score span {
	font-size: 1rem;
	font-weight: 800;
}

.score-breakdown__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.score-breakdown-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 14px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-surface-soft);
	color: inherit;
	text-decoration: none;
}

.score-breakdown-card:hover,
.score-breakdown-card:focus-visible {
	border-color: rgb(16 169 83 / 45%);
	box-shadow: var(--shadow-subtle);
}

.score-breakdown-card__marker {
	width: 12px;
	height: 12px;
	margin-top: 5px;
	border-radius: 999px;
	background: #f59e0b;
}

.score-breakdown-card--high .score-breakdown-card__marker {
	background: #dc2626;
}

.score-breakdown-card--medium .score-breakdown-card__marker {
	background: #f2b705;
}

.score-breakdown-card--low .score-breakdown-card__marker {
	background: #fb923c;
}

.score-breakdown-card--none .score-breakdown-card__marker {
	background: var(--color-action);
}

.score-breakdown-card--unknown .score-breakdown-card__marker {
	background: #94a3b8;
}

.score-breakdown-card__copy {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.score-breakdown-card__copy strong {
	color: var(--color-ink);
	overflow-wrap: anywhere;
}

.score-breakdown-card__copy small {
	color: var(--color-muted);
	line-height: 1.45;
}

.score-breakdown-card__value {
	grid-column: 2;
	color: var(--color-muted);
	font-size: 0.8125rem;
	font-weight: 800;
}

.product-related__track {
	display: flex;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	gap: 12px;
	padding-bottom: 5px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.product-related__track::-webkit-scrollbar {
	display: none;
}

.product-related .product-card {
	flex: 0 0 220px;
	scroll-snap-align: start;
}

.product-related .product-card__media {
	aspect-ratio: 1 / 1;
	min-height: 0;
}

.indicator-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.indicator {
	display: grid;
	min-height: 104px;
	align-content: center;
	justify-items: center;
	gap: 9px;
	padding: 14px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface);
	font-size: 0.75rem;
	text-align: center;
}

.indicator--positive {
	color: var(--color-action);
}

.indicator--warning {
	color: var(--color-warning);
}

.indicator--neutral {
	color: var(--color-muted);
}

.product-section__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
	min-width: 0;
}

.product-section__heading h2 {
	margin: 0;
}

.product-section__heading button {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	gap: 7px;
	padding-inline: 12px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-surface);
	font-size: 0.75rem;
	max-width: 100%;
}

.product-section__heading button .icon {
	width: 17px;
	height: 17px;
}

.product-inci__text {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: 18px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface-soft);
	font-size: 0.875rem;
	line-height: 1.75;
	overflow-wrap: anywhere;
}

.product-inci__count {
	margin: -6px 0 12px;
	color: var(--color-muted);
	font-size: 0.875rem;
	font-weight: 750;
}

.ingredient-detail-list {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.ingredient-detail {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 82px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--color-border);
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.ingredient-detail:last-child {
	border-bottom: 0;
}

.ingredient-detail__icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	background: #ecf8f0;
	color: var(--color-action);
}

.ingredient-detail__copy {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.ingredient-detail__copy strong,
.ingredient-detail__copy small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ingredient-detail__copy strong {
	font-size: 0.8125rem;
}

.ingredient-detail__copy small,
.ingredient-detail__level {
	color: var(--color-muted);
	font-size: 0.6875rem;
}

.ingredient-detail__level {
	display: none;
	text-transform: capitalize;
}

.ingredient-detail > .icon {
	width: 17px;
	height: 17px;
}

.report-change {
	display: grid;
	gap: 18px;
	margin-top: 60px;
	padding: 24px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: linear-gradient(135deg, #f3fbf6, #fff);
}

.report-change h2,
.product-methodology h2 {
	margin: 0 0 6px;
	font-size: 1rem;
}

.report-change p,
.product-methodology p {
	margin: 0;
	color: var(--color-muted);
	font-size: 0.8125rem;
}

.report-change .button {
	border-color: var(--color-action);
	background: var(--color-action);
	color: #fff;
}

.button--outline {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--color-action);
	background: transparent;
	color: #087f3d;
}

.button--outline .icon {
	width: 17px;
	height: 17px;
}

.product-methodology {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	margin-top: 18px;
	padding: 20px;
	border-radius: var(--radius-md);
	background: #edf8f1;
}

.product-methodology__icon {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 50%;
	background: #fff;
	color: var(--color-action);
}

.product-methodology a {
	grid-column: 1 / -1;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	color: #087f3d;
	font-size: 0.8125rem;
	font-weight: 750;
}

.product-methodology a .icon {
	width: 17px;
	height: 17px;
}

.image-dialog {
	width: min(92vw, 780px);
	max-height: 90vh;
	padding: 0;
	border: 0;
	border-radius: var(--radius-md);
	background: var(--color-surface);
	box-shadow: 0 30px 80px rgb(0 0 0 / 22%);
}

.image-dialog::backdrop {
	background: rgb(10 15 12 / 65%);
}

.image-dialog__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	border-bottom: 1px solid var(--color-border);
}

.image-dialog__media {
	display: grid;
	max-height: calc(90vh - 74px);
	place-items: center;
	padding: 20px;
	overflow: auto;
}

.image-dialog__media img {
	width: auto;
	height: auto;
	max-height: calc(90vh - 114px);
	object-fit: contain;
}

@media (min-width: 600px) {
	.product-score-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.indicator-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.ingredient-detail {
		grid-template-columns: auto minmax(0, 1fr) auto auto;
	}

	.ingredient-detail__level {
		display: inline;
	}
}

@media (max-width: 799px) {
	.product-mobile-bar {
		min-height: 66px;
	}

	.product-header {
		gap: 18px;
		padding-block: 8px 30px;
	}

	.product-header__media {
		max-width: min(360px, 100%);
		padding: 20px;
	}

	.product-header h1 {
		margin: 14px 0 8px;
		font-size: clamp(1.9rem, 8vw, 2.55rem);
		line-height: 1.05;
	}

	.product-facts {
		margin-top: 18px;
	}
}

@media (min-width: 800px) {
	.product-mobile-bar {
		display: none;
	}

	.product-page {
		padding-block: 48px 80px;
	}

	.product-header {
		grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
		gap: 48px;
		padding-block: 0 26px;
	}

	.product-header h1 {
		font-size: 3rem;
	}

	.product-header__save {
		display: inline-flex;
	}

	.purchase-links__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-score-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-flow: row;
		overflow: visible;
	}

	.product-score-card {
		min-height: 180px;
	}

	.score-breakdown__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-related__track {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		overflow: visible;
	}

	.product-related .product-card {
		min-width: 0;
	}

	.report-change {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		padding: 30px;
	}

	.product-methodology {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.product-methodology a {
		grid-column: auto;
	}
}
.product-transparency__level {
	display: inline-flex;
	align-items: center;
	border-radius: 999px;
	padding: .35rem .75rem;
	background: var(--color-surface, #f3f5f4);
}

.product-transparency--alta .product-transparency__level { color: #17663a; background: #e7f6ed; }
.product-transparency--media .product-transparency__level { color: #76540b; background: #fff4d6; }
.product-transparency--baja .product-transparency__level { color: #8a302b; background: #fde9e7; }

.product-transparency__counts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
	margin: 1rem 0;
}

.product-transparency__counts div {
	padding: .85rem;
	border: 1px solid var(--color-border, #dfe5e1);
	border-radius: .75rem;
}

.product-transparency__counts dt,
.product-transparency__note { color: var(--color-text-muted, #5e6a63); }
.product-transparency__counts dd { margin: .25rem 0 0; font-size: 1.35rem; font-weight: 700; }

@media (max-width: 640px) {
	.product-transparency__counts { grid-template-columns: 1fr; }
}

/* Product presentation sprint: health first, compact mobile summary. */
.product-score-grid {
	grid-template-columns: minmax(0, 1.7fr) minmax(180px, .8fr);
}

.product-score-card--primary {
	min-height: 210px;
	border-color: #b9e4c8;
	background: linear-gradient(145deg, #f3fbf6, #fff);
}

.product-score-card--primary .score__value {
	font-size: clamp(3.2rem, 8vw, 5.2rem);
}

.product-score-card--secondary {
	min-height: 210px;
	background: #fbfcfb;
}

.product-score-card--secondary small,
.product-score-card__eyebrow {
	color: var(--color-muted);
	font-size: .75rem;
	font-weight: 750;
}

.product-score-card__eyebrow {
	text-transform: uppercase;
	letter-spacing: .08em;
}

.product-quick-summary {
	margin-top: 28px;
}

.product-quick-summary__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface);
}

.product-quick-summary__column {
	min-width: 0;
	padding: 20px;
}

.product-quick-summary__column + .product-quick-summary__column {
	border-left: 1px solid var(--color-border);
}

.product-quick-summary__column h2 {
	margin: 0 0 10px;
	font-size: 1rem;
}

.product-quick-summary__items {
	display: grid;
}

.product-quick-summary__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	gap: 11px;
	padding: 12px 0;
	border-top: 1px solid var(--color-border);
	color: inherit;
}

.product-quick-summary__item:first-child {
	border-top: 0;
}

.product-quick-summary__item > span:first-child {
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 50%;
}

.product-quick-summary__column--improve .product-quick-summary__item > span:first-child {
	background: #fff0e7;
	color: #e45f13;
}

.product-quick-summary__column--positive .product-quick-summary__item > span:first-child {
	background: #e9f8ef;
	color: var(--color-action);
}

.product-quick-summary__item .icon {
	width: 15px;
	height: 15px;
}

.product-quick-summary__item > span:last-child {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.product-quick-summary__item strong {
	font-size: .875rem;
	overflow-wrap: anywhere;
}

.product-quick-summary__item small {
	color: var(--color-muted);
	font-size: .75rem;
	line-height: 1.45;
}

.product-transparency__details {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--color-border);
}

.product-transparency__details h3 {
	margin: 0 0 10px;
	font-size: .9rem;
}

.product-transparency__details ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.product-transparency__details li {
	display: grid;
	gap: 3px;
	padding: 11px 13px;
	border-radius: var(--radius-sm);
	background: #fffaf0;
}

.product-transparency__details li strong {
	font-size: .875rem;
}

.product-transparency__details li span {
	color: var(--color-muted);
	font-size: .75rem;
	line-height: 1.45;
}

@media (max-width: 799px) {
	.product-page__inner {
		gap: 0;
	}

	.product-header {
		grid-template-columns: 112px minmax(0, 1fr);
		align-items: center;
		gap: 16px;
		padding-block: 6px 18px;
	}

	.product-header__media {
		width: 112px;
		height: 142px;
		padding: 10px;
		border: 0;
		background: #f7f8f7;
	}

	.product-header__media img {
		max-width: 100% !important;
		max-height: 100% !important;
	}

	.product-header h1 {
		margin: 10px 0 6px;
		font-size: clamp(1.35rem, 6vw, 2rem);
		line-height: 1.08;
	}

	.product-header__taxonomy {
		font-size: .875rem;
	}

	.product-header__contributor {
		display: none;
	}

	.product-facts {
		gap: 8px 12px;
		margin-top: 12px;
	}

	.product-section {
		margin-top: 34px;
	}

	.product-scores {
		margin-top: 6px;
	}

	.product-score-grid {
		grid-template-columns: minmax(0, 1.4fr) minmax(108px, .6fr);
		gap: 9px;
	}

	.product-score-card,
	.product-score-card--primary,
	.product-score-card--secondary {
		min-height: 150px;
		gap: 10px;
		padding: 14px 10px;
	}

	.product-score-card--secondary .score__value {
		font-size: 2rem;
	}

	.product-score-card--secondary small {
		display: none;
	}

	.product-score-note {
		margin-top: 10px;
		padding: 13px;
	}

	.product-quick-summary {
		margin-top: 18px;
	}

	.product-quick-summary__grid {
		grid-template-columns: 1fr;
	}

	.product-quick-summary__column {
		padding: 16px;
	}

	.product-quick-summary__column + .product-quick-summary__column {
		border-top: 1px solid var(--color-border);
		border-left: 0;
	}

	.product-transparency__counts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 6px;
	}

	.product-transparency__counts div {
		padding: 9px;
	}

	.product-transparency__counts dt {
		font-size: .68rem;
	}
}

@media (min-width: 800px) {
	.product-score-grid {
		grid-template-columns: minmax(0, 1.7fr) minmax(260px, .8fr);
	}
}

/* Product presentation sprint 8.17: clear score, separated pros/cons, compact detail. */
.product-header__image-button {
	position: relative;
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: zoom-in;
}

.product-header__image-button > img {
	pointer-events: none;
}

.product-header__image-button > span {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 9px;
	border-radius: 999px;
	background: rgb(255 255 255 / 92%);
	color: var(--color-action);
	font-size: .72rem;
	font-weight: 800;
	box-shadow: 0 8px 22px rgb(0 0 0 / 10%);
}

.product-header__image-button .icon {
	width: 15px;
	height: 15px;
}

.image-dialog--product .image-dialog__media {
	background: #f8faf9;
}

.image-dialog--product .image-dialog__media img {
	max-width: min(92vw, 760px) !important;
	max-height: calc(90vh - 120px) !important;
}

.product-scores {
	margin-top: 8px;
}

.product-score-grid {
	grid-template-columns: minmax(0, 1.15fr) repeat(2, minmax(0, .9fr));
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-surface);
}

.product-score-card,
.product-score-card--primary,
.product-score-card--secondary,
.product-score-card--transparency {
	min-height: 230px;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.product-score-card + .product-score-card {
	border-left: 1px solid var(--color-border);
}

.product-score-card--primary {
	background: linear-gradient(100deg, #fffaf6, #fff);
	text-align: center;
}

.product-score-card--primary .product-score-card__eyebrow {
	color: var(--color-ink);
}

.product-score-card--primary > p {
	max-width: 280px;
	margin: 0 auto;
	color: var(--color-text-muted, #5e6a63);
	font-size: .88rem;
	line-height: 1.45;
}

.product-score-card__icon {
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	border-radius: 50%;
}

.product-score-card__icon .icon {
	width: 28px;
	height: 28px;
}

.product-score-card__icon--environment {
	background: #e8f8ee;
	color: var(--color-action);
}

.product-score-card__icon--transparency {
	background: #fff5d8;
	color: #d89700;
}

.product-score-card__label {
	display: block;
	max-width: 190px;
	font-weight: 900;
	text-align: center;
}

.product-score-card__quality {
	font-size: 1.15rem;
	font-weight: 900;
}

.product-score-card__quality--low,
.product-score-card--transparency .product-score-card__quality--high {
	color: var(--color-action);
}

.product-score-card__quality--partial,
.product-score-card__quality--medium {
	color: #e0a200;
}

.product-score-card__quality--unknown {
	color: var(--color-muted);
}

.product-score-card--secondary:not(.product-score-card--transparency) .product-score-card__quality--high,
.product-score-card--transparency .product-score-card__quality--low {
	color: #d94f22;
}

.product-score-card--secondary small {
	max-width: 220px;
	color: var(--color-text-muted, #5e6a63);
	line-height: 1.42;
	text-align: center;
}

.product-score-note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: 10px;
	padding: 11px 14px;
}

.product-score-note p {
	margin: 0;
	font-size: .85rem;
}

.product-quick-summary__grid {
	align-items: stretch;
}

.product-quick-summary__column h2 {
	font-size: 1.15rem;
}

.product-quick-summary__item {
	text-decoration: none;
}

.purchase-links.product-section {
	display: grid;
	gap: 12px;
	padding: 18px;
	border: 1px solid #d8eadf;
	border-radius: var(--radius-md);
	background: #fbfffc;
}

.purchase-links__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.purchase-links__header h2 {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font-size: 1.05rem;
}

.purchase-links__header h2 .icon {
	width: 20px;
	height: 20px;
	color: var(--color-action);
}

.purchase-links__header span {
	color: var(--color-muted);
	font-size: .78rem;
}

.purchase-links__list {
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: #fff;
}

.purchase-links__list a {
	min-height: 56px;
	border: 0;
	border-radius: 0;
	background: #fff;
}

.purchase-links__list a + a {
	border-top: 1px solid var(--color-border);
}

.purchase-link__cta {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 12px;
	border: 1px solid #8fd8ad;
	border-radius: 8px;
	color: var(--color-action);
	font-weight: 900;
}

.product-transparency {
	padding: 20px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
}

.product-transparency > p {
	max-width: 720px;
	font-size: .92rem;
	line-height: 1.55;
}

.product-transparency__counts {
	grid-template-columns: repeat(3, minmax(0, 138px));
	justify-content: end;
	margin-top: -8px;
}

.product-transparency__manufacturer {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	margin-top: 16px;
	padding: 15px;
	border-radius: var(--radius-sm);
	background: #fff9e9;
}

.product-transparency__manufacturer > span {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	background: #fff2c4;
	color: #b88600;
}

.product-transparency__manufacturer p {
	margin: 4px 0 0;
	color: var(--color-text-muted, #5e6a63);
	font-size: .84rem;
	line-height: 1.45;
}

.product-transparency__details {
	margin-top: 14px;
	padding-top: 0;
	border-top: 0;
}

.product-transparency__details summary {
	width: fit-content;
	cursor: pointer;
	color: var(--color-action);
	font-weight: 850;
}

.product-transparency__details[open] summary {
	margin-bottom: 12px;
}

.score-breakdown__group {
	padding: 18px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: #fff;
}

.score-breakdown__group + .score-breakdown__group {
	margin-top: 18px;
}

.score-breakdown__group-header h3 {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 1.15rem;
}

.score-breakdown__group-header h3 .icon {
	width: 24px;
	height: 24px;
	color: var(--color-action);
}

.score-breakdown__axis-score {
	margin: 8px 0 0;
}

.score-breakdown__quality {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 12px 0 4px;
	color: var(--color-action);
	font-size: 1.35rem;
	font-weight: 900;
}

.score-breakdown__quality::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 999px;
	background: currentColor;
}

.score-breakdown__quality--medium {
	color: #e0a200;
}

.score-breakdown__quality--high {
	color: #d94f22;
}

.score-breakdown__quality--unknown {
	color: var(--color-muted);
}

.score-breakdown__description {
	margin: 0;
	color: var(--color-text-muted, #5e6a63);
}

.score-breakdown__grid {
	display: grid;
	gap: 0;
	margin-top: 16px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
}

.score-breakdown-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	padding: 13px 15px;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: inherit;
	text-decoration: none;
}

.score-breakdown-card + .score-breakdown-card {
	border-top: 1px solid var(--color-border);
}

.score-breakdown-card__copy strong {
	font-size: .95rem;
}

.score-breakdown-card__value {
	justify-self: end;
	padding: 6px 10px;
	border-radius: 999px;
	background: #f4f7f5;
	color: var(--color-text-muted, #5e6a63);
	font-size: .78rem;
	font-weight: 900;
	white-space: nowrap;
}

.score-breakdown-card--high .score-breakdown-card__value {
	background: #ffe9e6;
	color: #d3312f;
}

.score-breakdown-card--medium .score-breakdown-card__value {
	background: #fff4d6;
	color: #b17800;
}

.score-breakdown-card--none .score-breakdown-card__value,
.score-breakdown-card--low .score-breakdown-card__value {
	background: #e9f8ef;
	color: var(--color-action);
}

.score-breakdown-card > .icon {
	width: 18px;
	height: 18px;
	color: var(--color-muted);
}

@media (max-width: 799px) {
	.product-header__image-button > span {
		right: 6px;
		bottom: 6px;
		padding: 6px;
	}

	.product-header__image-button > span .icon {
		width: 14px;
		height: 14px;
	}

	.product-header__image-button > span {
		font-size: 0;
	}

	.product-score-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.product-score-card,
	.product-score-card--primary,
	.product-score-card--secondary,
	.product-score-card--transparency {
		min-height: 132px;
		padding: 13px 9px;
	}

	.product-score-card__icon {
		width: 38px;
		height: 38px;
	}

	.product-score-card__icon .icon {
		width: 21px;
		height: 21px;
	}

	.product-score-card__label,
	.product-score-card__eyebrow {
		font-size: .68rem;
		line-height: 1.15;
	}

	.product-score-card--primary .score__value {
		font-size: clamp(2.35rem, 12vw, 3.3rem);
	}

	.product-score-card--primary .score__label {
		font-size: .78rem;
	}

	.product-score-card--primary > p,
	.product-score-card--secondary small {
		display: none;
	}

	.product-score-card + .product-score-card {
		border-left: 1px solid var(--color-border);
	}

	.product-score-note {
		padding: 9px 11px;
	}

	.purchase-links.product-section,
	.product-transparency {
		padding: 14px;
	}

	.purchase-links__header,
	.product-transparency__manufacturer {
		grid-template-columns: 1fr;
	}

	.product-transparency__manufacturer .button {
		width: 100%;
	}

	.product-transparency__counts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-top: 12px;
	}

	.score-breakdown__group {
		padding: 14px;
	}

	.score-breakdown__grid {
		border: 0;
		border-radius: 0;
	}

	.score-breakdown-card {
		grid-template-columns: auto minmax(0, 1fr) auto;
		padding: 13px 0;
	}

	.score-breakdown-card > .icon {
		display: none;
	}
}
