.ptw-specifications {
	margin-top: var(--ptw-space-8);
}

.ptw-specifications__header {
	display: grid;
	gap: var(--ptw-space-2);
	margin-bottom: var(--ptw-space-4);
}

.ptw-specifications__title {
	margin: 0;
	color: var(--ptw-color-text-primary);
	font-size: var(--ptw-font-size-2xl);
	font-weight: var(--ptw-font-weight-bold);
	line-height: var(--ptw-line-height-tight);
}

.ptw-specifications__description {
	max-width: 42rem;
	margin: 0;
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-md);
	line-height: var(--ptw-line-height-relaxed);
}

.ptw-specifications__table-wrap {
	overflow-x: auto;
	border: var(--ptw-border-width-sm) solid var(--ptw-color-border);
	border-radius: var(--ptw-radius-lg);
	background: var(--ptw-color-surface);
	box-shadow: var(--ptw-shadow-sm);
}

.ptw-specifications__table {
	width: 100%;
	min-width: 100%;
	border-collapse: collapse;
	color: var(--ptw-color-text-primary);
	font-size: var(--ptw-font-size-md);
	line-height: var(--ptw-line-height-normal);
}

.ptw-specifications__caption {
	padding: var(--ptw-space-3) var(--ptw-space-4);
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-sm);
	font-weight: var(--ptw-font-weight-semibold);
	text-align: left;
}

.ptw-specifications__group {
	background: var(--ptw-color-surface-alt);
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-sm);
	font-weight: var(--ptw-font-weight-bold);
	text-align: left;
	text-transform: uppercase;
}

.ptw-specifications__row {
	border-top: var(--ptw-border-width-sm) solid var(--ptw-color-border);
}

.ptw-specifications__label,
.ptw-specifications__value {
	padding: var(--ptw-space-3) var(--ptw-space-4);
	vertical-align: top;
	overflow-wrap: anywhere;
}

.ptw-specifications__label {
	width: 38%;
	color: var(--ptw-color-text-secondary);
	font-weight: var(--ptw-font-weight-semibold);
	text-align: left;
}

.ptw-specifications__value {
	color: var(--ptw-color-text-primary);
	font-weight: var(--ptw-font-weight-medium);
}

.ptw-specifications__unit {
	color: var(--ptw-color-text-secondary);
	font-size: var(--ptw-font-size-sm);
	font-weight: var(--ptw-font-weight-regular);
}

.ptw-specifications__empty {
	padding: var(--ptw-space-4);
	border: var(--ptw-border-width-sm) solid var(--ptw-color-border);
	border-radius: var(--ptw-radius-md);
	background: var(--ptw-color-surface-alt);
	color: var(--ptw-color-text-secondary);
}

@media (max-width: 40rem) {
	.ptw-specifications__table-wrap {
		overflow-x: visible;
	}

	.ptw-specifications__table,
	.ptw-specifications__table tbody,
	.ptw-specifications__row,
	.ptw-specifications__label,
	.ptw-specifications__value {
		display: block;
		width: 100%;
	}

	.ptw-specifications__row {
		padding: var(--ptw-space-3) var(--ptw-space-4);
	}

	.ptw-specifications__label,
	.ptw-specifications__value {
		padding: 0;
	}

	.ptw-specifications__value {
		margin-top: var(--ptw-space-1);
	}
}
