/*
Theme Name: SIGNUM Theme
Theme URI: https://signum.example
Author: SIGNUM
Description: Тема агентского портала SIGNUM. Объекты, новости, карта, вход по телефону, кабинет агента.
Version: 1.0.0
Text Domain: signum-theme
*/

@font-face {
	font-family: 'Graphik';
	src: url('assets/fonts/graphik.woff2') format('woff2'),
		url('assets/fonts/graphik.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Graphik';
	src: url('assets/fonts/graphik.woff2') format('woff2'),
		url('assets/fonts/graphik.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Graphik';
	src: url('assets/fonts/graphikbold.woff2') format('woff2'),
		url('assets/fonts/graphikbold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Graphik';
	src: url('assets/fonts/graphikbold.woff2') format('woff2'),
		url('assets/fonts/graphikbold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--signum-primary: #1a3d18;
	--signum-primary-hover: #234d20;
	--signum-secondary: #1a4a8a;
	--signum-border: #ddd;
	--signum-bg: #f5f5f5;
	--signum-font: 'Graphik', -apple-system, BlinkMacSystemFont, sans-serif;
}

* { box-sizing: border-box; }
html { height: 100%; }
body {
	font-family: var(--signum-font);
	font-weight: 400;
	margin: 0;
	padding: 0;
	padding-top: 60px;
	background: var(--signum-bg);
	min-height: 100%;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}
h1, h2, h3, h4, h5, h6,
b, strong {
	font-family: var(--signum-font);
	font-weight: 700;
}
.signum-page-wrap {
	flex: 1 0 auto;
	width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
a { color: var(--signum-secondary); }
.container { max-width: 1400px; width: 100%; margin: 0 auto; padding: 0 20px; }

/* Header: фиксированная при скролле */
.signum-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--signum-border); background: #fff; }
.signum-header__row { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 1rem; }
.signum-header-brand {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
	flex: 1 1 auto;
}
.signum-header-cabinet {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45em;
	padding: 0.55rem 1.05rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	line-height: 1.3;
	text-decoration: none;
	color: #fff;
	background: linear-gradient(135deg, var(--signum-primary) 0%, #234d20 100%);
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(26, 58, 22, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	white-space: nowrap;
	flex-shrink: 0;
	transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.signum-header-cabinet .fa-solid { font-size: 0.92em; flex-shrink: 0; }
.signum-header-cabinet:hover {
	color: #fff;
	background: linear-gradient(135deg, var(--signum-primary-hover) 0%, #234d20 100%);
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(26, 58, 22, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}
@media (min-width: 769px) {
	.signum-header-cabinet--brand { display: none; }
}
@media (max-width: 768px) {
	.signum-header-cabinet--nav { display: none; }
}
.signum-logo {
	display: flex;
	align-items: center;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.2;
	color: var(--signum-text, #1a2e1a);
	letter-spacing: 0.01em;
}
.signum-logo:hover {
	color: var(--signum-primary);
}
.signum-header-actions { display: flex; align-items: center; gap: 10px; position: relative; flex-shrink: 0; }
.signum-nav-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; }
.signum-burger { display: none; width: 44px; height: 44px; padding: 0; border: none; background: none; cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; border-radius: 4px; color: #333; }
.signum-burger:hover { background: rgba(0,0,0,0.06); }
.signum-burger span { display: block; width: 22px; height: 2px; background: currentColor; border-radius: 1px; }

/* Оффканвас сайдбар для бургер-меню на мобильных */
.signum-offcanvas { position: relative; }
.signum-offcanvas-backdrop { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 1000; opacity: 0; transition: opacity 0.25s ease; }
.signum-offcanvas-panel { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
@media (max-width: 768px) {
	.signum-burger { display: flex; }
	.signum-header-brand { gap: 0.65rem; }
	.signum-logo { font-size: 1rem; }
	.signum-header-cabinet { padding: 0.5rem 0.8rem; font-size: 0.8125rem; border-radius: 9px; }
	.signum-offcanvas-backdrop { display: block; pointer-events: none; }
	.signum-offcanvas.is-open .signum-offcanvas-backdrop { opacity: 1; pointer-events: auto; }
	.signum-offcanvas-panel { position: fixed; top: 0; right: 0; width: 280px; max-width: 85vw; height: 100%; background: #fff; box-shadow: -2px 0 16px rgba(0,0,0,0.2); display: flex; flex-direction: column; align-items: stretch; padding: 2rem 1.5rem; padding-top: 4rem; gap: 0.5rem; overflow-y: auto; z-index: 1001; transform: translateX(100%); transition: transform 0.25s ease; }
	.signum-offcanvas.is-open .signum-offcanvas-panel { transform: translateX(0); }
	.signum-nav-wrap { flex-direction: column; align-items: stretch; width: 100%; gap: 4px; }
	.signum-nav-wrap .signum-btn { width: 100%; text-align: center; justify-content: center; }
	.signum-nav-wrap .signum-header-cabinet--nav { width: 100%; }
}
.signum-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45em;
	padding: 0.5rem 1rem;
	border-radius: 4px;
	text-decoration: none;
	border: none;
	cursor: pointer;
	font-size: 1rem;
	font-family: inherit;
	line-height: 1.3;
}
.signum-btn .fa-solid { font-size: 0.92em; flex-shrink: 0; }
.signum-btn-primary { background: var(--signum-primary); color: #fff; }
.signum-btn-primary:hover { background: var(--signum-primary-hover); color: #fff; }
.signum-btn-secondary { background: #e0e0e0; color: #333; }
.signum-btn-secondary:hover { background: #d0d0d0; color: #333; }

/* Шапка: лёгкие текстовые пункты меню */
.signum-nav-wrap .signum-btn,
.signum-offcanvas-panel .signum-nav-wrap .signum-btn {
	padding: 0.35rem 0.6rem;
	font-size: 0.875rem;
	font-weight: 500;
	border-radius: 6px;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease;
}

.signum-nav-wrap .signum-btn-secondary,
.signum-offcanvas-panel .signum-nav-wrap .signum-btn-secondary {
	background: transparent;
	color: #444;
}

.signum-nav-wrap .signum-btn-secondary:hover,
.signum-offcanvas-panel .signum-nav-wrap .signum-btn-secondary:hover {
	background: rgba(0, 0, 0, 0.06);
	color: #222;
}

.signum-nav-wrap .signum-btn-primary,
.signum-offcanvas-panel .signum-nav-wrap .signum-btn-primary {
	padding: 0.4rem 0.75rem;
	font-size: 0.875rem;
	font-weight: 600;
}

/* Front page: 3/4 объекты, 1/4 новости */
.signum-front-grid { display: grid; grid-template-columns: 3fr 1fr; gap: 2rem; margin: 2rem 0; align-items: start; }
@media (max-width: 900px) {
	.signum-front-grid { grid-template-columns: 1fr; }
}
.signum-front-news .signum-news-list { max-height: 70vh; overflow-y: auto; }
.signum-news-date { flex-shrink: 0; font-size: 0.85rem; color: #888; }

/* Front page sections */
.signum-section { margin: 0; }
.signum-section-title { font-size: 1.5rem; margin-bottom: 1rem; }
.signum-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}
.signum-section-head .signum-section-title { margin-bottom: 0; flex: 1 1 auto; min-width: 0; }
.signum-section-head-link {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 600;
	padding: 0.35rem 0.85rem;
	border-radius: 9999px;
	border: 1px solid var(--signum-border);
	color: var(--signum-secondary);
	text-decoration: none;
	background: #fff;
	line-height: 1.3;
	white-space: nowrap;
	flex-shrink: 0;
}
.signum-section-head-link:hover { background: #eee; color: var(--signum-secondary); }
.signum-lot-map-section { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--signum-border); }
.signum-objects-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.5rem;
	justify-content: start;
	justify-items: stretch;
	width: 100%;
}
/* Главная и страница «Все поселки»: две крупные карточки в ряд, прибито к левому краю */
.signum-front-objects .signum-objects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 640px) {
	.signum-front-objects .signum-objects-grid { grid-template-columns: 1fr; }
}
.signum-all-settlements { text-align: left; }
.signum-all-akcii { text-align: left; }
/* Страница «Все акции»: крупные карточки, 5 в ряд на десктопе, слева */
.signum-all-akcii .signum-akcii-page-list.signum-news-cards {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1rem;
	max-height: none;
	width: 100%;
	justify-content: start;
	align-items: stretch;
}
.signum-all-akcii .signum-akcii-page-list .signum-news-item {
	width: 100%;
	max-width: none;
}
.signum-all-akcii .signum-akcii-page-list .signum-news-item-link {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding: 0;
	height: 100%;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.signum-all-akcii .signum-akcii-page-list .signum-news-item-link:hover {
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.signum-all-akcii .signum-news-preview {
	width: 100%;
	height: auto;
	min-height: 100px;
	aspect-ratio: 16 / 10;
	max-height: none;
	border-radius: 0;
}
.signum-all-akcii .signum-news-item-content {
	padding: 1rem 1.1rem 1.2rem;
	gap: 0.35rem;
}
.signum-all-akcii .signum-news-item-title {
	font-size: 0.95rem;
	-webkit-line-clamp: 3;
}
.signum-all-akcii .signum-news-object { font-size: 0.88rem; }
.signum-all-akcii .signum-news-cards .signum-news-date { font-size: 0.82rem; }
.signum-all-akcii .signum-news-item-price { font-size: 0.95rem; margin-top: 0.25rem; }
@media (max-width: 1280px) {
	.signum-all-akcii .signum-akcii-page-list.signum-news-cards {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media (max-width: 1024px) {
	.signum-all-akcii .signum-akcii-page-list.signum-news-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 720px) {
	.signum-all-akcii .signum-akcii-page-list.signum-news-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 560px) {
	.signum-all-akcii .signum-akcii-page-list.signum-news-cards {
		grid-template-columns: 1fr;
	}
}
.signum-object-card { background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.signum-object-card a { text-decoration: none; color: inherit; }
.signum-object-card img,
.signum-object-card .signum-object-card-thumb { width: 100%; height: 180px; object-fit: cover; display: block; }
.signum-nav-wrap .signum-header-login,
.signum-offcanvas-panel .signum-header-login {
	background: transparent;
	color: var(--signum-secondary);
	border: none;
	font-weight: 500;
}
.signum-nav-wrap .signum-header-login:hover,
.signum-offcanvas-panel .signum-header-login:hover {
	background: rgba(0, 0, 0, 0.06);
	color: #163a72;
}
.signum-object-single .signum-object-map-title { margin: 2rem 0 0.75rem; }
.signum-object-single .signum-object-map-title + .signum-object-map { margin: 0 0 2rem; }
.signum-object-card-body { padding: 1.35rem 1rem 1rem; }
.signum-object-card h3 { margin: 0 0 0.5rem; font-size: 1.1rem; }
.signum-object-meta { font-size: 0.75rem; color: #666; margin-bottom: 0.5rem; }
.signum-object-sold { font-size: 0.85rem; color: var(--signum-primary); }

.signum-news-list { list-style: none; padding: 0; margin: 0; }
.signum-news-list li { padding: 0.5rem 0; border-bottom: 1px solid var(--signum-border); display: flex; justify-content: space-between; gap: 1rem; }
.signum-news-list a { text-decoration: none; }
/* Компактные карточки новостей: превью, заголовок, объект, дата */
.signum-news-cards { display: flex; flex-direction: column; gap: 0.75rem; }
.signum-news-cards .signum-news-item { padding: 0; border-bottom: none; }
.signum-news-item-link { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.5rem 0; border-radius: 8px; color: inherit; transition: background 0.15s; }
.signum-news-item-link:hover { background: rgba(0,0,0,0.04); }
.signum-news-preview { flex-shrink: 0; width: 64px; height: 64px; border-radius: 6px; overflow: hidden; background: #eee; display: block; }
.signum-news-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.signum-news-preview-placeholder { background: #e5e5e5; }
.signum-news-item-content { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.signum-news-item-title { font-weight: 600; font-size: 0.95rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.signum-news-object { font-size: 0.8rem; color: #666; }
.signum-news-cards .signum-news-date { font-size: 0.75rem; color: #999; }
.signum-news-item-price {
	font-size: 0.78rem;
	line-height: 1.3;
	color: #333;
}
.signum-news-item-price .signum-lot-price-block {
	gap: 0.12rem;
	align-items: flex-start;
}
.signum-news-item-price .signum-lot-price-old {
	font-size: 0.72em;
}
.signum-news-item-price .signum-lot-price-main {
	font-size: 0.95em;
}
.signum-front-map { margin-top: 50px; }
.signum-map-with-list {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.9fr);
	gap: 1.25rem;
	align-items: stretch;
}
.signum-map-with-list__map { min-width: 0; }
.signum-map-with-list__map .signum-map-container,
.signum-map-with-list__map #signum-map {
	height: 100%;
	min-height: 420px;
}
.signum-map-with-list__aside {
	display: flex;
	flex-direction: column;
	min-height: 0;
	min-width: 0;
}
.signum-map-with-list__subtitle {
	margin: 0 0 0.75rem;
	font-size: 1.05rem;
	font-weight: 600;
}
.signum-map-with-list__items {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-height: 420px;
	overflow-y: auto;
	padding-right: 0.25rem;
}
.signum-map-settlement-card {
	display: flex;
	gap: 0.75rem;
	align-items: stretch;
	background: #fff;
	padding: 0.55rem;
}
.signum-map-settlement-card__preview {
	flex-shrink: 0;
	width: 72px;
	height: 72px;
	border-radius: 6px;
	overflow: hidden;
	background: #e8e8e8;
}
.signum-map-settlement-card__preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.signum-map-settlement-card__preview-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: #e0e0e0;
}
.signum-map-settlement-card__body {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.4rem;
}
.signum-map-settlement-card__title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.25;
}
.signum-map-settlement-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}
.signum-map-settlement-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.2rem 0.5rem;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.3;
	border-radius: 4px;
	border: 1px solid var(--signum-border);
	background: #f5f5f5;
	color: #333;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}
.signum-map-settlement-card__btn:hover {
	background: #ebebeb;
	color: #111;
}
@media (max-width: 900px) {
	.signum-map-with-list {
		grid-template-columns: 1fr;
	}
	.signum-map-with-list__items {
		max-height: 280px;
	}
}
.signum-map-placeholder,
.signum-map-container { min-height: 300px; background: #e8e8e8; display: flex; align-items: center; justify-content: center; color: #666; border-radius: 8px; }
.signum-map-container[data-ready="true"] { padding: 0; }
#signum-map { height: 400px; }
#signum-object-map { height: 350px; }
#signum-map.leaflet-container,
#signum-object-map.leaflet-container { border-radius: 8px; z-index: 0; }
.leaflet-tile-pane { filter: grayscale(60%); }
.leaflet-bottom.leaflet-right { display: none !important; }
.signum-map-marker { background: var(--signum-primary); color: #fff; padding: 4px 10px; border-radius: 6px; font-size: 12px; white-space: nowrap; box-shadow: 0 1px 4px rgba(0,0,0,0.2); }
.signum-map-marker a { color: #fff; text-decoration: none; }
.signum-map-marker a:hover { text-decoration: underline; }

/* Modals */
.signum-modal { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 10000; }
.signum-modal-inner { background: #fff; padding: 2rem; border-radius: 8px; max-width: 420px; width: 90%; position: relative; }
.signum-modal-close { position: absolute; top: 10px; right: 10px; background: none; border: none; font-size: 1.5rem; cursor: pointer; color: #999; }
.signum-modal h3 { margin-top: 0; }
.signum-form label { font-size: 12px; display: block; margin-bottom: 0.5rem; font-weight: 500; }
.signum-form input[type="text"],
.signum-form input[type="tel"],
.signum-form input[type="email"],
.signum-form input[type="password"],
.signum-form select,
.signum-form textarea { width: 100%; padding: 0.5rem; margin-bottom: 0.2rem; border: 1px solid var(--signum-border); border-radius: 4px; }
.signum-form textarea { min-height: 80px; }
.signum-form-row.signum-form-actions { margin-bottom: 0.5rem; }
.signum-recover-password { margin-top: 0.75rem; font-size: 0.9rem; }
.signum-link-muted { color: #666; text-decoration: none; }
.signum-link-muted:hover { text-decoration: underline; color: var(--signum-secondary); }

/* Auth modals — крупные поля «Войти» / «Стать партнёром» */
.signum-modal-auth {
	backdrop-filter: blur(4px);
}
.signum-modal-auth .signum-modal-auth-inner {
	max-width: 480px;
	padding: 2.25rem 2rem 2rem;
	border-radius: 16px;
	box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(15, 23, 42, 0.06);
}
.signum-modal-auth h3 {
	margin: 0 0 1.75rem;
	padding-right: 2rem;
	font-size: clamp(1.35rem, 3vw, 1.625rem);
	font-weight: 700;
	line-height: 1.25;
	color: #1a2e1a;
	letter-spacing: -0.02em;
}
.signum-modal-auth .signum-modal-close {
	top: 1rem;
	right: 1rem;
	width: 2.5rem;
	height: 2.5rem;
	font-size: 1.625rem;
	border-radius: 10px;
	color: #94a3b8;
	transition: background 0.15s ease, color 0.15s ease;
}
.signum-modal-auth .signum-modal-close:hover {
	background: #f1f5f9;
	color: #475569;
}
.signum-form-auth .signum-field {
	margin-bottom: 1.25rem;
}
.signum-form-auth .signum-field:last-of-type {
	margin-bottom: 0;
}
.signum-form-auth .signum-field-label {
	display: block;
	margin-bottom: 0.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748b;
}
.signum-form-auth .signum-field-input,
.signum-form-auth input[type="text"],
.signum-form-auth input[type="tel"],
.signum-form-auth input[type="email"],
.signum-form-auth input[type="password"] {
	width: 100%;
	padding: 1rem 1.125rem;
	margin-bottom: 0;
	font-size: 1.0625rem;
	line-height: 1.45;
	font-family: inherit;
	color: #1e293b;
	background: #f8fafc;
	border: 2px solid #e2e8f0;
	border-radius: 12px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.signum-form-auth .signum-field-input::placeholder {
	color: #94a3b8;
}
.signum-form-auth .signum-field-input:hover {
	border-color: #cbd5e1;
	background: #fff;
}
.signum-form-auth .signum-field-input:focus {
	outline: none;
	border-color: var(--signum-primary);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(26, 58, 22, 0.14);
}
.signum-form-auth .signum-form-actions {
	margin: 1.5rem 0 0;
}
.signum-form-auth .signum-form-auth-submit {
	width: 100%;
	padding: 1rem 1.5rem;
	font-size: 1.0625rem;
	font-weight: 600;
	border-radius: 12px;
	box-shadow: 0 4px 14px rgba(26, 58, 22, 0.28);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.signum-form-auth .signum-form-auth-submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(26, 58, 22, 0.34);
}
.signum-form-auth .signum-form-auth-submit:active {
	transform: translateY(0);
}
.signum-form-auth .signum-recover-password {
	margin: 1rem 0 0;
	text-align: center;
	font-size: 0.9375rem;
}
.signum-form-auth .signum-link-muted {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4em;
	padding: 0.35rem 0.5rem;
	border-radius: 8px;
	transition: color 0.15s ease, background 0.15s ease;
}
.signum-form-auth .signum-link-muted:hover {
	background: rgba(26, 74, 138, 0.06);
	text-decoration: none;
}
@media (max-width: 480px) {
	.signum-modal-auth .signum-modal-auth-inner {
		padding: 1.75rem 1.25rem 1.5rem;
		border-radius: 14px;
	}
	.signum-form-auth .signum-field-input,
	.signum-form-auth input[type="text"],
	.signum-form-auth input[type="tel"],
	.signum-form-auth input[type="email"],
	.signum-form-auth input[type="password"] {
		padding: 0.9375rem 1rem;
		font-size: 1rem;
	}
}

/* Cabinet */
.signum-cabinet { background: #fff; padding: 2rem; border-radius: 8px; margin: 2rem 0; }
.signum-table { width: 100%; border-collapse: collapse; }
.signum-table th, .signum-table td { padding: 0.5rem; text-align: left; border-bottom: 1px solid var(--signum-border); }
.signum-table th { background: #f0f0f0; }
.signum-uniqueness-unique { color: var(--signum-primary); }
.signum-uniqueness-not_unique { color: #c00; }
.signum-uniqueness-checking { color: #07c; }
.signum-readonly { background: #eee; color: #666; }

/* Toast (плашка уведомления в кабинете) */
.signum-toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); padding: 14px 24px; border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); font-size: 1rem; font-weight: 500; z-index: 100000; max-width: 90vw; text-align: center; animation: signum-toast-in 0.3s ease; }
.signum-toast-success { background: var(--signum-primary); color: #fff; }
.signum-toast-error { background: #c0392b; color: #fff; }
@keyframes signum-toast-in { from { opacity: 0; transform: translateX(-50%) translateY(12px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } }

/* Object single */
.signum-object-title-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 0.5rem;
}
.signum-object-title-row h1 {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
}
.signum-object-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
	flex-shrink: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.signum-object-social li {
	margin: 0;
	padding: 0;
}
.signum-object-social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.signum-object-social-link:hover {
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
}
.signum-object-social-link img {
	width: 24px;
	height: 24px;
	object-fit: contain;
	display: block;
}
.signum-object-meta-row { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin-bottom: 1.5rem; color: #555; font-size: 0.95rem; }
.signum-meta-item + .signum-meta-item::before { content: "·"; margin-right: 0.75rem; color: #999; }
/* Кнопки ссылок Яндекс (карты / навигатор): маленькие кнопки, по клику — копирование в буфер и модалка */
.signum-object-yandex-links { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.signum-btn-yandex-link { display: inline-block; padding: 0.35rem 0.75rem; font-size: 0.8rem; line-height: 1.4; color: #333; background: #f0f0f0; border: 1px solid #ccc; border-radius: 6px; cursor: pointer; transition: background 0.2s, border-color 0.2s; }
.signum-btn-yandex-link:hover { background: #e5e5e5; border-color: #999; }
/* Модалка «Ссылка скопирована в буфер» */
.signum-yandex-copy-modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 1rem; box-sizing: border-box; }
.signum-yandex-copy-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.5); cursor: pointer; }
.signum-yandex-copy-box { position: relative; background: #fff; padding: 1.5rem 2rem; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.25); max-width: 90vw; text-align: center; }
.signum-yandex-copy-text { margin: 0 0 1rem; font-size: 1rem; }
.signum-yandex-copy-close { padding: 0.4rem 1.2rem; font-size: 0.9rem; background: var(--signum-primary, #1a3d18); color: #fff; border: none; border-radius: 6px; cursor: pointer; }
.signum-yandex-copy-close:hover { opacity: 0.9; }
/* Галерея объекта: 3/4 слайдшоу + 1/4 превью */
.signum-object-gallery-wrap { display: grid; grid-template-columns: 3fr 1fr; gap: 1rem; margin: 1.5rem 0; }
.signum-object-gallery-main { position: relative; min-height: 320px; background: #e8e8e8; border-radius: 8px; overflow: hidden; }
.signum-gallery-slides { position: relative; width: 100%; height: 100%; min-height: 320px; }
.signum-gallery-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0.3s; pointer-events: none; }
.signum-gallery-slide.is-active { opacity: 1; pointer-events: auto; }
.signum-gallery-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.signum-gallery-slide.signum-object-gallery-placeholder { background: #e0e0e0; }
.signum-gallery-prev,
.signum-gallery-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 48px; height: 48px; border: none; border-radius: 50%; background: rgba(0,0,0,0.5); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; transition: background 0.2s; }
.signum-gallery-prev:hover,
.signum-gallery-next:hover { background: rgba(0,0,0,0.75); }
.signum-gallery-prev { left: 12px; }
.signum-gallery-next { right: 12px; }
.signum-object-gallery-thumbs { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 80px; gap: 8px; max-height: 400px; overflow-y: auto; align-content: start; }
.signum-gallery-thumb { padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer; background: none; display: block; width: 100%; height: 100%; min-height: 0; max-height: 80px; }
.signum-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.signum-gallery-thumb.is-active { border-color: var(--signum-primary); }
.signum-gallery-thumb:hover { border-color: #999; }
@media (max-width: 768px) {
	.signum-object-gallery-wrap { grid-template-columns: 1fr; }
	.signum-object-gallery-thumbs { grid-template-columns: repeat(3, 1fr); max-height: none; }
	.signum-gallery-thumb { max-width: 100%; }
}
.signum-object-description-title { font-size: 1.25rem; margin: 1.5rem 0 0.75rem; }
.signum-object-single > article { padding-top: 20px; }
.signum-object-single .signum-object-content {
	margin: 1rem 0;
	line-height: 1.6;
	background: #fff;
	border-radius: 10px;
	padding: 1.25rem 1.5rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.signum-object-single .signum-object-description-title { margin-top: 0; }
.signum-object-materials { margin: 2rem 0; }
.signum-object-materials .signum-section-title { margin-bottom: 1rem; }
.signum-materials-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; }
.signum-material-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,0.1); transition: box-shadow 0.2s; }
.signum-material-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
.signum-material-preview { aspect-ratio: 1; background: #e8e8e8; overflow: hidden; }
.signum-material-preview img { width: 100%; height: 100%; object-fit: cover; }
.signum-material-preview-placeholder {
	min-height: 120px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.75rem;
	text-align: center;
	box-sizing: border-box;
}
.signum-material-preview-placeholder .signum-material-preview-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6a6a6a;
	flex-shrink: 0;
}
.signum-material-preview-placeholder .signum-material-preview-label {
	font-size: 0.82rem;
	font-weight: 600;
	color: #555;
	line-height: 1.25;
}
.signum-material-title { padding: 0.5rem 0.75rem; font-size: 0.9rem; font-weight: 500; }
.signum-object-single .signum-object-map { margin: 2rem 0; min-height: 350px; background: #e8e8e8; border-radius: 8px; }

/* Модалки материалов (текст, галерея, лайтбокс) */
.signum-material-modal,
.signum-lightbox-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 1rem; box-sizing: border-box; }
.signum-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.6); cursor: pointer; }
.signum-material-text-inner { position: relative; background: #fff; border-radius: 12px; max-width: 90vw; width: 560px; max-height: 85vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.3); }
.signum-material-text-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid #eee; flex-shrink: 0; }
.signum-material-text-title { margin: 0; font-size: 1.15rem; }
.signum-material-text-body { padding: 1.25rem; overflow-y: auto; line-height: 1.6; }
.signum-material-text-body p { margin: 0 0 0.75rem; }
.signum-material-text-body p:last-child { margin-bottom: 0; }
.signum-material-gallery-inner,
.signum-lightbox-inner { position: relative; background: #fff; border-radius: 12px; max-width: 90vw; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,0.3); }
.signum-material-gallery-inner { min-width: 320px; width: 720px; }
.signum-material-gallery-header { display: flex; align-items: center; gap: 0.75rem; padding: 1rem 1.25rem; border-bottom: 1px solid #eee; flex-shrink: 0; }
.signum-material-gallery-title { margin: 0; font-size: 1.1rem; flex: 1; }
.signum-material-download-all { padding: 0.4rem 0.75rem; font-size: 0.9rem; background: var(--signum-primary); color: #fff; border: none; border-radius: 6px; cursor: pointer; }
.signum-material-download-all:hover { opacity: 0.9; }
.signum-material-download-all:disabled { opacity: 0.6; cursor: wait; }
.signum-material-gallery-grid { padding: 1rem; overflow-y: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 1rem; max-height: 60vh; }
.signum-material-gallery-item { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.signum-material-gallery-item-preview { width: 100%; aspect-ratio: 1; background: #eee; border-radius: 8px; overflow: hidden; cursor: pointer; }
.signum-material-gallery-item-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.signum-material-gallery-item--video .signum-material-gallery-item-preview--video {
	aspect-ratio: 9 / 16;
	cursor: default;
	background: #1a1a1a;
}
.signum-material-gallery-item-preview--video video {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}
.signum-material-gallery-item-download { font-size: 0.8rem; color: var(--signum-secondary); }
.signum-modal-close { position: absolute; top: 0.75rem; right: 0.75rem; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background: none; border: none; font-size: 1.5rem; color: #666; cursor: pointer; border-radius: 6px; }
.signum-modal-close:hover { background: #f0f0f0; color: #333; }
.signum-material-gallery-header .signum-modal-close { position: static; }
.signum-lightbox-inner { padding: 2.5rem 3rem 2rem; position: relative; display: flex; align-items: center; justify-content: center; gap: 0.5rem; }
.signum-lightbox-inner .signum-modal-close { top: 0.5rem; right: 0.5rem; }
.signum-lightbox-prev,
.signum-lightbox-next { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border: none; border-radius: 50%; background: rgba(0,0,0,0.5); color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; transition: background 0.2s; z-index: 2; }
.signum-lightbox-prev:hover,
.signum-lightbox-next:hover { background: rgba(0,0,0,0.75); }
.signum-lightbox-prev { left: 0.5rem; }
.signum-lightbox-next { right: 0.5rem; }
.signum-lightbox-zoom-viewport {
	overflow: auto;
	max-width: 85vw;
	max-height: 78vh;
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	min-width: 0;
	-webkit-overflow-scrolling: touch;
	touch-action: none;
}
.signum-lightbox-zoom-viewport .signum-lightbox-img {
	max-width: 100%;
	width: auto;
	height: auto;
	max-height: 78vh;
	object-fit: contain;
	display: block;
	transition: transform 0.08s ease-out;
	transform-origin: center center;
}
.signum-lightbox-zoom-toolbar {
	position: absolute;
	bottom: 2.25rem;
	right: 0.75rem;
	display: flex;
	gap: 0.35rem;
	z-index: 3;
}
.signum-lightbox-zoom-toolbar button {
	width: 38px;
	height: 38px;
	padding: 0;
	border: none;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.55);
	color: #fff;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.signum-lightbox-zoom-toolbar button:hover {
	background: rgba(0, 0, 0, 0.72);
}
.signum-lightbox-counter { position: absolute; bottom: 0.5rem; left: 50%; transform: translateX(-50%); font-size: 0.9rem; color: #666; }
.signum-material-card[data-material-type="images"],
.signum-material-card[data-material-type="video"] { cursor: pointer; }

/* Лента новостей на странице объекта: 3 колонки на десктопе */
.signum-object-lots { margin: 2rem 0; }
.signum-object-lots .signum-section-title { margin-bottom: 1rem; }
.signum-object-lots-empty { color: #666; margin: 0; }
.signum-object-genplan { margin: 2rem 0; }
.signum-object-genplan .signum-section-title { margin-bottom: 1rem; }
.signum-genplan-tablist {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}
.signum-genplan-tab {
	padding: 0.5rem 1rem;
	border: 1px solid var(--signum-border);
	border-radius: 8px;
	background: #fff;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	color: #333;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.signum-genplan-tab:hover {
	background: #f5f5f5;
}
.signum-genplan-tab.is-active {
	background: var(--signum-primary);
	border-color: var(--signum-primary);
	color: #fff;
}
.signum-genplan-panel {
	background: #fff;
	border-radius: 10px;
	padding: 1rem 1.25rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	min-height: 120px;
}
.signum-genplan-panel[hidden] { display: none !important; }
.signum-genplan-panel-inner { line-height: 0; }
.signum-genplan-panel-inner > * { line-height: 1.5; }
.signum-genplan-single .signum-genplan-panel { margin-top: 0; }
.signum-news-card { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.5rem 0; border-radius: 8px; color: inherit; text-decoration: none; transition: background 0.15s; }
.signum-news-card:hover { background: rgba(0,0,0,0.04); }
.signum-news-card-preview { flex-shrink: 0; width: 64px; height: 64px; border-radius: 6px; overflow: hidden; background: #eee; display: block; }
.signum-news-card-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.signum-news-card-preview-placeholder { background: #e5e5e5; }
.signum-news-card-body { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.signum-news-card-title { font-weight: 600; font-size: 0.95rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.signum-news-card-date { font-size: 0.75rem; color: #999; }

/* Страница одной новости (single post): 3/4 контент + 1/4 сайдбар, изображения не вылезают */
.signum-single-post-wrap { padding: 1rem 0 2rem; }
.signum-single-post-layout { display: grid; grid-template-columns: 3fr 1fr; gap: 2rem; align-items: start; }
@media (max-width: 900px) {
	.signum-single-post-layout { grid-template-columns: 1fr; }
}
.signum-single-post-content { min-width: 0; }
.signum-single-post-header { margin-bottom: 1.5rem; }
.signum-single-post-header h1 { margin: 0 0 0.5rem; font-size: 1.75rem; }
.signum-single-post-header time { font-size: 0.9rem; color: #666; }
.signum-single-post-body { line-height: 1.65; overflow-wrap: break-word; }
.signum-single-post-body p { margin: 0 0 1rem; }
.signum-single-post-body img { max-width: 100%; height: auto; display: block; }
.signum-single-post-body figure { max-width: 100%; margin: 1rem 0; }
.signum-single-post-body figure img { max-width: 100%; height: auto; }
.signum-single-post-sidebar { position: sticky; top: 1rem; min-width: 0; }
.signum-single-post-sidebar .signum-sidebar-title { margin: 0 0 1rem; font-size: 1.1rem; }
.signum-sidebar-empty { margin: 0; font-size: 0.9rem; color: #666; }
.signum-sidebar-news-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.signum-sidebar-news-list li { margin: 0; }
.signum-sidebar-news-list.signum-news-cards .signum-news-item { padding: 0; border-bottom: none; }

/* Lots listing */
.signum-lots-page { margin: 2rem 0; }
.signum-lots-top-types { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.signum-lots-chip { border: 1px solid #ccc; background: #fff; border-radius: 999px; padding: 0.45rem 0.9rem; cursor: pointer; }
.signum-lots-chip.is-active { background: var(--signum-primary); color: #fff; border-color: var(--signum-primary); }
.signum-lots-chip:disabled { opacity: 0.45; cursor: not-allowed; }
.signum-lots-layout { display: grid; grid-template-columns: 3fr 1fr; gap: 1.5rem; }
.signum-lots-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.signum-lots-view-switch { display: inline-flex; gap: 0.5rem; }
.signum-lots-view-btn { border: 1px solid #ccc; background: #fff; border-radius: 6px; padding: 0.35rem 0.7rem; cursor: pointer; }
.signum-lots-view-btn.is-active { background: #222; color: #fff; border-color: #222; }
.signum-lots-items.signum-lots-view-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
/* Главная: объекты в продаже — 5 компактных карточек в ряд */
.signum-front-lots .signum-lots-items.signum-lots-view-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.75rem; }
.signum-front-lots .signum-lot-card-image { height: 120px; }
.signum-front-lots .signum-lot-card-title { font-size: 0.9rem; }
.signum-front-lots .signum-lot-card-body { padding: 0.65rem 0.75rem; }
.signum-front-lots-more {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.25rem;
}
.signum-front-lots-more-btn,
.signum-front-lots-all-btn { min-width: 12rem; text-align: center; }
.signum-lot-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.signum-lot-card-link { text-decoration: none; color: inherit; display: block; height: 100%; }
.signum-lot-card-image { height: 180px; background: #ececec; }
.signum-lot-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.signum-lot-card-body { padding: 0.9rem; display: flex; flex-direction: column; gap: 0.35rem; }
.signum-lot-card-title { margin: 0; font-size: 1rem; }
.signum-lot-card-object { color: #666; font-size: 0.75rem; }
.signum-lot-card-meta { display: flex; flex-wrap: wrap; gap: 0.35rem 0.75rem; color: #555; font-size: 0.75rem; }
.signum-lot-card-price { font-weight: 700; margin-top: auto; }
.signum-lot-price-block { display: flex; flex-direction: column; gap: 0.15rem; align-items: flex-start; line-height: 1.25; }
.signum-lot-price-old {
	font-size: 0.78em;
	font-weight: 500;
	color: #888;
	text-decoration: line-through;
}
.signum-lot-price-main { font-weight: 700; color: inherit; }
.signum-lot-price-main--sale { color: var(--signum-secondary); }
.signum-lot-price .signum-lot-price-old { font-size: 0.55em; }
.signum-lots-items.signum-lots-view-list { display: flex; flex-direction: column; gap: 0.8rem; }
.signum-lots-items.signum-lots-view-list .signum-lot-card-link { display: grid; grid-template-columns: 350px 1fr; }
.signum-lots-items.signum-lots-view-list .signum-lot-card-image { height: 100%; min-height: 140px; }
.signum-lots-sidebar { background: #fff; border-radius: 10px; padding: 1rem; height: fit-content; position: sticky; top: 90px; }
.signum-lots-filters-bar { display: none; }
.signum-lots-filters-modal-head,
.signum-lots-filters-modal-foot,
.signum-lots-filters-backdrop { display: none; }
.signum-lots-filter-block + .signum-lots-filter-block { margin-top: 1rem; }
.signum-lots-filter-block h3 { margin: 0 0 0.6rem; font-size: 1rem; }
.signum-lots-check { display: block; margin: 0 0 0.4rem; font-size: 0.92rem; }
.signum-lots-check input { margin-right: 0.4rem; }
.signum-lots-empty { color: #666; }
.signum-lot-image-placeholder { width: 100%; height: 100%; min-height: 140px; background: #e2e2e2; }

/* Single lot */
.signum-lot-single { margin-top: 1.5rem; }
.signum-lot-top { display: grid; grid-template-columns: 3fr 1fr; gap: 1.5rem; align-items: start; }
.signum-lot-gallery-wrap { display: grid; grid-template-rows: auto auto; gap: 0.75rem; }
.signum-lot-gallery-main { position: relative; min-height: 360px; background: #ececec; border-radius: 10px; overflow: hidden; }
.signum-lot-gallery-main .signum-gallery-prev,
.signum-lot-gallery-main .signum-gallery-next { z-index: 3; }
.signum-lot-gallery-slides { position: relative; width: 100%; min-height: 360px; cursor: zoom-in; }
.signum-lot-gallery-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 0.25s; }
.signum-lot-gallery-slide.is-active { opacity: 1; pointer-events: auto; }
.signum-lot-gallery-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.signum-lot-gallery-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 0.5rem; }
.signum-lot-thumb { border: 2px solid transparent; border-radius: 6px; overflow: hidden; padding: 0; background: none; cursor: pointer; height: 96px; }
.signum-lot-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.signum-lot-thumb.is-active { border-color: var(--signum-primary); }
.signum-lot-summary { background: #fff; border-radius: 10px; padding: 1rem; }
.signum-lot-summary h1 { margin: 0 0 0.4rem; font-size: 1.35rem; line-height: 1.25; }
.signum-lot-summary-object {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #666;
	margin-bottom: 0.8rem;
	font-size: 0.95rem;
}
.signum-lot-summary-object__thumb {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	overflow: hidden;
	background: #e5e5e5;
	display: block;
}
.signum-lot-summary-object__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.signum-lot-summary-object__thumb--empty { background: #e0e0e0; }
.signum-lot-summary-object__name {
	color: inherit;
	text-decoration: none;
	line-height: 1.3;
	min-width: 0;
}
a.signum-lot-summary-object__name:hover { color: var(--signum-secondary); text-decoration: underline; }
.signum-lot-facts { margin: 1.25rem 0 0; padding-left: 1rem; display: grid; gap: 0.45rem; }
.signum-lot-options h3 { margin: 1rem 0 0.4rem; font-size: 1rem; }
.signum-lot-options ul { margin: 0; padding-left: 1rem; }
.signum-lot-price { font-size: 1.6rem; font-weight: 700; margin-top: 1rem; }
.signum-lot-price .signum-lot-price-block { gap: 0.25rem; }
.signum-lot-presentation { margin-top: 1rem; position: relative; overflow: hidden; }
.signum-lot-presentation-title { font-weight: 600; margin-bottom: 0.5rem; }
.signum-lot-presentation-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
/* Загрузка PDF: без overlay в шаблоне — компактный индикатор; при наличии .signum-lot-presentation__overlay — только он */
.signum-lot-presentation.is-loading { cursor: wait; }
.signum-lot-presentation.is-loading:not(:has(.signum-lot-presentation__overlay)) .signum-lot-presentation-actions {
	opacity: 0.55;
	pointer-events: none;
}
.signum-lot-presentation.is-loading:not(:has(.signum-lot-presentation__overlay))::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 1.25rem;
	height: 1.25rem;
	border: 2px solid rgba(0, 0, 0, 0.12);
	border-top-color: var(--signum-primary, #333);
	border-radius: 50%;
	animation: signum-lot-prez-spin 0.7s linear infinite;
}
.signum-lot-presentation.is-loading .signum-lot-prez-btn { cursor: wait; }
/* Если в разметку вернут блок с оверлеем — поведение как раньше */
.signum-lot-presentation__overlay {
	display: none;
	position: absolute;
	inset: 0;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.72);
	z-index: 2;
}
.signum-lot-presentation.is-loading .signum-lot-presentation__overlay { display: flex; }
.signum-lot-presentation__loader {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9rem;
	color: #333;
}
.signum-lot-presentation__spinner {
	width: 1.5rem;
	height: 1.5rem;
	border: 2px solid rgba(0, 0, 0, 0.12);
	border-top-color: var(--signum-primary, #333);
	border-radius: 50%;
	animation: signum-lot-prez-spin 0.7s linear infinite;
}
@keyframes signum-lot-prez-spin {
	to { transform: rotate(360deg); }
}
.signum-lot-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2rem; }
.signum-lot-bottom.signum-lot-bottom--plot-only { grid-template-columns: 1fr; }
.signum-lot-description,
.signum-lot-plans { background: #fff; border-radius: 10px; padding: 1rem; }
.signum-lot-description { line-height: 1.5rem; }
.signum-lot-description p { line-height: 1.5rem; }
.signum-lot-plans-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.signum-lot-plans-grid--single { grid-template-columns: 1fr; }
.signum-lot-plan-item h3 { margin: 0 0 0.5rem; font-size: 1rem; }
.signum-lot-plan-item img { width: 100%; height: auto; border-radius: 8px; display: block; }
.signum-lot-plan-trigger {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	cursor: zoom-in;
	border-radius: 8px;
	overflow: hidden;
	font: inherit;
	text-align: left;
}
.signum-lot-plan-trigger:focus-visible {
	outline: 2px solid var(--signum-secondary);
	outline-offset: 2px;
}
.signum-lot-plan-trigger img { border-radius: 8px; }

@media (max-width: 1200px) {
	.signum-front-lots .signum-lots-items.signum-lots-view-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
	.signum-lots-items.signum-lots-view-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.signum-front-lots .signum-lots-items.signum-lots-view-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.signum-lots-layout,
	.signum-lot-top,
	.signum-lot-bottom { grid-template-columns: 1fr; }
	.signum-lots-items.signum-lots-view-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.signum-front-lots .signum-lots-items.signum-lots-view-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.signum-lots-filters-bar {
		display: block;
		position: sticky;
		top: var(--signum-header-height, 60px);
		z-index: 40;
		margin: 0 -20px 0.75rem;
		padding: 0.6rem 20px;
		background: var(--signum-bg);
		border-bottom: 1px solid var(--signum-border);
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
	}
	.signum-lots-filters-toggle {
		width: 100%;
		justify-content: space-between;
		gap: 0.75rem;
	}
	.signum-lots-filters-toggle__icon {
		width: 0.55rem;
		height: 0.55rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		flex-shrink: 0;
		margin-top: -0.2rem;
	}
	.signum-lots-layout {
		display: flex;
		flex-direction: column;
	}
	.signum-lots-filters-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 1100;
		background: rgba(0, 0, 0, 0.45);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}
	.signum-lots-page.is-filters-open .signum-lots-filters-backdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.signum-lots-sidebar {
		position: fixed;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -46%);
		z-index: 1101;
		width: min(420px, calc(100vw - 2rem));
		max-height: min(80vh, 640px);
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		border-radius: 12px;
		box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
	}
	.signum-lots-page.is-filters-open .signum-lots-sidebar {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-50%, -50%);
	}
	.signum-lots-filters-modal-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		padding: 0.9rem 1rem;
		border-bottom: 1px solid var(--signum-border);
		flex-shrink: 0;
	}
	.signum-lots-filters-modal-title {
		margin: 0;
		font-size: 1.1rem;
	}
	.signum-lots-filters-close {
		width: 2rem;
		height: 2rem;
		padding: 0;
		border: none;
		border-radius: 6px;
		background: #f0f0f0;
		color: #333;
		font-size: 1.5rem;
		line-height: 1;
		cursor: pointer;
	}
	.signum-lots-filters-close:hover { background: #e4e4e4; }
	.signum-lots-filters-modal-body {
		padding: 1rem;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		flex: 1 1 auto;
		min-height: 0;
	}
	.signum-lots-filters-modal-foot {
		display: block;
		padding: 0.85rem 1rem;
		border-top: 1px solid var(--signum-border);
		flex-shrink: 0;
	}
	.signum-lots-filters-apply { width: 100%; }
	body.signum-lots-filters-modal-open {
		overflow: hidden;
	}
}
@media (max-width: 640px) {
	.signum-lots-items.signum-lots-view-grid { grid-template-columns: 1fr; }
	.signum-front-lots .signum-lots-items.signum-lots-view-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.signum-lots-items.signum-lots-view-list .signum-lot-card-link { grid-template-columns: 1fr; }
	.signum-lot-gallery-thumbs { grid-template-columns: repeat(4, 1fr); }
	.signum-lot-plans-grid { grid-template-columns: 1fr; }
}

/* Подвал сайта */
.signum-site-footer {
	flex-shrink: 0;
	background: #3a3d42;
	color: rgba(255, 255, 255, 0.88);
	margin-top: 3rem;
	padding: 2.25rem 0;
}
.signum-site-footer-inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem 2rem;
	align-items: start;
}
.signum-site-footer-brand {
	font-weight: 700;
	font-size: 1.35rem;
	color: #fff;
	letter-spacing: 0.02em;
}
.signum-site-footer-nav {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.signum-site-footer-nav a,
.signum-site-footer-link-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	color: #fff;
	text-decoration: none;
	font-size: 0.95rem;
	text-align: left;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-family: inherit;
}
.signum-site-footer-nav .fa-solid,
.signum-site-footer-contacts .fa-solid {
	font-size: 0.95em;
	flex-shrink: 0;
	opacity: 0.9;
}
.signum-site-footer-contacts a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}
.signum-link-muted {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}
.signum-site-footer-nav a:hover,
.signum-site-footer-link-btn:hover {
	text-decoration: underline;
	color: #fff;
}
.signum-site-footer-contacts {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 0.95rem;
}
.signum-site-footer-phone,
.signum-site-footer-email {
	color: #fff;
	text-decoration: none;
}
.signum-site-footer-phone:hover,
.signum-site-footer-email:hover {
	text-decoration: underline;
}
@media (min-width: 769px) {
	.signum-site-footer-contacts {
		align-items: flex-end;
		text-align: right;
	}
}
@media (max-width: 768px) {
	.signum-site-footer-inner {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

/* Чипы типов: неактивные приглушены */
.signum-lots-chip:not(.is-active):not(:disabled) {
	opacity: 0.72;
}
.signum-lots-chip.is-active {
	opacity: 1;
}

/* ——— Гостевая завеса: сверху короткая «вспышка» контента, дальше градиент в белый, скролл заблокирован ——— */
body.signum-guest-lock-active {
	overflow: hidden;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overscroll-behavior: none;
	touch-action: none;
}

/* Шапка выше завесы (9500), ниже модалок входа (10000) — лого, меню, бургер остаются кликабельными */
body.signum-guest-lock-active .signum-header {
	z-index: 9600;
	pointer-events: auto;
}

.signum-guest-content-lock {
	position: relative;
}

.signum-guest-lock-veil {
	position: fixed;
	inset: 0;
	z-index: 9500;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
	pointer-events: none;
}

.signum-guest-lock-veil__fog {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: auto;
	cursor: default;
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0) 12%,
		rgba(255, 255, 255, 0.28) 26%,
		rgba(255, 255, 255, 0.62) 42%,
		rgba(255, 255, 255, 0.92) 58%,
		#ffffff 72%
	);
}

.signum-guest-lock-veil__panel {
	position: relative;
	z-index: 1;
	pointer-events: auto;
	max-width: 26rem;
	width: 100%;
	padding: 1.75rem 1.5rem;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 12px 48px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(15, 23, 42, 0.06);
	text-align: center;
}

.signum-guest-lock-veil__title {
	margin: 0 0 1.25rem;
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.45;
	color: #334155;
}

.signum-guest-lock-veil__actions {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	align-items: stretch;
}

@media (min-width: 480px) {
	.signum-guest-lock-veil__actions {
		flex-direction: row;
		justify-content: center;
		flex-wrap: wrap;
	}
	.signum-guest-lock-veil__actions .signum-btn {
		min-width: 10.5rem;
	}
}

/* ——— Главная: партнёрский лендинг для гостей ——— */
body.signum-landing-page {
	background: #fff;
}

.signum-landing {
	width: 100%;
}

.signum-landing-section {
	padding: 4.5rem 0;
}

.signum-landing-section__head {
	max-width: 42rem;
	margin-bottom: 2.5rem;
}

.signum-landing-section__title {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 700;
	line-height: 1.25;
	color: #1a2e1a;
	letter-spacing: -0.02em;
}

.signum-landing-section__title--center {
	text-align: center;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

.signum-landing-section__intro {
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.6;
	color: #3d523d;
}

/* Hero */
.signum-landing-hero {
	position: relative;
	min-height: calc(75vh - 72px);
	min-height: calc(75dvh - 72px);
	display: flex;
	align-items: center;
	padding: 3rem 0 4rem;
	overflow: hidden;
}

.signum-landing-hero__slideshow {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.signum-landing-hero__slide {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	will-change: opacity, transform;
	animation: signum-hero-slide-fade var(--signum-hero-cycle, 32s) ease-in-out infinite;
}

@keyframes signum-hero-slide-fade {
	0% {
		opacity: 0;
		transform: scale(1.12);
	}
	5% {
		opacity: 1;
		transform: scale(1.04);
	}
	20% {
		opacity: 1;
		transform: scale(1);
	}
	25% {
		opacity: 0;
		transform: scale(1.1);
	}
	100% {
		opacity: 0;
		transform: scale(1.12);
	}
}

.signum-landing-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(135deg, rgba(10, 32, 18, 0.94) 0%, rgba(18, 42, 16, 0.88) 45%, rgba(16, 40, 62, 0.84) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.35) 100%),
		radial-gradient(ellipse 80% 60% at 70% 40%, rgba(255, 255, 255, 0.04) 0%, transparent 55%);
	pointer-events: none;
}

.signum-landing-hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: 2.5rem 3rem;
	align-items: center;
	color: #fff;
}

.signum-landing-hero__content {
	max-width: 36rem;
}

.signum-landing-hero__panel {
	justify-self: end;
	width: 100%;
	max-width: 52rem;
}

.signum-landing-hero__panel-slideshow {
	position: relative;
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	box-shadow:
		0 24px 48px rgba(0, 0, 0, 0.35),
		0 0 0 1px rgba(255, 255, 255, 0.12);
}

.signum-landing-hero__panel-slide {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	will-change: opacity, transform;
	animation: signum-hero-slide-fade var(--signum-hero-cycle, 32s) ease-in-out infinite;
}

.signum-landing-hero__badge {
	display: inline-block;
	margin: 0 0 1.25rem;
	padding: 0.35rem 0.9rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 999px;
	backdrop-filter: blur(6px);
}

.signum-landing-hero__title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.signum-landing-hero__lead {
	margin: 0 0 2rem;
	font-size: clamp(1rem, 1.8vw, 1.2rem);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.9);
	max-width: 40rem;
}

.signum-landing-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
}

.signum-landing-btn-lg {
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 8px;
}

.signum-landing-btn-outline {
	background: transparent;
	color: #fff;
	border: 2px solid rgba(255, 255, 255, 0.85);
}

.signum-landing-btn-outline:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border-color: #fff;
}

/* Access grid */
.signum-landing-access {
	background: #f8faf8;
}

.signum-landing-access__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.signum-landing-card {
	background: #fff;
	border-radius: 14px;
	padding: 1.5rem 1.35rem;
	box-shadow: 0 1px 3px rgba(26, 46, 26, 0.06), 0 4px 20px rgba(26, 46, 26, 0.04);
	border: 1px solid rgba(26, 58, 22, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.signum-landing-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(26, 46, 26, 0.1);
}

.signum-landing-card__icon {
	width: 48px;
	height: 48px;
	margin-bottom: 1rem;
	border-radius: 12px;
	background-color: #d0e4cc;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 26px 26px;
}

.signum-landing-card__icon--settlements {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%231a3d18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V7l8-4v18M19 21V11l-6-4'/%3E%3C/svg%3E");
}

.signum-landing-card__icon--lots {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%231a3d18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7'/%3E%3Crect x='14' y='3' width='7' height='7'/%3E%3Crect x='3' y='14' width='7' height='7'/%3E%3Crect x='14' y='14' width='7' height='7'/%3E%3C/svg%3E");
}

.signum-landing-card__icon--presentations {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%231a3d18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='8' y1='13' x2='16' y2='13'/%3E%3Cline x1='8' y1='17' x2='16' y2='17'/%3E%3C/svg%3E");
}

.signum-landing-card__icon--plans {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%231a3d18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E");
}

.signum-landing-card__icon--promo {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%231a3d18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E");
}

.signum-landing-card__icon--cabinet {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%231a3d18' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.signum-landing-card__title {
	margin: 0 0 0.4rem;
	font-size: 1.0625rem;
	font-weight: 600;
	color: #1a2e1a;
}

.signum-landing-card__text {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: #5a6f5a;
}

/* Benefits */
.signum-landing-benefits {
	position: relative;
	padding-top: 0;
	overflow: hidden;
}

.signum-landing-benefits__visual {
	height: 320px;
	background:
		linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, #fff 100%),
		url("../signum-theme/assets/images/materials.jpg") center / cover no-repeat;
}

.signum-landing-benefits .container {
	padding-top: 3rem;
	padding-bottom: 4.5rem;
}

.signum-landing-benefits__list {
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 2.5rem;
	max-width: 100%;
	width: 100%;
}

.signum-landing-benefits__item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 1rem;
	line-height: 1.5;
	color: #2d3f2d;
}

.signum-landing-benefits__check {
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	margin-top: 0.1rem;
	border-radius: 50%;
	background: var(--signum-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* Steps */
.signum-landing-steps {
	background: linear-gradient(180deg, #f0f5ef 0%, #fff 100%);
}

.signum-landing-steps__list {
	list-style: none;
	margin: 2.5rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0.5rem;
	counter-reset: none;
}

.signum-landing-steps__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.75rem;
	position: relative;
}

.signum-landing-steps__item:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 20px;
	left: calc(50% + 20px);
	width: calc(100% - 2.5rem);
	height: 2px;
	background: linear-gradient(90deg, var(--signum-primary) 0%, rgba(26, 58, 22, 0.25) 100%);
	z-index: 0;
}

.signum-landing-steps__num {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--signum-primary);
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 700;
	box-shadow: 0 2px 8px rgba(26, 58, 22, 0.35);
}

.signum-landing-steps__text {
	font-size: 0.8125rem;
	line-height: 1.4;
	color: #3d4f3d;
	font-weight: 500;
}

/* Cabinet */
.signum-landing-cabinet {
	background: #fff;
}

.signum-landing-cabinet__grid {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 3rem;
	align-items: center;
}

.signum-landing-cabinet__list {
	margin: 0 0 1.75rem;
	padding: 0;
	list-style: none;
}

.signum-landing-cabinet__list li {
	position: relative;
	padding: 0.5rem 0 0.5rem 1.75rem;
	font-size: 1rem;
	line-height: 1.45;
	color: #3d4f3d;
}

.signum-landing-cabinet__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.85rem;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--signum-primary);
}

.signum-landing-cabinet__mock {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(26, 46, 26, 0.15);
	border: 1px solid rgba(0, 0, 0, 0.06);
	background: linear-gradient(160deg, #e8eef5 0%, #d0dce8 100%);
	padding: 1rem;
}

.signum-landing-cabinet__mock-ui {
	width: 100%;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

.signum-landing-cabinet__mock-bar {
	display: flex;
	gap: 6px;
	padding: 10px 12px;
	background: #f1f3f5;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.signum-landing-cabinet__mock-bar span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #dee2e6;
}

.signum-landing-cabinet__mock-bar span:first-child { background: #ff6b6b; }
.signum-landing-cabinet__mock-bar span:nth-child(2) { background: #fcc419; }
.signum-landing-cabinet__mock-bar span:nth-child(3) { background: #37b24d; }

.signum-landing-cabinet__mock-stage {
	--signum-mock-design-width: 1400px;
	--signum-mock-scale: 0.35;
	position: relative;
	height: 420px;
	overflow: hidden;
	background: #3a3d42;
	container-type: inline-size;
	container-name: signum-mock;
}

@container signum-mock (min-width: 0) {
	.signum-landing-cabinet__mock-stage {
		--signum-mock-scale: calc(100cqw / var(--signum-mock-design-width));
	}
}

.signum-landing-cabinet__mock-preview {
	position: absolute;
	inset: 0;
	max-height: none;
	overflow: hidden;
}

.signum-landing-cabinet__mock-scale {
	transform: scale(var(--signum-mock-scale));
	transform-origin: top left;
	width: calc(100% / var(--signum-mock-scale));
	will-change: transform;
}

.signum-landing-cabinet__mock-preview-inner {
	max-width: none;
	width: 100%;
	padding: 0.5rem 20px 2rem;
	box-sizing: border-box;
}

.signum-landing-cabinet__mock-preview .signum-section-head .signum-section-title,
.signum-landing-cabinet__mock-preview .signum-news-item-title {
	color: #ccc;
}

.signum-landing-cabinet__mock-gradient {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		rgba(58, 61, 66, 0.88) 0%,
		rgba(58, 61, 66, 0.88) 22%,
		rgba(58, 61, 66, 0.88) 52%,
		rgba(58, 61, 66, 0.95) 78%,
		#3a3d42 100%
	);
}

.signum-landing-cabinet__mock-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1.25rem;
	text-align: center;
	pointer-events: none;
}

.signum-landing-cabinet__mock-overlay .signum-landing-cta__btn {
	pointer-events: auto;
}

.signum-landing-site-preview {
	pointer-events: none;
	user-select: none;
	background: var(--signum-bg);
}

.signum-landing-site-preview a {
	cursor: default;
}

.signum-landing-site-preview .signum-front-grid {
	margin-top: 1.25rem;
}

.signum-landing-site-preview .signum-front-news .signum-news-list {
	max-height: none;
	overflow: visible;
}

.signum-landing-cta__title--overlay {
	margin: 0;
	max-width: 18rem;
	font-size: clamp(1.1rem, 2.5vw, 1.45rem);
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.signum-landing-cta__btn.signum-btn-primary {
	background: #fff;
	color: var(--signum-primary);
	font-weight: 600;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}

.signum-landing-cta__btn.signum-btn-primary:hover {
	background: #e8f2e6;
	color: var(--signum-primary-hover);
}

body.signum-landing-page .signum-site-footer {
	margin-top: 0;
}

@media (max-width: 1100px) {
	.signum-landing-access__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.signum-landing-steps__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		row-gap: 2rem;
	}
	.signum-landing-steps__item:nth-child(4)::after {
		display: none;
	}
	.signum-landing-cabinet__grid {
		grid-template-columns: 1fr;
	}
	.signum-landing-cabinet__mock-stage {
		height: 360px;
	}
}

@media (max-width: 768px) {
	.signum-landing-section {
		padding: 3rem 0;
	}
	.signum-landing-hero {
		min-height: auto;
		padding: 2.5rem 0 3rem;
	}
	.signum-landing-hero__inner {
		grid-template-columns: 1fr;
	}
	.signum-landing-hero__panel {
		display: none;
	}
	.signum-landing-access__grid {
		grid-template-columns: 1fr;
	}
	.signum-landing-benefits__list {
		grid-template-columns: 1fr;
	}
	.signum-landing-steps__list {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}
	.signum-landing-steps__item {
		flex-direction: row;
		text-align: left;
		align-items: flex-start;
	}
	.signum-landing-steps__item::after {
		display: none;
	}
	.signum-landing-steps__text {
		font-size: 0.9375rem;
		padding-top: 0.35rem;
	}
	.signum-landing-hero__actions {
		flex-direction: column;
	}
	.signum-landing-hero__actions .signum-btn {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 480px) {
	.signum-landing-benefits__visual {
		height: 160px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.signum-landing-hero__slide,
	.signum-landing-hero__panel-slide {
		animation: none;
		opacity: 0;
	}
	.signum-landing-hero__slide:first-child,
	.signum-landing-hero__panel-slide:first-child {
		opacity: 1;
		transform: none;
	}
}
