/**
 * s24-landing.css — per-page CSS для лендинговых страниц.
 *
 * Подключается условно через cot_rc_add_file() для:
 * - e=index (главная страница, modules/index/index.php)
 * - гостевая заявка (modules/projects/inc/projects.add.php при !$usr['id'])
 *
 * Страничные компоненты (hero, services, why, steps, reviews, faq, cta, seo)
 * живут в s24-components.css. Здесь — только layout-особенности лендинга
 * (full-bleed, сброс .container, специфика гостевой заявки).
 *
 * Ранее было разложено в двух файлах:
 * - s24-home.css (удалён)
 * - s24-project-add.css (удалён)
 */

/* ========== Общий layout лендинга (home + гостевая заявка) ========== */

body.s24-landing-page--home,
body.s24-landing-page--guest-prjadd,
body.s24-landing-page--reviews,
body.s24-landing-page--partners {
	overflow-x: hidden;
	background-color: var(--s24-surface);
	background-image: none;
}

body.s24-landing-page--home #wrapper.container,
body.s24-landing-page--guest-prjadd #wrapper.container,
body.s24-landing-page--reviews #wrapper.container,
body.s24-landing-page--partners #wrapper.container {
	overflow: visible;
}

body.s24-landing-page--home #main.content,
body.s24-landing-page--guest-prjadd #main.content,
body.s24-landing-page--reviews #main.content,
body.s24-landing-page--partners #main.content {
	overflow: visible;
	padding-top: var(--s24-header-height);
	padding-bottom: 0;
	background: transparent;
}

@media (max-width: 979px) {
	body.s24-landing-page--home #main.content,
	body.s24-landing-page--guest-prjadd #main.content,
	body.s24-landing-page--reviews #main.content,
	body.s24-landing-page--partners #main.content {
		padding-top: max(12px, env(safe-area-inset-top));
		padding-bottom: calc(var(--s24-space-section, 80px) + var(--s24-bottom-nav-height) + env(safe-area-inset-bottom));
	}
}

/* ========== Специфика главной (s24-landing-page--home): полный full-bleed ==========
   На главной .container теряет свою ширину и паддинги, все секции занимают всю ширину.
   На гостевой заявке .container остаётся стандартным — поэтому эти правила под
   модификатором. Модификатор ставится в modules/index/index.php на body-классе. */

body.s24-landing-page--home #wrapper.container {
	width: 100%;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* ========== Специфика гостевой заявки (s24-landing-page--guest-prjadd) ==========
   Блоки-контент, уникальные для гостевой формы подачи заявки. */

body.s24-landing-page--guest-prjadd .selectCurrency {
	display: none;
}

body.s24-landing-page--guest-prjadd .mavatar_uploadform {
	font-size: var(--s24-body);
}

body.s24-landing-page--guest-prjadd .s24-hero__form-wrap {
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

/* Серый фон для шагов и видео на гостевой заявке */
body.s24-landing-page--guest-prjadd .s24-steps {
	background: var(--s24-surface-alt);
	border-bottom: none;
}

body.s24-landing-page--guest-prjadd .s24-prj-add-video {
	width: var(--s24-breakout-width);
	margin-left: var(--s24-breakout-shift);
	padding: var(--s24-space-section) 0;
	background: var(--s24-surface-alt);
	text-align: center;
}

body.s24-landing-page--guest-prjadd .s24-prj-add-video > video {
	margin: auto;
	max-width: 560px;
	width: 80%;
	height: 315px;
	border-radius: var(--s24-radius-lg);
	border: 1px solid var(--s24-border);
	box-shadow: var(--s24-shadow-card);
}

/* SEO / Crosslinks */
body.s24-landing-page--guest-prjadd .s24-prj-add-seo .s24-prj-add-links {
	display: block;
	margin: var(--s24-space-6) 0;
}

body.s24-landing-page--guest-prjadd .s24-prj-add-seo .s24-prj-add-links > span {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--s24-space-2) var(--s24-space-3);
	padding: var(--s24-space-4);
	background: var(--s24-surface);
	border: 1px solid var(--s24-border);
	border-radius: var(--s24-radius-md);
	max-height: 200px;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	overflow-x: auto;
	margin-bottom: var(--s24-space-3);
}

body.s24-landing-page--guest-prjadd .s24-prj-add-seo .s24-prj-add-links--open > span {
	max-height: none;
}

