/* RTEX Sections — подвал страниц услуг по макету Contact (1440×602 на ПК, 375×593 на мобилке). 1 --u = 1px макета.
 * Тот же подвал, что в плагине RTEX Contact (блок «RTEX Footer»), свой префикс .rxsf — без пересечений классов. */

.rxsf {
	--rxsf-accent: #FFA31A;
	--rxsf-text: #E4E3D8;
	--rxsf-line: #E6AB74;
	--rxsf-font: 'Orbitron', sans-serif;
	--rxsf-based: var(--rxsf-accent);

	container: rxsf / inline-size;
	position: relative;
	display: block;
	overflow: hidden;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	font-family: var(--rxsf-font);
	color: var(--rxsf-text);
	background: #000; /* сверху фон растворяется в чёрный — как низ секции DETAILS */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	isolation: isolate;
}
/* в сетке контейнера WoodMart — на всю строку (ширину экрана даёт .rx-bleed из pages.css) */
body.rx-single .rxsf { grid-column: 1 / -1; }
.rxsf *,
.rxsf *::before,
.rxsf *::after { box-sizing: border-box; }

/* день */
html.theme-day .rxsf,
html:not(.theme-day):not(.theme-night) .rxsf--fb-day { --rxsf-based: #916044; }

html.theme-day .rxsf .rxsf-clip--night,
html.theme-night .rxsf .rxsf-clip--day,
html:not(.theme-day):not(.theme-night) .rxsf--fb-day .rxsf-clip--night,
html:not(.theme-day):not(.theme-night) .rxsf--fb-night .rxsf-clip--day { display: none; }

/* ---------- фон: низ кадра макета (свечения, тень под картой) ---------- */
.rxsf-foot,
.rxsf-bg { --u: max(.75px, min(100cqw / 1440, 1px)); }

.rxsf-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	/* сверху мягко из чёрного — стык с последней секцией страницы */
	-webkit-mask-image: linear-gradient(transparent, #000 calc(80 * var(--u)));
	mask-image: linear-gradient(transparent, #000 calc(80 * var(--u)));
}
.rxsf-clip { position: absolute; inset: 0; }
.rxsf-ph {
	position: absolute;
	top: 0;
	right: 0;
	width: calc(1440 * var(--u));
	aspect-ratio: 1440 / 602;
}
.rxsf-ph picture { display: contents; }
.rxsf .rxsf-img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	object-position: right top;
	border-radius: 0;
}
/* шире 1440: левый край кадра растянут до края экрана */
.rxsf-ext {
	position: absolute;
	top: 0;
	left: 0;
	width: max(0px, calc(100% - 1440 * var(--u) + 2px));
	height: calc(602 * var(--u));
	background: var(--rxsf-ext, none) 0 0 / 288000% 100% no-repeat;
}
.rxsf-clip--day .rxsf-ext { --rxsf-ext: url(img/f/bg-day.webp); }
.rxsf-clip--night .rxsf-ext { --rxsf-ext: url(img/f/bg-night.webp); }

.rxsf .rxsf-f {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--rxsf-font);
	font-style: normal;
	text-transform: none;
	text-align: left;
	text-shadow: none;
	text-decoration: none;
	word-spacing: normal;
	background: none;
}

/* ---------- подвал: координаты — из макета (верх подвала = 1030 на ПК, 1170 на мобилке) ---------- */
.rxsf-foot {
	position: relative;
	z-index: 1;
	display: block;
	width: calc(1440 * var(--u));
	max-width: 100%;
	height: calc(602 * var(--u));
	margin: 0 auto;
	padding: 0;
	background: none;
}
.rxsf-foot > * { position: absolute; }
.rxsf .rxsf-f {
	white-space: nowrap;
	line-height: 1.254;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--rxsf-text);
}
.rxsf a.rxsf-f:hover,
.rxsf a.rxsf-f:focus-visible { color: var(--rxsf-accent); }

.rxsf-map {
	left: calc(364 * var(--u));
	top: calc(-47.5 * var(--u));
	width: calc(802.5 * var(--u));
	height: calc(602 * var(--u));
	pointer-events: none;
}
.rxsf-map img { display: block; width: 100%; height: 100%; max-width: none; margin: 0; }
.rxsf-pin {
	left: calc(541.47 * var(--u));
	top: calc(233 * var(--u));
	width: calc(24 * var(--u));
	height: calc(24 * var(--u));
	background: url(img/f/pin.webp) center / 100% 100% no-repeat;
	opacity: .4;
	pointer-events: none;
}

