/* Cleaned Global Custom CSS for r9.by */
/* Custom Extracted CSS for r9.by */

/* Chat Bot & Cookie Banner Styles */
#r9-bot-launcher {
	position: fixed;
	bottom: 25px;
	right: 25px;
	background: linear-gradient(135deg, #278635 0%, #5a9a4e 100%);
	color: #fff;
	padding: 12px 20px;
	border-radius: 50px;
	cursor: pointer;
	z-index: 1000001;
	box-shadow: 0 8px 25px rgba(30, 112, 230, 0.35);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-weight: 600;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease, background 0.3s;
}

#r9-bot-launcher:hover {
	transform: scale(1.05) translateY(-2px);
	box-shadow: 0 12px 30px rgba(30, 112, 230, 0.45);
}

#r9-bot-launcher:active {
	transform: scale(0.98) translateY(0);
}

.r9-bot-launcher-icon-wrapper {
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#r9-bot-window {
	position: fixed;
	bottom: 95px;
	right: 25px;
	width: 380px;
	height: 520px;
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
	z-index: 1000001;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	border: 1px solid rgba(0, 0, 0, 0.08);
	transition: opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.r9-bot-hidden {
	display: none !important;
	visibility: hidden !important;
	opacity: 0;
	pointer-events: none;
	transform: translateY(20px) scale(0.95);
}

.r9-bot-visible {
	display: flex !important;
	visibility: visible !important;
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

#r9-bot-header {
	background: linear-gradient(135deg, #10131a 0%, #aefa94 100%);
	color: white;
	padding: 16px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.r9-bot-title-block {
	display: flex;
	align-items: center;
	gap: 10px;
}

.r9-status-dot {
	width: 9px;
	height: 9px;
	background: #2ecc71;
	border-radius: 50%;
	display: inline-block;
	box-shadow: 0 0 8px #2ecc71;
	animation: r9-pulse 2s infinite;
}

.r9-close-btn {
	background: rgba(255, 255, 255, 0.15);
	border: none;
	color: white;
	font-size: 20px;
	cursor: pointer;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, transform 0.2s;
	line-height: 1;
}

.r9-close-btn:hover {
	background: rgba(255, 255, 255, 0.25);
	transform: rotate(90deg);
}

.r9-reset-btn:hover {
	background: rgba(255, 255, 255, 0.15);
	opacity: 1;
	transform: rotate(-180deg);
}

#r9-bot-messages {
	flex: 1;
	padding: 20px;
	overflow-y: auto;
	background: #f8f9fa;
	display: flex;
	flex-direction: column;
	gap: 14px;
	scroll-behavior: smooth;
}

.r9-msg {
	padding: 12px 16px;
	border-radius: 16px;
	max-width: 85%;
	font-size: 14px;
	line-height: 1.45;
	word-wrap: break-word;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.r9-msg.r9-user {
	background: #364d7f;
	color: white;
	align-self: flex-end;
	border-bottom-right-radius: 4px;
	box-shadow: 0 3px 10px rgba(30, 112, 230, 0.15);
}

.r9-msg.r9-bot {
	background: #ffffff;
	color: #2c3e50;
	align-self: flex-start;
	border-bottom-left-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.04);
}

.r9-typing-indicator {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 4px 6px;
}

.r9-typing-dot {
	width: 6px;
	height: 6px;
	background: #7f8c8d;
	border-radius: 50%;
	animation: r9-bounce 1.4s infinite ease-in-out both;
}

.r9-typing-dot:nth-child(1) {
	animation-delay: -0.32s;
}

.r9-typing-dot:nth-child(2) {
	animation-delay: -0.16s;
}

#r9-bot-input-container {
	display: flex;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
	padding: 12px 15px;
	background: #fff;
	gap: 10px;
	align-items: center;
}

#r9-bot-user-input {
	flex: 1;
	border: 1px solid #cbd5e1;
	padding: 10px 16px;
	border-radius: 24px;
	outline: none;
	font-size: 14px;
	transition: border-color 0.2s, box-shadow 0.2s;
	background: #ffffff !important;
	color: #0f172a !important;
}

#r9-bot-user-input::placeholder {
	color: #64748b !important;
}

#r9-bot-user-input:focus {
	border-color: #1e70e6;
	background: #ffffff !important;
	color: #0f172a !important;
	box-shadow: 0 0 0 3px rgba(30, 112, 230, 0.1);
}

#r9-bot-send-btn {
	background: #1e70e6;
	color: white;
	border: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, transform 0.2s;
	padding: 0;
	flex-shrink: 0;
}

#r9-bot-send-btn:hover {
	background: #0d47a1;
	transform: scale(1.05);
}

#r9-bot-send-btn:active {
	transform: scale(0.95);
}

@media (max-width: 480px) {
	#r9-bot-window {
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;
		border-radius: 0;
		border: none;
	}

	#r9-bot-launcher {
		bottom: 15px;
		right: 15px;
	}
}

@keyframes r9-pulse {
	0% {
		transform: scale(0.95);
		opacity: 0.5;
	}

	50% {
		transform: scale(1.1);
		opacity: 1;
	}

	100% {
		transform: scale(0.95);
		opacity: 0.5;
	}
}

@keyframes r9-bounce {
	0%, 80%, 100% {
		transform: scale(0);
	}

	40% {
		transform: scale(1.0);
	}
}

.r9-cookie-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999999;
	padding: 16px 20px 22px;
	pointer-events: none;
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.35s ease, transform 0.35s ease;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.r9-cookie-banner.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.r9-cookie-card {
	max-width: 1120px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 18px 22px;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-radius: 20px;
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08), 0 18px 48px rgba(15, 23, 42, 0.15);
	border: 1px solid rgba(226, 232, 240, 0.9);
}

.r9-cookie-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(145deg, #fff7d6 0%, #ffe08a 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	line-height: 1;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.r9-cookie-body {
	flex: 1 1 320px;
	min-width: 0;
	text-align: left;
}

.r9-cookie-title {
	margin: 0 0 4px;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.3;
}

.r9-cookie-text {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #64748b;
}

.r9-cookie-text a {
	color: #1e70e6;
	font-weight: 600;
	text-decoration: none;
}

.r9-cookie-text a:hover {
	text-decoration: underline;
}

.r9-cookie-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.r9-cookie-btn {
	border: none;
	border-radius: 10px;
	padding: 10px 20px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.r9-cookie-btn-accept {
	background: #1e70e6;
	color: #fff;
	box-shadow: 0 4px 14px rgba(30, 112, 230, 0.25);
}

.r9-cookie-btn-accept:hover {
	background: #0d47a1;
	transform: translateY(-1px);
}

.r9-cookie-btn-details {
	background: #0e2235;
	color: #334155;
}

.r9-cookie-btn-details:hover {
	background: #144079;
	color: #0f172a;
}

@media (max-width: 820px) {
	.r9-cookie-banner {
		padding: 12px 12px 16px;
	}

	.r9-cookie-card {
		flex-wrap: wrap;
		gap: 14px;
		padding: 16px 16px 18px;
		border-radius: 16px;
	}

	.r9-cookie-icon {
		width: 40px;
		height: 40px;
		font-size: 20px;
	}

	.r9-cookie-body {
		flex: 1 1 calc(100% - 60px);
	}

	.r9-cookie-actions {
		width: 100%;
	}

	.r9-cookie-btn {
		flex: 1;
		text-align: center;
	}
}

@media (max-width: 420px) {
	.r9-cookie-actions {
		flex-direction: column;
	}

	.r9-cookie-btn {
		width: 100%;
	}
}

/* Universal Responsive Tags Container & Pill Link Styling */
.tags-container {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px 12px !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 1200px !important;
	margin: 0 auto 30px auto !important;
	padding: 10px 0 !important;
	box-sizing: border-box !important;
}

.tag-link {
	display: inline-flex !important;
	align-items: center !important;
	font-family: var(--mono, "Space Mono", monospace, sans-serif) !important;
	font-size: 13px !important;
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	color: #cbd5e1 !important;
	padding: 8px 16px !important;
	border-radius: 20px !important;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease, transform 0.2s ease !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

.tag-link:hover, .tag-link:focus {
	border-color: #3b82f6 !important;
	color: #ffffff !important;
	background: #1e293b !important;
	box-shadow: 0 4px 14px rgba(59, 130, 246, 0.25) !important;
	transform: translateY(-1px) !important;
}

.tag-link.category-link {
	border-color: #3b82f6 !important;
	color: #3b82f6 !important;
	font-weight: 600 !important;
}

.tag-link.category-link:hover {
	background: #3b82f6 !important;
	color: #ffffff !important;
}

@media (max-width: 768px) {
	.tags-container {
		gap: 8px 10px !important;
		padding: 5px 10px !important;
	}

	.tag-link {
		font-size: 12px !important;
		padding: 6px 12px !important;
	}
}

/* Responsive CSS Grid for Tag Index Page (6 columns on desktop) */
.tags-grid-wrapper {
	display: grid !important;
	grid-template-columns: repeat(6, 1fr) !important;
	gap: 20px !important;
	width: 100% !important;
	max-width: 1320px !important;
	margin: 0 auto 40px auto !important;
	box-sizing: border-box !important;
}

.tag-grid-card {
	display: flex !important;
	flex-direction: column !important;
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	text-decoration: none !important;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
	height: 100% !important;
}

.tag-grid-card:hover, .tag-grid-card:focus {
	transform: translateY(-5px) !important;
	border-color: #3b82f6 !important;
	box-shadow: 0 10px 25px rgba(59, 130, 246, 0.25) !important;
	text-decoration: none !important;
}

.tag-card-img-box {
	width: 100% !important;
	height: 115px !important;
	overflow: hidden !important;
	background: #0f172a !important;
	position: relative !important;
}

.tag-card-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	transition: transform 0.3s ease !important;
}

.tag-grid-card:hover .tag-card-img {
	transform: scale(1.06) !important;
}

.tag-card-body {
	padding: 12px 10px !important;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-grow: 1 !important;
	background: #161a23 !important;
}

.tag-card-title {
	color: #e2e8f0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	transition: color 0.2s ease !important;
	word-break: break-word !important;
}

.tag-grid-card:hover .tag-card-title {
	color: #3b82f6 !important;
}

/* Adaptive Breakpoints for CSS Grid */
@media (max-width: 1200px) {
	.tags-grid-wrapper {
		grid-template-columns: repeat(4, 1fr) !important;
		gap: 16px !important;
	}
}

@media (max-width: 992px) {
	.tags-grid-wrapper {
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 14px !important;
	}

	.tag-card-img-box {
		height: 105px !important;
	}
}

@media (max-width: 640px) {
	.tags-grid-wrapper {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}

	.tag-card-img-box {
		height: 95px !important;
	}

	.tag-card-title {
		font-size: 13px !important;
	}
}

@media (max-width: 400px) {
	.tags-grid-wrapper {
		grid-template-columns: repeat(1, 1fr) !important;
		gap: 10px !important;
	}
}

/* Extracted Inline Style Classes */

/* PageBlock Builder & Landing Styles */
.logos.logos-mb {
	margin-bottom: 30px;
}

.pricing .plan .sub-text.pricing-sub-text {
	font-size: 13px;
	color: #94a3b8;
	margin-bottom: 12px;
}

.richtext-block-content {
	font-size: 16px;
	line-height: 1.7;
	color: #334155;
}

.stats.stats-reset-padding {
	padding: 0;
	margin-bottom: 30px;
}

.pricing-section-wrap {
	padding: 20px 0 40px 0;
}

.pricing-inner-wrap {
	padding: 0;
	max-width: 100%;
}

/* Service Landing Component Classes */
.eyebrow-center {
	justify-content: center;
}

.btn-calc-cost {
	border: none;
	cursor: pointer;
}

.stats-no-padding {
	padding: 0;
}

.page-text-content-pt {
	padding-top: 30px;
}

.page-blocks-wrapper-card {
	background: var(--panel, #161b26);
	border: 1px solid var(--line, #242d42);
	border-radius: 16px;
	padding: 36px;
	margin-bottom: 40px;
}

.text-formatted-styled {
	color: #e2e8f0;
	font-size: 16px;
	line-height: 1.7;
}

.child-services-section {
	padding: 60px 0;
	background: var(--bg-alt, #0d1017);
	border-bottom: 1px solid var(--line, #1f293d);
}

.child-services-title {
	text-align: center;
	font-size: 32px;
	font-weight: 800;
	color: #fff;
	margin-bottom: 12px;
}

.child-services-lede {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 40px auto;
	color: var(--muted, #94a3b8);
}

.child-services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 24px;
}

.child-service-card {
	background: var(--panel, #161b26);
	border: 1px solid var(--line, #242d42);
	border-radius: 16px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-sizing: border-box;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.child-service-card:hover {
	transform: translateY(-4px);
	border-color: rgba(99, 102, 241, 0.45);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), 0 0 20px rgba(99, 102, 241, 0.12);
}

.child-service-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}

.child-service-icon {
	font-size: 28px;
	line-height: 1;
}

.child-service-tag {
	background: rgba(37, 99, 235, 0.15);
	border: 1px solid rgba(37, 99, 235, 0.3);
	color: #60a5fa;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 20px;
}

.child-service-name {
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 12px;
	line-height: 1.35;
}

.child-service-link,
.child-service-name a {
	color: #ffffff !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
	display: inline;
}

.child-service-link:hover,
.child-service-link:focus,
.child-service-name a:hover,
.child-service-name a:focus {
	color: #818cf8 !important;
	text-decoration: none !important;
}

.child-service-desc {
	font-size: 14.5px;
	color: var(--muted, #94a3b8);
	line-height: 1.6;
	margin-bottom: 20px;
}

.child-service-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--accent, #3b82f6) !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	width: 100% !important;
	text-align: center !important;
	box-sizing: border-box !important;
	border: none !important;
	transition: background 0.2s ease, transform 0.2s ease !important;
}

.child-service-btn:hover,
.child-service-btn:focus {
	background: #2563eb !important;
	color: #ffffff !important;
	text-decoration: none !important;
	transform: translateY(-1px) !important;
}

/* Строгий запрет подчеркивания ссылок для всех карточек и связанных блоков */
.child-services-catalog a,
.child-services-catalog a:hover,
.child-services-catalog a:focus,
.child-service-card a,
.child-service-card a:hover,
.child-service-card a:focus,
.child-service-link,
.child-service-link:hover,
.child-service-link:focus,
.child-service-btn,
.child-service-btn:hover,
.child-service-btn:focus,
.category-articles-section a,
.category-articles-section a:hover,
.category-articles-section a:focus,
.related-materials-section a,
.related-materials-section a:hover,
.related-materials-section a:focus {
	text-decoration: none !important;
}

.eyebrow-mb-12 {
	margin-bottom: 12px;
}

/* Category & Product View Classes */
.w3ls_w3l_banner_nav_right_grid1 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.product-banner-grid {
	display: grid;
	grid-template-columns: 60% 1fr;
}

/* Chat Bot & Footer & Layout Classes */
.r9-bot-assistant-title {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.r9-bot-consultant-subtitle {
	font-size: 11px;
	opacity: 0.85;
}

.r9-bot-header-controls {
	display: flex;
	align-items: center;
	gap: 8px;
}

.r9-reset-btn {
	background: none;
	border: none;
	color: white;
	font-size: 18px;
	cursor: pointer;
	opacity: 0.85;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	transition: background 0.2s, transform 0.2s;
	line-height: 1;
}

.r9-bot-privacy-notice {
	font-size: 10px;
	color: #777;
	text-align: center;
	padding: 5px 15px 8px 15px;
	background: #fff;
	border-top: 1px solid #f0f0f0;
	line-height: 1.3;
}

.r9-bot-privacy-link {
	color: #1e70e6;
	text-decoration: underline;
}

.r9-forget-link {
	color: #c0392b;
	text-decoration: underline;
	cursor: pointer;
	margin-left: 8px;
	font-weight: 600;
}

.footer-phone-link {
	color: inherit;
	text-decoration: none;
}

.noscript-pixel {
	display: none;
}

.noscript-metrika {
	position: absolute;
	left: -9999px;
}

.static-page-dark-wrap-padded {
	padding-top: 120px;
	min-height: 80vh;
}

.site-error-centered {
	text-align: center;
}

.hero-fallback-styled {
	padding: 40px 0;
	text-align: center;
}

.login-form-help {
	color: #999;
	margin: 1em 0;
}

/* Thanks Page Classes */
.thanks-page-container {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	padding: 20px;
	font-family: 'Ubuntu', 'Segoe UI', sans-serif;
	color: #fff;
	text-align: center;
}

.thanks-card {
	background: #0f2332;
	border: 4px solid #21d3a6;
	border-radius: 4px;
	padding: 40px 30px;
	max-width: 600px;
	width: 100%;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
	position: relative;
	overflow: hidden;
}

.thanks-success-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	border: 4px solid #21d3a6;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 25px;
	font-size: 40px;
	color: #21d3a6;
	animation: pulse-border 2s infinite;
}

.thanks-title {
	font-size: 2.2rem;
	color: #21d3a6;
	margin-bottom: 15px;
	font-weight: 700;
	line-height: 1.2;
}

.thanks-text {
	font-size: 1.1rem;
	color: #94a3b8;
	margin-bottom: 30px;
	line-height: 1.6;
}

.thanks-redirect-info {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	background: rgba(33, 211, 166, 0.1);
	padding: 12px 20px;
	border-radius: 4px;
	margin-bottom: 25px;
}

.thanks-spinner {
	width: 20px;
	height: 20px;
	border: 3px solid rgba(255, 255, 255, 0.1);
	border-left-color: #21d3a6;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

.thanks-countdown-text {
	font-size: 0.95rem;
	color: #e2e8f0;
}

.thanks-countdown-sec {
	color: #21d3a6;
	font-size: 1.1rem;
}

.thanks-btn-back {
	display: inline-block;
	padding: 12px 24px;
	background: #21d3a6;
	color: #0f2332;
	text-decoration: none;
	font-weight: bold;
	border-radius: 4px;
	transition: all 0.3s ease;
	text-transform: uppercase;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
}

/* Tag Pages Classes */
.tag-index-wrap {
	padding: 40px 15px;
}

.tag-index-header {
	text-align: center;
	margin-bottom: 40px;
}

.tag-index-title {
	font-size: 36px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 12px;
}

.tag-index-desc {
	color: #94a3b8;
	font-size: 16px;
	margin: 0 auto;
	max-width: 600px;
}

.tag-view-wrap {
	padding: 40px 15px;
}

.tag-header {
	text-align: center;
	margin-bottom: 30px;
}

.tag-header-title {
	font-size: 36px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 16px;
}

.tag-header-promo {
	color: #94a3b8;
	font-size: 16px;
	max-width: 800px;
	margin: 0 auto;
}

.tag-hero-banner {
	text-align: center;
	margin-bottom: 35px;
}

.tag-hero-img {
	max-width: 100%;
	max-height: 480px;
	width: auto;
	height: auto;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
	display: inline-block;
}

.tag-description {
	color: #e2e8f0;
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 40px;
}

.tag-section-wrapper {
	margin-top: 40px;
}

.tag-section-title {
	color: #ffffff;
	font-size: 24px;
	margin-bottom: 20px;
	border-left: 4px solid #3b82f6;
	padding-left: 12px;
}

.tag-back-box {
	margin-top: 40px;
	text-align: center;
}

.tag-back-link {
	display: inline-block;
	padding: 10px 24px;
	font-size: 15px;
}

/* Process Grid Component */
.process-grid-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin-top: 20px;
}

.process-step-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 24px;
	position: relative;
}

.process-step-idx {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #2563eb;
	color: #ffffff;
	font-weight: 700;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.process-step-card h4 {
	font-size: 18px;
	font-weight: 600;
	color: #0f172a;
	margin-bottom: 8px;
}

.process-step-card p {
	font-size: 14px;
	color: #475569;
	margin-bottom: 0;
	line-height: 1.5;
}

/* Category Filter Tabs */
.seo-category-tabs-wrap {
	margin-bottom: 24px;
	overflow-x: auto;
	padding-bottom: 4px;
}

.seo-category-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.seo-cat-tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: #161a23;
	border: 1px solid #262c38;
	border-radius: 20px;
	color: #94a3b8;
	font-size: 13.5px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.seo-cat-tab:hover {
	background: #1c222e;
	color: #ffffff;
	border-color: #3b4456;
}

.seo-cat-tab.active {
	background: #2563eb;
	color: #ffffff;
	border-color: #2563eb;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.seo-cat-tab .tab-badge {
	display: inline-block;
	padding: 1px 7px;
	font-size: 11px;
	font-weight: 700;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 10px;
	color: inherit;
}

.seo-cat-tab .tab-score-badge {
	display: inline-block;
	padding: 1px 7px;
	font-size: 11px;
	font-weight: 700;
	border-radius: 10px;
	color: #ffffff;
}

.seo-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, .4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: seo-spin .6s linear infinite;
	vertical-align: middle;
	margin-right: 6px;
}

@keyframes seo-spin {
	to {
		transform: rotate(360deg);
	}
}


/* SEO Analyzer Item Body & Description Fix */
.seo-check-item .seo-check-body {
	display: block !important;
	flex: 1 !important;
	min-width: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.seo-check-item .seo-check-row {
	display: flex;
	gap: 8px;
	align-items: baseline;
}
.seo-check-item .seo-check-label {
	flex: 0 0 35%;
	font-weight: 600;
	color: #ffffff;
	font-size: 14px;
}
.seo-check-item .seo-check-value {
	flex: 1;
	color: #cbd5e1;
	font-size: 14px;
	word-break: break-word;
}
.seo-check-item .seo-check-description {
	font-size: 13px;
	color: #94a3b8;
	line-height: 1.5;
}
.seo-check-item[data-has-desc="0"] {
	cursor: default;
}
.seo-check-card .seo-check-body {
	display: none;
	padding: 16px 18px 18px;
	background: #10141c;
	border-top: 1px solid #222834;
	font-size: 13.5px;
	line-height: 1.6;
}
.seo-check-card.open .seo-check-body {
	display: block;
}

@media (max-width: 767px) {
	.seo-stats-row {
		grid-template-columns: repeat(2, 1fr);
	}

	.seo-check-row {
		flex-direction: column;
		gap: 2px;
	}

	.seo-check-label {
		flex: none;
	}

	.seo-summary-bar {
		gap: 14px;
	}
}

@media (max-width: 480px) {
	.seo-stats-row {
		grid-template-columns: 1fr 1fr;
	}

	.seo-score-circle {
		width: 110px;
		height: 110px;
	}

	.seo-score-circle-inner {
		width: 84px;
		height: 84px;
	}

	.seo-score-value {
		font-size: 28px;
	}
}

/* PageBlock Widget Components */
.page-blocks-wrapper {
	margin: 35px 0;
	font-family: inherit;
}

.page-block-section {
	margin-bottom: 45px;
	position: relative;
}

.page-block-header {
	margin-bottom: 25px;
	text-align: center;
}

.page-block-header h2 {
	font-size: 28px;
	font-weight: 700;
	color: #ffffff !important;
	margin-bottom: 8px;
	line-height: 1.3;
}

.page-block-header p.subtitle {
	font-size: 16px;
	color: #94a3b8 !important;
	margin-bottom: 0;
}

.features-grid-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.feature-card {
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	border-radius: 12px;
	padding: 24px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	position: relative;
	overflow: hidden;
}

.feature-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px -6px rgba(0, 0, 0, 0.35);
	border-color: #3b82f6 !important;
}

.feature-card-icon {
	width: 48px !important;
	height: 48px !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, rgba(37, 99, 235, 0.2) 0%, rgba(59, 130, 246, 0.1) 100%) !important;
	border: 1px solid rgba(59, 130, 246, 0.3) !important;
	color: #3b82f6 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 18px !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.15) !important;
}

.feature-card-icon svg {
	width: 24px !important;
	height: 24px !important;
	stroke: #ffffff !important;
	fill: none !important;
	stroke-width: 2px !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

.feature-card .feature-card-icon {
	background: #ffb454 !important;

}

.feature-card h3 {
	font-size: 18px;
	font-weight: 600;
	color: #ffffff !important;
	margin-bottom: 8px;
}

.feature-card p {
	font-size: 14px;
	color: #94a3b8 !important;
	margin-bottom: 0;
	line-height: 1.5;
}

.icon-list-box {
	background: #161a23 !important;
	border-radius: 14px;
	padding: 30px;
	border: 1px solid #262c38 !important;
}

.icon-list-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 16px;
}

.icon-list-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	color: #e2e8f0 !important;
	line-height: 1.5;
}

.icon-list-item .check-badge {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #10b981 !important;
	color: #ffffff !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	margin-top: 2px;
}

.comparison-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}

.comparison-card {
	background: #161a23 !important;
	border-radius: 14px;
	border: 1px solid #262c38 !important;
	padding: 28px;
}

.comparison-card.highlight {
	border-color: #3b82f6 !important;
	box-shadow: 0 8px 20px rgba(37, 99, 235, 0.15);
	background: #1c212c !important;
}

.comparison-card h3 {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 18px;
	color: #ffffff !important;
	border-bottom: 2px solid #262c38 !important;
	padding-bottom: 10px;
}

.comparison-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.comparison-list li {
	margin-bottom: 10px;
	padding-left: 24px;
	position: relative;
	font-size: 14px;
	color: #cbd5e1 !important;
}

.comparison-list li.adv::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #10b981 !important;
	font-weight: bold;
}

.comparison-list li.disadv::before {
	content: "✕";
	position: absolute;
	left: 0;
	color: #ef4444 !important;
	font-weight: bold;
}

.cta-banner-box {
	background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
	color: #ffffff !important;
	border-radius: 16px;
	padding: 40px 30px;
	text-align: center;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.3);
	border: 1px solid #334155 !important;
}

