/* Внутренние страницы — единая адаптивность и дизайн-токены */

:root {
	--ap-container-max: 1920px;
	--ap-container-pad: clamp(16px, 5vw, 98px);
	--ap-card-width: 513.48px;
	--ap-card-gap: 24px;
	--ap-catalog-grid-max: calc(var(--ap-card-width) * 3 + var(--ap-card-gap) * 2);
}

body.inner-page .wrap {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

body.inner-page.page-rules .catalog-sections-wrap,
body.inner-page.page-contacts .ap-contacts__inner,
body.inner-page.page-catalog .catalog-grid-flex--figma {
	max-width: var(--ap-container-max);
	margin-left: auto;
	margin-right: auto;
}

body.inner-page.page-rules .catalog-header {
	height: auto;
	min-height: 0;
	padding: 40px var(--ap-container-pad) 0;
	max-width: var(--ap-container-max);
	margin: 0 auto;
	box-sizing: border-box;
	overflow: visible;
}

body.inner-page.page-rules .catalog-title {
	position: static;
	width: auto;
	height: auto;
}

/* ——— Условия аренды: двухколоночный верх ——— */
@media (min-width: 1024px) {
	body.inner-page.page-rules .rules-top-layout {
		display: grid;
		grid-template-columns: minmax(280px, 701px) minmax(0, 1fr);
		gap: 48px;
		align-items: start;
		margin-bottom: 30px;
	}

	body.inner-page.page-rules .rules-top-media {
		position: static;
		width: 100%;
		max-width: 701px;
		margin: 0;
		padding: 1px;
		border-radius: 25px;
		background: linear-gradient(180deg, #000000 0%, #FFFFFF 100%);
		box-shadow: 0px 4px 4px 0px #00000040;
		overflow: visible;
	}

	body.inner-page.page-rules .rules-main-img {
		display: block;
		width: 100%;
		height: auto;
		max-height: 850px;
		border-radius: calc(25px - 1px);
		object-fit: cover;
	}

	body.inner-page.page-rules .rules-top-content {
		margin-left: 0;
		max-width: none;
	}
}

/* ——— Контакты: форма + менеджер ——— */
@media (min-width: 1200px) {
	body.page-contacts .ap-contacts__bottom {
		align-items: flex-start;
		justify-content: space-between;
	}

	body.page-contacts .ap-contacts__form {
		flex: 1 1 560px;
		max-width: 720px;
	}

	body.page-contacts .ap-contacts__staff {
		flex: 0 0 418px;
		max-width: 418px;
	}
}

@media (max-width: 1199px) {
	body.page-contacts .ap-contacts__bottom {
		flex-direction: column;
		gap: 40px;
	}

	body.page-contacts .ap-contacts__form {
		flex: 1 1 auto;
		max-width: 100%;
	}

	body.page-contacts .ap-contacts__staff {
		flex: 1 1 auto;
		max-width: 100%;
	}
}

/* ——— Каталог: 3 колонки на десктопе ——— */
@media (min-width: 1100px) {
	body.inner-page.page-catalog .catalog-cards-canvas,
	body.inner-page.page-catalog .catalog-grid-flex--filter-active .catalog-cards-canvas {
		grid-template-columns: repeat(3, var(--ap-card-width));
		max-width: var(--ap-catalog-grid-max);
	}
}

/* ——— Каталог: 2 колонки на планшетах ——— */
@media (min-width: 768px) and (max-width: 1099px) {
	body.inner-page.page-catalog .catalog-cards-canvas,
	body.inner-page.page-catalog .catalog-grid-flex--filter-active .catalog-cards-canvas {
		grid-template-columns: repeat(2, minmax(280px, var(--ap-card-width)));
		max-width: calc(var(--ap-card-width) * 2 + var(--ap-card-gap));
	}
}

@media (max-width: 767px) {
	body.inner-page.page-catalog .catalog-cards-canvas,
	body.inner-page.page-catalog .catalog-grid-flex--filter-active .catalog-cards-canvas {
		grid-template-columns: minmax(0, 1fr);
		max-width: var(--ap-card-width);
		padding-left: 16px;
		padding-right: 16px;
	}

	body.inner-page.page-catalog .catalog-sections-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	body.inner-page.page-rules .catalog-header {
		padding-left: 16px;
		padding-right: 16px;
	}

	body.inner-page.page-rules .rules-container-flex {
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media (max-width: 480px) {
	body.page-contacts .ap-contacts__inner {
		padding-left: 12px;
		padding-right: 12px;
	}

	body.page-contacts .ap-contacts__submit-wrap {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}
}