.rxsf-based__line {
	left: calc(69.75 * var(--u));
	top: calc(138.75 * var(--u));
	width: calc(96 * var(--u));
	height: 1px;
	background: var(--rxsf-based);
	opacity: .6;
}
.rxsf .rxsf-based { left: calc(190.03 * var(--u)); top: calc(127.802 * var(--u)); font-size: calc(18 * var(--u)); color: var(--rxsf-based); }
.rxsf .rxsf-city { left: calc(69.71 * var(--u)); top: calc(171.984 * var(--u)); font-size: calc(56 * var(--u)); letter-spacing: calc(56 * var(--u) * .16); }
.rxsf .rxsf-note { left: calc(69.71 * var(--u)); top: calc(260.802 * var(--u)); font-size: calc(18 * var(--u)); font-weight: 500; }

.rxsf-soc {
	left: calc(45.71 * var(--u));
	top: calc(348 * var(--u));
	display: flex;
	gap: calc(16 * var(--u));
}
.rxsf .rxsf-soc__i {
	display: block;
	width: calc(48 * var(--u));
	height: calc(48 * var(--u));
	border-radius: 50%;
	transition: transform .25s ease, filter .25s ease;
}
.rxsf a.rxsf-soc__i:hover { transform: translateY(-2px); filter: brightness(1.15); }
.rxsf .rxsf-ico { display: block; width: 100%; height: 100%; }

.rxsf .rxsf-phone { left: calc(45.71 * var(--u)); top: calc(435.802 * var(--u)); font-size: calc(18 * var(--u)); }

.rxsf-cta__line {
	left: calc(45 * var(--u));
	top: calc(499 * var(--u));
	width: 1px;
	height: calc(56 * var(--u));
	background: var(--rxsf-accent);
}
.rxsf .rxsf-cta {
	left: calc(63.71 * var(--u));
	top: calc(506.856 * var(--u));
	font-size: calc(16 * var(--u));
	line-height: calc(20 * var(--u));
	font-weight: 500;
	letter-spacing: calc(16 * var(--u) * .24);
}
.rxsf .rxsf-cta__btn {
	left: calc(345.75 * var(--u));
	top: calc(503 * var(--u));
	width: calc(48 * var(--u));
	height: calc(48 * var(--u));
	color: var(--rxsf-accent);
	border-radius: 50%;
	transition: background-color .25s ease, box-shadow .25s ease;
}
.rxsf a.rxsf-cta__btn:hover { background: rgba(255, 163, 26, .1); box-shadow: 0 0 18px rgba(255, 163, 26, .25); }

.rxsf .rxsf-privacy { left: calc(1131.71 * var(--u)); top: calc(436.754 * var(--u)); font-size: calc(16 * var(--u)); }
.rxsf .rxsf-terms { left: calc(1283.71 * var(--u)); top: calc(436.754 * var(--u)); font-size: calc(16 * var(--u)); }

.rxsf .rxsf-dev {
	left: calc(1257.71 * var(--u));
	top: calc(472.754 * var(--u));
	display: block;
	width: calc(146.04 * var(--u));
	height: calc(20.064 * var(--u));
	color: var(--rxsf-line);
	text-decoration: none;
}
.rxsf .rxsf-dev .rxsf-dev__t { position: absolute; left: 0; top: 0; font-size: calc(16 * var(--u)); color: inherit; }
.rxsf .rxsf-kh {
	position: absolute;
	left: calc(114.04 * var(--u));
	top: calc(1.496 * var(--u));
	width: calc(32 * var(--u));
	height: calc(16 * var(--u));
}

.rxsf-copy {
	left: calc(985.71 * var(--u));
	top: calc(526.01 * var(--u));
	width: calc(24 * var(--u));
	height: calc(24 * var(--u));
	background: url(img/f/copy.webp) center / 100% 100% no-repeat;
}
.rxsf .rxsf-brand { left: calc(1016.6 * var(--u)); top: calc(524.666 * var(--u)); font-size: calc(24 * var(--u)); font-weight: 600; letter-spacing: calc(24 * var(--u) * .06); }
.rxsf .rxsf-brand.rxsf-brand--logo { left: calc(1015 * var(--u)); top: calc(525 * var(--u)); width: calc(205 * var(--u)); height: calc(28 * var(--u)); color: var(--rxsf-text); }
.rxsf .rxsf-rights.rxsf-rights--logo { left: calc(1219 * var(--u)); top: calc(530 * var(--u)); width: calc(186 * var(--u)); height: calc(26 * var(--u)); color: var(--rxsf-text); }
.rxsf .rxsf-logo { display: block; width: 100%; height: 100%; }
.rxsf .rxsf-logo--m { display: none; }
.rxsf .rxsf-rights { left: calc(1222.6 * var(--u)); top: calc(532.754 * var(--u)); font-size: calc(16 * var(--u)); letter-spacing: calc(16 * var(--u) * .01); }