.cta-banner-box h2 {
	font-size: 28px;
	font-weight: 700;
	color: #ffffff !important;
	margin-bottom: 12px;
}

.cta-banner-box p {
	font-size: 16px;
	color: #94a3b8 !important;
	max-width: 650px;
	margin: 0 auto 24px auto;
	line-height: 1.6;
}

.cta-btn {
	display: inline-block;
	background: #0f172a !important;
	background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
	color: #ffffff !important;
	padding: 14px 32px;
	border-radius: 8px;
	font-weight: 700 !important;
	font-size: 16px;
	text-decoration: none;
	transition: all 0.25s ease;
	border: 2px solid #ffb454 !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
	cursor: pointer;
}

.cta-btn:hover,
.cta-btn:focus {
	background: #1e293b !important;
	color: #ffffff !important;
	border-color: #ffa024 !important;
	text-decoration: none !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 180, 84, 0.3) !important;
}

/* Высокая контрастность подписей полей статической формы и слайдер-капчи */
.form-row-custom label,
.form-row-custom label .control-label,
.form-row-custom .control-label,
.control-label[for^="cfsp-"],
.control-label[for^="cfs-"] {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	display: block !important;
}

/* На темных страницах и блоках услуг (razrabotka-sajta-page, cta-box-large, static-page-dark-wrap) */
.razrabotka-sajta-page .form-row-custom label,
.razrabotka-sajta-page .form-row-custom label .control-label,
.razrabotka-sajta-page .form-row-custom .control-label,
.cta-box-large .form-row-custom label,
.cta-box-large .form-row-custom label .control-label,
.cta-box-large .form-row-custom .control-label,
.static-page-dark-wrap .form-row-custom label,
.static-page-dark-wrap .form-row-custom .control-label {
	color: #ffffff !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

/* Контрастность слайдер-капчи на темных фонах */
.razrabotka-sajta-page .slider-captcha-container,
.cta-box-large .slider-captcha-container,
.static-page-dark-wrap .slider-captcha-container {
	background: #1e293b !important;
	border: 1px solid #475569 !important;
}

.razrabotka-sajta-page .slider-captcha-text,
.cta-box-large .slider-captcha-text,
.static-page-dark-wrap .slider-captcha-text {
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 13.5px !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

.faq-accordion-box {
	background: #161a23 !important;
	border-radius: 12px;
	border: 1px solid #262c38 !important;
	overflow: hidden;
}

.faq-accordion-item {
	border-bottom: 1px solid #262c38 !important;
}

.faq-accordion-item:last-child {
	border-bottom: none;
}

.faq-accordion-title {
	padding: 18px 24px;
	font-size: 16px;
	font-weight: 600;
	color: #ffffff !important;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	user-select: none;
	background: #161a23 !important;
}

.faq-accordion-title:hover {
	background: #1c212c !important;
}

.faq-accordion-content {
	padding: 0 24px 18px 24px;
	font-size: 15px;
	color: #94a3b8 !important;
	line-height: 1.6;
	display: none;
	background: #161a23 !important;
}

.faq-accordion-item.active .faq-accordion-content {
	display: block;
}

.faq-accordion-item.active .faq-icon {
	transform: rotate(180deg);
}

.faq-icon {
	transition: transform 0.2s ease;
	color: #94a3b8 !important;
}

.page-block-richtext {
	color: #e2e8f0 !important;
	line-height: 1.6;
	font-size: 16px;
}

.page-block-richtext p, .page-block-richtext div, .page-block-richtext span, .page-block-richtext li {
	color: #e2e8f0 !important;
}

.page-block-richtext h1, .page-block-richtext h2, .page-block-richtext h3, .page-block-richtext h4 {
	color: #ffffff !important;
}

@media (max-width: 768px) {
	.logo-mobile {
		display: none;
	}

	.r9-bot-text {
		display: none;
	}

	.block.footer-phone {
		bottom: 17px;
		position: fixed;
		margin: auto;
		justify-self: center;
		left: 0;
		z-index: 10;
	}

	.button.callback-phone {
		font-size: 17px;
		padding: 12px 14px;
		font-weight: 700;
		margin-right: 20px;
		background-color: #ffb454 !important;
		border-radius: 8px;
	}
}

@media (min-width: 769px) {
	.logo-mobile {
		color: #ffffff !important;
	}

	.block.footer-phone {
		display: none;
	}
}

.header-phone-link {
	font-size: larger;
	font-weight: 900;
}

.why-us-grid, .benefits-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 24px;
}

.why-us-card, .benefit-card {
	background: var(--panel, #161b26);
	border: 1px solid var(--line, #242d42);
	border-radius: 16px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform 0.2s, border-color 0.2s;
}

.services-hint-sub {
	font-size: 13px !important;
	color: #94a3b8 !important;
	margin-top: -8px !important;
	margin-bottom: 12px !important;
	font-weight: 500 !important;
}

/* Distinct & High-Contrast Service Selection Pills & Buttons */
.service-pill,
.service-multiselect-pill {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 18px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	border-radius: 30px !important;
	cursor: pointer !important;
	user-select: none !important;
	transition: all 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
	border: 2px solid #3b82f6 !important;
	background: #1e293b !important;
	color: #ffffff !important;
	margin: 4px !important;
	line-height: 1.3 !important;
}

.site-contact-form .service-pill,
#modal-order .service-pill,
.envelope-inner .service-pill {
	background: #ffffff;
	color: #1e293b;
	border: 2px solid #cbd5e1;
}

.service-pill:hover,
.service-multiselect-pill:hover {
	border-color: #ffa012 !important;
	color: #ffffff !important;
	background: #334155 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 14px rgba(255, 180, 84, 0.3) !important;
}

/* ALL Selected Active States - High Contrast #ffb454 Highlight with Checkmark */
.service-pill.active,
.service-multiselect-pill.active,
.service-pill.selected,
.service-multiselect-pill.selected,
#modal-order .service-pill.active,
#modal-order .service-pill.selected,
#modal-order .service-multiselect-pill.active,
#modal-order .service-multiselect-pill.selected,
.site-contact-form .service-pill.active,
.site-contact-form .service-pill.selected,
.site-contact-form .service-multiselect-pill.active,
.site-contact-form .service-multiselect-pill.selected,
.contact-form-modal-inner .service-pill.active,
.contact-form-modal-inner .service-multiselect-pill.active,
.contact-form-modal-inner .service-pill.selected,
.contact-form-modal-inner .service-multiselect-pill.selected,
.contact-form-static-wrapper .service-pill.active,
.contact-form-static-wrapper .service-multiselect-pill.active,
.envelope-inner .service-pill.active,
.envelope-inner .service-multiselect-pill.active,
.razrabotka-sajta-page .service-pill.active,
.razrabotka-sajta-page .service-multiselect-pill.active,
#contact-form-static .service-pill.active,
#contact-form-static-page .service-pill.active,
#contact-form-2 .service-pill.active,
#contact-form .service-pill.active {
	background: #ffb454 !important;
	border-color: #ffa012 !important;
	color: #0f172a !important;
	font-weight: 800 !important;
	box-shadow: 0 6px 20px rgba(255, 180, 84, 0.6), 0 0 0 3px rgba(255, 180, 84, 0.4) !important;
	transform: scale(1.05) translateY(-2px) !important;
}

.service-pill.active::before,
.service-multiselect-pill.active::before,
.service-pill.selected::before,
.service-multiselect-pill.selected::before,
#modal-order .service-pill.active::before,
#modal-order .service-multiselect-pill.active::before,
.site-contact-form .service-pill.active::before,
.contact-form-modal-inner .service-pill.active::before,
.contact-form-modal-inner .service-multiselect-pill.active::before,
.contact-form-static-wrapper .service-pill.active::before,
.envelope-inner .service-pill.active::before,
.razrabotka-sajta-page .service-pill.active::before,
#contact-form-static .service-pill.active::before {
	content: "✓ " !important;
	font-weight: 900 !important;
	margin-right: 6px !important;
	font-size: 16px !important;
	color: #0f172a !important;
}

/* Responsive visibility rules: Desktop = Buttons, Mobile = Select Dropdown */
@media (min-width: 769px) {

	.services-pills-container,
	.services-multiselect-container {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		margin-bottom: 15px !important;
	}

	.services-mobile-select-wrapper,
	.services-mobile-select {
		display: none !important;
	}
}



/* ==========================================================================
   Раздел: Каталог прототипов сайтов (/prototipy-sajtov & /prototipy)
   ========================================================================== */
.r9-prototypes-page {
	padding: 30px 0 70px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: #e2e8f0 !important;
	background-color: transparent !important;
	min-height: 80vh;
}

.r9-prototypes-breadcrumbs {
	font-size: 13.5px;
	color: #94a3b8 !important;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.r9-prototypes-breadcrumbs a {
	color: #94a3b8 !important;
	text-decoration: none;
	transition: color 0.2s ease;
}

.r9-prototypes-breadcrumbs a:hover {
	color: #ffb454 !important;
	text-decoration: underline;
}

.r9-bc-sep {
	color: #475569 !important;
}

.r9-bc-current {
	color: #ffffff !important;
	font-weight: 600;
}

.r9-prototypes-hero {
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	border-radius: 20px;
	padding: 40px 48px;
	margin-bottom: 32px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.r9-hero-pill-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(34, 197, 94, 0.12) !important;
	color: #4ade80 !important;
	border: 1px solid rgba(34, 197, 94, 0.3) !important;
	font-size: 12.5px;
	font-weight: 700;
	padding: 5px 14px;
	border-radius: 30px;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.r9-hero-badge-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 8px #22c55e;
}

.r9-prototypes-h1 {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	line-height: 1.25 !important;
	margin: 0 0 16px !important;
	letter-spacing: -0.5px;
}

.r9-prototypes-hero-sub {
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: #94a3b8 !important;
	max-width: 900px;
	margin: 0 0 28px !important;
}

.r9-hero-metrics-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	padding-top: 24px;
	border-top: 1px solid #262c38 !important;
}

.r9-metric-item {
	display: flex;
	flex-direction: column;
	background: #1c212c !important;
	border: 1px solid #262c38 !important;
	border-radius: 12px;
	padding: 16px 14px;
	text-align: center;
}

.r9-metric-val {
	font-size: 26px !important;
	font-weight: 800 !important;
	color: #ffb454 !important;
	line-height: 1.2 !important;
}

.r9-metric-label {
	font-size: 12.5px !important;
	color: #94a3b8 !important;
	margin-top: 4px !important;
}

/* Навигационные табы категорий/ниш */
.r9-prototypes-tabs-wrapper {
	margin-bottom: 32px;
}

.r9-prototypes-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.r9-tab-btn {
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	color: #cbd5e1 !important;
	padding: 9px 20px;
	border-radius: 30px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.r9-tab-btn:hover {
	border-color: #ffb454 !important;
	color: #ffb454 !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(255, 180, 84, 0.2);
}

.r9-tab-btn.is-active {
	background: #278635 !important;
	color: #ffffff !important;
	border-color: #278635 !important;
	box-shadow: 0 4px 16px rgba(39, 134, 53, 0.4) !important;
}

/* Секция контента и панель счетчика */
.r9-prototypes-content-section {
	margin-bottom: 48px;
}

.r9-prototypes-header-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
	flex-wrap: wrap;
	gap: 12px;
}

.r9-catalog-count-label {
	font-size: 15px !important;
	color: #e2e8f0 !important;
}

.r9-catalog-count-label strong {
	color: #ffb454 !important;
	font-weight: 700;
}

.r9-catalog-tagline {
	font-size: 13.5px !important;
	color: #94a3b8 !important;
}

/* CSS GRID ДЛЯ ТИЗЕРОВ ПРОТОТИПОВ (4 В РЯД НА ДЕСКТОПЕ) */
.r9-prototypes-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

