/* Horizontal Wrapper: equal item width by the widest, without filling the row */
/* Class and data-attr: data-attr also covers Grid/Header paths where `classes` may be ignored. */

/*
 * Equal width by the widest item, without filling the parent.
 * Flex + min-width:max-content does NOT equalize under width:max-content
 * (each item stays at its own content width). CSS Grid 1fr columns do.
 */
.w-hwrapper.has-ip-equal-width:not(.valign_baseline),
.w-hwrapper[data-ip-equal-width]:not(.valign_baseline) {
	display: inline-grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	width: max-content;
	max-width: 100%;
	justify-content: start;
	/* Gap via grid — Impreza margin-inline-end would shrink non-last items unevenly. */
	column-gap: var(--hwrapper-gap, 1.2rem);
}

.w-hwrapper.has-ip-equal-width:not(.valign_baseline) > *:not(.w-hwrapper-link):not(.ip-wrapper-title),
.w-hwrapper[data-ip-equal-width]:not(.valign_baseline) > *:not(.w-hwrapper-link):not(.ip-wrapper-title),
.w-grid .w-hwrapper.has-ip-equal-width:not(.valign_baseline) > *:not(.w-hwrapper-link):not(.ip-wrapper-title),
.w-grid .w-hwrapper[data-ip-equal-width]:not(.valign_baseline) > *:not(.w-hwrapper-link):not(.ip-wrapper-title) {
	min-width: 0;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	margin-inline-end: 0;
}

/* Title above the equal-width row (module «Обёртки: заголовок»). */
.w-hwrapper.has-ip-equal-width.has-ip-title:not(.valign_baseline),
.w-hwrapper[data-ip-equal-width].has-ip-title:not(.valign_baseline) {
	flex-wrap: wrap;
}

.w-hwrapper.has-ip-equal-width > .ip-wrapper-title,
.w-hwrapper[data-ip-equal-width] > .ip-wrapper-title {
	flex: 0 0 100%;
	min-width: 0;
	width: 100%;
	margin-inline-end: 0;
}

/* On mobiles Impreza stacks items — do not keep equal-width row layout. */
@media (max-width: 600px) {
	.w-hwrapper.stack_on_mobiles.has-ip-equal-width,
	.w-hwrapper.stack_on_mobiles[data-ip-equal-width] {
		display: block;
		width: auto;
		max-width: none;
	}

	.w-hwrapper.stack_on_mobiles.has-ip-equal-width > *:not(.w-hwrapper-link):not(.ip-wrapper-title),
	.w-hwrapper.stack_on_mobiles[data-ip-equal-width] > *:not(.w-hwrapper-link):not(.ip-wrapper-title) {
		flex: none;
		min-width: 0;
		width: auto;
	}
}
