/* Product facts declaration layout. */
.df-product-facts {
	--df-facts-border: #1f2933;
	--df-facts-line: #d7dce2;
	--df-facts-muted: #59636f;
	--df-facts-bg: #ffffff;

	max-inline-size: 46rem;
	margin-block: 2rem;
	padding: clamp(1rem, 2vw, 1.5rem);
	color: var(--color-text, #1f2933);
	background: var(--df-facts-bg);
	border: 1px solid var(--df-facts-border);
	border-radius: 0.35rem;
	/* font-size: clamp(0.9375rem, 1.5vw, 1rem); */
	line-height: 1.45;
}

/* Product facts header. */
.df-product-facts__header {
	padding-block-end: 0.75rem;
	border-block-end: 0.35rem solid var(--df-facts-border);
}

.df-product-facts__title {
	margin: 0;
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	line-height: 1;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.df-product-facts__product-title {
	margin-block: 0.45rem 0;
	font-size: var(--text-ui);
	font-weight: 700;
}

/* Product facts meta rows. */
.df-product-facts__meta {
	display: grid;
	gap: 0.15rem;
	margin: 0.65rem 0 0;
	font-size: var(--text-ui);
}

.df-product-facts__meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

.df-product-facts__meta-label {
	margin: 0;
	font-weight: 700;
}

.df-product-facts__meta-label::after {
	content: ":";
}

.df-product-facts__meta-value {
	margin: 0;
}

/* Product facts tables. */
.df-product-facts__tables {
	display: grid;
	gap: 1rem;
	/* margin-block-start: 1rem; */
}

.df-product-facts__table-wrap {
	overflow-x: auto;
}

.df-product-facts__table {
	inline-size: 100%;
	border-collapse: collapse;
	font-size: inherit;
	line-height: 1.35;
}

.df-product-facts__table-caption {
	padding-block-start: 1rem;
	padding-block-end: 0.45rem;
	text-align: start;
	font-weight: 800;
	caption-side: top;
}

.df-product-facts__thead {
	border-block-start: 0.22rem solid var(--df-facts-border);
	border-block-end: 0.18rem solid var(--df-facts-border);
}

.df-product-facts__th,
.df-product-facts__cell {
	padding: 0.55rem 0.45rem;
	vertical-align: top;
	border-block-end: 1px solid var(--df-facts-line);
	font-size: var(--text-ui);
}

.df-product-facts__th {
	font-weight: 800;
	text-align: start;
}

.df-product-facts__th--value,
.df-product-facts__cell--value {
	text-align: end;
	white-space: nowrap;
}

.df-product-facts__cell--label {
	font-weight: 500;
	text-align: start;
}

.df-product-facts__row--normal .df-product-facts__cell--label {
	font-weight: 500;
}

.df-product-facts__row--strong .df-product-facts__cell {
	font-weight: 700;
}

.df-product-facts__row--sub .df-product-facts__cell--label {
	font-weight: 400;
}

.df-product-facts__row--section .df-product-facts__cell {
	padding-block-start: 0.8rem;
	font-weight: 700;
	text-align: left;
}

.df-product-facts__row--indent-1 .df-product-facts__cell--label {
	padding-inline-start: 1.25rem;
}

.df-product-facts__row--indent-2 .df-product-facts__cell--label {
	padding-inline-start: 2.25rem;
}

.df-product-facts__row--indent-3 .df-product-facts__cell--label {
	padding-inline-start: 3.25rem;
}

.df-product-facts__row--separator .df-product-facts__cell {
	border-block-start: 0.22rem solid var(--df-facts-border);
}

.df-product-facts__tbody tr:last-child .df-product-facts__cell {
	border-block-end: 0.22rem solid var(--df-facts-border);
}

.df-product-facts__note-marker {
	margin-inline-start: 0.15em;
	font-size: 0.72em;
	line-height: 0;
}

/* Product facts text sections. */
.df-product-facts__text-sections {
	display: grid;
	gap: 0.65rem;
	margin-block-start: 1rem;
}

.df-product-facts__text-section {
	font-size: var(--text-ui);
}

.df-product-facts__text-title {
	display: inline;
	margin: 0;
	font-size: inherit;
	font-weight: 800;
}

.df-product-facts__text-title::after {
	content: ": ";
}

.df-product-facts__text-content {
	display: inline;
}

.df-product-facts__text-content > * {
	/* display: inline; */
	margin-top: .5em;
}

.df-product-facts__text-section--small,
.df-product-facts__text-section--footnote {
	font-size: var(--text-meta);
}

/* Refine product facts header scale. */
.df-product-facts__title {
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
}

.df-product-facts__product-title {
	font-size: var(--text-ui);
	letter-spacing: 0.01em;
}

/* Improve declaration table balance. */
.df-product-facts__table-caption {
	font-size: var(--text-ui);
}

.df-product-facts__th,
.df-product-facts__cell {
	padding-block: 0.45rem;
}

.df-product-facts__cell--label {
	inline-size: 62%;
}

/* Keep text sections compact and label like. */
.df-product-facts__text-sections {
	gap: 0.55rem;
}

.df-product-facts__text-title {
	font-weight: 800;
}

/* Product facts mobile adjustments. */
@media (max-width: 38rem) {
	.df-product-facts {
		max-inline-size: none;
		margin-inline: 0;
		padding: 1rem;
		border-width: 1.5px;
	}

	.df-product-facts__table {
		min-inline-size: 34rem;
	}

	.df-product-facts__title {
		font-size: 1.55rem;
	}
}