/* Карточка прототипа */
.r9-prototype-card {
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	border-radius: 16px;
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.25s ease;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.r9-prototype-card:hover {
	transform: translateY(-5px);
	border-color: #ffb454 !important;
	box-shadow: 0 16px 36px rgba(255, 180, 84, 0.18);
}

.r9-prototype-card-link {
	padding: 24px;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none !important;
	color: inherit !important;
}

.r9-prototype-card-badge-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.r9-prototype-badge {
	font-size: 11px;
	font-weight: 700;
	border-radius: 6px;
	padding: 4px 10px;
	line-height: 1.2;
}

.r9-badge-cat {
	background: rgba(42, 157, 221, 0.15) !important;
	color: #38bdf8 !important;
	border: 1px solid rgba(42, 157, 221, 0.35) !important;
	max-width: 150px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.r9-badge-status {
	background: rgba(34, 197, 94, 0.15) !important;
	color: #4ade80 !important;
	border: 1px solid rgba(34, 197, 94, 0.35) !important;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	flex-shrink: 0;
}

.r9-status-pulse {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #22c55e;
	box-shadow: 0 0 6px #22c55e;
}

.r9-prototype-card-content {
	flex-grow: 1;
}

.r9-prototype-title {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1.35 !important;
	margin: 0 0 10px !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color 0.2s ease;
}

.r9-prototype-card:hover .r9-prototype-title {
	color: #ffb454 !important;
}

.r9-prototype-desc {
	font-size: 13.5px !important;
	line-height: 1.55 !important;
	color: #94a3b8 !important;
	margin: 0 0 16px !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.r9-prototype-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 20px;
}

.r9-tag-pill {
	font-size: 11px !important;
	background: #1c212c !important;
	color: #cbd5e1 !important;
	border: 1px solid #262c38 !important;
	border-radius: 4px;
	padding: 3px 8px;
	font-weight: 500;
	line-height: 1.2;
}

.r9-prototype-card-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 14px;
	border-top: 1px solid #262c38 !important;
	margin-top: auto;
}

.r9-prototype-action-text {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #ffb454 !important;
	transition: color 0.2s ease;
}

.r9-prototype-action-arrow {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #ffb454 !important;
	transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.r9-prototype-card:hover .r9-prototype-action-arrow {
	transform: translateX(6px);
}

/* Кнопка "Показать еще" */
.r9-prototypes-load-more-wrapper {
	text-align: center;
	margin-top: 40px;
}

.r9-prototypes-load-more-btn {
	background: #278635 !important;
	color: #ffffff !important;
	border: none;
	padding: 15px 36px;
	border-radius: 50px;
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 6px 20px rgba(39, 134, 53, 0.35);
}

.r9-prototypes-load-more-btn:hover {
	background: #22c55e !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(34, 197, 94, 0.45);
}

.r9-prototypes-load-more-btn:active {
	transform: translateY(0);
}

.r9-prototypes-load-more-btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	pointer-events: none;
}

.r9-btn-spinner {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	border-top-color: #ffffff;
	animation: r9-spin 0.7s linear infinite;
}

.r9-prototypes-load-more-btn.is-loading .r9-btn-spinner {
	display: inline-block;
}

.r9-prototypes-load-more-btn.is-loading .r9-btn-text {
	opacity: 0.8;
}

/* Пустое состояние */
.r9-prototypes-empty-state {
	background: #161a23 !important;
	border: 1px dashed #333b4a !important;
	border-radius: 16px;
	padding: 50px 30px;
	text-align: center;
	margin: 20px 0;
}

.r9-empty-icon {
	font-size: 42px;
	margin-bottom: 16px;
}

.r9-prototypes-empty-state h3 {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 10px !important;
}

.r9-prototypes-empty-state p {
	font-size: 15px !important;
	color: #94a3b8 !important;
	max-width: 600px;
	margin: 0 auto 24px !important;
	line-height: 1.55 !important;
}

.r9-empty-cta-btn {
	display: inline-block;
	background: #278635;
	color: #ffffff !important;
	padding: 12px 28px;
	border-radius: 30px;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	transition: background 0.2s ease, transform 0.2s ease;
}

.r9-empty-cta-btn:hover {
	background: #22c55e;
	transform: translateY(-2px);
}

/* CTA Баннер генерации индивидуального прототипа */
.r9-prototypes-cta-banner {
	background: linear-gradient(135deg, #161a23 0%, #1c212c 100%) !important;
	border-radius: 20px;
	padding: 44px 48px;
	color: #ffffff !important;
	border: 1px solid #262c38 !important;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
	margin-top: 50px;
}

.r9-cta-pill {
	display: inline-block;
	background: rgba(39, 134, 53, 0.2);
	color: #4ade80 !important;
	border: 1px solid rgba(74, 222, 128, 0.3);
	font-size: 12px;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 20px;
	margin-bottom: 16px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.r9-cta-title {
	font-size: 28px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 14px !important;
	line-height: 1.3 !important;
}

.r9-cta-desc {
	font-size: 15.5px !important;
	line-height: 1.6 !important;
	color: #94a3b8 !important;
	max-width: 850px;
	margin: 0 0 28px !important;
}

.r9-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.r9-cta-btn-primary {
	background: #278635;
	color: #ffffff !important;
	padding: 14px 30px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 14.5px;
	text-decoration: none !important;
	transition: all 0.2s ease;
	box-shadow: 0 6px 18px rgba(39, 134, 53, 0.35);
}

.r9-cta-btn-primary:hover {
	background: #22c55e;
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(34, 197, 94, 0.45);
}

.r9-cta-btn-secondary {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff !important;
	padding: 14px 28px;
	border-radius: 50px;
	font-weight: 600;
	font-size: 14.5px;
	text-decoration: none !important;
	border: 1px solid #262c38;
	transition: all 0.2s ease;
}

.r9-cta-btn-secondary:hover {
	background: rgba(255, 255, 255, 0.15);
	transform: translateY(-2px);
}

/* АДАПТИВНЫЕ МЕДИА-ЗАПРОСЫ ДЛЯ CSS GRID (MINMAX) */
@media (max-width: 1200px) {
	.r9-prototypes-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}

	.r9-prototypes-hero {
		padding: 32px 32px;
	}

	.r9-hero-metrics-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

@media (max-width: 860px) {
	.r9-prototypes-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.r9-prototypes-h1 {
		font-size: 26px;
	}

	.r9-prototypes-cta-banner {
		padding: 32px 24px;
	}

	.r9-cta-title {
		font-size: 22px;
	}
}

@media (max-width: 560px) {
	.r9-prototypes-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.r9-prototypes-hero {
		padding: 24px 20px;
	}

	.r9-hero-metrics-row {
		grid-template-columns: 1fr 1fr;
		gap: 14px;
	}

	.r9-prototypes-h1 {
		font-size: 22px;
	}

	.r9-cta-actions {
		flex-direction: column;
	}

	.r9-cta-btn-primary, .r9-cta-btn-secondary {
		text-align: center;
		width: 100%;
	}
}

/* ==========================================================================
   Extracted Page & Component Styles (Strict No-Inline-CSS Policy)
   ========================================================================== */

/* Akcii & Discounts Page */
.promo-page-view {
	background-color: #0b1a26;
	color: #e2e8f0;
	min-height: 80vh;
	padding-bottom: 60px;
}

.promo-page-hero {
	background: linear-gradient(135deg, #0b1120 0%, #1e1b4b 50%, #172554 100%);
	color: #ffffff;
	padding: 50px 0 60px 0;
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	text-align: left;
}

.promo-badge-hot {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: linear-gradient(90deg, #ff416c 0%, #ff4b2b 100%);
	color: #ffffff;
	padding: 8px 18px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	box-shadow: 0 4px 15px rgba(255, 65, 108, 0.4);
	margin-bottom: 20px;
}

.promo-title-main {
	font-size: 38px;
	font-weight: 800;
	line-height: 1.25;
	margin-bottom: 16px;
	color: #ffffff !important;
	background: linear-gradient(90deg, #ffffff 0%, #cbd5e1 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.promo-subtitle {
	font-size: 18px;
	color: #94a3b8;
	max-width: 720px;
	margin-bottom: 0;
	line-height: 1.6;
}

.promo-main-card {
	background: #131b2e;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 24px;
	padding: 36px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
	margin-top: 30px;
	margin-bottom: 45px;
	position: relative;
	z-index: 10;
}

.promo-main-row {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: stretch;
}

.promo-main-col-left {
	flex: 1 1 500px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.promo-main-col-right {
	flex: 1 1 380px;
	min-width: 0;
}

.promo-code-box {
	background: linear-gradient(135deg, rgba(99, 102, 241, 0.18) 0%, rgba(168, 85, 247, 0.18) 100%);
	border: 2px dashed #818cf8;
	border-radius: 16px;
	padding: 24px;
	text-align: center;
	margin-bottom: 25px;
}

.promo-code-label {
	font-size: 13px;
	color: #a5b4fc;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	margin-bottom: 10px;
}

.promo-code-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 10px;
}

.promo-code-val {
	font-size: 34px;
	font-weight: 900;
	color: #ffffff;
	letter-spacing: 3px;
	font-family: monospace, sans-serif;
	display: inline-block;
}

.btn-copy-code {
	background: #6366f1;
	color: #ffffff;
	border: none;
	padding: 10px 20px;
	border-radius: 10px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.2s ease;
	font-size: 14px;
}

.btn-copy-code:hover {
	background: #4f46e5;
	transform: translateY(-2px);
}

.promo-disclaimer {
	font-size: 13px;
	color: #94a3b8;
}

.promo-countdown-title {
	font-size: 13px;
	color: #94a3b8;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-align: center;
	text-transform: uppercase;
}

.countdown-container {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 14px;
}

.timer-block {
	background: rgba(15, 23, 42, 0.9);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	padding: 10px 16px;
	min-width: 68px;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.timer-num {
	font-size: 26px;
	font-weight: 800;
	color: #38bdf8;
	display: block;
	line-height: 1.1;
}

.timer-lbl {
	font-size: 11px;
	color: #94a3b8;
	text-transform: uppercase;
	margin-top: 4px;
	display: block;
}

.promo-included-card {
	background: rgba(15, 23, 42, 0.6);
	padding: 24px 28px;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	height: 100%;
}

.promo-included-title {
	font-size: 20px;
	color: #ffffff !important;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 16px;
}

.promo-included-list {
	color: #cbd5e1;
	font-size: 14px;
	line-height: 1.85;
	padding-left: 20px;
	margin: 0;
}

.promo-included-list li {
	margin-bottom: 6px;
}

.promo-included-list strong {
	color: #38bdf8;
}

.promo-features-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	margin-top: 35px;
	padding-top: 25px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.promo-feature-item {
	background: rgba(15, 23, 42, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.08);
	padding: 20px;
	border-radius: 16px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.promo-feature-icon {
	width: 42px;
	height: 42px;
	background: rgba(99, 102, 241, 0.2);
	color: #818cf8;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
}

.promo-feature-text h4 {
	font-size: 16px;
	font-weight: 700;
	color: #ffffff !important;
	margin: 0 0 6px 0;
}

.promo-feature-text p {
	font-size: 13px;
	color: #94a3b8;
	margin: 0;
	line-height: 1.45;
}

.promo-form-wrapper {
	background: #131b2e;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 24px;
	padding: 40px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
	margin-bottom: 50px;
}

.promo-form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.promo-form-col-info {
	flex: 1 1 380px;
	min-width: 0;
}

.promo-form-col-fields {
	flex: 1 1 420px;
	min-width: 0;
}

.promo-form-title {
	font-size: 28px;
	font-weight: 800;
	color: #ffffff !important;
	margin-top: 0;
	margin-bottom: 12px;
}

.promo-form-desc {
	color: #94a3b8;
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 25px;
}

.promo-contact-box {
	background: rgba(15, 23, 42, 0.6);
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 20px;
	margin-bottom: 20px;
}

.promo-contact-label {
	font-weight: 700;
	color: #ffffff !important;
	margin-bottom: 8px;
	font-size: 14px;
}

.promo-contact-phone {
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 4px;
}

.promo-phone-link {
	color: #38bdf8 !important;
	text-decoration: none;
}

.promo-phone-link:hover {
	color: #7dd3fc !important;
	text-decoration: underline;
}

.promo-contact-hours {
	font-size: 13px;
	color: #94a3b8;
}

.promo-input-group {
	margin-bottom: 18px;
}

.promo-form-label {
	font-weight: 600;
	color: #cbd5e1 !important;
	font-size: 13.5px;
	margin-bottom: 6px;
	display: block;
}

.promo-form-wrapper .form-control {
	background: #0b121f !important;
	border: 1px solid #334155 !important;
	color: #f8fafc !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	height: 44px !important;
	font-size: 14px !important;
	width: 100% !important;
	box-shadow: none !important;
	transition: all 0.2s ease !important;
}

.promo-form-wrapper .form-control:focus {
	border-color: #38bdf8 !important;
	box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.2) !important;
	background: #090e18 !important;
}

.promo-form-wrapper .form-control::placeholder {
	color: #64748b !important;
}

.promo-form-wrapper select.form-control {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 16px !important;
	padding-right: 36px !important;
}

.promo-form-wrapper select.form-control option {
	background: #0b121f;
	color: #f8fafc;
}

.promo-submit-btn {
	background: linear-gradient(90deg, #6366f1 0%, #4f46e5 100%) !important;
	border: none !important;
	font-weight: 700 !important;
	padding: 14px 20px !important;
	border-radius: 12px !important;
	font-size: 16px !important;
	color: #ffffff !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 4px 15px rgba(99, 102, 241, 0.35) !important;
}

.promo-submit-btn:hover {
	background: linear-gradient(90deg, #4f46e5 0%, #4338ca 100%) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(99, 102, 241, 0.45) !important;
}

.secondary-promos-section {
	margin-bottom: 50px;
}

.secondary-promos-title {
	font-size: 28px;
	font-weight: 800;
	color: #ffffff !important;
	margin-bottom: 28px;
	text-align: center;
}

.secondary-promos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 24px;
}

.secondary-promo-card {
	background: #131b2e;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	padding: 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: all 0.3s ease;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.secondary-promo-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.35);
	border-color: #38bdf8;
}

.promo-gift-badge {
	background: #10b981 !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	padding: 6px 12px !important;
	border-radius: 20px !important;
	align-self: flex-start;
	display: inline-block;
	margin-bottom: 14px;
}

.promo-discount-badge {
	background: #f59e0b !important;
	color: #0f172a !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	padding: 6px 12px !important;
	border-radius: 20px !important;
	align-self: flex-start;
	display: inline-block;
	margin-bottom: 14px;
}

.secondary-promo-title {
	font-size: 20px;
	font-weight: 700;
	color: #ffffff !important;
	margin-top: 0;
	margin-bottom: 12px;
}

.secondary-promo-desc {
	color: #94a3b8 !important;
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 22px;
	flex-grow: 1;
}

.secondary-promo-btn {
	border-radius: 8px !important;
	font-weight: 600 !important;
	border: 1px solid #38bdf8 !important;
	color: #38bdf8 !important;
	background: transparent !important;
	padding: 8px 18px !important;
	text-decoration: none !important;
	align-self: flex-start;
	display: inline-block;
	transition: all 0.2s ease !important;
}

.secondary-promo-btn:hover {
	background: #38bdf8 !important;
	color: #0f172a !important;
	text-decoration: none !important;
}

@media (max-width: 768px) {
	.promo-page-hero {
		padding: 35px 0 40px 0;
	}

	.promo-title-main {
		font-size: 26px !important;
		line-height: 1.25 !important;
	}

	.promo-subtitle {
		font-size: 15px;
	}

	.promo-main-card {
		padding: 22px 18px;
		margin-top: 20px;
		margin-bottom: 35px;
		border-radius: 18px;
	}

	.promo-code-val {
		font-size: 26px;
		letter-spacing: 2px;
	}

	.btn-copy-code {
		padding: 8px 16px;
		font-size: 13px;
	}

	.countdown-container {
		gap: 8px;
	}

	.timer-block {
		min-width: 58px;
		padding: 8px 6px;
	}

	.timer-num {
		font-size: 20px;
	}

	.timer-lbl {
		font-size: 10px;
	}

	.promo-form-wrapper {
		padding: 24px 18px;
		border-radius: 18px;
		margin-bottom: 35px;
	}

	.promo-form-title {
		font-size: 22px !important;
	}

	.secondary-promos-title {
		font-size: 22px !important;
	}

	.secondary-promo-card {
		padding: 20px 18px;
	}
}

@media (max-width: 480px) {
	.promo-code-actions {
		flex-direction: column;
		gap: 8px;
	}

	.countdown-container {
		gap: 6px;
	}

	.timer-block {
		min-width: 52px;
		padding: 6px 4px;
	}

	.timer-num {
		font-size: 18px;
	}

	.secondary-promos-grid {
		grid-template-columns: 1fr;
	}
}

/* Contact Page Styles */
.site-contact-page-wrapper {
	padding-top: 30px;
	padding-bottom: 50px;
}

.contact-header-section {
	margin-bottom: 35px;
	text-align: center;
}

.contact-header-title {
	font-size: 32px;
	font-weight: 700;
	color: #222;
	margin-bottom: 10px;
}

.contact-header-desc {
	font-size: 16px;
	color: #666;
	max-width: 700px;
	margin: 0 auto;
}

.contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-bottom: 45px;
}

.contact-card {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
	transition: transform 0.2s, box-shadow 0.2s;
}

.contact-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.contact-card-icon {
	font-size: 28px;
	margin-bottom: 12px;
}

.contact-card-label {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #718096;
	font-weight: 600;
	margin-bottom: 6px;
}

.contact-card-val {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 8px;
}

.contact-card-val-sm {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 8px;
}

.contact-card-val-address {
	font-size: 15px;
	font-weight: 600;
	color: #2d3748;
	margin-bottom: 8px;
	line-height: 1.4;
}

.contact-card-val-company {
	font-size: 15px;
	font-weight: 700;
	color: #2d3748;
	margin-bottom: 4px;
}

.contact-card-val-unp {
	font-size: 14px;
	color: #4a5568;
	font-weight: 600;
}

.contact-card-desc {
	font-size: 14px;
	color: #718096;
}

.contact-card-desc-mt {
	font-size: 13px;
	color: #718096;
	margin-top: 4px;
}

.contact-main-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 35px;
	align-items: start;
}

.contact-map-wrapper {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}

.contact-block-title {
	font-size: 22px;
	font-weight: 700;
	color: #2d3748;
	margin-top: 0;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.contact-block-desc {
	font-size: 14px;
	color: #718096;
	margin-bottom: 20px;
}

.contact-map-frame-box {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	height: 440px;
	border: 1px solid #cbd5e0;
}

.contact-map-iframe {
	position: relative;
	border: 0;
	width: 100%;
	height: 100%;
}

.contact-map-address {
	margin-top: 15px;
	font-size: 13px;
	color: #718096;
	text-align: center;
}

.contact-form-wrapper {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}

.contact-honeypot {
	display: none !important;
}

.contact-form-group-mb {
	margin-bottom: 16px;
}

.contact-form-label {
	font-size: 14px;
	font-weight: 600;
	color: #4a5568;
	margin-bottom: 6px;
	display: block;
}

.contact-form-control {
	width: 100%;
	height: 44px;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid #cbd5e0;
	font-size: 15px;
}

.contact-form-select {
	width: 100%;
	height: 44px;
	padding: 8px 14px;
	border-radius: 8px;
	border: 1px solid #cbd5e0;
	font-size: 15px;
}

.contact-form-textarea {
	width: 100%;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid #cbd5e0;
	font-size: 15px;
	resize: vertical;
}

.contact-captcha-group {
	margin-bottom: 20px;
}

.contact-submit-btn-wrap {
	margin-top: 24px;
}

.contact-submit-btn {
	width: 100%;
	height: 48px;
	background: #2b6cb0 !important;
	border: none !important;
	border-radius: 8px !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}

.contact-submit-btn:hover {
	background: #2c5282 !important;
}

.contact-privacy-note {
	font-size: 12px;
	color: #a0aec0;
	margin-top: 14px;
	text-align: center;
	line-height: 1.4;
}

.contact-privacy-link {
	color: #718096;
	text-decoration: underline;
}

@media (max-width: 768px) {
	.contact-main-grid {
		grid-template-columns: 1fr !important;
	}

	.contact-cards-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Desktop Mega Menu Hover & Open */
@media (min-width: 993px) {
	.site-nav__item--has-mega:hover > .mega-menu,
	.site-nav__item--has-mega.is-open > .mega-menu {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: translateY(0) !important;
		display: block !important;
	}
}

/* Mega Menu Modifiers */
.mega-menu__sublink--highlight {
	color: #2A9DDD !important;
	font-weight: 600 !important;
}

.mega-menu__col-title--accent {
	color: #ffb454 !important;
}

.mega-menu__sublink--bold-cyan {
	font-weight: 700 !important;
	color: #38bdf8 !important;
}

.mega-menu__sublink--bold {
	font-weight: 700 !important;
}

/* Footer Link Styles */
.footer-links-row {
	margin-top: 5px;
	font-size: 13px;
}

.footer-legal-link {
	color: #888;
	text-decoration: underline;
}

.footer-legal-link-mr {
	margin-right: 15px;
}

/* Universal Interactive Elements */
.faq-q, .faq-accordion-title {
	cursor: pointer;
}

/* Utility hidden helper */
.u-hidden {
	display: none !important;
}

.col-w-50 {
	width: 50px;
}

/* Form hidden & full-width field wrappers */
.honey-field {
	display: none !important;
}

.form-group-hidden-field {
	margin: 0 !important;
	padding: 0 !important;
	display: none !important;
}

.form-group-full-width {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Homepage Hero Teaser Keyword Links */
.main-header .layout:not(.site-header),
.main-header .block.header-2,
.main-header .header-2.teaser {
	position: relative !important;
	z-index: 10 !important;
	pointer-events: auto !important;
}

.main-header header.site-header,
header.site-header {
	z-index: 1000000 !important;
}

body.modal-open .main-header header.site-header,
body.modal-open header.site-header,
body.modal-open .site-header {
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

.header-2.teaser .teaser-cat-title {
	font-weight: 700 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	display: inline-block !important;
	margin-bottom: 10px !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	position: relative !important;
	z-index: 20 !important;
	transition: color 0.2s ease, transform 0.2s ease !important;
}

.header-2.teaser .teaser-cat-title:hover {
	color: #21d3a6 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	transform: translateX(2px) !important;
}

.header-2.teaser ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 15px 0 !important;
}

.header-2.teaser ul li {
	margin-bottom: 7px !important;
	line-height: 1.4 !important;
	list-style: none !important;
}

.header-2.teaser ul li a {
	color: rgba(255, 255, 255, 0.88) !important;
	text-decoration: none !important;
	display: inline-block !important;
	font-size: 13.5px !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	position: relative !important;
	z-index: 20 !important;
	transition: color 0.2s ease, transform 0.2s ease !important;
}

.header-2.teaser ul li a:hover {
	color: #21d3a6 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	transform: translateX(4px) !important;
}

/* ============================================================
   МОБИЛЬНОЕ МЕНЮ (ЕДИНЫЙ СТИЛЬ И РАЗМЕР НА ВСЕХ СТРАНИЦАХ ДО 992px)
   ============================================================ */
@media (max-width: 992px) {

	/* Боковая шторка меню */
	.site-nav.menu-top,
	.menu-top,
	.main-header .site-nav.menu-top,
	.main-header .menu-top {
		position: fixed !important;
		top: 0 !important;
		left: -100% !important;
		width: min(320px, 85vw) !important;
		height: 100vh !important;
		height: 100dvh !important;
		background: #0d131f !important;
		box-shadow: 4px 0 30px rgba(0, 0, 0, 0.85) !important;
		z-index: 999999 !important;
		padding: 46px 0 15px 0 !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		transition: left 0.32s cubic-bezier(0.4, 0, 0.2, 1) !important;
		border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
	}

	.site-nav.menu-top.active,
	.menu-top.active,
	.main-header .site-nav.menu-top.active,
	.main-header .menu-top.active {
		left: 0 !important;
	}

	/* Список пунктов меню */
	.site-nav__list,
	.main-header .menu-top>ul,
	.menu-top>ul {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
		gap: 0 !important;
	}

	.site-nav__item,
	.main-header .site-nav__item,
	.main-header .menu-top>ul>li,
	.menu-top>ul>li {
		display: block !important;
		width: 100% !important;
		border: none !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
		padding: 0 !important;
		margin: 0 !important;
		transition: background-color 0.2s ease !important;
	}

	/* Ссылки главного меню: сбалансированный средний размер */
	.site-nav__link,
	.main-header .site-nav__link,
	.main-header .menu-top>ul>li>a,
	.menu-top>ul>li>a {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		padding: 10px 16px !important;
		color: #f1f5f9 !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		letter-spacing: 0.02em !important;
		text-transform: uppercase !important;
		text-decoration: none !important;
		white-space: normal !important;
		line-height: 1.3 !important;
		border-radius: 0 !important;
		background: transparent !important;
		transition: background 0.2s ease, color 0.2s ease !important;
	}

	.site-nav__link::after,
	.main-header .menu-top>ul>li>a::after {
		display: none !important;
	}

	.site-nav__item:hover>.site-nav__link,
	.site-nav__item:focus-within>.site-nav__link,
	.main-header .menu-top>ul>li:hover>a,
	.main-header .menu-top>ul>li:focus-within>a {
		background: rgba(255, 255, 255, 0.05) !important;
		color: #ffffff !important;
		padding-left: 16px !important;
	}

	.site-nav__item.mobile-open>.site-nav__link,
	.main-header .menu-top>ul>li.mobile-open>a {
		background: #161e2e !important;
		color: #38bdf8 !important;
	}

	/* Стрелка выпадающего списка */
	.site-nav__arrow {
		width: 10px !important;
		height: 6px !important;
		flex-shrink: 0 !important;
		transition: transform 0.22s ease !important;
		opacity: 0.8 !important;
	}

	.site-nav__item--has-mega.mobile-open>.site-nav__link .site-nav__arrow {
		transform: rotate(180deg) !important;
		opacity: 1 !important;
	}

	/* Бургер-кнопка (крестик): чисто белый без оранжевого фона */
	.razrabotka-sajta-page button.burger-menu,
	.razrabotka-sajta-page .burger-menu,
	button.burger-menu,
	.burger-menu,
	.burger-menu:hover,
	.burger-menu:focus,
	.burger-menu:active,
	button.burger-menu:hover,
	button.burger-menu:focus,
	button.burger-menu:active {
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-around !important;
		width: 32px !important;
		height: 25px !important;
		background: none !important;
		background-color: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		outline: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
		cursor: pointer !important;
		z-index: 1000001 !important;
	}

	.razrabotka-sajta-page button.burger-menu span,
	.razrabotka-sajta-page .burger-menu span,
	button.burger-menu span,
	.burger-menu span {
		display: block !important;
		width: 30px !important;
		height: 3px !important;
		background-color: #ffffff !important;
		background: #ffffff !important;
		border-radius: 3px !important;
		transition: all 0.3s ease-in-out !important;
	}

	.burger-menu.is-active span:nth-child(1),
	.burger-menu.active span:nth-child(1) {
		transform: translateY(8px) rotate(45deg) !important;
	}

	.burger-menu.is-active span:nth-child(2),
	.burger-menu.active span:nth-child(2) {
		opacity: 0 !important;
	}

	.burger-menu.is-active span:nth-child(3),
	.burger-menu.active span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg) !important;
	}
}

/* ==========================================================================
   Multi-Page Full Printable PDF Styles
   ========================================================================== */
@media print {
	html, body {
		height: auto !important;
		min-height: 100% !important;
		overflow: visible !important;
		background: #ffffff !important;
		color: #000000 !important;
		font-size: 10pt !important;
	}

	.static-page-dark-wrap,
	.static-page-dark-wrap-padded,
	.wrap,
	.main-content,
	.layout,
	.domain-mail-audit-container,
	#mailAuditResults,
	.mail-cards-grid,
	.mail-checklist-box,
	.mail-fixes-box {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		position: static !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
	}

	.mail-card-col {
		width: 100% !important;
		float: none !important;
		display: block !important;
		margin-bottom: 15px !important;
		page-break-inside: avoid !important;
		break-inside: avoid !important;
	}

	.mail-detail-card,
	.mail-audit-summary-card,
	.mail-checklist-box,
	.mail-fixes-box,
	.mail-fix-card,
	.mail-dkim-item,
	.mail-modern-item {
		page-break-inside: avoid !important;
		break-inside: avoid !important;
		border: 1px solid #cbd5e1 !important;
		background: #ffffff !important;
		color: #0f172a !important;
		box-shadow: none !important;
		margin-bottom: 12px !important;
		padding: 12px 14px !important;
		border-radius: 6px !important;
	}

	.mail-detail-card-header {
		background: #f1f5f9 !important;
		border-bottom: 1px solid #cbd5e1 !important;
		padding: 8px 12px !important;
	}

	.mail-detail-card-header h3 {
		color: #0f172a !important;
	}

	.mail-score-circle {
		border: 4px solid #10b981 !important;
		background: #f8fafc !important;
		width: 80px !important;
		height: 80px !important;
	}

	.mail-score-num {
		color: #0f172a !important;
		font-size: 26px !important;
	}

	.mail-domain-title {
		color: #0f172a !important;
		font-size: 20px !important;
	}

	.mail-verdict-desc,
	.mail-prop-row strong,
	.mail-check-title {
		color: #334155 !important;
	}

	.mail-prop-row span {
		color: #000000 !important;
	}

	.mail-code-block {
		background: #f1f5f9 !important;
		color: #0f172a !important;
		border: 1px solid #cbd5e1 !important;
		page-break-inside: avoid !important;
		font-size: 9.5pt !important;
		padding: 8px 10px !important;
	}

	.mail-explain-box {
		background: #f8fafc !important;
		border: 1px solid #cbd5e1 !important;
		page-break-inside: avoid !important;
	}

	.mail-explain-title {
		color: #0284c7 !important;
	}

	.mail-explain-text {
		color: #334155 !important;
	}

	.mail-table th {
		background: #f1f5f9 !important;
		color: #000000 !important;
	}

	.mail-table td {
		background: #ffffff !important;
		color: #000000 !important;
	}

	.mail-checklist-item {
		background: #f8fafc !important;
		border: 1px solid #cbd5e1 !important;
		page-break-inside: avoid !important;
	}

	/* Elements to exclude in print */
	header, footer, nav, .site-header, .site-footer,
	#r9-bot-launcher, #r9-bot-window,
	.tools-breadcrumb, .tool-header, .mail-audit-form-box,
	.mail-summary-actions, .mail-custom-selector-box,
	.copy-dns-btn, .tool-features-pills, .lang-switcher {
		display: none !important;
	}
}

/* ==========================================================================
   Language Switcher Styles (digital-spec.com & i18n domains)
   ========================================================================== */
.lang-switcher {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	margin-left: 8px !important;
	margin-right: 8px !important;
	z-index: 1000 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

.site-header__top .lang-switcher {
	align-self: center !important;
}

.lang-switcher__btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: #ffffff !important;
	border: 1px solid #dcdfe6 !important;
	border-radius: 20px !important;
	padding: 6px 14px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	cursor: pointer !important;
	transition: all 0.2s ease-in-out !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
	outline: none !important;
	user-select: none !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
}

.lang-switcher__btn:hover,
.lang-switcher.is-open .lang-switcher__btn {
	background: #f8fafc !important;
	border-color: #0284c7 !important;
	color: #0284c7 !important;
	box-shadow: 0 2px 10px rgba(2, 132, 199, 0.2) !important;
}

.lang-switcher__flag {
	font-size: 16px !important;
	line-height: 1 !important;
	display: inline-block !important;
}

.lang-switcher__code {
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
}

.lang-switcher__btn:hover .lang-switcher__code,
.lang-switcher.is-open .lang-switcher__btn .lang-switcher__code {
	color: #0284c7 !important;
}

.lang-switcher__arrow {
	width: 9px !important;
	height: 6px !important;
	margin-left: 2px !important;
	transition: transform 0.2s ease !important;
	opacity: 0.75 !important;
	color: #64748b !important;
	stroke: currentColor !important;
}

.lang-switcher.is-open .lang-switcher__arrow {
	transform: rotate(180deg) !important;
	color: #0284c7 !important;
}

.lang-switcher__dropdown {
	position: absolute !important;
	top: calc(100% + 8px) !important;
	right: 0 !important;
	min-width: 220px !important;
	max-height: 380px !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(-8px) !important;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s !important;
	z-index: 100000 !important;
	overflow: hidden !important;
}

.lang-switcher.is-open .lang-switcher__dropdown,
.lang-switcher:hover .lang-switcher__dropdown {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
}

.lang-switcher__list {
	max-height: 360px !important;
	overflow-y: auto !important;
	padding: 6px 0 !important;
	background: #ffffff !important;
}

/* Custom scrollbar for dropdown */
.lang-switcher__list::-webkit-scrollbar {
	width: 5px !important;
}
.lang-switcher__list::-webkit-scrollbar-track {
	background: #f1f5f9 !important;
}
.lang-switcher__list::-webkit-scrollbar-thumb {
	background: #cbd5e1 !important;
	border-radius: 4px !important;
}

.lang-switcher__item {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 9px 16px !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	color: #0f172a !important;
	text-decoration: none !important;
	background: #ffffff !important;
	transition: background-color 0.15s ease, color 0.15s ease !important;
	cursor: pointer !important;
	border: none !important;
}

.lang-switcher__item:hover {
	background: #f1f5f9 !important;
	color: #0284c7 !important;
	text-decoration: none !important;
}

.lang-switcher__item:hover .lang-switcher__item-label {
	color: #0284c7 !important;
}

.lang-switcher__item--active {
	background: #f0fdf4 !important;
	color: #16a34a !important;
	font-weight: 600 !important;
}

.lang-switcher__item--active:before {
	content: '✓' !important;
	color: #16a34a !important;
	font-weight: bold !important;
	margin-right: -4px !important;
	font-size: 13px !important;
}

.lang-switcher__item--active .lang-switcher__item-label {
	color: #16a34a !important;
	font-weight: 600 !important;
}

.lang-switcher__item-flag {
	font-size: 16px !important;
	width: 22px !important;
	text-align: center !important;
	flex-shrink: 0 !important;
	display: inline-block !important;
}

.lang-switcher__item-label {
	flex: 1 !important;
	color: #0f172a !important;
	font-size: 13.5px !important;
	text-decoration: none !important;
	text-align: left !important;
}

/* Mobile nav adaptation */
.site-nav__item--mobile-lang {
	padding: 12px 16px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
	display: none;
}

@media (max-width: 991px) {
	.site-nav__item--mobile-lang {
		display: block !important;
	}
	.site-header__top .lang-switcher {
		margin-left: auto !important;
		margin-right: 8px !important;
	}
	.lang-switcher--nav-mobile {
		width: 100% !important;
		margin: 0 !important;
	}
	.lang-switcher--nav-mobile .lang-switcher__btn {
		width: 100% !important;
		justify-content: space-between !important;
		padding: 10px 14px !important;
		border-radius: 8px !important;
	}
	.lang-switcher--nav-mobile .lang-switcher__dropdown {
		position: static !important;
		width: 100% !important;
		box-shadow: none !important;
		border: 1px solid #e2e8f0 !important;
		margin-top: 6px !important;
	}
}

/* RTL layout support for Arabic */
[dir="rtl"] .lang-switcher__dropdown {
	right: auto !important;
	left: 0 !important;
}

[dir="rtl"] .lang-switcher__item-label {
	text-align: right !important;
}

/* ==========================================================================
   Phone-Only Mode UI (Modal & Static Form Blocks)
   ========================================================================== */
.contact-form-modal-inner.phone-only-modal-wrapper {
	max-width: 520px !important;
	width: 100% !important;
	margin: auto !important;
	padding: 0 !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2) !important;
	overflow: hidden;
}

.phone-only-modal-card,
.phone-only-static-card {
	padding: 35px 30px;
	text-align: center;
	position: relative;
	background: #ffffff;
}

.phone-only-static-card {
	border-radius: 16px;
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	border: 1px solid #e2e8f0;
	margin: 20px auto;
	max-width: 650px;
}

.phone-only-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #ecfdf5;
	color: #059669;
	border: 1px solid #a7f3d0;
	padding: 6px 14px;
	border-radius: 50px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 16px;
}

.phone-only-modal-card .form-title,
.phone-only-static-card .form-title,
.phone-only-static-card .contact-block-title {
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.3 !important;
}

.phone-only-modal-card .form-desc,
.phone-only-static-card .form-desc,
.phone-only-static-card .contact-block-desc {
	font-size: 15px !important;
	color: #64748b !important;
	line-height: 1.5 !important;
	margin: 0 auto 25px auto !important;
	max-width: 440px;
}

.phone-only-number-box {
	margin: 20px 0;
}

.phone-only-main-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 16px 28px;
	background: #f1f5f9;
	border: 2px solid #e2e8f0;
	border-radius: 12px;
	color: #0f172a !important;
	text-decoration: none !important;
	transition: all 0.25s ease;
}

.phone-only-main-link:hover {
	background: #e2e8f0;
	border-color: #cbd5e1;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

.phone-only-main-link .phone-svg-icon {
	color: #2563eb;
	flex-shrink: 0;
}

.phone-only-main-link .phone-digits {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.phone-only-actions-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 25px 0 15px 0;
	flex-wrap: wrap;
}

.btn-phone-modal-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 22px;
	font-size: 15px;
	font-weight: 600;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.btn-phone-modal-call {
	background: #2563eb;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}

.btn-phone-modal-call:hover {
	background: #1d4ed8;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35);
}

.btn-phone-modal-copy {
	background: #ffffff;
	color: #334155;
	border: 1.5px solid #cbd5e1;
}

.btn-phone-modal-copy:hover {
	background: #f8fafc;
	border-color: #94a3b8;
	color: #0f172a;
}

.btn-phone-modal-copy.copied {
	background: #10b981 !important;
	color: #ffffff !important;
	border-color: #10b981 !important;
}

.phone-only-modal-footer-info {
	margin-top: 18px;
	font-size: 13px;
	color: #94a3b8;
}

@media (max-width: 600px) {
	.phone-only-modal-card,
	.phone-only-static-card {
		padding: 25px 18px;
	}
	.phone-only-main-link {
		width: 100%;
		padding: 14px 16px;
	}
	.phone-only-main-link .phone-digits {
		font-size: 18px;
	}
	.btn-phone-modal-action {
		width: 100%;
	}
	.phone-only-actions-row {
		flex-direction: column;
	}
}

/* Requisites Page Styles */
.req-iban-box {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: #0f172a;
	border: 1px solid #475569;
	padding: 10px 12px;
	border-radius: 8px;
	box-sizing: border-box;
	width: 100%;
}
.req-iban-code-wrapper {
	width: 100%;
	overflow: hidden;
}
.req-iban-val {
	display: block;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 13.5px;
	letter-spacing: 0.5px;
	color: #38bdf8;
	word-break: break-all;
	line-height: 1.4;
	user-select: all;
}
.req-iban-copy-btn {
	align-self: flex-start;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	background: #334155 !important;
	color: #f8fafc !important;
	border: 1px solid #64748b !important;
	border-radius: 6px !important;
	padding: 6px 14px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	box-shadow: none !important;
	line-height: 1.2 !important;
	height: auto !important;
	width: auto !important;
	margin: 0 !important;
}
.req-iban-copy-btn:hover {
	background: #0284c7 !important;
	border-color: #38bdf8 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}
.req-iban-copy-btn.copied {
	background: #16a34a !important;
	border-color: #22c55e !important;
	color: #ffffff !important;
}

/* ==========================================================================
   CMS Modules Global Styles (r9.by)
   ========================================================================== */
.cms-module {
	position: relative;
	margin: 25px 0;
	clear: both;
}
.cms-module-header-top {
	margin: 0;
	z-index: 1000;
}
.cms-module-header-bottom {
	margin: 15px 0;
}
.cms-module-content-top {
	margin-top: 15px;
	margin-bottom: 30px;
}
.cms-module-content-bottom {
	margin-top: 35px;
	margin-bottom: 25px;
}
.cms-module-footer-top {
	margin-top: 40px;
	margin-bottom: 20px;
}
.cms-module-floating-bottom {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0;
	z-index: 9999;
	box-shadow: 0 -4px 20px rgba(0,0,0,0.3);
}

.cms-module-title {
	font-size: 24px;
	font-weight: 700;
	color: #f8fafc;
	margin-bottom: 18px;
	letter-spacing: -0.02em;
}

/* 1. CTA Banner */
.cms-cta-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 30px 35px;
	border-radius: 16px;
	gap: 25px;
	position: relative;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cms-cta-banner:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}
.cms-cta-banner.theme-dark-gradient {
	background: linear-gradient(135deg, #111827 0%, #1e1b4b 50%, #0f172a 100%);
	border: 1px solid rgba(139, 92, 246, 0.3);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
.cms-cta-banner.theme-accent-purple {
	background: linear-gradient(135deg, #4c1d95 0%, #7c3aed 100%);
	border: 1px solid rgba(196, 181, 253, 0.4);
	box-shadow: 0 8px 25px rgba(124, 58, 237, 0.35);
}
.cms-cta-banner.theme-neon-cyan {
	background: linear-gradient(135deg, #082f49 0%, #0369a1 100%);
	border: 1px solid rgba(56, 189, 248, 0.4);
	box-shadow: 0 8px 25px rgba(14, 165, 233, 0.3);
}
.cms-cta-banner.theme-glass-dark {
	background: rgba(15, 23, 42, 0.85);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.37);
}
.cms-cta-badge {
	display: inline-block;
	background: rgba(139, 92, 246, 0.25);
	color: #c4b5fd;
	border: 1px solid rgba(139, 92, 246, 0.4);
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.cms-cta-heading {
	font-size: 22px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 8px 0;
	line-height: 1.3;
}
.cms-cta-desc {
	font-size: 15px;
	color: #cbd5e1;
	margin: 0;
	line-height: 1.5;
}
.cms-cta-btn {
	white-space: nowrap;
	padding: 14px 30px;
	font-size: 16px;
	font-weight: 700;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

@media (max-width: 768px) {
	.cms-cta-banner {
		flex-direction: column;
		align-items: flex-start;
		padding: 24px 20px;
	}
	.cms-cta-action {
		width: 100%;
		margin-top: 10px;
	}
	.cms-cta-btn {
		width: 100%;
		text-align: center;
		display: block;
	}
}

/* 2. Lead Capture Form Box */
.cms-lead-box {
	background: linear-gradient(145deg, #131b2e 0%, #0d121f 100%);
	border: 1px solid #23304c;
	border-radius: 16px;
	padding: 35px 40px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}
.cms-lead-title {
	font-size: 24px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 8px 0;
	text-align: center;
}
.cms-lead-subtitle {
	font-size: 15px;
	color: #94a3b8;
	text-align: center;
	margin-bottom: 25px;
}
.cms-lead-row {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}
.cms-lead-col {
	flex: 1;
	min-width: 200px;
}
.cms-input {
	width: 100%;
	height: 48px;
	background: #090d16;
	border: 1px solid #2c3c5e;
	border-radius: 10px;
	color: #f8fafc;
	padding: 0 16px;
	font-size: 15px;
	outline: none;
	transition: border-color 0.2s;
}
.cms-input:focus {
	border-color: #8b5cf6;
	box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.2);
}
.cms-submit-btn {
	width: 100%;
	height: 48px;
	font-size: 15px;
	font-weight: 700;
	border-radius: 10px;
}
.cms-lead-privacy {
	font-size: 12px;
	color: #64748b;
	text-align: center;
	margin-top: 14px;
}

@media (max-width: 768px) {
	.cms-lead-box {
		padding: 24px 18px;
	}
	.cms-lead-row {
		flex-direction: column;
	}
}

/* 3. Alert Bar */
.cms-alert-bar {
	padding: 10px 15px;
	position: relative;
	font-size: 14px;
	font-weight: 500;
	z-index: 1001;
}
.cms-alert-bar.theme-accent {
	background: linear-gradient(90deg, #6d28d9 0%, #4f46e5 100%);
	color: #ffffff;
}
.cms-alert-bar.theme-gold {
	background: linear-gradient(90deg, #b45309 0%, #d97706 100%);
	color: #ffffff;
}
.cms-alert-bar.theme-dark {
	background: #0f172a;
	color: #f8fafc;
	border-bottom: 1px solid #334155;
}
.cms-alert-bar.theme-neon {
	background: linear-gradient(90deg, #0284c7 0%, #0d9488 100%);
	color: #ffffff;
}
.cms-alert-container {
	max-width: 1240px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	position: relative;
	padding: 0 35px 0 10px;
}
.cms-alert-badge {
	background: rgba(255, 255, 255, 0.2);
	color: #ffffff;
	padding: 2px 8px;
	border-radius: 12px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}
.cms-alert-btn {
	background: #ffffff;
	color: #1e1b4b !important;
	padding: 4px 14px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	transition: opacity 0.2s;
	white-space: nowrap;
}
.cms-alert-btn:hover {
	opacity: 0.9;
}
.cms-alert-close {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: rgba(255, 255, 255, 0.8);
	font-size: 20px;
	cursor: pointer;
	line-height: 1;
	padding: 4px 8px;
}

/* 4. FAQ Accordion */
.cms-faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.cms-faq-item {
	background: #111827;
	border: 1px solid #1f2937;
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 0.2s;
}
.cms-faq-item:hover {
	border-color: #374151;
}
.cms-faq-question {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 22px;
	background: transparent;
	border: none;
	color: #f3f4f6;
	font-size: 16px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	gap: 15px;
}
.cms-faq-icon {
	font-size: 20px;
	font-weight: 700;
	color: #8b5cf6;
	transition: transform 0.2s ease;
	line-height: 1;
}
.cms-faq-answer {
	display: none;
	padding: 0 22px 20px 22px;
	color: #9ca3af;
	font-size: 14px;
	line-height: 1.6;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.cms-faq-item.active .cms-faq-answer {
	display: block;
}
.cms-faq-item.active .cms-faq-icon {
	transform: rotate(45deg);
	color: #ec4899;
}
.cms-phone-link {
	color: #38bdf8;
	font-weight: 600;
	text-decoration: none;
}
.cms-phone-link:hover {
	text-decoration: underline;
}






/* Requisites Page Styles */
.req-page-container { max-width: 1140px; margin: 30px auto; padding: 0 15px; }
.req-header-block { text-align: center; margin-bottom: 35px; }
.req-main-title { font-size: 32px; font-weight: 700; color: #f8fafc; margin-bottom: 10px; }
.req-subtitle { font-size: 16px; color: #94a3b8; max-width: 700px; margin: 0 auto; line-height: 1.5; }
.req-protection-wrapper { position: relative; }
.req-locked-banner { background: #0f172a; border: 1px solid #334155; border-radius: 16px; padding: 40px 20px; text-align: center; max-width: 600px; margin: 0 auto 30px; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3); }
.req-lock-title { font-size: 20px; font-weight: 600; color: #38bdf8; margin-bottom: 8px; }
.req-lock-desc { font-size: 14px; color: #94a3b8; margin-bottom: 25px; line-height: 1.5; }
.req-slider-container { max-width: 380px; margin: 0 auto; }
.req-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }
.req-card { background: #0f172a; border: 1px solid #334155; border-radius: 16px; padding: 28px; display: flex; flex-direction: column; transition: transform 0.2s ease, border-color 0.2s ease; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.25); }
.req-card:hover { transform: translateY(-3px); border-color: #38bdf8; }
.req-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #1e293b; }
.req-card-icon { font-size: 24px; }
.req-card-title { font-size: 18px; font-weight: 600; color: #f8fafc; margin: 0; }
.req-card-body { display: flex; flex-direction: column; gap: 14px; flex-grow: 1; }
.req-row { display: flex; flex-direction: column; gap: 4px; }
.req-label { font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; color: #64748b; }
.req-val { font-size: 14px; font-weight: 500; color: #e2e8f0; word-break: break-word; }
.req-val-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; letter-spacing: 0.5px; color: #38bdf8; }
.req-val-status { color: #34d399; font-weight: 600; }
.req-val-vat { color: #f59e0b; }
.req-val a { color: #38bdf8; text-decoration: none; }
.req-val a:hover { text-decoration: underline; }
.req-img-wrapper { display: flex; align-items: center; min-height: 24px; }
.req-docs-box { margin-top: 40px; text-align: center; }
.req-docs-title { font-size: 18px; font-weight: 600; color: #f1f5f9; margin-bottom: 14px; }
.req-docs-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.req-doc-link { display: inline-flex; align-items: center; gap: 6px; background: #0f172a; border: 1px solid #475569; padding: 8px 16px; border-radius: 8px; color: #e2e8f0; text-decoration: none; font-size: 14px; transition: all 0.2s; }
.req-doc-link:hover { border-color: #38bdf8; color: #38bdf8; transform: translateY(-1px); }
.req-iban-box { display: flex; flex-direction: column; gap: 8px; width: 100%; margin: 4px 0; }
.req-iban-code-wrapper { width: 100%; overflow: hidden; }
.req-iban-val { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 13.5px; letter-spacing: 0.5px; color: #38bdf8; word-break: break-all; line-height: 1.4; user-select: all; }
.req-iban-copy-btn { align-self: flex-start; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; background: #334155 !important; color: #f8fafc !important; border: 1px solid #64748b !important; border-radius: 6px !important; padding: 6px 14px !important; font-size: 12px !important; font-weight: 600 !important; cursor: pointer !important; text-decoration: none !important; transition: all 0.2s ease !important; line-height: 1.2 !important; height: auto !important; width: auto !important; margin: 0 !important; }
.req-iban-copy-btn:hover { background: #0284c7 !important; border-color: #38bdf8 !important; color: #ffffff !important; transform: translateY(-1px); }
.req-payment-note { font-size: 12px; color: #cbd5e1; background: rgba(56, 189, 248, 0.08); padding: 8px 10px; border-radius: 6px; line-height: 1.4; margin-top: 6px; }
.req-tax-desc { font-size: 14px; color: #cbd5e1; margin-bottom: 10px; line-height: 1.45; }
.req-tax-list { margin: 0; padding-left: 18px; font-size: 13px; color: #94a3b8; line-height: 1.5; }
.req-tax-list li { margin-bottom: 5px; }

/* Мобильная версия главной страницы: полное устранение белого поля и зазора между шапкой и телом сайта */
@media (max-width: 992px) {
	body.home-page,
	body:not(.razrabotka-sajta-page) {
		background-color: #0b1a26 !important;
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	body.home-page .main-wrapper,
	body:not(.razrabotka-sajta-page) .main-wrapper {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	body.home-page .main-content,
	body:not(.razrabotka-sajta-page) .main-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	body.home-page #mainHeader,
	body.home-page .main-header,
	body:not(.razrabotka-sajta-page) #mainHeader,
	body:not(.razrabotka-sajta-page) .main-header {
		background-color: #0b1a26 !important;
		margin-top: 0 !important;
		padding-top: 55px !important;
	}

	body.home-page .main-header .layout,
	body.home-page .main-header .block.header-2,
	body:not(.razrabotka-sajta-page) .main-header .layout,
	body:not(.razrabotka-sajta-page) .main-header .block.header-2 {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body.home-page .main-header h1,
	body:not(.razrabotka-sajta-page) .main-header h1 {
		margin-top: 0 !important;
	}
}

/* ============================================================
   МОБИЛЬНАЯ ОПТИМИЗАЦИЯ (<=900px, <=480px, <=360px):
   - Устранение горизонтального скролла
   - Блок статистики stats-inner в 2 столбика
   - Компактная шапка и cookie баннер
   ============================================================ */

html,
body,
.main-wrapper,
.razrabotka-sajta-page {
	overflow-x: hidden !important;
	max-width: 100vw !important;
	box-sizing: border-box !important;
}

/* 2 колонки для блока статистики на экранах <=900px */
@media (max-width: 900px) {
	.razrabotka-sajta-page .stats-inner,
	.stats-inner {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0 !important;
		padding: 0 10px !important;
		box-sizing: border-box !important;
	}

	.razrabotka-sajta-page .stat,
	.stat {
		padding: 18px 10px !important;
		box-sizing: border-box !important;
		border-left: 1px solid var(--line, rgba(255, 255, 255, 0.08)) !important;
		border-top: 1px solid var(--line, rgba(255, 255, 255, 0.08)) !important;
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
	}

	.razrabotka-sajta-page .stat:nth-child(2n+1),
	.stat:nth-child(2n+1) {
		border-left: 0 !important;
	}

	.razrabotka-sajta-page .stat:nth-child(2n),
	.stat:nth-child(2n) {
		border-left: 1px solid var(--line, rgba(255, 255, 255, 0.08)) !important;
	}

	.razrabotka-sajta-page .stat:nth-child(-n+2),
	.stat:nth-child(-n+2) {
		border-top: 0 !important;
	}

	.razrabotka-sajta-page .stat:nth-child(n+3),
	.stat:nth-child(n+3) {
		border-top: 1px solid var(--line, rgba(255, 255, 255, 0.08)) !important;
	}

	.razrabotka-sajta-page .stat .n,
	.stat .n {
		font-size: 24px !important;
		line-height: 1.2 !important;
		margin-bottom: 4px !important;
	}

	.razrabotka-sajta-page .stat .l,
	.stat .l {
		font-size: 11.5px !important;
		line-height: 1.35 !important;
	}
}

@media (max-width: 360px) {
	.razrabotka-sajta-page .stats-inner,
	.stats-inner {
		padding: 0 4px !important;
	}

	.razrabotka-sajta-page .stat,
	.stat {
		padding: 12px 6px !important;
	}

	.razrabotka-sajta-page .stat .n,
	.stat .n {
		font-size: 20px !important;
	}

	.razrabotka-sajta-page .stat .l,
	.stat .l {
		font-size: 10.5px !important;
	}

	/* Cookie баннер на экранах 320px */
	.r9-cookie-banner {
		padding: 8px 8px 12px !important;
		max-width: 100vw !important;
		box-sizing: border-box !important;
	}

	.r9-cookie-card {
		padding: 10px 8px !important;
		gap: 8px !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* Защита от переполнения для текстовых блоков, карточек и заголовков на малых экранах */
.page-blocks-wrapper,
.page-blocks-wrapper-card,
.formatted-text,
.formatted-text h1,
.formatted-text h2,
.formatted-text h3,
.formatted-text h4,
.formatted-text h5,
.formatted-text p,
.razrabotka-sajta-page h1,
.razrabotka-sajta-page h2,
.razrabotka-sajta-page h3 {
	overflow-wrap: break-word !important;
	word-break: break-word !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

@media (max-width: 480px) {
	.page-blocks-wrapper-card {
		padding: 20px 14px !important;
	}
}

@media (max-width: 360px) {
	.page-blocks-wrapper-card {
		padding: 16px 10px !important;
	}
	.page-blocks-wrapper {
		padding-left: 6px !important;
		padding-right: 6px !important;
	}
}

/* Адаптивность блоков главной страницы (block-31, grid) для экранов <=480px и <=360px */
.main-block-3,
.main-block-3 .layout,
.block-3-grid,
.block-5-grid,
.block-14-grid,
.block-6-grid,
.block-31,
.block-311 {
	box-sizing: border-box !important;
	max-width: 100% !important;
	overflow-x: hidden !important;
}

@media (max-width: 480px) {
	.block-31 {
		padding: 16px 12px !important;
	}
	.block-311 {
		grid-template-columns: 50px 1fr !important;
		gap: 10px !important;
	}
}

@media (max-width: 360px) {
	.block-31 {
		padding: 12px 10px !important;
	}
	.block-311 {
		grid-template-columns: 40px 1fr !important;
		gap: 8px !important;
	}
}

/* Мобильные отступы для всех секций <section class="..."> до 768px (включая 728px) */
@media (max-width: 768px) {
	.razrabotka-sajta-page section,
	.razrabotka-sajta-page section[class],
	.razrabotka-sajta-page .page-text-content,
	.razrabotka-sajta-page .child-services-section,
	.razrabotka-sajta-page .child-services-catalog,
	.razrabotka-sajta-page .related-materials-section,
	.razrabotka-sajta-page .page-tags-section,
	.razrabotka-sajta-page .types-section,
	.razrabotka-sajta-page .process-section,
	.razrabotka-sajta-page .technologies-section,
	.razrabotka-sajta-page .cases-section,
	.razrabotka-sajta-page .why-us-section,
	.razrabotka-sajta-page .benefits-section,
	.razrabotka-sajta-page .pricing-section,
	.razrabotka-sajta-page .faq-section,
	.razrabotka-sajta-page .cta-section,
	.razrabotka-sajta-page .cta {
		padding: 20px 0 !important;
	}

	.razrabotka-sajta-page .stats-no-padding,
	.razrabotka-sajta-page section.stats-no-padding {
		padding: 0 !important;
	}
}

/* ==========================================================================
   Prototypes Pricing & FAQ Accordion Section
   ========================================================================== */
.pricing-section, .faq-section { padding: 60px 0; border-top: 1px solid rgba(255,255,255,0.06); }
.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 36px; }
.pricing-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 32px; display: flex; flex-direction: column; position: relative; transition: border-color 0.2s, transform 0.2s; }
.pricing-card:hover { transform: translateY(-4px); border-color: rgba(99,102,241,0.5); }
.pricing-card-featured { background: rgba(99,102,241,0.06); border-color: rgba(99,102,241,0.4); }
.pricing-badge { display: inline-block; font-size: 12px; font-weight: 600; text-transform: uppercase; color: #94a3b8; margin-bottom: 12px; letter-spacing: 0.05em; }
.pricing-badge-popular { display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase; background: #6366f1; color: #fff; padding: 4px 10px; border-radius: 9999px; width: fit-content; margin-bottom: 12px; }
.pricing-title { font-size: 20px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.pricing-price { font-size: 28px; font-weight: 800; color: #60a5fa; margin-bottom: 12px; }
.pricing-desc { font-size: 14px; color: #94a3b8; margin-bottom: 24px; line-height: 1.5; min-height: 42px; }
.pricing-features { list-style: none; padding: 0; margin: 0 0 32px 0; flex-grow: 1; display: flex; flex-direction: column; gap: 12px; }
.pricing-features li { font-size: 13.5px; color: #cbd5e1; display: flex; align-items: flex-start; gap: 8px; line-height: 1.4; }
.pricing-features li::before { content: "✓"; color: #34d399; font-weight: bold; flex-shrink: 0; }
.pricing-card .proto-btn { width: 100%; text-align: center; justify-content: center; }
.faq-accordion { max-width: 860px; margin: 36px auto 0 auto; display: flex; flex-direction: column; gap: 12px; }
.faq-item { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 10px !important; overflow: hidden; transition: border-color 0.2s, background-color 0.2s; margin-bottom: 12px; }
.faq-item.active, .faq-item.open { border-color: rgba(255,180,84,0.35) !important; background: rgba(255,255,255,0.04); }
.faq-question, .faq-q, .faq-accordion-title { width: 100%; padding: 20px 24px !important; display: flex; justify-content: space-between; align-items: center; background: none; border: none; color: #f8fafc; font-size: 16px; font-weight: 600; text-align: left; cursor: pointer; gap: 16px; margin: 0; box-sizing: border-box; }
.faq-question:hover, .faq-q:hover, .faq-accordion-title:hover { color: #ffb454; }
.faq-q > span:first-child, .faq-question > span:first-child, .faq-accordion-title > span:first-child { margin: 0; padding: 0; line-height: 1.5; display: block; flex: 1; }
.faq-icon, .faq-q .plus { transition: transform 0.3s ease, color 0.2s ease; flex-shrink: 0; color: #94a3b8; font-family: monospace; font-size: 22px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin: 0; }
.faq-item.active .faq-icon, .faq-item.open .faq-icon { transform: rotate(180deg); color: #ffb454; }
.faq-item.active .plus, .faq-item.open .plus { transform: rotate(45deg); color: #ffb454; }
.faq-item.active .faq-q, .faq-item.open .faq-q, .faq-item.active .faq-question, .faq-item.open .faq-question { padding-bottom: 14px !important; }
.faq-answer, .faq-a, .faq-accordion-content { display: none; padding: 0 24px 20px 24px !important; color: #cbd5e1; font-size: 15px; line-height: 1.65; box-sizing: border-box; }
.faq-item.active .faq-answer, .faq-item.active .faq-a, .faq-item.open .faq-a, .faq-item.open .faq-answer, .faq-item.active .faq-accordion-content, .faq-item.open .faq-accordion-content { display: block !important; }
.faq-a p, .faq-answer p, .faq-accordion-content p { margin: 0 0 12px 0; line-height: 1.65; }
.faq-a p:last-child, .faq-answer p:last-child, .faq-accordion-content p:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
    .pricing-grid { grid-template-columns: 1fr; }
    .faq-question, .faq-q, .faq-accordion-title { font-size: 15px; padding: 16px 18px !important; }
    .faq-item.active .faq-q, .faq-item.open .faq-q { padding-bottom: 12px !important; }
    .faq-answer, .faq-a, .faq-accordion-content { padding: 0 18px 16px 18px !important; font-size: 14px; }
}

/* Global Dark Table Styles (подавление светлого фона и белого текста в таблицах) */
.razrabotka-sajta-page table, .razrabotka-sajta-page .table, .table-responsive table, .service-longread table, .formatted-text table, .table-dark {
    background-color: #161a23 !important;
    color: #e9ebf0 !important;
    border: 1px solid #262c38 !important;
    border-collapse: collapse !important;
}
.razrabotka-sajta-page table th, .razrabotka-sajta-page .table > thead > tr > th, .table-responsive table th, .table-dark th {
    background-color: #1c212c !important;
    color: #ffb454 !important;
    border-bottom: 2px solid #333b4a !important;
    border-right: 1px solid #262c38 !important;
    border-top: none !important;
    border-left: none !important;
    padding: 14px 18px !important;
    text-transform: uppercase;
}
.razrabotka-sajta-page table td, .razrabotka-sajta-page .table > tbody > tr > td, .table-responsive table td, .table-dark td {
    background-color: transparent !important;
    color: #e9ebf0 !important;
    border-bottom: 1px solid #262c38 !important;
    border-right: 1px solid #262c38 !important;
    border-top: none !important;
    border-left: none !important;
    padding: 14px 18px !important;
    vertical-align: top;
}
.razrabotka-sajta-page .table-striped > tbody > tr:nth-of-type(odd), .table-responsive .table-striped > tbody > tr:nth-of-type(odd), table.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.03) !important;
}
.razrabotka-sajta-page .table-striped > tbody > tr:nth-of-type(even), .table-responsive .table-striped > tbody > tr:nth-of-type(even), table.table-striped > tbody > tr:nth-of-type(even) {
    background-color: transparent !important;
}
.razrabotka-sajta-page .table-hover > tbody > tr:hover, .table-responsive .table-hover > tbody > tr:hover, table.table-hover > tbody > tr:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
}
.razrabotka-sajta-page table strong, .table-responsive table strong {
    color: #ffffff !important;
}

/* ==========================================================================
   Table of Contents (Интерактивное оглавление LSI-лонгрида)
   ========================================================================== */
.landing-toc {
    background: rgba(15, 23, 42, 0.85);
    border: 1px solid rgba(99, 102, 241, 0.3);
    border-left: 4px solid #6366f1;
    border-radius: 12px;
    padding: 20px 22px;
    margin: 0 0 24px 32px;
    float: right;
    width: 30%;
    min-width: 280px;
    max-width: 380px;
    box-sizing: border-box;
    backdrop-filter: blur(10px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    z-index: 5;
    position: relative;
    clear: none;
}
.landing-toc-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.landing-toc-badge {
    display: inline-block;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.05em;
    background: rgba(99, 102, 241, 0.25);
    color: #a5b4fc;
    padding: 3px 8px;
    border-radius: 6px;
}
.landing-toc-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
}
.landing-toc-list {
    margin: 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.landing-toc-item {
    font-size: 14px;
    color: #cbd5e1;
    line-height: 1.45;
}
.landing-toc-item.landing-toc-sub {
    margin-left: 14px;
    font-size: 13px;
    list-style-type: circle;
}
.landing-toc-link,
.razrabotka-sajta-page .formatted-text .landing-toc a,
.razrabotka-sajta-page .formatted-text a.landing-toc-link {
    color: #ffffff !important;
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline;
}
.landing-toc-link:hover,
.razrabotka-sajta-page .formatted-text .landing-toc a:hover,
.razrabotka-sajta-page .formatted-text a.landing-toc-link:hover {
    color: #818cf8 !important;
    text-decoration: underline;
    display: inline;
}

/* Обтекание текста с левой стороны и сброс верхнего отступа для первого элемента рядом с TOC */
.landing-toc + h2,
.landing-toc + h3,
.landing-toc + p,
.landing-toc + * {
    margin-top: 0 !important;
}

@media (max-width: 820px) {
    .landing-toc {
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 0 28px 0 !important;
    }
}

/* ==========================================================================
   Нормализация отступов контента лонгрида и секций по эталону website-optimization-seo-website-setup
   ========================================================================== */

/* 1. Устранение гигантских разрывов между блоками статьи (вложенные section, geo-lsi-block) */
.razrabotka-sajta-page .formatted-text section,
.razrabotka-sajta-page .formatted-text .geo-lsi-block,
.razrabotka-sajta-page .page-blocks-wrapper-card section,
.razrabotka-sajta-page .page-text-content section,
.formatted-text section,
.geo-lsi-block {
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    margin: 0 0 24px 0 !important;
}

/* 2. Растворение вложенных оберток, ломающих BFC и обтекание оглавления */
.razrabotka-sajta-page .formatted-text .formatted-text,
.razrabotka-sajta-page .formatted-text .page-text-content {
    display: contents !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 3. Сброс верхнего отступа у первого элемента и заголовка рядом с оглавлением */
.razrabotka-sajta-page .formatted-text > h2:first-of-type,
.razrabotka-sajta-page .formatted-text > *:not(.landing-toc):first-child,
.razrabotka-sajta-page .formatted-text .landing-toc + h2,
.razrabotka-sajta-page .formatted-text .landing-toc + * h2:first-of-type,
.razrabotka-sajta-page .formatted-text .landing-toc + * p:first-of-type,
.landing-toc + * h2:first-of-type,
.landing-toc + * p:first-of-type {
    margin-top: 0 !important;
}

/* 4. Гармонизация внешних отступов секций (между тизерами материалов / статистикой и лонгридом) */
.razrabotka-sajta-page .category-articles-section {
    padding-bottom: 30px !important;
}

.razrabotka-sajta-page .page-text-content,
.razrabotka-sajta-page .page-text-content-pt {
    padding-top: 30px !important;
    padding-bottom: 40px !important;
}

.razrabotka-sajta-page .stats + .page-text-content,
.razrabotka-sajta-page .stats + .page-text-content-pt {
    padding-top: 36px !important;
}

/* ==========================================================================
   Reviews Section (Блок отзывов клиентов и рейтинг 5.0)
   ========================================================================== */
.landing-reviews-section {
    padding: 70px 0;
    background: rgba(10, 14, 26, 0.6);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.landing-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
}
.landing-review-card {
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.2s, border-color 0.2s;
}
.landing-review-card:hover {
    transform: translateY(-3px);
    border-color: rgba(99, 102, 241, 0.4);
}
.landing-review-rating {
    color: #fbbf24;
    font-size: 16px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.landing-review-text {
    font-size: 14.5px;
    color: #cbd5e1;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}
.landing-review-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.landing-review-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4f46e5, #06b6d4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    font-size: 15px;
    flex-shrink: 0;
}
.landing-review-meta h4 {
    margin: 0;
    font-size: 14.5px;
    color: #f8fafc;
    font-weight: 600;
}
.landing-review-meta p {
    margin: 3px 0 0 0;
    font-size: 12.5px;
    color: #64748b;
}

/* ==========================================================================
   Team / Experts Section (E-E-A-T блок экспертов)
   ========================================================================== */
.landing-team-section {
    padding: 70px 0;
}
.landing-team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
}
.landing-team-card {
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.2s, border-color 0.2s;
}
.landing-team-card:hover {
    transform: translateY(-3px);
    border-color: rgba(99, 102, 241, 0.4);
}
.landing-team-photo-wrap {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    margin-bottom: 16px;
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(59, 130, 246, 0.3);
}
.landing-team-name {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #f8fafc;
}
.landing-team-role {
    margin: 4px 0 12px 0;
    font-size: 13.5px;
    color: #818cf8;
    font-weight: 500;
}
.landing-team-exp {
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.5;
    margin-bottom: 14px;
}
.landing-team-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}
.landing-team-badge {
    font-size: 11px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
    padding: 3px 8px;
    border-radius: 4px;
}

@media (max-width: 960px) {
    .landing-reviews-grid,
    .landing-team-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* ==========================================================================
   Category Articles Section (Тизеры материалов и инструкций под статистикой)
   ========================================================================== */
.category-articles-section {
    padding: 60px 0 40px 0;
    position: relative;
    z-index: 2;
}
.category-articles-header {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 40px auto;
}
.category-articles-title {
    font-size: 32px;
    font-weight: 800;
    color: #ffffff;
    margin: 10px 0 14px 0;
    line-height: 1.25;
}
.category-articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.cat-article-card {
    background: rgba(22, 27, 46, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(10px);
    position: relative;
}
.cat-article-card:hover {
    border-color: rgba(99, 102, 241, 0.4);
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), 0 0 20px rgba(99, 102, 241, 0.15);
}
.cat-article-card-inner {
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    text-decoration: none !important;
    color: inherit;
}
.cat-article-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    gap: 12px;
}
.cat-article-badge {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 6px;
    background: rgba(99, 102, 241, 0.15);
    color: #a5b4fc;
    border: 1px solid rgba(99, 102, 241, 0.25);
}
.cat-article-date {
    font-size: 12px;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 6px;
}
.cat-article-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
}
.cat-article-title {
    font-size: 18px;
    font-weight: 700;
    color: #f8fafc;
    margin: 0 0 12px 0;
    line-height: 1.4;
    transition: color 0.2s ease;
}
.cat-article-card:hover .cat-article-title {
    color: #818cf8;
}
.cat-article-excerpt {
    font-size: 14px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0 0 20px 0;
    flex-grow: 1;
}
.cat-article-footer {
    display: flex;
    align-items: center;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.cat-article-link-text {
    font-size: 13.5px;
    font-weight: 600;
    color: #818cf8;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: transform 0.2s ease, color 0.2s ease;
}
.cat-article-card:hover .cat-article-link-text {
    color: #a5b4fc;
    transform: translateX(4px);
}

@media (max-width: 991px) {
    .category-articles-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 640px) {
    .category-articles-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .category-articles-title {
        font-size: 24px;
    }
    .cat-article-card-inner {
        padding: 20px 18px;
    }
    .child-service-card {
        padding: 18px 16px !important;
    }
}

/* Строгий запрет подчеркивания ссылок для тизеров материалов, блога, инструкций, рекомендаций и каталога */
.child-services-catalog a,
.child-services-catalog a:hover,
.child-services-catalog a:focus,
.child-service-card a,
.child-service-card a:hover,
.child-service-card a:focus,
.child-service-link,
.child-service-link:hover,
.child-service-link:focus,
.child-service-name a,
.child-service-name a:hover,
.child-service-name a:focus,
.child-service-btn,
.child-service-btn:hover,
.child-service-btn:focus,
.category-articles-section a,
.category-articles-section a:hover,
.category-articles-section a:focus,
.related-materials-section a,
.related-materials-section a:hover,
.related-materials-section a:focus,
.cat-article-card a,
.cat-article-card a:hover,
.cat-article-card-inner,
.cat-article-card-inner:hover {
    text-decoration: none !important;
}

/* ==========================================================================
   Оформление карточек инструментов (/tools) по эталону материалов блога
   ========================================================================== */
.tools-catalog-section {
	padding: 40px 0 80px 0 !important;
	background: var(--bg-alt, #0d1017) !important;
}
.child-services-grid,
.tools-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
	gap: 24px !important;
}
.child-service-card,
.tools-card {
	background: var(--panel, #161b26) !important;
	border: 1px solid var(--line, #242d42) !important;
	border-radius: 16px !important;
	padding: 24px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
	position: relative !important;
}
.child-service-card:hover,
.tools-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(96, 165, 250, 0.45) !important;
	box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 0 16px rgba(59, 130, 246, 0.15) !important;
}
.child-service-header,
.tools-card-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 16px !important;
}
.child-service-icon,
.tools-card-icon {
	font-size: 28px !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.child-service-tag,
.tools-card-tag {
	background: rgba(37, 99, 235, 0.15) !important;
	border: 1px solid rgba(37, 99, 235, 0.3) !important;
	color: #60a5fa !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	letter-spacing: 0.01em !important;
	white-space: nowrap !important;
	max-width: 75% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.child-service-name,
.tools-card-title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	line-height: 1.35 !important;
}
.child-service-link,
.tools-card-link {
	color: #ffffff !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}
.child-service-link:hover,
.tools-card-link:hover {
	color: #60a5fa !important;
	text-decoration: none !important;
}
.child-service-desc,
.tools-card-desc {
	font-size: 14.5px !important;
	color: var(--muted, #94a3b8) !important;
	line-height: 1.6 !important;
	margin-bottom: 24px !important;
}
.child-service-btn,
.tools-card-btn {
	display: inline-block !important;
	background: var(--accent, #3b82f6) !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	width: 100% !important;
	text-align: center !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25) !important;
	transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
.child-service-btn:hover,
.tools-card-btn:hover {
	background: #2563eb !important;
	color: #ffffff !important;
	opacity: 0.95 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(37, 99, 235, 0.4) !important;
	text-decoration: none !important;
}
@media (max-width: 576px) {
	.child-services-grid,
	.tools-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	.child-service-card,
	.tools-card {
		padding: 20px !important;
	}
}

/* ==========================================================================
   OG & Twitter Cards Generator Preview Styles
   ========================================================================== */
.og-layout-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.2fr) minmax(360px, 440px) !important;
	gap: 28px !important;
	align-items: start !important;
}
@media (max-width: 991px) {
	.og-layout-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
}
.og-preview-sticky {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 24px !important;
}
.og-platform-tabs {
	display: flex !important;
	gap: 6px !important;
	margin-bottom: 16px !important;
	background: rgba(255, 255, 255, 0.05) !important;
	padding: 5px !important;
	border-radius: 10px !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	overflow-x: auto !important;
}
.og-tab-btn {
	flex: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	padding: 8px 10px !important;
	background: transparent !important;
	color: #94a3b8 !important;
	border: none !important;
	border-radius: 7px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	transition: all 0.2s ease !important;
}
.og-tab-btn:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.08) !important;
}
.og-tab-btn.active {
	background: #2563eb !important;
	color: #ffffff !important;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35) !important;
}
.og-card-container {
	background: #111827 !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 14px !important;
	padding: 16px !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
	max-width: 440px !important;
	margin: 0 auto !important;
}
.og-platform-view {
	display: none;
}
.og-platform-view.active {
	display: block !important;
}
/* Telegram Preview */
.tg-preview-box {
	background: #18222d !important;
	border-left: 3px solid #3390ec !important;
	border-radius: 8px !important;
	padding: 10px 14px !important;
	color: #f5f5f5 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	overflow: hidden !important;
}
.tg-site-name {
	color: #3390ec !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	margin-bottom: 4px !important;
}
.tg-title {
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	margin: 0 0 4px 0 !important;
	line-height: 1.35 !important;
	word-break: break-word !important;
}
.tg-desc {
	color: #a2b5c7 !important;
	font-size: 13px !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.35 !important;
	word-break: break-word !important;
}
.tg-image-box {
	margin-bottom: 8px !important;
	border-radius: 6px !important;
	overflow: hidden !important;
	max-height: 200px !important;
	background: #0f172a !important;
}
.tg-image-box img {
	width: 100% !important;
	max-height: 200px !important;
	object-fit: cover !important;
	display: block !important;
}
.tg-domain {
	color: #708499 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}
/* VK Preview */
.vk-preview-box {
	background: #222222 !important;
	border: 1px solid #333333 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	font-family: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", sans-serif !important;
}
.vk-image-box {
	max-height: 190px !important;
	background: #141414 !important;
	overflow: hidden !important;
}
.vk-image-box img {
	width: 100% !important;
	max-height: 190px !important;
	object-fit: cover !important;
	display: block !important;
}
.vk-content-box {
	padding: 10px 12px !important;
}
.vk-domain {
	color: #828282 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	margin-bottom: 3px !important;
	display: block !important;
}
.vk-title {
	color: #e1e3e6 !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	margin: 0 0 4px 0 !important;
	line-height: 1.35 !important;
}
.vk-desc {
	color: #939393 !important;
	font-size: 12px !important;
	margin: 0 !important;
	line-height: 1.35 !important;
}
/* WhatsApp Preview */
.wa-preview-box {
	background: #0b141a !important;
	border-radius: 8px !important;
	padding: 8px !important;
	border: 1px solid #1f2c34 !important;
	max-width: 360px !important;
	margin: 0 auto !important;
}
.wa-card-bubble {
	background: #1f2c34 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
}
.wa-image-box {
	max-height: 170px !important;
	overflow: hidden !important;
	background: #111b21 !important;
}
.wa-image-box img {
	width: 100% !important;
	max-height: 170px !important;
	object-fit: cover !important;
	display: block !important;
}
.wa-meta-box {
	padding: 8px 10px !important;
}
.wa-title {
	color: #e9edef !important;
	font-weight: 500 !important;
	font-size: 13px !important;
	margin: 0 0 3px 0 !important;
	line-height: 1.3 !important;
}
.wa-desc {
	color: #8696a0 !important;
	font-size: 12px !important;
	margin: 0 0 3px 0 !important;
	line-height: 1.3 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}
.wa-domain {
	color: #8696a0 !important;
	font-size: 11px !important;
}
/* Twitter / X Preview */
.tw-preview-box {
	background: #000000 !important;
	border: 1px solid #2f3336 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
.tw-image-box {
	max-height: 190px !important;
	overflow: hidden !important;
	background: #16181c !important;
}
.tw-image-box img {
	width: 100% !important;
	max-height: 190px !important;
	object-fit: cover !important;
	display: block !important;
}
.tw-meta-box {
	padding: 10px 12px !important;
}
.tw-domain {
	color: #71767b !important;
	font-size: 12px !important;
	margin-bottom: 2px !important;
	display: block !important;
}
.tw-title {
	color: #e7e9ea !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	margin: 0 0 3px 0 !important;
	line-height: 1.3 !important;
}
.tw-desc {
	color: #71767b !important;
	font-size: 12px !important;
	margin: 0 !important;
	line-height: 1.35 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}
/* Скрытие блоков картинок если картинки нет */
.og-img-empty {
	display: none !important;
}




/* ==========================================================================
   Инструмент: Генератор QR-кодов онлайн (.tools-qr-generator)
   Премиальная темная дизайн-система, 100% контрастность и читаемость
   ========================================================================== */

.tools-qr-generator {
	padding-top: 24px;
	padding-bottom: 60px;
	color: #e2e8f0;
}

/* Хлебные крошки */
.tools-qr-generator .tools-hero-eyebrow {
	font-size: 13px;
	color: #64748b !important;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.tools-qr-generator .tools-hero-eyebrow a {
	color: #3b82f6 !important;
	text-decoration: none;
	transition: color 0.2s;
}
.tools-qr-generator .tools-hero-eyebrow a:hover {
	color: #60a5fa !important;
	text-decoration: underline;
}
.tools-qr-generator .tools-hero-eyebrow .active {
	color: #94a3b8 !important;
	font-weight: 500;
}

/* Заголовок и подзаголовок */
.tools-qr-generator .tools-header h1 {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	letter-spacing: -0.02em;
}
.tools-qr-generator .tool-subtitle {
	font-size: 15.5px !important;
	color: #94a3b8 !important;
	max-width: 860px;
	line-height: 1.6 !important;
	margin-bottom: 28px !important;
}

/* Табы типов данных */
.tools-qr-generator .qr-type-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
	background: #11151c !important;
	border: 1px solid #1e2638 !important;
	padding: 10px;
	border-radius: 14px;
}
.tools-qr-generator .qr-type-tab {
	background: #161c2b !important;
	border: 1px solid #28334e !important;
	border-radius: 10px;
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 600;
	color: #cbd5e1 !important;
	cursor: pointer;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.tools-qr-generator .qr-type-tab:hover {
	background: #1e283d !important;
	border-color: #3b82f6 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}
.tools-qr-generator .qr-type-tab.active {
	background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
	border-color: #3b82f6 !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}
.tools-qr-generator .qr-type-tab .tab-icon {
	font-size: 15px;
	line-height: 1;
}

/* Сетка основного конструктора */
.tools-qr-generator .qr-grid {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 24px;
	align-items: start;
}
@media (max-width: 991px) {
	.tools-qr-generator .qr-grid {
		grid-template-columns: 1fr;
	}
}

/* Карточки настроек */
.tools-qr-generator .qr-card-box {
	background: #11151c !important;
	border: 1px solid #1e2638 !important;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
	margin-bottom: 24px;
}
.tools-qr-generator .qr-card-box h3 {
	margin-top: 0 !important;
	margin-bottom: 18px !important;
	font-size: 18px !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
}

/* Поля формы и лейблы */
.tools-qr-generator .field-label {
	display: block !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	color: #e2e8f0 !important;
	margin-bottom: 6px !important;
}
.tools-qr-generator .field-label.required::after {
	content: " *" !important;
	color: #ef4444 !important;
}
.tools-qr-generator .field-hint {
	display: block !important;
	font-size: 12.5px !important;
	color: #8b93a3 !important;
	margin-top: 6px !important;
	line-height: 1.4 !important;
}

.tools-qr-generator .row-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 600px) {
	.tools-qr-generator .row-fields {
		grid-template-columns: 1fr;
	}
}
.tools-qr-generator .form-group {
	margin-bottom: 18px;
}
.tools-qr-generator .form-group:last-child {
	margin-bottom: 0;
}

/* Контролы ввода */
.tools-qr-generator .form-control.qr-input,
.tools-qr-generator input.form-control.qr-input,
.tools-qr-generator textarea.form-control.qr-input,
.tools-qr-generator select.form-control.qr-input {
	width: 100% !important;
	background: #161c2b !important;
	border: 1px solid #28334e !important;
	border-radius: 10px !important;
	padding: 11px 14px !important;
	font-size: 14px !important;
	color: #ffffff !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	box-sizing: border-box !important;
}
.tools-qr-generator .form-control.qr-input::placeholder {
	color: #64748b !important;
}
.tools-qr-generator .form-control.qr-input:focus {
	border-color: #3b82f6 !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2) !important;
}
.tools-qr-generator select.form-control.qr-input option {
	background: #161a23 !important;
	color: #ffffff !important;
	padding: 8px !important;
}

/* Инпут с префиксом (@) */
.tools-qr-generator .input-with-prefix {
	display: flex;
	align-items: stretch;
}
.tools-qr-generator .input-with-prefix .prefix {
	background: #1e283d !important;
	border: 1px solid #28334e !important;
	border-right: none !important;
	padding: 10px 14px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	color: #94a3b8 !important;
	border-top-left-radius: 10px !important;
	border-bottom-left-radius: 10px !important;
	display: flex !important;
	align-items: center !important;
}
.tools-qr-generator .input-with-prefix input {
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
}

/* Чекбокс */
.tools-qr-generator .checkbox-group label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	color: #cbd5e1 !important;
	font-size: 13.5px !important;
	cursor: pointer !important;
	user-select: none !important;
}
.tools-qr-generator .checkbox-group input[type="checkbox"] {
	accent-color: #3b82f6 !important;
	width: 16px !important;
	height: 16px !important;
	cursor: pointer !important;
}

/* Выбор цветов */
.tools-qr-generator .color-picker-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}
.tools-qr-generator .color-picker {
	width: 44px;
	height: 42px;
	border: 1px solid #28334e !important;
	border-radius: 8px !important;
	cursor: pointer;
	padding: 2px;
	background: #161c2b !important;
}
.tools-qr-generator .color-hex {
	width: 120px !important;
	text-transform: uppercase !important;
	font-family: monospace, monospace !important;
	font-weight: 600 !important;
}
.tools-qr-generator .color-presets {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	align-items: center;
}
.tools-qr-generator .color-dot {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	cursor: pointer;
	transition: transform 0.15s ease, border-color 0.15s ease;
	border: 2px solid #28334e;
}
.tools-qr-generator .color-dot:hover {
	transform: scale(1.2);
	border-color: #3b82f6;
}

/* Загрузка логотипа */
.tools-qr-generator .logo-upload-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.tools-qr-generator .btn-upload-logo {
	background: #1e283d !important;
	border: 1px solid #334263 !important;
	color: #60a5fa !important;
	padding: 10px 18px !important;
	border-radius: 8px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}
.tools-qr-generator .btn-upload-logo:hover {
	background: #2563eb !important;
	border-color: #3b82f6 !important;
	color: #ffffff !important;
}
.tools-qr-generator .btn-remove-logo {
	background: rgba(239, 68, 68, 0.15) !important;
	border: 1px solid rgba(239, 68, 68, 0.35) !important;
	color: #f87171 !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}
.tools-qr-generator .btn-remove-logo:hover {
	background: #ef4444 !important;
	color: #ffffff !important;
}
.tools-qr-generator .logo-status {
	font-size: 13px !important;
	color: #94a3b8 !important;
}

/* Правая колонка / Превью */
.tools-qr-generator .preview-box {
	text-align: center;
	position: sticky;
	top: 24px;
}
.tools-qr-generator .preview-box-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 18px;
}
.tools-qr-generator .preview-box-header h3 {
	margin: 0 !important;
}
.tools-qr-generator .live-badge {
	background: rgba(16, 185, 129, 0.15) !important;
	color: #34d399 !important;
	border: 1px solid rgba(16, 185, 129, 0.35) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	padding: 4px 10px !important;
	border-radius: 20px !important;
}
.tools-qr-generator .qr-image-wrap {
	background: #ffffff !important;
	border: 2px dashed #28334e !important;
	border-radius: 12px;
	padding: 20px;
	min-height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-bottom: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.tools-qr-generator .qr-preview-image {
	max-width: 100%;
	max-height: 260px;
	height: auto;
	display: block;
	border-radius: 4px;
}
.tools-qr-generator .qr-spinner {
	position: absolute;
	inset: 0;
	background: rgba(17, 21, 28, 0.75) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	z-index: 5;
}
.tools-qr-generator .spinner-border {
	width: 36px;
	height: 36px;
	border: 4px solid #28334e;
	border-top-color: #3b82f6;
	border-radius: 50%;
	animation: qr-spin 0.8s linear infinite;
}
@keyframes qr-spin {
	to { transform: rotate(360deg); }
}

/* Кнопки действий */
.tools-qr-generator .qr-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 18px;
}
.tools-qr-generator .qr-actions .btn {
	border-radius: 10px !important;
	font-weight: 700 !important;
	padding: 13px !important;
	font-size: 14.5px !important;
	cursor: pointer !important;
	border: none !important;
	transition: all 0.2s ease !important;
	display: block !important;
	width: 100% !important;
	text-align: center !important;
}
.tools-qr-generator .qr-actions .btn:hover {
	transform: translateY(-1px);
}
.tools-qr-generator .btn-success {
	background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35) !important;
}
.tools-qr-generator .btn-success:hover {
	background: linear-gradient(135deg, #34d399 0%, #059669 100%) !important;
}
.tools-qr-generator .btn-primary {
	background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
}
.tools-qr-generator .btn-primary:hover {
	background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
}
.tools-qr-generator .btn-default {
	background: #1a2233 !important;
	border: 1px solid #2d3954 !important;
	color: #e2e8f0 !important;
}
.tools-qr-generator .btn-default:hover {
	background: #242f47 !important;
	border-color: #3b82f6 !important;
	color: #ffffff !important;
}

/* Метаинформация QR-кода */
.tools-qr-generator .qr-info-meta {
	border-top: 1px solid #1e2638 !important;
	padding-top: 14px !important;
	font-size: 13px !important;
	text-align: left;
}
.tools-qr-generator .meta-row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 6px;
}
.tools-qr-generator .meta-lbl {
	color: #8b93a3 !important;
}
.tools-qr-generator .meta-val {
	font-weight: 600 !important;
	color: #60a5fa !important;
}

/* Секция FAQ и рекомендаций */
.tools-qr-generator .qr-faq-section {
	margin-top: 40px;
	background: #11151c !important;
	border: 1px solid #1e2638 !important;
	border-radius: 16px !important;
	padding: 32px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.tools-qr-generator .qr-faq-section h2 {
	font-size: 24px !important;
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em;
}
.tools-qr-generator .qr-faq-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
@media (max-width: 768px) {
	.tools-qr-generator .qr-faq-grid {
		grid-template-columns: 1fr;
	}
}
.tools-qr-generator .faq-item {
	background: #161c2b !important;
	border: 1px solid #232c42 !important;
	border-radius: 12px !important;
	padding: 22px !important;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
.tools-qr-generator .faq-item:hover {
	transform: translateY(-2px);
	border-color: #3b82f6 !important;
}
.tools-qr-generator .faq-item h4 {
	margin-top: 0 !important;
	margin-bottom: 10px !important;
	font-size: 16px !important;
	color: #ffb454 !important;
	font-weight: 700 !important;
}
.tools-qr-generator .faq-item p {
	margin: 0 !important;
	font-size: 14px !important;
	color: #cbd5e1 !important;
	line-height: 1.6 !important;
}
.tools-qr-generator .faq-item strong {
	color: #ffffff !important;
	font-weight: 700 !important;
}
.tools-qr-generator .faq-item code {
	background: #1e283d !important;
	color: #60a5fa !important;
	padding: 2px 6px !important;
	border-radius: 4px !important;
	font-size: 12.5px !important;
	border: 1px solid #28334e;
}
.tools-qr-generator .faq-item a {
	color: #38bdf8 !important;
	text-decoration: underline !important;
	transition: color 0.2s;
}
.tools-qr-generator .faq-item a:hover {
	color: #7dd3fc !important;
}

/* Main Header Background Image & Overlay Z-Index Fix */
.main-header-bg-wrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: 1 !important; pointer-events: none; }
.main-header-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgb(17, 38, 60); mix-blend-mode: multiply; z-index: 2 !important; pointer-events: none; }

/* Home Page Light Blocks & Two-Color Headings Fix */
body.home-page{background-color:#ffffff !important;color:#212121 !important;}
body.home-page .main-block-2-color h2,body.home-page .main-header h2,body.home-page .header-2 h2,body.home-page .header-3 h2,body.home-page .block-8 h2,body.home-page .block-82 h2,body.home-page .main-block-8 h2,body.home-page .layout-feedback-widget h2{color:#ffffff !important;}
body.home-page .layout-feedback-widget h2 span{color:#b51829 !important;}
body.home-page .main-block-3 h2,body.home-page .main-block-5 h2,body.home-page .main-block-6 h2,body.home-page .results-section h2,body.home-page .main-block-14 h2,body.home-page .main-block-17 h2,body.home-page .faq-section h2,body.home-page .block-51 h2,body.home-page .block-6 h2{color:#212121 !important;}
body.home-page .color-name{color:#f2722a !important;}
body.home-page .main-block-5{padding:80px 0 !important;background-color:#f8fafc !important;margin-bottom:0 !important;}
.main-block-6{background-color:#ECF4FA !important;padding:80px 0 40px 0 !important;margin-top:0 !important;}
.main-block-6 .block-6 h2{margin-top:0 !important;margin-bottom:30px !important;text-align:center !important;color:#212121 !important;}
.main-block-6 .block-6.results-section{padding-top:60px !important;padding-bottom:40px !important;}
.main-block-6 .block-6.results-section h2{margin-top:0 !important;margin-bottom:40px !important;text-align:center !important;color:#212121 !important;}
@media (max-width:768px){.main-block-6{padding:40px 0 20px 0 !important;}.main-block-6 .block-6.results-section{padding-top:30px !important;padding-bottom:20px !important;}}

@media (max-width: 420px) {
	.header-1.online-call.site-header__btn.btn-order.button.callback.btn-order-service.mobile-hidden-order-btn,
	.header-1.online-call.site-header__btn.btn-order.button.callback.btn-order-service,
	.site-header__top .header-1.online-call,
	.site-header__top .site-header__btn,
	.site-header__top .btn-order,
	.site-header__top .button.callback,
	.btn-order-service,
	.mobile-hidden-order-btn {
		display: none !important;
	}
}

/* ============================================================
   MOBILE SPACING & FLOATING CONTROLS ENHANCEMENT (ALL PAGES)
   ============================================================ */
@media (max-width: 992px) {
	/* Нормализация отступа шапки на всех внутренних страницах */
	body:not(.home-page),
	body.razrabotka-sajta-page {
		padding-top: 49px !important;
		margin-top: 0 !important;
	}

	body:not(.home-page) .main-wrapper,
	body.razrabotka-sajta-page .main-wrapper,
	body:not(.home-page) .main-content,
	body.razrabotka-sajta-page .main-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	/* Отступ первого блока hero / контента на внутренних страницах от шапки */
	.razrabotka-sajta-page .hero,
	.landing-hero,
	header.hero,
	.hero,
	.static-page-dark-wrap,
	.static-page-dark-wrap-padded,
	.doc-page-container {
		padding-top: 14px !important;
		margin-top: 0 !important;
	}

	.razrabotka-sajta-page .hero-inner {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	/* Защитный отступ футера снизу */
	.site-footer {
		padding-bottom: 90px !important;
	}

	/* Плавающая оранжевая кнопка телефона внизу слева */
	.site-footer__phone,
	.block.footer-phone {
		position: fixed !important;
		bottom: 16px !important;
		bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
		left: 14px !important;
		z-index: 10000005 !important;
		margin: 0 !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		padding: 0 !important;
		pointer-events: auto !important;
	}

	.site-footer__phone .callback-phone,
	.block.footer-phone .callback-phone,
	.site-footer__phone .button.callback-phone,
	.block.footer-phone .button.callback-phone,
	a.button.callback-phone {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: calc(100vw - 92px) !important;
		max-width: 320px !important;
		height: 52px !important;
		box-sizing: border-box !important;
		font-size: 16.5px !important;
		padding: 0 16px !important;
		font-weight: 700 !important;
		background: #fea835 !important;
		background-color: #fea835 !important;
		color: #111827 !important;
		border-radius: 12px !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
		text-decoration: none !important;
		letter-spacing: -0.2px !important;
		line-height: 1 !important;
		border: none !important;
		pointer-events: auto !important;
		cursor: pointer !important;
		transition: transform 0.2s ease, background-color 0.2s ease !important;
	}

	/* Круглая зеленая кнопка AI чат-бота внизу справа */
	#r9-bot-launcher {
		position: fixed !important;
		bottom: 16px !important;
		bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
		right: 14px !important;
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		min-height: 52px !important;
		padding: 0 !important;
		border-radius: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 10000005 !important;
		background: #388e3c !important;
		background-color: #388e3c !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
		cursor: pointer !important;
		pointer-events: auto !important;
		transition: transform 0.2s ease !important;
	}

	#r9-bot-launcher .r9-bot-text {
		display: none !important;
	}

	/* Куки баннер на мобильных экранах располагается выше плавающих кнопок, чтобы не перекрывать их */
	.r9-cookie-banner {
		bottom: 74px !important;
		z-index: 10000002 !important;
	}
}

@media (min-width: 993px) {
	.site-footer__phone,
	.block.footer-phone {
		display: none !important;
	}
}

/* ==========================================================================
   Mobile & Navigation & Form Adjustments (Tasks 1-10)
   ========================================================================== */

/* 1 & 5. Скрытие плавающих кнопок телефона и чата при открытом меню и открытом AI-ассистенте */
body.mobile-menu-active .site-footer__phone,
body.mobile-menu-active .block.footer-phone,
body.mobile-menu-active a.button.callback-phone,
body.mobile-menu-active #r9-bot-launcher,
body.r9-bot-open .site-footer__phone,
body.r9-bot-open .block.footer-phone,
body.r9-bot-open a.button.callback-phone,
body.r9-bot-open #r9-bot-launcher {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* 2. Поведение окна AI-ассистента при мобильной клавиатуре и адаптации экрана */
@media (max-width: 480px) {
    #r9-bot-window {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        border: none !important;
        box-sizing: border-box !important;
        z-index: 1000005 !important;
    }
    #r9-bot-messages {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    #r9-bot-input-container {
        flex-shrink: 0 !important;
    }
}

/* 3. Рамка для меню навигации по материалу nav.landing-toc */
nav.landing-toc {
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 8px !important;
    padding: 10px !important;
}

/* 4. Активный пункт в мобильном меню */
@media (max-width: 992px) {
    .site-nav__item.mobile-open>.site-nav__link,
    .main-header .menu-top>ul>li.mobile-open>a {
        background: #161e2e !important;
        color: #dcf4ff !important;
    }
}

/* 6. Mega-menu sublink color */


/* 7. Mega-menu title color */


/* 8. Mega-menu inner links in razrabotka-sajta-page */


/* 9. Сертификаты и логотипы в 2 колонки на смартфонах <= 480px */
@media (max-width: 480px) {
    .cert-logos.grid-layout {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* 10. Оформление полей форм для всех разрешений */
.form-row-custom label {
    color: #1e293b !important;
}
.form-row-custom .form-control-custom {
    background: #ffffff !important;
    color: #000000 !important;
}

/* ==========================================================================
   Cross-site Layout, Header, Mobile & Anti-Border Normalization
   ========================================================================== */

/* Устранение любых непреднамеренных белых рамок на главной странице */
body.home-page,
body.home-page .main-wrapper,
body.home-page .main-content,
body.home-page #mainHeader,
body.home-page .main-header,
body.home-page .layout,
body.home-page .site-header {
	border: none !important;
	outline: none !important;
}

/* Кнопка "Заказать услугу" в шапке на десктопе по стандарту stte.ru */
.site-header__btn,
button.site-header__btn,
.site-header__top .button.callback,
.site-header__top button.callback {
	background-color: #f2722a !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 4px !important;
	padding: 10px 20px !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	outline: none !important;
	transition: background-color 0.2s ease !important;
}
.site-header__btn:hover,
button.site-header__btn:hover,
.site-header__top .button.callback:hover,
.site-header__top button.callback:hover {
	background-color: #e05e16 !important;
}

/* Кнопка на синем оффер-баннере главной страницы */
.main-block-2-color .button.callback,
.home-offer .button.callback,
.block.block-2 .button.callback {
	background: #ffffff !important;
	color: #0b1a26 !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 12px 28px !important;
	font-weight: 600 !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
	outline: none !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
}
.main-block-2-color .button.callback:hover,
.home-offer .button.callback:hover,
.block.block-2 .button.callback:hover {
	background: #f1f5f9 !important;
	transform: translateY(-1px) !important;
}

/* Четкая видимость логотипа десктоп/мобайл */
.site-header__logo .logo-desktop {
	display: inline-block !important;
}
.site-header__logo .logo-mobile {
	display: none !important;
}
@media (max-width: 768px) {
	.site-header__logo .logo-desktop {
		display: none !important;
	}
	.site-header__logo .logo-mobile {
		display: inline-block !important;
	}
}
@media (min-width: 769px) {
	.site-header__logo .logo-desktop {
		display: inline-block !important;
	}
	.site-header__logo .logo-mobile {
		display: none !important;
	}
}

/* 1 & 5. Скрытие плавающих кнопок телефона и чата при открытом меню и открытом AI-ассистенте */
body.mobile-menu-active .site-footer__phone,
body.mobile-menu-active .block.footer-phone,
body.mobile-menu-active a.button.callback-phone,
body.mobile-menu-active #r9-bot-launcher,
body.r9-bot-open .site-footer__phone,
body.r9-bot-open .block.footer-phone,
body.r9-bot-open a.button.callback-phone,
body.r9-bot-open #r9-bot-launcher {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* 2. Поведение окна AI-ассистента при мобильной клавиатуре и адаптации экрана */
@media (max-width: 480px) {
	#r9-bot-window {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		height: 100% !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		border-radius: 0 !important;
		border: none !important;
		box-sizing: border-box !important;
		z-index: 1000005 !important;
	}
	#r9-bot-messages {
		flex: 1 1 auto !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}
	#r9-bot-input-container {
		flex-shrink: 0 !important;
	}
}

/* 3. Рамка для меню навигации по материалу nav.landing-toc */
nav.landing-toc {
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 8px !important;
	padding: 10px !important;
}

/* 4. Активный пункт в мобильном меню */
@media (max-width: 992px) {
	.site-nav__item.mobile-open > .site-nav__link,
	.main-header .menu-top > ul > li.mobile-open > a {
		background: #161e2e !important;
		color: #dcf4ff !important;
	}
}

/* 6, 7, 8. Мобильное выпадающее меню и подменю: цвет ссылок и текста белый */
@media (max-width: 992px) {
	.site-nav__link,
	.main-header .menu-top > ul > li > a,
	.menu-top > ul > li > a,
	.site-nav__item.mobile-open > .site-nav__link,
	.main-header .menu-top > ul > li.mobile-open > a,
	.mega-menu a,
	.mega-menu__inner a,
	.mega-menu__title,
	.mega-menu__col-title,
	.mega-menu__inner a.mega-menu__col-title,
	.mega-menu__sublink,
	.mega-menu__sublist a,
	.razrabotka-sajta-page .mega-menu__inner a,
	.razrabotka-sajta-page .mega-menu a {
		color: #ffffff !important;
	}
	.mega-menu__sublink-arrow {
		color: #ffffff !important;
		opacity: 0.85 !important;
	}
	.site-nav__arrow {
		color: #ffffff !important;
		opacity: 0.9 !important;
	}
}

/* ==========================================================================
   Выравнивание кнопки телефона и кружка AI-ассистента + Черный цвет шрифта телефона
   ========================================================================== */
@media (max-width: 992px) {
	/* Обертка кнопки телефона (позиционирование строго вровень с ботом) */
	.site-footer__phone,
	.block.footer-phone {
		position: fixed !important;
		bottom: 16px !important;
		bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
		left: 14px !important;
		right: auto !important;
		top: auto !important;
		z-index: 10000005 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: none !important;
		box-sizing: border-box !important;
	}

	/* Оранжевая плашка телефона: черный шрифт текста (#000000) */
	.site-footer__phone .callback-phone,
	.block.footer-phone .callback-phone,
	.site-footer__phone .button.callback-phone,
	.block.footer-phone .button.callback-phone,
	.site-footer__phone a,
	.block.footer-phone a,
	a.button.callback-phone {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: calc(100vw - 92px) !important;
		max-width: 320px !important;
		height: 52px !important;
		min-height: 52px !important;
		max-height: 52px !important;
		box-sizing: border-box !important;
		font-size: 16px !important;
		padding: 0 16px !important;
		font-weight: 700 !important;
		background: #fea835 !important;
		background-color: #fea835 !important;
		color: #000000 !important;
		border-radius: 14px !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
		text-decoration: none !important;
		letter-spacing: -0.2px !important;
		line-height: 1 !important;
		border: none !important;
		pointer-events: auto !important;
		cursor: pointer !important;
		transition: transform 0.2s ease, background-color 0.2s ease !important;
	}

	.site-footer__phone .callback-phone:hover,
	.block.footer-phone .callback-phone:hover,
	.site-footer__phone a:hover,
	.block.footer-phone a:hover,
	a.button.callback-phone:hover {
		background: #f59e0b !important;
		background-color: #f59e0b !important;
		color: #000000 !important;
	}

	/* Круглая зеленая кнопка AI-ассистента: строго по одному уровню и высоте (52px) */
	#r9-bot-launcher {
		position: fixed !important;
		bottom: 16px !important;
		bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
		right: 14px !important;
		left: auto !important;
		top: auto !important;
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		min-height: 52px !important;
		max-width: 52px !important;
		max-height: 52px !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		z-index: 10000005 !important;
		visibility: visible !important;
		opacity: 1 !important;
		background: #388e3c !important;
		background-color: #388e3c !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
		cursor: pointer !important;
		pointer-events: auto !important;
		box-sizing: border-box !important;
		transition: transform 0.2s ease !important;
	}

	#r9-bot-launcher:hover {
		transform: scale(1.06) !important;
	}

	#r9-bot-launcher .r9-bot-text {
		display: none !important;
	}

	#r9-bot-launcher .r9-bot-launcher-icon-wrapper {
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 1 !important;
	}

	#r9-bot-launcher .r9-bot-svg-icon {
		width: 26px !important;
		height: 26px !important;
		fill: #ffffff !important;
		display: block !important;
	}

	/* Устранение большого отступа от шапки до тела сайта на всех внутренних страницах */
	body:not(.home-page),
	body.razrabotka-sajta-page {
		padding-top: 48px !important;
		margin-top: 0 !important;
	}

	body:not(.home-page) .main-wrapper,
	body.razrabotka-sajta-page .main-wrapper,
	body:not(.home-page) .main-content,
	body.razrabotka-sajta-page .main-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	.razrabotka-sajta-page .hero,
	.landing-hero,
	header.hero,
	.hero,
	.static-page-dark-wrap,
	.static-page-dark-wrap-padded,
	.doc-page-container {
		padding-top: 14px !important;
		margin-top: 0 !important;
	}

	.razrabotka-sajta-page .hero-inner {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.razrabotka-sajta-page .eyebrow {
		margin-top: 0 !important;
		margin-bottom: 10px !important;
	}

	/* На главной странице: убираем лишний зазор перед контентом */
	body.home-page .main-wrapper,
	body.home-page .main-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	body.home-page #mainHeader,
	body.home-page .main-header,
	body.home-page .home-header {
		padding-top: 80px !important;
		margin-top: 0 !important;
	}
}

@media (max-width: 480px) {
	.site-footer__phone,
	.block.footer-phone {
		bottom: 12px !important;
		bottom: max(12px, env(safe-area-inset-bottom, 12px)) !important;
		left: 10px !important;
	}

	.site-footer__phone .callback-phone,
	.block.footer-phone .callback-phone,
	.site-footer__phone .button.callback-phone,
	.block.footer-phone .button.callback-phone,
	.site-footer__phone a,
	.block.footer-phone a,
	a.button.callback-phone {
		font-size: 14.5px !important;
		height: 48px !important;
		min-height: 48px !important;
		max-height: 48px !important;
		width: calc(100vw - 82px) !important;
		padding: 0 10px !important;
		border-radius: 12px !important;
	}

	#r9-bot-launcher {
		bottom: 12px !important;
		bottom: max(12px, env(safe-area-inset-bottom, 12px)) !important;
		right: 10px !important;
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
	}

	#r9-bot-launcher .r9-bot-svg-icon {
		width: 24px !important;
		height: 24px !important;
	}

	.razrabotka-sajta-page .hero,
	.landing-hero,
	header.hero,
	.hero {
		padding-top: 10px !important;
	}

	.razrabotka-sajta-page .eyebrow {
		margin-top: 0 !important;
		margin-bottom: 8px !important;
	}
}

@media (max-width: 360px) {
	.site-footer__phone,
	.block.footer-phone {
		bottom: 10px !important;
		bottom: max(10px, env(safe-area-inset-bottom, 10px)) !important;
		left: 8px !important;
	}

	.site-footer__phone .callback-phone,
	.block.footer-phone .callback-phone,
	.site-footer__phone .button.callback-phone,
	.block.footer-phone .button.callback-phone,
	.site-footer__phone a,
	.block.footer-phone a,
	a.button.callback-phone {
		font-size: 13.5px !important;
		width: calc(100vw - 74px) !important;
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
		padding: 0 8px !important;
		border-radius: 10px !important;
	}

	#r9-bot-launcher {
		bottom: 10px !important;
		bottom: max(10px, env(safe-area-inset-bottom, 10px)) !important;
		right: 8px !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		max-width: 44px !important;
		max-height: 44px !important;
	}

	#r9-bot-launcher .r9-bot-svg-icon {
		width: 22px !important;
		height: 22px !important;
	}
}

/* На главной странице в блоке block-4.grid для мобильной версии grid-template-columns: 1fr !important */
@media (max-width: 992px) {
	.block-4.grid,
	body.home-page .block-4.grid,
	.main-wrapper .block-4.grid,
	.block.block-4.grid {
		grid-template-columns: 1fr !important;
		text-align: center !important;
		gap: 20px !important;
	}
	.svg-block-42,
	.img-svg-block-42,
	body.home-page .svg-block-42,
	body.home-page .img-svg-block-42 {
		margin: 0 auto !important;
		justify-content: center !important;
	}
}
@media (max-width: 768px) {
	.block-4.grid,
	body.home-page .block-4.grid,
	.main-wrapper .block-4.grid,
	.block.block-4.grid {
		grid-template-columns: 1fr !important;
		text-align: center !important;
		gap: 20px !important;
	}
}
@media (max-width: 480px) {
	.block-4.grid,
	body.home-page .block-4.grid,
	.main-wrapper .block-4.grid,
	.block.block-4.grid {
		grid-template-columns: 1fr !important;
		text-align: center !important;
		gap: 15px !important;
	}
}

/* 9. Сертификаты и логотипы в 2 колонки на смартфонах <= 480px */
@media (max-width: 480px) {
	.cert-logos.grid-layout {
		grid-template-columns: 1fr 1fr !important;
	}
}

/* 10. Оформление полей форм для всех разрешений */
.form-row-custom label {
	color: #1e293b !important;
}
.form-row-custom .form-control-custom {
	background: #ffffff !important;
	color: #000000 !important;
}



/* ==========================================================================
   Mobile Typography Standardization & Header Spacing
   h1: 21px, h2: 18px, h3: 16px
   ========================================================================== */
@media (max-width: 992px) {
	/* На главной странице: комфортный отступ от фиксированной шапки до h1 */
	body.home-page #mainHeader,
	body.home-page .main-header,
	body.home-page .home-header {
		padding-top: 80px !important;
		margin-top: 0 !important;
	}
	body.home-page .header-2 h1,
	body.home-page .home-header h1,
	body.home-page .main-header h1 {
		margin-top: 24px !important;
		margin-bottom: 16px !important;
	}
}

@media (max-width: 768px) {
	/* H1 - 21px across ALL pages, home, landings, tools */
	h1,
	.h1,
	.home-header h1,
	.main-header h1,
	.header-2 h1,
	.razrabotka-sajta-page h1,
	.razrabotka-sajta-page .hero h1,
	.landing-hero h1,
	header.hero h1,
	.hero h1,
	.static-page-dark-wrap h1,
	.doc-page-container h1,
	.doc-main-title,
	.r9-prototypes-h1,
	.tools-header h1,
	.tool-page-header h1,
	.tool-title,
	.serp-h1-title,
	.tools-seo-analyzer h1,
	.bulk-domain-checker-container h1,
	.domain-mail-audit-container h1,
	.tools-utm-generator h1,
	.tool-page-header .tools-hero-h1 {
		font-size: 21px !important;
		line-height: 1.28 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	/* H2 - 18px across ALL pages */
	h2,
	.h2,
	.razrabotka-sajta-page h2,
	.razrabotka-sajta-page .hero h2,
	.hero h2,
	.landing-hero h2,
	.main-block-2-color h2,
	.main-block-services h2,
	.services-section h2,
	.section-title,
	.block-title,
	.doc-section h2,
	.crawl-title-group h2,
	.utm-info-section h2,
	.tools-card-title,
	.serp-proto-section-title,
	.mail-domain-title,
	.tool-page-header h2 {
		font-size: 18px !important;
		line-height: 1.32 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}

	/* H3 - 16px across ALL pages */
	h3,
	.h3,
	.razrabotka-sajta-page h3,
	.hero h3,
	.tools-card-title,
	.info-card h3,
	.result-header h3,
	.serp-success-banner h3,
	.serp-proto-block-title,
	.mail-detail-card-header h3 {
		font-size: 16px !important;
		line-height: 1.35 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}
}

@media (max-width: 480px) {
	body.home-page #mainHeader,
	body.home-page .main-header,
	body.home-page .home-header {
		padding-top: 76px !important;
		margin-top: 0 !important;
	}
	body.home-page .header-2 h1,
	body.home-page .home-header h1,
	body.home-page .main-header h1 {
		margin-top: 20px !important;
		margin-bottom: 14px !important;
	}

	h1,
	.h1,
	.home-header h1,
	.main-header h1,
	.header-2 h1,
	.razrabotka-sajta-page h1,
	.razrabotka-sajta-page .hero h1,
	.landing-hero h1,
	header.hero h1,
	.hero h1,
	.static-page-dark-wrap h1,
	.doc-page-container h1,
	.doc-main-title,
	.r9-prototypes-h1,
	.tools-header h1,
	.tool-page-header h1,
	.tool-title,
	.serp-h1-title,
	.tools-seo-analyzer h1,
	.bulk-domain-checker-container h1,
	.domain-mail-audit-container h1,
	.tools-utm-generator h1,
	.tool-page-header .tools-hero-h1 {
		font-size: 21px !important;
		line-height: 1.28 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	h2,
	.h2,
	.razrabotka-sajta-page h2,
	.hero h2,
	.landing-hero h2,
	.main-block-2-color h2,
	.main-block-services h2,
	.services-section h2,
	.section-title,
	.block-title,
	.doc-section h2,
	.crawl-title-group h2,
	.utm-info-section h2,
	.tools-card-title,
	.serp-proto-section-title,
	.mail-domain-title {
		font-size: 18px !important;
		line-height: 1.32 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}

	h3,
	.h3,
	.razrabotka-sajta-page h3,
	.hero h3,
	.tools-card-title,
	.info-card h3,
	.result-header h3,
	.serp-success-banner h3,
	.serp-proto-block-title,
	.mail-detail-card-header h3 {
		font-size: 16px !important;
		line-height: 1.35 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}
}

@media (max-width: 375px) {
	body.home-page #mainHeader,
	body.home-page .main-header,
	body.home-page .home-header {
		padding-top: 72px !important;
		margin-top: 0 !important;
	}
	body.home-page .header-2 h1,
	body.home-page .home-header h1,
	body.home-page .main-header h1 {
		margin-top: 18px !important;
		margin-bottom: 12px !important;
	}

	h1,
	.h1,
	.home-header h1,
	.main-header h1,
	.header-2 h1,
	.razrabotka-sajta-page h1,
	.razrabotka-sajta-page .hero h1,
	.landing-hero h1,
	header.hero h1,
	.hero h1,
	.static-page-dark-wrap h1,
	.doc-page-container h1,
	.doc-main-title,
	.r9-prototypes-h1,
	.tools-header h1,
	.tool-page-header h1,
	.tool-title,
	.serp-h1-title,
	.tools-seo-analyzer h1,
	.bulk-domain-checker-container h1,
	.domain-mail-audit-container h1,
	.tools-utm-generator h1,
	.tool-page-header .tools-hero-h1 {
		font-size: 21px !important;
		line-height: 1.28 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	h2,
	.h2,
	.razrabotka-sajta-page h2,
	.hero h2,
	.landing-hero h2,
	.main-block-2-color h2,
	.main-block-services h2,
	.services-section h2,
	.section-title,
	.block-title,
	.doc-section h2,
	.crawl-title-group h2,
	.utm-info-section h2,
	.tools-card-title,
	.serp-proto-section-title,
	.mail-domain-title {
		font-size: 18px !important;
		line-height: 1.32 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}

	h3,
	.h3,
	.razrabotka-sajta-page h3,
	.hero h3,
	.tools-card-title,
	.info-card h3,
	.result-header h3,
	.serp-success-banner h3,
	.serp-proto-block-title,
	.mail-detail-card-header h3 {
		font-size: 16px !important;
		line-height: 1.35 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}
}

/* ========================================================
   TAG VIEW REDESIGN: Каталог услуг, Hero-блок, Тизеры со стилем .child-service-card
   ======================================================== */
.tag-view-wrap {
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 24px 20px 80px 20px !important;
	box-sizing: border-box !important;
}

.tag-breadcrumbs {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin-bottom: 24px !important;
	font-size: 13px !important;
	color: #94a3b8 !important;
}

.tag-bc-link {
	color: #64748b !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.tag-bc-link:hover {
	color: #38bdf8 !important;
	text-decoration: underline !important;
}

.tag-bc-sep {
	color: #475569 !important;
}

.tag-bc-current {
	color: #e2e8f0 !important;
	font-weight: 500 !important;
}

/* Hero / Вводный блок страницы тега */
.tag-hero-card {
	background: #161b26 !important;
	border: 1px solid #242d42 !important;
	border-radius: 16px !important;
	padding: 32px !important;
	margin-bottom: 48px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
	position: relative !important;
}

.tag-pill-badge {
	display: inline-block !important;
	padding: 4px 14px !important;
	border-radius: 9999px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #38bdf8 !important;
	background: rgba(56, 189, 248, 0.12) !important;
	border: 1px solid rgba(56, 189, 248, 0.25) !important;
	margin-bottom: 14px !important;
	letter-spacing: 0.02em !important;
}

.tag-hero-title {
	font-size: 34px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	line-height: 1.25 !important;
	margin: 0 0 12px 0 !important;
}

.tag-hero-promo {
	font-size: 16px !important;
	color: #94a3b8 !important;
	line-height: 1.55 !important;
	margin: 0 0 18px 0 !important;
}

.tag-hero-desc {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	background: #11151f !important;
	border: 1px solid #1e2638 !important;
	border-left: 3px solid #38bdf8 !important;
	border-radius: 10px !important;
	padding: 16px 20px !important;
	margin-top: 14px !important;
}

.tag-hero-desc-icon {
	flex-shrink: 0 !important;
	color: #38bdf8 !important;
	margin-top: 2px !important;
}

.tag-hero-desc-text {
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: #cbd5e1 !important;
}

.tag-hero-desc-text p {
	margin: 0 !important;
}

/* Секции каталога услуг и статей на странице тегов */
.tag-view-page .child-services-section {
	margin-bottom: 56px !important;
}

.tag-view-page .child-services-title {
	font-size: 26px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	text-align: center !important;
	margin: 10px 0 10px 0 !important;
	line-height: 1.3 !important;
}

.tag-view-page .child-services-lede {
	font-size: 15px !important;
	color: #94a3b8 !important;
	text-align: center !important;
	max-width: 760px !important;
	margin: 0 auto 32px auto !important;
	line-height: 1.55 !important;
}

.tag-count-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 26px !important;
	height: 26px !important;
	padding: 0 8px !important;
	border-radius: 13px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	background: rgba(56, 189, 248, 0.15) !important;
	border: 1px solid rgba(56, 189, 248, 0.3) !important;
	color: #60a5fa !important;
	vertical-align: middle !important;
	margin-left: 8px !important;
}

/* Превью-обложки для карточек child-service-card при наличии images */
.child-service-thumb {
	position: relative !important;
	width: 100% !important;
	height: 175px !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	margin-bottom: 16px !important;
	background: #0d111a !important;
}

.child-service-thumb a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.child-service-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.35s ease !important;
	display: block !important;
}

.child-service-card:hover .child-service-thumb img {
	transform: scale(1.05) !important;
}

.child-service-tag-overlay {
	position: absolute !important;
	top: 10px !important;
	left: 10px !important;
	background: rgba(15, 23, 42, 0.88) !important;
	backdrop-filter: blur(6px) !important;
	border: 1px solid rgba(56, 189, 248, 0.35) !important;
	color: #60a5fa !important;
	font-size: 11.5px !important;
	font-weight: 600 !important;
	padding: 3px 10px !important;
	border-radius: 14px !important;
	letter-spacing: 0.02em !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

/* Кнопка возврата ко всем тегам */
.tag-back-box {
	margin-top: 36px !important;
	padding-top: 24px !important;
	border-top: 1px solid #1e2638 !important;
	text-align: center !important;
}

.tag-back-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 12px 24px !important;
	border-radius: 10px !important;
	background: #161b26 !important;
	border: 1px solid #242d42 !important;
	color: #e2e8f0 !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
}

.tag-back-btn:hover {
	background: #1f2737 !important;
	border-color: #38bdf8 !important;
	color: #38bdf8 !important;
	transform: translateY(-2px) !important;
	text-decoration: none !important;
}

/* Mobile & Tablet Responsiveness для страниц тегов */
@media (max-width: 992px) {
	.tag-hero-title {
		font-size: 26px !important;
	}

	.tag-view-page .child-services-title {
		font-size: 22px !important;
	}
}

@media (max-width: 640px) {
	.tag-view-wrap {
		padding: 16px 14px 48px 14px !important;
	}

	.tag-hero-card {
		padding: 20px 16px !important;
		margin-bottom: 32px !important;
	}

	.tag-hero-title {
		font-size: 22px !important;
	}

	.tag-hero-desc {
		flex-direction: column !important;
		gap: 8px !important;
		padding: 14px !important;
	}

	.tag-view-page .child-services-title {
		font-size: 20px !important;
	}

	.child-service-thumb {
		height: 150px !important;
	}
}

/* ==========================================================================
   Комплексные UX/UI исправления: Контрастность форм, кнопка CTA, телефон, AI-ассистент
   ========================================================================== */

/* 1. Пояснения и лейблы в статической форме на всех страницах (Контрастный светлый премиум) */
.form-section-title,
.cta-box-large .form-section-title,
#contact-form-static-page .form-section-title,
.contact-form-static-element .form-section-title,
.contact-form-static-box .form-section-title {
	color: #ffffff !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	margin-top: 24px !important;
	margin-bottom: 8px !important;
}

.services-hint-sub,
.project-details-sub,
.cta-box-large .services-hint-sub,
.cta-box-large .project-details-sub,
#contact-form-static-page .services-hint-sub,
#contact-form-static-page .project-details-sub,
.contact-form-static-box .services-hint-sub,
.contact-form-static-box .project-details-sub {
	color: #cbd5e1 !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	margin-bottom: 16px !important;
}

.form-row-custom label,
.form-row-custom label .control-label,
.form-row-custom .control-label,
.control-label[for^="cfsp-"],
.control-label[for^="cfs-"],
#contact-form-static-page label,
.cta-box-large label,
.contact-form-static-box label,
.razrabotka-sajta-page .form-row-custom label {
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) !important;
	margin-bottom: 6px !important;
	display: block !important;
}

.form-row-custom .form-control-custom,
#contact-form-static-page .form-control-custom,
.contact-form-static-box .form-control-custom {
	background: #ffffff !important;
	color: #0b1329 !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
}

.form-row-custom .form-control-custom::placeholder,
#contact-form-static-page .form-control-custom::placeholder {
	color: #64748b !important;
	opacity: 1 !important;
}

/* 2. Яркая оранжевая кнопка действия в блоке CTA (.page-block-cta / #block-907 / .cta-banner-box) */
.page-block-cta .cta-btn,
.cta-banner-box .cta-btn,
.cta-btn,
a.cta-btn,
#page .cta-btn,
.razrabotka-sajta-page .cta-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ff9800 !important;
	background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%) !important;
	color: #000000 !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	min-height: 48px !important;
	padding: 14px 36px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(245, 124, 0, 0.45) !important;
	border: 2px solid #e65100 !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	text-shadow: none !important;
}

.page-block-cta .cta-btn:hover,
.page-block-cta .cta-btn:focus,
.cta-banner-box .cta-btn:hover,
.cta-banner-box .cta-btn:focus,
.cta-btn:hover,
.cta-btn:focus,
a.cta-btn:hover,
a.cta-btn:focus {
	background: #ffa726 !important;
	background: linear-gradient(135deg, #ffa726 0%, #fb8c00 100%) !important;
	color: #000000 !important;
	border-color: #ef6c00 !important;
	text-decoration: none !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 22px rgba(245, 124, 0, 0.6) !important;
}

/* 3. Светлая контрастная карточка номера телефона (.phone-only-number-box) */
.phone-only-main-link,
#page .phone-only-main-link,
.razrabotka-sajta-page .phone-only-main-link,
body.razrabotka-sajta-page .phone-only-main-link,
.phone-only-number-box a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	padding: 16px 32px !important;
	background: #ffffff !important;
	border: 2px solid #334155 !important;
	border-radius: 14px !important;
	color: #000000 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08) !important;
	transition: all 0.25s ease !important;
}

.phone-only-main-link:hover,
#page .phone-only-main-link:hover,
.razrabotka-sajta-page .phone-only-main-link:hover,
body.razrabotka-sajta-page .phone-only-main-link:hover,
.phone-only-number-box a:hover {
	background: #f8fafc !important;
	border-color: #0284c7 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.15) !important;
	color: #0284c7 !important;
}

.phone-only-main-link .phone-svg-icon,
#page .phone-only-main-link .phone-svg-icon,
.razrabotka-sajta-page .phone-only-main-link .phone-svg-icon,
.phone-only-number-box svg {
	color: #2563eb !important;
	stroke: #2563eb !important;
	flex-shrink: 0 !important;
}

.phone-only-main-link .phone-digits,
#page .phone-only-main-link .phone-digits,
.razrabotka-sajta-page .phone-only-main-link .phone-digits,
body.razrabotka-sajta-page .phone-only-main-link .phone-digits,
.phone-only-number-box .phone-digits,
.phone-only-number-box a span {
	color: #000000 !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	letter-spacing: 0.5px !important;
	text-shadow: none !important;
}

.phone-only-main-link:hover .phone-digits,
#page .phone-only-main-link:hover .phone-digits,
.razrabotka-sajta-page .phone-only-main-link:hover .phone-digits,
body.razrabotka-sajta-page .phone-only-main-link:hover .phone-digits,
.phone-only-number-box a:hover .phone-digits,
.phone-only-number-box a:hover span {
	color: #0284c7 !important;
}

/* 4. Абсолютный верхний приоритет для AI-ассистента над всеми формами и блоками страницы */
#r9-bot-window {
	z-index: 2147483647 !important;
}
#r9-bot-launcher {
	z-index: 2147483646 !important;
}
@media (max-width: 480px) {
	#r9-bot-window {
		z-index: 2147483647 !important;
	}
	#r9-bot-launcher {
		z-index: 2147483646 !important;
	}
}
.site-contact-form {
	z-index: 2147483640 !important;
}
#form,
section.cta,
.cta-box-large,
.contact-form-static-box {
	position: relative;
	z-index: 10 !important;
}

/* 5. Контрастность текста статической (на главной) и модальной формы обратной связи */
body.home-page .layout-feedback-widget .envelope-inner h2.form-title,
.layout-feedback-widget .envelope-inner h2.form-title,
.envelope-inner h2.form-title,
.envelope-inner .form-title,
.contact-form-static-wrapper .form-title,
.site-contact-form .form-title {
	color: #0b1a26 !important;
	font-weight: 700 !important;
}

.envelope-inner .form-desc,
.contact-form-static-wrapper .form-desc,
.site-contact-form .form-desc {
	color: #334155 !important;
	font-weight: 500 !important;
}

.envelope-inner .form-section-title,
.contact-form-static-wrapper .form-section-title,
.site-contact-form .form-section-title {
	color: #0b1a26 !important;
	font-weight: 800 !important;
	text-shadow: none !important;
}

.envelope-inner .services-hint-sub,
.envelope-inner .project-details-sub,
.contact-form-static-wrapper .services-hint-sub,
.contact-form-static-wrapper .project-details-sub,
.site-contact-form .services-hint-sub,
.site-contact-form .project-details-sub {
	color: #475569 !important;
	font-weight: 500 !important;
	text-shadow: none !important;
}

.envelope-inner .form-row-custom label,
.contact-form-static-wrapper .form-row-custom label,
.site-contact-form .form-row-custom label,
.envelope-inner .control-label,
.contact-form-static-wrapper .control-label,
.site-contact-form .control-label {
	color: #0f172a !important;
	font-weight: 700 !important;
	text-shadow: none !important;
}

.envelope-inner .privacy-policy-group-custom,
.envelope-inner .privacy-policy-group-custom label,
.contact-form-static-wrapper .privacy-policy-group-custom label,
.site-contact-form .privacy-policy-group-custom label {
	color: #334155 !important;
	text-shadow: none !important;
}

.envelope-inner .privacy-policy-group-custom a,
.contact-form-static-wrapper .privacy-policy-group-custom a,
.site-contact-form .privacy-policy-group-custom a {
	color: #b51829 !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
}

.envelope-inner .slider-captcha-text,
.contact-form-static-wrapper .slider-captcha-text,
.site-contact-form .slider-captcha-text {
	color: #334155 !important;
	font-weight: 600 !important;
}

.envelope-inner .cta-bold-text,
.contact-form-static-wrapper .cta-bold-text,
.site-contact-form .cta-bold-text {
	color: #0b1a26 !important;
}


/* ==========================================================================
   TOOLS CONTRAST & CODE PREVIEW STYLING (Dark Theme & High Readability)
   ========================================================================== */
.code-preview-area,
textarea.code-preview-area,
#schemaResultCode,
#rulesResult,
#validatorResult,
.tool-code-preview,
.tool-code-output,
pre.code-block,
pre.rules-code-block {
	background-color: #0b0f19 !important;
	color: #38bdf8 !important;
	border: 1px solid #1e293b !important;
	border-radius: 8px !important;
	font-family: 'Fira Code', 'Cascadia Code', Consolas, Monaco, monospace !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
	padding: 14px 16px !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

.code-preview-area::placeholder,
textarea.code-preview-area::placeholder {
	color: #64748b !important;
}

/* Стилизация карточек шагов и списков в генераторах разметки и правил */
.tools-generator .bg-light,
.tools-main-container .bg-light,
.schema-layout-grid .bg-light,
.rules-layout-grid .bg-light {
	background-color: #101726 !important;
	color: #f1f5f9 !important;
	border: 1px solid #1e293b !important;
}

.tools-generator .bg-light strong,
.tools-generator .bg-light span,
.schema-layout-grid .bg-light strong,
.rules-layout-grid .bg-light strong {
	color: #f1f5f9 !important;
}

/* Кнопки официальных сервисов проверки (Google Rich Results / Валидатор) */
.validator-direct-links.bg-light {
	background-color: #101726 !important;
	border: 1px solid #1e293b !important;
}

.validator-direct-links .btn-outline-dark {
	background-color: #1e293b !important;
	color: #e2e8f0 !important;
	border-color: #334155 !important;
}

.validator-direct-links .btn-outline-dark:hover {
	background-color: #334155 !important;
	color: #ffffff !important;
	border-color: #475569 !important;
}

/* Поля формы в карточках генераторов */
.schema-form-pane .calc-step-card,
.rules-form-pane .calc-step-card,
.calc-step-card {
	background-color: #101726 !important;
	border: 1px solid #1e293b !important;
	border-radius: 12px !important;
	color: #e2e8f0 !important;
}

.schema-form-pane .form-control,
.rules-form-pane .form-control,
.calc-step-card .form-control {
	background-color: #0b0f19 !important;
	border: 1px solid #1e293b !important;
	color: #f1f5f9 !important;
}

.schema-form-pane .form-control:focus,
.rules-form-pane .form-control:focus,
.calc-step-card .form-control:focus {
	border-color: #3b82f6 !important;
	box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25) !important;
	color: #ffffff !important;
}

.schema-form-pane .form-control::placeholder,
.rules-form-pane .form-control::placeholder,
.calc-step-card .form-control::placeholder {
	color: #64748b !important;
}


/* Исправление отображения полей select и textarea генератора Schema.org */
.schema-form-pane select.form-control,
.rules-form-pane select.form-control,
.calc-step-card select.form-control,
#orgSubtype,
#prodCurrency,
#prodAvailability {
	height: auto !important;
	min-height: 44px !important;
	line-height: 1.5 !important;
	padding: 10px 38px 10px 14px !important;
	font-size: 14px !important;
	background-color: #0b0f19 !important;
	color: #f1f5f9 !important;
	border: 1px solid #1e293b !important;
	border-radius: 8px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 16px !important;
	box-sizing: border-box !important;
}

.schema-form-pane select.form-control option,
.rules-form-pane select.form-control option,
.calc-step-card select.form-control option,
#orgSubtype option,
#prodCurrency option,
#prodAvailability option {
	background-color: #0b0f19 !important;
	color: #f1f5f9 !important;
	padding: 10px 14px !important;
}

.tools-generator #schemaResultCode,
.schema-code-column #schemaResultCode,
#schemaResultCode,
textarea#schemaResultCode,
.schema-code-column .code-preview-area,
textarea.code-preview-area {
	background-color: #0b0f19 !important;
	background: #0b0f19 !important;
	color: #38bdf8 !important;
	border: 1px solid #1e293b !important;
	border-radius: 8px !important;
	font-family: 'Fira Code', 'Cascadia Code', Consolas, Monaco, monospace !important;
	font-size: 13.5px !important;
	line-height: 1.55 !important;
	padding: 14px 16px !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}
