/* Главная: сетка по мокапу 2. Ниже 1025px отдельная адаптация не входит в очередь. */

:root {
	--pd-home-gap: 12px;
	--pd-home-section-gap: 30px;
	--pd-home-section-pad-y: 12px;
	--pd-home-section-pad-x: 10px;
	--pd-home-bg: #f0eef1;
	--pd-home-section-bg: #fff;
	--pd-home-gray: #d8d8d8;
	--pd-home-sticky-top: 16px;
}

.home .site-content,
.home .content-layout-wrapper {
	max-width: 100%;
	width: 100%;
	background: var(--pd-home-bg);
}

/* Без боковых gutter Bootstrap — отступы только у homepage-section */
.home .content-layout-wrapper.row {
	margin-inline: 0;
}

.home .content-layout-wrapper > .site-content {
	padding-inline: 0;
}

.home .main-page-wrapper,
.home .main-page-wrapper > .container {
	background: var(--pd-home-bg);
}

.home .sidebar-container,
.home .wd-page-title,
.home .page-title {
	display: none !important;
}

.pd-home {
	display: flex;
	flex-direction: column;
	gap: var(--pd-home-section-gap);
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto 70px;
	background: var(--pd-home-bg);
}

.homepage-section {
	display: block;
	box-sizing: border-box;
	padding: var(--pd-home-section-pad-y) var(--pd-home-section-pad-x);
	background: var(--pd-home-section-bg);
}

.homepage-section--a {
	margin-top: 30px;
	padding: 0;
}

/* F — рекламный слот 4: без внутренних отступов, на всю ширину контейнера */
.homepage-section--f {
	padding: 0;
	background: transparent;
}

.homepage-section--f .pd-ad-spot--homepage_middle img,
.homepage-section--f .pd-ad-spot--homepage_middle .pd-ad-spot__placeholder {
	max-width: none;
	width: 100%;
}

/* Спот 5 — под логотипами: без padding, на всю ширину, фон как у pd-home */
.homepage-section--site-bottom {
	padding: 0;
	background: transparent;
}

.homepage-section--site-bottom .pd-ad-spot--site_bottom img,
.homepage-section--site-bottom .pd-ad-spot--site_bottom .pd-ad-spot__placeholder {
	max-width: none;
	width: 100%;
}

.homepage-grid {
	display: grid;
	gap: var(--pd-home-gap);
}

.homepage-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.homepage-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.homepage-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.homepage-grid--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* A — карусель на всю ширину контейнера */
.homepage-section--a .pd-home-slider.swiper {
	overflow: hidden;
	width: 100%;
	touch-action: pan-x pan-y;
}

.homepage-section--a .pd-home-slider .pd-home-slider__track {
	margin: 0;
	padding: 0;
}

.pd-home .pd-home-slider__slide img {
	height: auto;
	min-height: 0;
	max-height: none;
	aspect-ratio: 4 / 1;
	object-fit: cover;
	object-position: center 18%;
}

