/**
 * MON PORTÉ Product Essentials (PDP-V1).
 * Strictly .mpe-* scoped. Hairline rows only — no cards, no shadows,
 * no radii. Tiers: base = desktop, max-width:549 mobile.
 */

.mpe-essentials {
	color: var(--mpe-text, #1f1e1b);
}

.mpe-inner {
	width: 100%;
	max-width: var(--mpe-maxw, 600px);
}

.mpe-accordion {
	border-top: 1px solid var(--mpe-divider, rgba(31, 30, 27, 0.14));
}

.mpe-row {
	border-bottom: 1px solid var(--mpe-divider, rgba(31, 30, 27, 0.14));
}

.mpe-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: var(--mpe-pad, 14px) 2px;
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: 0.03em;
	cursor: pointer;
	list-style: none;
	color: var(--mpe-text, #1f1e1b);
	min-height: 44px;
}

.mpe-summary::-webkit-details-marker {
	display: none;
}

.mpe-summary::marker {
	content: "";
}

.mpe-icon-plus .mpe-summary::after {
	content: "+";
	flex: 0 0 auto;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	color: var(--mpe-muted, #646049);
	transition: transform 0.2s ease;
}

.mpe-icon-plus .mpe-row[open] .mpe-summary::after {
	transform: rotate(45deg);
}

.mpe-icon-chevron .mpe-summary::after {
	content: "";
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	border-right: 1.5px solid var(--mpe-muted, #646049);
	border-bottom: 1.5px solid var(--mpe-muted, #646049);
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s ease;
}

.mpe-icon-chevron .mpe-row[open] .mpe-summary::after {
	transform: rotate(-135deg) translateY(-1px);
}

.mpe-icon-none .mpe-summary::after {
	content: none;
}

.mpe-summary:focus-visible {
	outline: 2px solid var(--mpe-accent, #60373d);
	outline-offset: 2px;
}

.mpe-summary:hover {
	color: var(--mpe-accent, #60373d);
}

.mpe-panel {
	padding: 0 2px 18px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--mpe-muted, #646049);
}

.mpe-panel p {
	margin: 0 0 0.75em;
}

.mpe-panel p:last-child {
	margin-bottom: 0;
}

.mpe-panel a {
	color: var(--mpe-accent, #60373d);
	text-underline-offset: 3px;
}

.mpe-dim-values {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 600;
	color: var(--mpe-text, #1f1e1b);
}

.mpe-dim-cap {
	margin: 0;
}

.mpe-placeholder {
	padding: 24px;
	border: 1px dashed color-mix(in srgb, currentColor 35%, transparent);
	border-radius: 8px;
	font-size: 13.5px;
	text-align: center;
	opacity: 0.75;
}

@media (max-width: 849px) {
	.mpe-summary {
		padding-top: var(--mpe-pad-md, 14px);
		padding-bottom: var(--mpe-pad-md, 14px);
	}
}

@media (max-width: 549px) {
	.mpe-summary {
		padding-top: var(--mpe-pad-sm, 12px);
		padding-bottom: var(--mpe-pad-sm, 12px);
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mpe-summary::after {
		transition: none;
	}
}