body.s24-landing-page--guest-prjadd .s24-prj-add-seo .s24-prj-add-links > span > a {
	font-size: var(--s24-caption);
	color: var(--s24-primary);
	text-decoration: none;
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.s24-landing-page--guest-prjadd .s24-prj-add-seo .s24-prj-add-links > span > a:hover {
	text-decoration: underline;
}

body.s24-landing-page--guest-prjadd .s24-prj-add-seo .s24-seo__inner {
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.s24-landing-page--guest-prjadd .prj_add_links_show_more {
	display: inline-block;
	margin-top: var(--s24-space-2);
	font-weight: 600;
	font-size: var(--s24-caption);
	color: var(--s24-primary);
	cursor: pointer;
}

/* Native input'ы в hero-форме гостевой заявки (вне .s24-form-layout) */
body.s24-landing-page--guest-prjadd .s24-hero__form input[type="text"],
body.s24-landing-page--guest-prjadd .s24-hero__form input[type="email"] {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Только заголовок блока последних отзывов: не шире 80% на десктопе */
body.s24-landing-page--guest-prjadd #s24-landing-reviews .s24-section-title {
	max-width: 80%;
	margin-left: auto;
	margin-right: auto;
}

/* ========== Адаптив (гостевая заявка) ========== */

@media (max-width: 600px) {
	body.s24-landing-page--guest-prjadd .s24-prj-add-video > video {
		max-width: 400px;
		width: 95%;
		height: 210px;
	}

	body.s24-landing-page--guest-prjadd #s24-landing-reviews .s24-section-title {
		max-width: 100%;
	}
}

@media (max-width: 480px) {
	body.s24-landing-page--guest-prjadd div.select-search-block > div.select-search {
		top: 55px;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	body.s24-landing-page--guest-prjadd .input-select-search.active {
		padding: var(--s24-space-3);
		min-width: 0;
		width: 100%;
		max-width: 100%;
		left: 0;
		right: 0;
		box-sizing: border-box;
	}
}

@media (max-width: 420px) {
	body.s24-landing-page--guest-prjadd .s24-hero__card {
		padding-left: var(--s24-space-4);
		padding-right: var(--s24-space-4);
	}
}

/* Очень узкий экран: «Почему» nowrap → крупные цифры давали скролл */
@media (max-width: 360px) {
	body.s24-landing-page--guest-prjadd .s24-why__stat {
		padding: var(--s24-space-5) var(--s24-space-3);
	}
	body.s24-landing-page--guest-prjadd .s24-why__stat-num {
		white-space: normal;
		font-size: clamp(1.35rem, 10vw, 2.25rem);
	}
}

/* ========== Лендинг отзывов (s24-landing-page--reviews, r=reviews&m=landing) ==========
   Сдвиг для anchor-scroll — scroll-margin-top: 5rem компенсирует фиксированную шапку. */

body.s24-landing-page--reviews #reviews-landing-reviews {
	scroll-margin-top: 5rem;
}

/* Герой: после удаления подзаметки у .s24-hero__numbers нет margin-top — добавляем зазор от кнопки */
body.s24-landing-page--reviews .s24-hero__numbers {
	margin-top: var(--s24-section-gap-sm);
}

/*
 * Блок услуг после синего CTA: не использовать margin-top — зазор окрасится
 * в цвет body (белая «полоска»). Доп. воздух только через padding внутри
 * серого full-bleed (.s24-services уже даёт --s24-space-section).
 * Снизу раньше задавали padding-bottom: section-gap-sm и съедали штатные 80px —
 * возвращаем секционный отступ + зазор до футера.
 */
body.s24-landing-page--reviews .s24-reviews-landing__services {
	margin-top: 0;
	padding-top: calc(var(--s24-space-section) + var(--s24-section-gap-sm));
	padding-bottom: calc(var(--s24-space-section) + var(--s24-section-gap));
}

.s24-reviews-landing__card--collapsed {
	display: none;
}

body.s24-landing-page--reviews .s24-reviews-landing__more-wrap {
	display: flex;
	justify-content: center;
	margin-top: var(--s24-space-7);
	margin-bottom: var(--s24-space-2);
}

body.s24-landing-page--reviews .s24-reviews-landing__more {
	min-width: 12rem;
}

@media (max-width: 480px) {
	body.s24-landing-page--reviews .s24-reviews-landing__more {
		width: 100%;
		max-width: 22rem;
	}
}

/* ========== Лендинг партнёрской программы (s24-landing-page--partners, e=partners) ==========
   Сдвиг для anchor-scroll — scroll-margin-top: 5rem компенсирует фиксированную шапку. */

body.s24-landing-page--partners #partners-final-cta {
	scroll-margin-top: 5rem;
}

body.s24-landing-page--partners .s24-partners-landing__why {
	margin-top: 0;
}

body.s24-landing-page--partners .s24-partners-landing__steps {
	margin-top: var(--s24-section-gap-sm);
	margin-bottom: var(--s24-section-gap-sm);
}

body.s24-landing-page--partners .s24-partners-landing__cta-note {
	margin-top: var(--s24-space-6);
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

body.s24-landing-page--partners .s24-partners-landing__cta-legal,
body.s24-landing-page--partners .s24-partners-landing__cta-guest {
	margin: 0;
	font-size: var(--s24-caption);
	line-height: 1.5;
	color: var(--s24-on-primary-soft);
	text-align: center;
}

body.s24-landing-page--partners .s24-partners-landing__cta-legal a,
body.s24-landing-page--partners .s24-partners-landing__cta-guest a {
	color: var(--s24-on-primary);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.s24-landing-page--partners .s24-partners-landing__cta-legal a:hover,
body.s24-landing-page--partners .s24-partners-landing__cta-guest a:hover {
	opacity: 0.95;
}

body.s24-landing-page--partners .s24-partners-landing__modal-body {
	padding: var(--s24-space-4) var(--s24-space-5);
}