/* B — календарь 275×280, плитки 285×134: при сетке 1130px зазоры 12px равны по горизонтали и вертикали */
.homepage-section--b .homepage-grid--events {
	grid-template-columns: 275fr repeat(3, 285fr);
	grid-template-rows: repeat(2, auto);
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--b .homepage-grid--events .homepage-card--large {
	grid-column: 1;
	grid-row: 1 / span 2;
	aspect-ratio: 275 / 280;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

.homepage-section--b .homepage-grid--events .homepage-card:not(.homepage-card--large) {
	aspect-ratio: 285 / 134;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

/* C, I — две полосы в ряд, пропорция 559×70 */
.homepage-section--c .homepage-grid--bars,
.homepage-section--i .homepage-grid--bars {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--c .homepage-grid--bars .homepage-card,
.homepage-section--i .homepage-grid--bars .homepage-card {
	aspect-ratio: 559 / 70;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

/* D + E — логическая сетка 3/4 + 1/4; белые области только у секций d1–d3 внутри */
.homepage-main-with-feed {
	display: grid;
	grid-template-columns: 3fr 1fr;
	gap: var(--pd-home-gap);
	align-items: start;
	box-sizing: border-box;
	min-width: 0;
}

.homepage-main {
	display: flex;
	flex-direction: column;
	gap: var(--pd-home-section-gap);
	min-width: 0;
}

.homepage-feed {
	display: flex;
	flex-direction: column;
	gap: var(--pd-home-gap);
	min-width: 0;
}

@media (min-width: 1025px) {
	.homepage-main-with-feed--pin-feed .homepage-feed,
	.homepage-main-with-feed--pin-main .homepage-main {
		position: sticky;
		top: var(--pd-home-sticky-top);
		align-self: start;
	}
}

.homepage-main-with-feed > .homepage-main,
.homepage-main-with-feed > .homepage-feed {
	min-height: 0;
}

/* D1 — три квадрата 275×275 (ширина как календарь в B) */
.homepage-section--d1 .homepage-grid--3 {
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--d1 .homepage-card {
	aspect-ratio: 1;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

/* D2 — три плитки 285×134 + «Членство» на ширину трёх колонок (879×134 с зазорами 12px) */
.homepage-section--d2 {
	display: flex;
	flex-direction: column;
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--d2 .homepage-grid--3 {
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--d2 .homepage-grid--3 .homepage-card {
	aspect-ratio: 285 / 134;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

.homepage-section--d2 .homepage-card--wide {
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
	aspect-ratio: 879 / 134;
}

/* D3 — 12 плиток 285×134, сетка 3×4 */
.homepage-section--d3 .homepage-grid--3 {
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--d3 .homepage-card {
	aspect-ratio: 285 / 134;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

/* E2 — 12 квадратов 2×6 (ячейка 125×125 при ширине ленты 262px) */
.homepage-section--e2 .homepage-grid--feed {
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--e2 .homepage-card {
	aspect-ratio: 1;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

/* E4 — интернет-магазин: ширина ленты 262px */
.homepage-section--e4 {
	display: block;
}

.homepage-section--e4 .homepage-card--shop {
	width: 100%;
	min-width: 0;
	height: auto;
	aspect-ratio: 262 / 280;
}

/* G1 — три плитки в ряд (левая колонка 3/4) */
.homepage-section--g1 .homepage-grid--3 {
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--g1 .homepage-card {
	aspect-ratio: 1;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

/* G2 — «Милосердие»: справа обособленно, высота как плитки G1 */
.homepage-section--g2 {
	display: block;
}

.homepage-section--g2 .homepage-card {
	width: 100%;
	min-width: 0;
	height: auto;
	aspect-ratio: 1;
}

@media (min-width: 1025px) {
	.homepage-main-with-feed--g {
		align-items: stretch;
	}

	.homepage-main-with-feed--g > .homepage-main,
	.homepage-main-with-feed--g > .homepage-feed {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.homepage-main-with-feed--g .homepage-section--g1,
	.homepage-main-with-feed--g .homepage-section--g2 {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-height: 0;
		height: 100%;
		box-sizing: border-box;
	}

	.homepage-main-with-feed--g .homepage-section--g2 .homepage-card {
		flex: 1 1 auto;
		height: auto;
		min-height: 0;
		aspect-ratio: auto;
	}
}

/* H — четыре плитки 285×134 в ряд */
.homepage-section--h .homepage-grid--4 {
	gap: var(--pd-home-gap);
	min-width: 0;
}

.homepage-section--h .homepage-card {
	aspect-ratio: 285 / 134;
	width: 100%;
	min-width: 0;
	min-height: 0;
	height: auto;
}

.homepage-card {
	display: block;
	position: relative;
	min-height: 0;
	background: var(--pd-home-gray);
	overflow: hidden;
	text-decoration: none;
	color: #242424;
}

.homepage-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.homepage-card > .homepage-card__img {
	position: absolute;
	inset: 0;
}

.homepage-card__placeholder {
	display: flex;
	position: absolute;
	inset: 0;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 8px;
	background: var(--pd-home-gray);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.homepage-card__img--demo {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.homepage-card__label {
	display: block;
	position: relative;
	z-index: 1;
	max-width: 100%;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
}

/* J — логотипы: высота 65px, зазор 65px, крайние по краям секции */
.homepage-section--j .homepage-grid--6 {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 65px;
	min-width: 0;
}

.homepage-section--j .homepage-card {
	flex: 1 1 0;
	width: auto;
	max-width: calc((100% - 5 * 65px) / 6);
	min-width: 0;
	height: 65px;
	aspect-ratio: auto;
	background: var(--pd-home-section-bg);
}

.homepage-section--j .homepage-card__img {
	object-fit: contain;
	object-position: center;
	padding: 0;
	box-sizing: border-box;
}

/* Рекламные споты: ширина 100% колонки/контейнера; высоты задаёт pd-ad-banners */
.homepage-feed .pd-ad-spot,
.homepage-section--f .pd-ad-spot {
	width: 100%;
}

@media (max-width: 1024px) {
	.homepage-section--b .homepage-grid--events,
	.homepage-main-with-feed,
	.homepage-grid--2,
	.homepage-grid--3,
	.homepage-grid--4,
	.homepage-grid--6 {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.homepage-feed {
		position: static;
		max-height: none;
		overflow: visible;
	}

	.homepage-section--b .homepage-grid--events .homepage-card--large {
		grid-column: auto;
		grid-row: auto;
	}

	.homepage-card--wide {
		grid-column: auto;
	}

	.homepage-section--j .homepage-grid--6 {
		flex-wrap: wrap;
	}
}