.rxsf .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---------- мобилка ---------- */
@container rxsf (max-width: 767.98px) {
	.rxsf-foot { --u: min(100cqw / 375, 1.5px); }
	.rxsf-bg { --u: calc(100cqw / 375); }
	.rxsf-ph { left: 0; width: 100%; aspect-ratio: 375 / 593; }
	.rxsf-ext { display: none; }
	.rxsf-foot { width: 100%; height: calc(593 * var(--u)); }
	.rxsf-map { left: calc(12.75 * var(--u)); top: calc(-38.25 * var(--u)); width: calc(343 * var(--u)); height: calc(257 * var(--u)); }
	.rxsf-pin { left: calc(79.3 * var(--u)); top: calc(80.55 * var(--u)); }
	.rxsf-based__line { left: calc(13.5 * var(--u)); top: calc(82.5 * var(--u)); width: calc(56 * var(--u)); background: var(--rxsf-accent); } /* на мобилке днём тоже оранжевый */
	.rxsf .rxsf-based { left: calc(93.64 * var(--u)); top: calc(74.076 * var(--u)); font-size: calc(14 * var(--u)); letter-spacing: calc(14 * var(--u) * .045); color: var(--rxsf-accent); }
	.rxsf .rxsf-city { left: calc(13.5 * var(--u)); top: calc(99.878 * var(--u)); font-size: calc(32 * var(--u)); letter-spacing: calc(32 * var(--u) * .16); }
	.rxsf .rxsf-note { left: calc(13.5 * var(--u)); top: calc(148.076 * var(--u)); font-size: calc(14 * var(--u)); }
	.rxsf-soc { left: calc(13.5 * var(--u)); top: calc(214.25 * var(--u)); }
	.rxsf .rxsf-phone { left: calc(13.5 * var(--u)); top: calc(310.032 * var(--u)); }
	.rxsf-cta__line { left: calc(12.75 * var(--u)); top: calc(385.25 * var(--u)); height: calc(40 * var(--u)); }
	.rxsf .rxsf-cta { left: calc(31.5 * var(--u)); top: calc(386.854 * var(--u)); font-size: calc(14 * var(--u)); line-height: calc(18 * var(--u)); letter-spacing: calc(14 * var(--u) * .24); }
	.rxsf .rxsf-cta__btn { left: auto; right: calc(13.5 * var(--u)); top: calc(381.25 * var(--u)); }
	.rxsf .rxsf-privacy { left: calc(13.5 * var(--u)); top: calc(477.076 * var(--u)); font-size: calc(14 * var(--u)); }
	.rxsf .rxsf-terms { left: auto; right: calc(14.6 * var(--u)); top: calc(477.076 * var(--u)); font-size: calc(14 * var(--u)); }
	.rxsf .rxsf-dev { left: auto; right: calc(13.5 * var(--u)); top: calc(530.098 * var(--u)); width: calc(104 * var(--u)); height: calc(15.048 * var(--u)); }
	.rxsf .rxsf-dev .rxsf-dev__t { font-size: calc(12 * var(--u)); }
	.rxsf .rxsf-kh { left: auto; right: 0; top: calc(1.652 * var(--u)); width: calc(24 * var(--u)); height: calc(12 * var(--u)); }
	.rxsf-copy { left: calc(13.5 * var(--u)); top: calc(520.49 * var(--u)); width: calc(18 * var(--u)); height: calc(18 * var(--u)); background-image: url(img/f/copy-m.webp); }
	.rxsf .rxsf-brand { left: calc(31.5 * var(--u)); top: calc(519.032 * var(--u)); font-size: calc(18 * var(--u)); letter-spacing: calc(18 * var(--u) * .05); }
	.rxsf .rxsf-brand.rxsf-brand--logo { left: calc(30 * var(--u)); top: calc(520 * var(--u)); width: calc(162 * var(--u)); height: calc(20 * var(--u)); }
	.rxsf .rxsf-rights.rxsf-rights--logo { left: calc(12 * var(--u)); top: calc(541 * var(--u)); width: calc(138 * var(--u)); height: calc(16 * var(--u)); }
	.rxsf .rxsf-logo--d { display: none; }
	.rxsf .rxsf-logo--m { display: block; }
	.rxsf .rxsf-rights { left: calc(13.5 * var(--u)); top: calc(540.098 * var(--u)); font-size: calc(12 * var(--u)); }
}
