/* drslon-site-core UI bundle — auto-built, do not edit */

/* >>> services-landing.css */
.krv-services-landing {
	--accent: #5181fe;
	--accent-hover: #4169d4;
	--accent-bg: #eaf1ff;
	--text-main: #333;
	--text-soft: #666;
	--card-bg: #fff;
	--card-radius: 20px;
	--card-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	--card-shadow-hover: 0 6px 15px rgba(0, 0, 0, 0.15);
	--service-radius: 10px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 15px;
	font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--text-main);
}

.krv-services-landing,
.krv-services-landing * {
	box-sizing: border-box;
}

.krv-services-landing-section + .krv-services-landing-section {
	margin-top: 22px;
}

.krv-landing-contact-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: 28px 24px 26px;
	text-align: center;
	background: var(--card-bg);
	border-radius: var(--card-radius);
	box-shadow: var(--card-shadow);
}

.krv-landing-avatar-wrap {
	width: 126px;
	height: 126px;
	aspect-ratio: 1 / 1;
	margin: 0 auto 20px;
	border: 3px solid var(--accent);
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
}

.krv-services-landing .krv-landing-avatar-wrap > .krv-landing-avatar {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
}

.krv-services-landing .krv-landing-avatar-wrap > .krv-landing-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.krv-landing-title {
	margin: 0 0 12px;
	width: 100%;
	max-width: 40rem;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: 700;
	color: var(--text-main);
	text-align: center;
	letter-spacing: -0.02em;
}

.krv-landing-lead,
.krv-landing-meta {
	margin: 0 0 14px;
	width: 100%;
	max-width: 40rem;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--text-soft);
	text-align: center;
}

.krv-landing-meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: center;
	justify-content: center;
}

.krv-landing-meta-line {
	display: block;
	text-align: center;
}

.krv-landing-contacts {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 10px;
}

.krv-landing-contacts a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	text-decoration: none;
	color: var(--accent);
	background: #f9f9f9;
	border: 3px solid var(--accent);
	border-radius: 50%;
	transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.krv-landing-contacts a:hover {
	border-color: var(--accent-hover);
	background: var(--accent-bg);
	box-shadow: var(--card-shadow);
}

.krv-landing-social-icon {
	display: block;
	width: 22px;
	height: 22px;
	color: currentColor;
	flex-shrink: 0;
}

.krv-landing-social-icon path,
.krv-landing-social-icon circle,
.krv-landing-social-icon rect {
	fill: currentColor;
}

.krv-landing-services {
	padding: 8px 0 0;
}

.krv-landing-services-header {
	margin-bottom: 22px;
	text-align: center;
}

.krv-landing-services-header h2 {
	margin: 0 0 8px;
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--text-main);
}

.krv-landing-services-header p {
	margin: 0 auto;
	max-width: 40rem;
	font-size: 1.02rem;
	line-height: 1.55;
	color: var(--text-soft);
	text-align: center;
}

.krv-landing-services-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	align-items: stretch;
}

/* Service cards — integrator parity with clients */
.krv-landing-service-item {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 100%;
	padding: 0;
	text-align: center;
	text-decoration: none;
	color: inherit;
	background: var(--card-bg);
	border: 1px solid rgba(15, 35, 80, 0.08);
	border-radius: 14px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	transition:
		box-shadow 0.22s ease,
		transform 0.22s ease,
		border-color 0.22s ease;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
}

.krv-landing-service-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1 1 auto;
	min-height: 200px;
	/* Extra top room so price badge + corner affordance never sit on the icon. */
	padding: 14px 14px 18px;
	position: relative;
}

.krv-landing-service-item--link {
	cursor: pointer;
}

.krv-landing-service-item--link:hover {
	transform: translateY(-2px);
	border-color: rgba(81, 129, 254, 0.35);
	box-shadow: 0 10px 24px rgba(15, 35, 80, 0.12);
}

.krv-landing-service-item--link:active {
	transform: translateY(0);
}

.krv-landing-service-item--link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

/* Theme-colored icon plate */
.krv-landing-service-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 12px;
	border-radius: 14px;
	color: #315fe8;
	background: linear-gradient(145deg, rgba(81, 129, 254, 0.16), rgba(81, 129, 254, 0.06));
	border: 1px solid rgba(81, 129, 254, 0.2);
	transition: background 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
	flex-shrink: 0;
}

.krv-landing-service-item--link:hover .krv-landing-service-icon-wrap {
	background: linear-gradient(145deg, rgba(81, 129, 254, 0.22), rgba(81, 129, 254, 0.1));
	border-color: rgba(81, 129, 254, 0.32);
	transform: translateY(-1px);
}

.krv-landing-service-icon {
	display: block;
	width: 30px;
	height: 30px;
	margin: 0;
	color: inherit;
	flex-shrink: 0;
}

.krv-landing-service-icon path,
.krv-landing-service-icon circle,
.krv-landing-service-icon rect,
.krv-landing-service-icon polyline,
.krv-landing-service-icon line,
.krv-landing-service-icon ellipse {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.65;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

/* Filled dots stay solid */
.krv-landing-service-icon [fill="currentColor"] {
	fill: currentColor;
	stroke: none;
}

.krv-landing-service-title,
.krv-landing-service-item h3 {
	margin: 0 0 8px;
	font-size: 1.08rem;
	font-weight: 650;
	line-height: 1.3;
	color: var(--text-main);
	letter-spacing: -0.01em;
}

.krv-landing-service-desc,
.krv-landing-service-item p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--text-soft);
	flex: 1 1 auto;
}

/* Quiet corner affordance (does not compete with price badge in flow) */
.krv-landing-service-ext {
	position: absolute;
	top: 10px;
	right: 10px;
	left: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	color: var(--accent);
	opacity: 0.3;
	transition: opacity 0.2s ease, background 0.2s ease;
	pointer-events: none;
}

.krv-landing-service-item--link:hover .krv-landing-service-ext,
.krv-landing-service-item--link:focus-visible .krv-landing-service-ext {
	opacity: 1;
	background: var(--accent-bg);
}

@media (max-width: 1100px) {
	.krv-landing-services-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
	}
}

@media (max-width: 768px) {
	.krv-landing-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.krv-landing-service-inner {
		min-height: 180px;
		padding: 18px 12px 14px;
	}

	.krv-landing-service-icon-wrap {
		width: 50px;
		height: 50px;
		border-radius: 12px;
	}

	.krv-landing-service-icon {
		width: 24px;
		height: 24px;
	}

	.krv-landing-service-title,
	.krv-landing-service-item h3 {
		font-size: 0.98rem;
	}

	.krv-landing-service-desc,
	.krv-landing-service-item p {
		font-size: 0.82rem;
	}

	.krv-landing-service-ext {
		opacity: 0.5;
	}
}

@media (max-width: 420px) {
	.krv-landing-services-grid {
		grid-template-columns: 1fr;
	}
}

html[data-theme="dark"] .krv-landing-service-item {
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .krv-landing-service-item--link:hover {
	border-color: rgba(140, 175, 255, 0.35);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .krv-landing-service-icon-wrap {
	color: #9db7ff;
	background: linear-gradient(145deg, rgba(120, 160, 255, 0.18), rgba(120, 160, 255, 0.06));
	border-color: rgba(120, 160, 255, 0.22);
}

html[data-theme="dark"] .krv-landing-service-ext {
	color: #9db7ff;
}

.krv-landing-pricing {
	width: 100%;
	padding: 20px;
	text-align: center;
	background: var(--card-bg);
	border-radius: var(--card-radius);
	box-shadow: var(--card-shadow);
}

.krv-landing-pricing-title {
	margin: 0 0 15px;
	font-size: 2rem;
	line-height: 1.2;
	color: var(--text-main);
}

.krv-landing-pricing-lead {
	margin: 0 0 18px;
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--text-soft);
}

.krv-landing-pricing-rate {
	display: inline-block;
	margin-top: 6px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--accent);
}

.krv-landing-pricing-list {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: grid;
	gap: 12px;
}

.krv-landing-pricing-list li {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--text-soft);
	text-align: left;
}

.krv-landing-pricing-icon {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	color: var(--accent);
}

.krv-landing-pricing-icon path,
.krv-landing-pricing-icon circle,
.krv-landing-pricing-icon rect,
.krv-landing-pricing-icon polyline,
.krv-landing-pricing-icon line {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.krv-landing-pricing-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 22px;
	border-radius: 10px;
	background: var(--accent-hover);
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.krv-landing-pricing-button:hover {
	background: #3154b5;
	box-shadow: var(--card-shadow-hover);
}

.krv-landing-pricing-button:active {
	transform: translateY(1px);
}

/* tablet 2-col handled above at 768/1100; do not collapse to 1 early */

@media (max-width: 768px) {
	.krv-services-landing {
		padding: 16px 10px;
	}

	.krv-landing-contact-card,
	.krv-landing-pricing {
		padding: 15px;
	}

	.krv-landing-avatar-wrap {
		width: 112px;
		height: 112px;
	}

	.krv-landing-title,
	.krv-landing-services-header h2,
	.krv-landing-pricing-title {
		font-size: 1.5rem;
	}

	.krv-landing-lead,
	.krv-landing-meta,
	.krv-landing-services-header p,
	.krv-landing-pricing-lead {
		font-size: 0.95rem;
	}

	.krv-landing-contacts {
		gap: 10px;
	}

	.krv-landing-contacts a {
		width: 40px;
		height: 40px;
	}

	.krv-landing-social-icon {
		width: 20px;
		height: 20px;
	}

	.krv-landing-pricing-rate {
		font-size: 1.8rem;
	}

	.krv-landing-pricing-list li {
		font-size: 0.95rem;
	}
}

@media (max-width: 480px) {
	.krv-services-landing {
		padding: 12px 8px;
	}

	.krv-landing-contact-card,
	.krv-landing-pricing {
		padding: 10px;
	}

	.krv-landing-avatar-wrap {
		width: 104px;
		height: 104px;
	}

	.krv-landing-contacts {
		gap: 8px;
	}

	.krv-landing-contacts a {
		width: 36px;
		height: 36px;
	}

	.krv-landing-social-icon {
		width: 18px;
		height: 18px;
	}

	.krv-landing-title,
	.krv-landing-services-header h2,
	.krv-landing-pricing-title {
		font-size: 1.5rem;
	}

	.krv-landing-pricing-rate {
		font-size: 1.6rem;
	}

	.krv-landing-pricing-list li {
		gap: 8px;
		font-size: 0.9rem;
	}

	.krv-landing-pricing-button {
		width: auto;
		min-width: min(280px, 100%);
		max-width: 100%;
		padding: 10px 16px;
		font-size: 0.9rem;
	}

	.krv-landing-pricing-actions {
		flex-direction: column;
		align-items: center;
	}
}

/*
 * Price badge: in normal flow above the icon (not absolute).
 * Long labels like «аудит от 10 000 ₽» / «от 20 000 ₽/мес» no longer cover the icon plate.
 */
.krv-landing-service-price {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	order: -1;
	margin: 0 auto 12px;
	max-width: calc(100% - 8px);
	font-size: 0.72rem;
	font-weight: 650;
	line-height: 1.25;
	padding: 0.32rem 0.65rem;
	border-radius: 999px;
	background: rgba(49, 95, 232, 0.12);
	color: #2346b0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex-shrink: 0;
}
html[data-theme="dark"] .krv-landing-service-price {
	background: rgba(120, 160, 255, 0.16);
	color: #b9c9ff;
}


.krv-landing-services-note {
	margin: 1.25rem auto 0;
	padding: 0 12px;
	max-width: 40rem;
	font-size: 0.9rem;
	line-height: 1.55;
	opacity: 0.88;
	text-align: center;
}
.krv-landing-services-note a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
/* Pricing CTAs: always centered under the block */
.krv-landing-pricing .krv-landing-pricing-actions {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 0.85rem 1.15rem;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	margin: 0.85rem auto 0;
	padding: 0;
	text-align: center;
	box-sizing: border-box;
}
.krv-landing-pricing .krv-landing-pricing-actions .krv-landing-pricing-button,
.krv-landing-pricing .krv-landing-pricing-actions .krv-landing-pricing-secondary {
	float: none;
	margin: 0;
}
.krv-landing-pricing .krv-landing-pricing-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-align: center;
}

@media (max-width: 640px) {
	.krv-landing-pricing .krv-landing-pricing-actions {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.krv-landing-pricing .krv-landing-pricing-actions .krv-landing-pricing-button {
		width: auto;
		min-width: min(280px, 92vw);
		max-width: 92vw;
	}
}

/* Hero value prop + primary CTAs — always centered as a block */
.krv-landing-tagline {
	display: block;
	margin: 0 auto 0.65rem;
	padding: 0 12px;
	width: 100%;
	max-width: 42rem;
	font-size: clamp(1.05rem, 2vw, 1.22rem);
	font-weight: 650;
	line-height: 1.4;
	color: var(--text-main);
	text-align: center;
	text-wrap: balance;
}
.krv-landing-hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: center;
	justify-content: center;
	margin: 1rem auto 0.45rem;
	width: 100%;
	max-width: 36rem;
}
.krv-landing-hero-cta-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 0.35rem;
	font-size: 0.98rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.krv-landing-services-crosslink {
	margin: 0.85rem auto 0;
	max-width: 40rem;
	padding: 0 12px;
	text-align: center;
	font-size: 0.95rem;
	line-height: 1.5;
	opacity: 0.92;
}
.krv-landing-services-crosslink a {
	font-weight: 650;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Legal meta quieter (IP / OGRN / INN) */
.krv-landing-meta-line.is-legal {
	font-size: 0.82rem;
	opacity: 0.72;
	letter-spacing: 0.01em;
}

/* Social proof strip under hero meta */
.krv-landing-proof {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 10px 12px;
	list-style: none;
	margin: 4px auto 14px;
	padding: 0;
	width: 100%;
	max-width: 44rem;
}

.krv-landing-proof-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 6.5rem;
	flex: 1 1 6.5rem;
	max-width: 9.5rem;
	padding: 10px 12px;
	border-radius: 12px;
	background: linear-gradient(180deg, #f5f7ff 0%, #eef2fb 100%);
	border: 1px solid rgba(81, 129, 254, 0.14);
	text-align: center;
}

.krv-landing-proof-value {
	display: block;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.2;
	color: #2346b0;
	letter-spacing: -0.01em;
}

.krv-landing-proof-label {
	display: block;
	margin-top: 4px;
	font-size: 0.75rem;
	line-height: 1.3;
	color: var(--text-soft);
}

html[data-theme="dark"] .krv-landing-proof-item {
	background: linear-gradient(180deg, #222a3d 0%, #1c2333 100%);
	border-color: rgba(120, 160, 255, 0.16);
}

html[data-theme="dark"] .krv-landing-proof-value {
	color: #9db7ff;
}

@media (max-width: 520px) {
	.krv-landing-proof {
		gap: 8px;
	}

	.krv-landing-proof-item {
		min-width: calc(50% - 8px);
		max-width: none;
		flex: 1 1 calc(50% - 8px);
		padding: 9px 8px;
	}
}

/* Demo badge on RAG card */
.krv-landing-service-badge {
	background: rgba(16, 185, 129, 0.14) !important;
	color: #0f766e !important;
}
html[data-theme="dark"] .krv-landing-service-badge {
	background: rgba(52, 211, 153, 0.18) !important;
	color: #6ee7b7 !important;
}

/* After pricing: next steps */
.krv-landing-next {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 0.55rem;
	margin: 1.35rem auto 0.25rem;
	padding: 0.85rem 1rem;
	max-width: 40rem;
	text-align: center;
	font-size: 0.95rem;
	line-height: 1.45;
	border-radius: 12px;
	background: rgba(81, 129, 254, 0.06);
	border: 1px solid rgba(81, 129, 254, 0.14);
}
.krv-landing-next-label {
	font-weight: 650;
	opacity: 0.9;
}
.krv-landing-next a {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.krv-landing-next-sep {
	opacity: 0.45;
	user-select: none;
}
html[data-theme="dark"] .krv-landing-next {
	background: rgba(120, 160, 255, 0.08);
	border-color: rgba(120, 160, 255, 0.16);
}

/* Focus polish */
.krv-landing-pricing-button:focus-visible,
.krv-landing-hero-cta-secondary:focus-visible,
.krv-landing-pricing-secondary:focus-visible,
.krv-landing-service-item--link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}


/* >>> clients-grid.css */
/* Clients grid — integrator UX, parity with services landing */

.krv-clients-grid-wrap {
	--krv-accent: #5181fe;
	--krv-accent-hover: #4169d4;
	--krv-accent-bg: #eaf1ff;
	--krv-card-bg: #fff;
	--krv-text-main: #333;
	--krv-text-soft: #666;
	--krv-border: rgba(15, 35, 80, 0.08);
	--krv-border-hover: rgba(81, 129, 254, 0.35);
	--krv-card-radius: 14px;
	--krv-card-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	--krv-card-shadow-hover: 0 10px 24px rgba(15, 35, 80, 0.12);
	max-width: 1200px;
	margin: 0 auto;
	padding: 8px 15px 8px;
	font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	scroll-margin-top: 88px;
}

.krv-clients-grid-wrap,
.krv-clients-grid-wrap * {
	box-sizing: border-box;
}

.krv-clients-grid-header {
	text-align: center;
	margin-bottom: 22px;
}

.krv-clients-grid-header h2 {
	margin: 0 0 8px;
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 700;
	color: var(--krv-text-main);
	letter-spacing: -0.02em;
}

.krv-clients-grid-lead {
	margin: 0 auto 6px;
	max-width: 640px;
	font-size: 1.02rem;
	line-height: 1.55;
	color: var(--krv-text-soft);
}

.krv-clients-grid-meta {
	margin: 0 auto;
	font-size: 0.86rem;
	line-height: 1.4;
	color: #8a93a6;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.krv-clients-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	align-items: stretch;
}

/* Card ------------------------------------------------ */
.krv-client-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 100%;
	text-decoration: none;
	color: inherit;
	background: var(--krv-card-bg);
	border: 1px solid var(--krv-border);
	border-radius: var(--krv-card-radius);
	box-shadow: var(--krv-card-shadow);
	transition:
		box-shadow 0.22s ease,
		transform 0.22s ease,
		border-color 0.22s ease,
		background 0.22s ease;
	overflow: hidden;
	position: relative;
	-webkit-tap-highlight-color: transparent;
}

.krv-client-card--link {
	cursor: pointer;
}

.krv-client-card--link:hover {
	transform: translateY(-2px);
	border-color: var(--krv-border-hover);
	box-shadow: var(--krv-card-shadow-hover);
}

.krv-client-card--link:active {
	transform: translateY(0);
}

.krv-client-card--link:focus-visible {
	outline: 2px solid var(--krv-accent);
	outline-offset: 3px;
}

.krv-client-card--static {
	cursor: default;
	opacity: 0.97;
}

.krv-client-card-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	flex: 1 1 auto;
	min-height: 188px;
	padding: 18px 14px 16px;
	text-align: center;
	position: relative;
}

/* External affordance: quiet corner icon, stronger on hover */
.krv-client-ext {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 8px;
	color: var(--krv-accent);
	background: transparent;
	opacity: 0.35;
	transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;
	pointer-events: none;
}

.krv-client-card--link:hover .krv-client-ext,
.krv-client-card--link:focus-visible .krv-client-ext {
	opacity: 1;
	background: var(--krv-accent-bg);
	transform: translate(1px, -1px);
}

/* Logo plate: quiet theme surface */
.krv-client-logo-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 84px;
	margin-bottom: 14px;
	padding: 8px 10px;
	overflow: hidden;
	border-radius: 12px;
	background: linear-gradient(180deg, #f5f7ff 0%, #eef2fb 100%);
	border: 1px solid rgba(81, 129, 254, 0.1);
	transition: background 0.22s ease, border-color 0.22s ease;
}

.krv-client-card--link:hover .krv-client-logo-wrap,
.krv-client-card--link:focus-visible .krv-client-logo-wrap {
	background: linear-gradient(180deg, #eef3ff 0%, #e4ebfc 100%);
	border-color: rgba(81, 129, 254, 0.18);
}

/*
 * Logos: calm grayscale at rest → full brand color on hover/focus.
 * Touch: @media (hover: none) keeps logos readable in color.
 */
.krv-client-logo {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 64px !important;
	margin: 0 auto !important;
	object-fit: contain;
	object-position: center;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	filter: grayscale(1) contrast(1.06) brightness(0.97);
	opacity: 0.82;
	transition: filter 0.28s ease, opacity 0.28s ease;
}

.krv-client-card--link:hover .krv-client-logo,
.krv-client-card--link:focus-visible .krv-client-logo {
	filter: none;
	opacity: 1;
}

/* Phones / no-hover: full color (no hover state to reveal) */
@media (hover: none) {
	.krv-client-logo {
		filter: none;
		opacity: 0.95;
	}
}

.krv-client-no-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 52px;
	padding: 0 10px;
	border-radius: 12px;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	color: #315fe8;
	background: linear-gradient(145deg, rgba(49, 95, 232, 0.12), rgba(49, 95, 232, 0.04));
	border: 1px solid rgba(49, 95, 232, 0.16);
}

.krv-client-title {
	margin: 0;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--krv-text-main);
	word-break: break-word;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}

.krv-client-description {
	margin: 8px 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--krv-text-soft);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.4em;
	flex: 1 1 auto;
}

/* Tablet */
@media (max-width: 1100px) {
	.krv-clients-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
	}
}

/* Phones */
@media (max-width: 768px) {
	.krv-clients-grid-wrap {
		padding: 4px 10px 6px;
	}

	.krv-clients-grid-header {
		margin-bottom: 16px;
	}

	.krv-clients-grid-header h2 {
		font-size: 1.7rem;
	}

	.krv-clients-grid-lead {
		font-size: 0.95rem;
		padding: 0 4px;
	}

	.krv-clients-grid-meta {
		font-size: 0.8rem;
	}

	.krv-clients-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.krv-client-card-inner {
		min-height: 172px;
		padding: 14px 10px 12px;
	}

	.krv-client-logo-wrap {
		height: 68px;
		margin-bottom: 10px;
		padding: 6px 8px;
	}

	.krv-client-logo {
		max-height: 52px !important;
	}

	.krv-client-title {
		font-size: 0.9rem;
		min-height: 2.5em;
	}

	.krv-client-description {
		font-size: 0.78rem;
		min-height: 2.3em;
	}

	/* Always show external hint on touch (no hover) */
	.krv-client-ext {
		opacity: 0.55;
		width: 26px;
		height: 26px;
	}
}

@media (max-width: 380px) {
	.krv-clients-grid-wrap {
		padding: 2px 6px 4px;
	}

	.krv-clients-grid-header h2 {
		font-size: 1.45rem;
	}

	.krv-clients-grid-lead {
		font-size: 0.88rem;
	}

	.krv-clients-grid {
		gap: 10px;
	}

	.krv-client-card-inner {
		min-height: 160px;
		padding: 12px 8px 10px;
	}

	.krv-client-logo-wrap {
		height: 58px;
	}

	.krv-client-logo {
		max-height: 44px !important;
	}

	.krv-client-title {
		font-size: 0.84rem;
	}

	.krv-client-description {
		font-size: 0.74rem;
	}
}

/* Prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
	.krv-client-card,
	.krv-client-ext {
		transition: none;
	}

	.krv-client-card--link:hover {
		transform: none;
	}
}

/* Dark theme */
html[data-theme="dark"] .krv-clients-grid-wrap {
	--krv-card-bg: #1a1f2e;
	--krv-text-main: #e8ecf4;
	--krv-text-soft: #a8b0c0;
	--krv-border: rgba(255, 255, 255, 0.08);
	--krv-border-hover: rgba(140, 175, 255, 0.35);
	--krv-card-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
	--krv-card-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.4);
	--krv-accent-bg: rgba(81, 129, 254, 0.16);
}

html[data-theme="dark"] .krv-clients-grid-meta {
	color: #7d879c;
}

html[data-theme="dark"] .krv-client-logo-wrap {
	background: linear-gradient(180deg, #222a3d 0%, #1c2333 100%);
	border-color: rgba(120, 160, 255, 0.12);
}

html[data-theme="dark"] .krv-client-card--link:hover .krv-client-logo-wrap,
html[data-theme="dark"] .krv-client-card--link:focus-visible .krv-client-logo-wrap {
	background: linear-gradient(180deg, #283249 0%, #222a3d 100%);
	border-color: rgba(120, 160, 255, 0.22);
}

html[data-theme="dark"] .krv-client-logo {
	filter: grayscale(1) contrast(1.05) brightness(1.12);
	opacity: 0.85;
}

html[data-theme="dark"] .krv-client-card--link:hover .krv-client-logo,
html[data-theme="dark"] .krv-client-card--link:focus-visible .krv-client-logo {
	filter: none;
	opacity: 1;
}

@media (hover: none) {
	html[data-theme="dark"] .krv-client-logo {
		filter: none;
		opacity: 0.96;
	}
}

html[data-theme="dark"] .krv-client-no-logo {
	color: #9db7ff;
	background: linear-gradient(145deg, rgba(120, 160, 255, 0.16), rgba(120, 160, 255, 0.05));
	border-color: rgba(120, 160, 255, 0.2);
}

html[data-theme="dark"] .krv-client-ext {
	color: #9db7ff;
}


/* >>> krv-ui-dark.css */
/**
 * Dark mode for drslon-site-core shortcode UIs.
 * Depends on html[data-theme="dark"] from theme krv-theme.js
 * Palette aligned with static landings / DrSlon.
 */

/* ── Services landing ── */
html[data-theme="dark"] .krv-services-landing {
  --accent: #315fe8;
  --accent-hover: #244ac2;
  --accent-bg: #1a2744;
  --text-main: #e8eefc;
  --text-soft: #a8b6d4;
  --card-bg: #121a2b;
  --card-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  --card-shadow-hover: 0 12px 36px rgba(0, 0, 0, 0.45);
  color: var(--text-main);
}

html[data-theme="dark"] .krv-landing-contact-card,
html[data-theme="dark"] .krv-landing-service-item,
html[data-theme="dark"] .krv-landing-pricing {
  background: var(--card-bg);
  border: 1px solid #243049;
  box-shadow: var(--card-shadow);
  color: var(--text-main);
}

html[data-theme="dark"] .krv-landing-avatar-wrap {
  background: #0f172a;
  border-color: #315fe8;
}

html[data-theme="dark"] .krv-landing-title,
html[data-theme="dark"] .krv-landing-services-header h2,
html[data-theme="dark"] .krv-landing-pricing-title {
  color: #e8eefc;
}

html[data-theme="dark"] .krv-landing-lead,
html[data-theme="dark"] .krv-landing-meta,
html[data-theme="dark"] .krv-landing-services-header p,
html[data-theme="dark"] .krv-landing-pricing-lead,
html[data-theme="dark"] .krv-landing-pricing-rate {
  color: #a8b6d4;
}

html[data-theme="dark"] .krv-landing-service-icon {
  background: #1a2744;
  color: #8aacff;
}

/* Social pills: light CSS hardcodes #f9f9f9 — override fully in dark */
html[data-theme="dark"] .krv-landing-contacts a {
  color: #e8eefc !important;
  background: #1a2744 !important;
  border-color: #3d5a9a !important;
  box-shadow: none !important;
}
html[data-theme="dark"] .krv-landing-contacts a:hover {
  color: #ffffff !important;
  background: #315fe8 !important;
  border-color: #315fe8 !important;
}
html[data-theme="dark"] .krv-landing-social-icon,
html[data-theme="dark"] .krv-landing-social-icon path,
html[data-theme="dark"] .krv-landing-social-icon circle,
html[data-theme="dark"] .krv-landing-social-icon rect {
  fill: currentColor !important;
  color: inherit !important;
}
html[data-theme="dark"] .krv-landing-contacts a:hover .krv-landing-social-icon,
html[data-theme="dark"] .krv-landing-contacts a:hover .krv-landing-social-icon path {
  color: #ffffff !important;
  fill: #ffffff !important;
}

html[data-theme="dark"] .krv-landing-pricing-button,
html[data-theme="dark"] .krv-landing-pricing a.krv-landing-pricing-button {
  background: #315fe8 !important;
  color: #fff !important;
  border-color: transparent !important;
}

html[data-theme="dark"] .krv-landing-pricing-button:hover {
  background: #244ac2 !important;
}

/* ── Clients grid ── */
html[data-theme="dark"] .krv-clients-grid-wrap {
  --krv-accent: #315fe8;
  --krv-accent-hover: #244ac2;
  --krv-card-bg: #121a2b;
  --krv-text-main: #e8eefc;
  --krv-text-soft: #a8b6d4;
  --krv-card-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  --krv-card-shadow-hover: 0 12px 36px rgba(0, 0, 0, 0.45);
  color: var(--krv-text-main);
}

html[data-theme="dark"] .krv-clients-grid-header h2 {
  color: #e8eefc;
}

html[data-theme="dark"] .krv-clients-grid-header p {
  color: #a8b6d4;
}

html[data-theme="dark"] .krv-client-card {
  background: #121a2b;
  border: 1px solid #243049;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] .krv-client-card:hover {
  border-color: #3d5a9a;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .krv-client-title {
  color: #e8eefc;
}

html[data-theme="dark"] .krv-client-description {
  color: #a8b6d4;
}

html[data-theme="dark"] .krv-client-logo-wrap {
  background: #0f172a;
}

/* ── Partners ── */
html[data-theme="dark"] .krv-partners-grid,
html[data-theme="dark"] .krv-partners-wrap {
  color: #e8eefc;
}

html[data-theme="dark"] .krv-partners-grid a,
html[data-theme="dark"] .krv-partner-card {
  background: #121a2b;
  border-color: #243049;
  color: #e8eefc;
}

html[data-theme="dark"] .krv-partner-card:hover {
  border-color: #3d5a9a;
}

/* ── Services showcase (/servisy/ grid) ── */
html[data-theme="dark"] .krv-services-showcase,
html[data-theme="dark"] .krv-services-showcase__item {
  color: #e8eefc;
}

html[data-theme="dark"] .krv-services-showcase__item {
  background: #121a2b;
  border-color: #243049;
}

/* Real showcase shortcode classes (krv_services_pages_showcase) */
html[data-theme="dark"] .krv-service-pages-wrap {
  --krv-accent: #6b93ff;
  --krv-accent-hover: #9bb6ff;
  --krv-card-bg: #152238;
  --krv-card-bg-hover: #1a2d4d;
  --krv-text-main: #ffffff;
  --krv-text-soft: #e8eefc;
  --krv-image-bg: #0b1220;
  --krv-no-image-bg: #1a2744;
  --krv-card-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
  --krv-card-shadow-hover: 0 14px 32px rgba(0, 0, 0, 0.55);
  color: #ffffff;
}

html[data-theme="dark"] .krv-showcase-intro,
html[data-theme="dark"] .krv-service-pages-group-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}

html[data-theme="dark"] a.krv-service-page-card,
html[data-theme="dark"] .krv-service-page-card {
  background: #152238 !important;
  background-color: #152238 !important;
  border: 1px solid #5b8cff !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45) !important;
  opacity: 1 !important;
}

html[data-theme="dark"] a.krv-service-page-card:hover,
html[data-theme="dark"] .krv-service-page-card:hover {
  background: #1a2d4d !important;
  border-color: #9bb6ff !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.55) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html[data-theme="dark"] .krv-service-page-image-wrap {
  background: #0b1220 !important;
}

html[data-theme="dark"] .krv-service-page-no-image {
  background: #1a2744 !important;
  color: #8aacff !important;
}

html[data-theme="dark"] a.krv-service-page-card .krv-service-page-title,
html[data-theme="dark"] h3.krv-service-page-title,
html[data-theme="dark"] .krv-service-page-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  font-weight: 800 !important;
  font-size: 1.02rem !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65) !important;
  -webkit-line-clamp: 3 !important;
}

html[data-theme="dark"] a.krv-service-page-card .krv-service-page-description,
html[data-theme="dark"] .krv-service-page-description {
  color: #e8eefc !important;
  -webkit-text-fill-color: #e8eefc !important;
  opacity: 1 !important;
}

/* ── Service page shell (tool pages) ── */
html[data-theme="dark"] .krv-service-page {
  --krv-sp-accent: #315fe8;
  --krv-sp-accent-soft: #1a2744;
  --krv-sp-text: #e8eefc;
  --krv-sp-muted: #d5def0;
  --krv-sp-line: #243049;
  --krv-sp-surface: #121a2b;
  --krv-sp-shadow: 0 12px 34px rgba(0, 0, 0, 0.35);
  color: var(--krv-sp-text);
}

/* ── Public offer (oferta) ── */
html[data-theme="dark"] .krv-oferta .krv-service-page__heading,
html[data-theme="dark"] .krv-oferta h2,
html[data-theme="dark"] .krv-oferta h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-bottom-color: #243049 !important;
}

html[data-theme="dark"] .krv-oferta__info {
  background: #1a2744 !important;
  border-left-color: #5b8cff !important;
  color: #e8eefc !important;
}

html[data-theme="dark"] .krv-oferta__info b,
html[data-theme="dark"] .krv-oferta__info strong {
  color: #ffffff !important;
}

html[data-theme="dark"] .krv-oferta p,
html[data-theme="dark"] .krv-oferta li {
  color: #d5def0 !important;
}

html[data-theme="dark"] .krv-oferta p b,
html[data-theme="dark"] .krv-oferta p strong,
html[data-theme="dark"] .krv-oferta li b,
html[data-theme="dark"] .krv-oferta li strong {
  color: #ffffff !important;
}

html[data-theme="dark"] .krv-oferta a {
  color: #8aacff !important;
}

html[data-theme="dark"] .krv-oferta__rekvizity {
  background: #152238 !important;
  border-color: #3d5a9a !important;
  color: #e8eefc !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4) !important;
}

html[data-theme="dark"] .krv-oferta__rekvizity b {
  color: #ffffff !important;
}

html[data-theme="dark"] .krv-oferta__note {
  color: #a8b6d4 !important;
}

/* ── Privacy / cookie policy ── */
html[data-theme="dark"] .krv-policy .krv-service-page__heading,
html[data-theme="dark"] .krv-policy h2,
html[data-theme="dark"] .krv-policy h3 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-bottom-color: #243049 !important;
}

html[data-theme="dark"] .krv-policy__info {
  background: #1a2744 !important;
  border-left-color: #5b8cff !important;
  color: #e8eefc !important;
}

html[data-theme="dark"] .krv-policy__info b,
html[data-theme="dark"] .krv-policy__info strong {
  color: #ffffff !important;
}

html[data-theme="dark"] .krv-policy p,
html[data-theme="dark"] .krv-policy li {
  color: #d5def0 !important;
}

html[data-theme="dark"] .krv-policy p b,
html[data-theme="dark"] .krv-policy p strong,
html[data-theme="dark"] .krv-policy li b,
html[data-theme="dark"] .krv-policy li strong {
  color: #ffffff !important;
}

html[data-theme="dark"] .krv-policy a {
  color: #8aacff !important;
}

html[data-theme="dark"] .krv-policy__cat {
  background: #152238 !important;
  border-color: #3d5a9a !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35) !important;
}

html[data-theme="dark"] .krv-policy__cat-title {
  color: #ffffff !important;
}

html[data-theme="dark"] .krv-policy__cat-meta {
  background: rgba(91, 140, 255, 0.18) !important;
  color: #9db7ff !important;
}

html[data-theme="dark"] .krv-policy__cat-meta--lock {
  background: rgba(168, 182, 212, 0.14) !important;
  color: #a8b6d4 !important;
}

html[data-theme="dark"] .krv-policy__rekvizity {
  background: #152238 !important;
  border-color: #3d5a9a !important;
  color: #e8eefc !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4) !important;
}

html[data-theme="dark"] .krv-policy__rekvizity b {
  color: #ffffff !important;
}

html[data-theme="dark"] .krv-policy__note {
  color: #a8b6d4 !important;
}

html[data-theme="dark"] .krv-service-page__heading {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

html[data-theme="dark"] .krv-service-page__intro p,
html[data-theme="dark"] .krv-service-page__after p {
  color: #d5def0 !important;
}

html[data-theme="dark"] .krv-service-page__quote {
  background: #1a2744 !important;
  border-left-color: #315fe8 !important;
}

html[data-theme="dark"] .krv-service-page__quote p {
  color: #e8eefc !important;
}

html[data-theme="dark"] .krv-service-page__tool,
html[data-theme="dark"] .krv-service-page__dns-types {
  background: #121a2b !important;
  border-color: #243049 !important;
  color: #e8eefc !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35) !important;
}

html[data-theme="dark"] .krv-service-page__dns-types-title {
  color: #ffffff !important;
}

html[data-theme="dark"] .krv-service-page__dns-types li {
  color: #d5def0 !important;
}

html[data-theme="dark"] .krv-service-page__dns-types strong {
  color: #8aacff !important;
}

/* Tool plugins: white inline cards → dark surfaces */
html[data-theme="dark"] .dns-lookup-container,
html[data-theme="dark"] .whois-lookup-container,
html[data-theme="dark"] .punycode-converter-container,
html[data-theme="dark"] .nm-calculator-container,
html[data-theme="dark"] .crontab-generator-container,
html[data-theme="dark"] .firewall-configurator-container,
html[data-theme="dark"] .speed-test-container,
html[data-theme="dark"] .user-info-container,
html[data-theme="dark"] .wpsc-shortcode-form,
html[data-theme="dark"] .wpsc-shortcode-form > div,
html[data-theme="dark"] .wdc-form,
html[data-theme="dark"] .krv-service-page__tool > div[style*="background"],
html[data-theme="dark"] .krv-service-page [style*="background: #fff"],
html[data-theme="dark"] .krv-service-page [style*="background:#fff"],
html[data-theme="dark"] .krv-service-page [style*="background: #ffffff"],
html[data-theme="dark"] .krv-service-page [style*="background:#ffffff"],
html[data-theme="dark"] .krv-service-page [style*="background:#fff"],
html[data-theme="dark"] .wpsc-shortcode-form [style*="background"] {
  background: #121a2b !important;
  background-color: #121a2b !important;
  color: #e8eefc !important;
  border-color: #243049 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
}

html[data-theme="dark"] .krv-service-page [style*="background: #f5f5f5"],
html[data-theme="dark"] .krv-service-page [style*="background:#f5f5f5"],
html[data-theme="dark"] .krv-service-page [style*="background: #f9f9f9"],
html[data-theme="dark"] .krv-service-page [style*="background:#f9f9f9"] {
  background: #1a2744 !important;
  background-color: #1a2744 !important;
  color: #e8eefc !important;
}

/* Tables inside tools (crontab / subnet etc.) */
html[data-theme="dark"] .krv-service-page table,
html[data-theme="dark"] .crontab-generator-container table,
html[data-theme="dark"] .nm-calculator-container table,
html[data-theme="dark"] .whois-lookup-container table,
html[data-theme="dark"] .punycode-converter-container table,
html[data-theme="dark"] .firewall-configurator-container table,
html[data-theme="dark"] .dns-lookup-container table {
  background: #0b1220 !important;
  color: #e8eefc !important;
  box-shadow: none !important;
}

html[data-theme="dark"] .krv-service-page th,
html[data-theme="dark"] .krv-service-page td,
html[data-theme="dark"] .crontab-generator-container th,
html[data-theme="dark"] .crontab-generator-container td,
html[data-theme="dark"] .firewall-configurator-container th,
html[data-theme="dark"] .firewall-configurator-container td {
  background: transparent !important;
  color: #e8eefc !important;
  border-color: #243049 !important;
}

/* Forms / inputs / selects inside service tools */
html[data-theme="dark"] .krv-service-page input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="image"]),
html[data-theme="dark"] .krv-service-page select,
html[data-theme="dark"] .krv-service-page textarea,
html[data-theme="dark"] .dns-lookup-container input,
html[data-theme="dark"] .dns-lookup-container select,
html[data-theme="dark"] .dns-lookup-container textarea,
html[data-theme="dark"] .whois-lookup-container input,
html[data-theme="dark"] .whois-lookup-container select,
html[data-theme="dark"] .whois-lookup-container textarea,
html[data-theme="dark"] .punycode-converter-container input,
html[data-theme="dark"] .punycode-converter-container select,
html[data-theme="dark"] .punycode-converter-container textarea,
html[data-theme="dark"] .nm-calculator-container input,
html[data-theme="dark"] .nm-calculator-container select,
html[data-theme="dark"] .nm-calculator-container textarea,
html[data-theme="dark"] .crontab-generator-container input,
html[data-theme="dark"] .crontab-generator-container select,
html[data-theme="dark"] .crontab-generator-container textarea,
html[data-theme="dark"] .firewall-configurator-container input,
html[data-theme="dark"] .firewall-configurator-container select,
html[data-theme="dark"] .firewall-configurator-container textarea,
html[data-theme="dark"] .speed-test-container input,
html[data-theme="dark"] .wpsc-shortcode-form input,
html[data-theme="dark"] .wpsc-shortcode-form select,
html[data-theme="dark"] .wpsc-shortcode-form textarea,
html[data-theme="dark"] .wdc-form input,
html[data-theme="dark"] .wdc-form select,
html[data-theme="dark"] .wdc-form textarea,
html[data-theme="dark"] .wdc-form .form-control {
  background: #0b1220 !important;
  background-color: #0b1220 !important;
  color: #ffffff !important;
  border: 1px solid #3d5a9a !important;
  box-shadow: none !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

html[data-theme="dark"] .krv-service-page input::placeholder,
html[data-theme="dark"] .krv-service-page textarea::placeholder,
html[data-theme="dark"] .dns-lookup-container input::placeholder,
html[data-theme="dark"] .crontab-generator-container input::placeholder,
html[data-theme="dark"] .firewall-configurator-container input::placeholder,
html[data-theme="dark"] .wpsc-shortcode-form input::placeholder,
html[data-theme="dark"] .wdc-form input::placeholder {
  color: #8b9bb8 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #8b9bb8 !important;
}

html[data-theme="dark"] .krv-service-page label,
html[data-theme="dark"] .krv-service-page h1,
html[data-theme="dark"] .krv-service-page h2,
html[data-theme="dark"] .krv-service-page h3,
html[data-theme="dark"] .krv-service-page h4,
html[data-theme="dark"] .krv-service-page p,
html[data-theme="dark"] .krv-service-page li,
html[data-theme="dark"] .krv-service-page legend,
html[data-theme="dark"] .dns-lookup-container,
html[data-theme="dark"] .whois-lookup-container,
html[data-theme="dark"] .punycode-converter-container,
html[data-theme="dark"] .nm-calculator-container,
html[data-theme="dark"] .crontab-generator-container,
html[data-theme="dark"] .firewall-configurator-container,
html[data-theme="dark"] .speed-test-container,
html[data-theme="dark"] .wpsc-shortcode-form,
html[data-theme="dark"] .wdc-form {
  color: #e8eefc !important;
}

/* Headings/paragraphs hard-coded dark in WP Site Checker markup */
html[data-theme="dark"] .wpsc-shortcode-form div,
html[data-theme="dark"] .wpsc-shortcode-form p,
html[data-theme="dark"] .wpsc-shortcode-form span,
html[data-theme="dark"] .wpsc-shortcode-form label,
html[data-theme="dark"] .whois-lookup-container p,
html[data-theme="dark"] .whois-lookup-container label,
html[data-theme="dark"] .whois-lookup-container h1,
html[data-theme="dark"] .whois-lookup-container h2,
html[data-theme="dark"] .whois-lookup-container h3,
html[data-theme="dark"] .punycode-converter-container p,
html[data-theme="dark"] .punycode-converter-container label,
html[data-theme="dark"] .punycode-converter-container h1,
html[data-theme="dark"] .punycode-converter-container h2,
html[data-theme="dark"] .punycode-converter-container h3,
html[data-theme="dark"] .nm-calculator-container p,
html[data-theme="dark"] .nm-calculator-container label,
html[data-theme="dark"] .nm-calculator-container h1,
html[data-theme="dark"] .nm-calculator-container h2,
html[data-theme="dark"] .nm-calculator-container h3 {
  color: #e8eefc !important;
  -webkit-text-fill-color: #e8eefc !important;
  opacity: 1 !important;
}

html[data-theme="dark"] .krv-service-page button,
html[data-theme="dark"] .krv-service-page input[type="submit"],
html[data-theme="dark"] .krv-service-page input[type="button"],
html[data-theme="dark"] .dns-lookup-container button,
html[data-theme="dark"] .whois-lookup-container button,
html[data-theme="dark"] .punycode-converter-container button,
html[data-theme="dark"] .nm-calculator-container button,
html[data-theme="dark"] .crontab-generator-container button,
html[data-theme="dark"] .firewall-configurator-container button,
html[data-theme="dark"] .speed-test-button,
html[data-theme="dark"] .wpsc-shortcode-form button,
html[data-theme="dark"] .wdc-form .btn,
html[data-theme="dark"] .wdc-form button {
  background: #315fe8 !important;
  border-color: #315fe8 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html[data-theme="dark"] .krv-service-page button:hover,
html[data-theme="dark"] .krv-service-page input[type="submit"]:hover,
html[data-theme="dark"] .dns-lookup-container button:hover,
html[data-theme="dark"] .whois-lookup-container button:hover,
html[data-theme="dark"] .punycode-converter-container button:hover,
html[data-theme="dark"] .nm-calculator-container button:hover,
html[data-theme="dark"] .crontab-generator-container button:hover,
html[data-theme="dark"] .firewall-configurator-container button:hover,
html[data-theme="dark"] .speed-test-button:hover,
html[data-theme="dark"] .wpsc-shortcode-form button:hover,
html[data-theme="dark"] .wdc-form .btn:hover {
  background: #244ac2 !important;
  border-color: #244ac2 !important;
  color: #ffffff !important;
}

/* Speed test / firewall leftover light panels */
html[data-theme="dark"] .speed-test-result,
html[data-theme="dark"] .custom-captcha,
html[data-theme="dark"] .firewall-configurator-container .section {
  background: #1a2744 !important;
  color: #e8eefc !important;
  border-color: #243049 !important;
}

/* Domain checker alerts / results */
html[data-theme="dark"] .wdc-form .callout,
html[data-theme="dark"] .wdc-form .alert,
html[data-theme="dark"] .wdc-form .result,
html[data-theme="dark"] .wdc-form .domain-result,
html[data-theme="dark"] .result.large {
  background: #1a2744 !important;
  color: #e8eefc !important;
  border-color: #3d5a9a !important;
}

html[data-theme="dark"] .wdc-form .callout-warning,
html[data-theme="dark"] .wdc-form .alert-warning {
  background: #2a2210 !important;
  color: #fde68a !important;
  border-color: #854d0e !important;
}

html[data-theme="dark"] .wdc-form .input-group,
html[data-theme="dark"] .wdc-form .input-group-btn {
  background: transparent !important;
  border-color: #3d5a9a !important;
}

/* ── Price list widget ── */
html[data-theme="dark"] .krv-price-widget {
  --krv-bg: #0b1220;
  --krv-card: #121a2b;
  --krv-soft: #1a2744;
  --krv-soft-2: #152238;
  --krv-line: #243049;
  --krv-line-strong: #3d5a9a;
  --krv-text: #e8eefc;
  --krv-muted: #a8b6d4;
  --krv-accent: #315fe8;
  /* accent-dark used as accent TEXT on dark surfaces — keep light enough */
  --krv-accent-dark: #8aacff;
  --krv-accent-soft: #1a2744;
  --krv-shadow: 0 12px 34px rgba(0, 0, 0, 0.4);
  --krv-shadow-soft: 0 8px 22px rgba(0, 0, 0, 0.3);
  background: var(--krv-bg);
  color: var(--krv-text);
}

html[data-theme="dark"] .krv-price-widget a:not([class*="btn"]):not(.krv-btn) {
  color: #8aacff;
}

/* Primary buttons: hover needs real dark blue, not light accent text token */
html[data-theme="dark"] .krv-price-widget .krv-btn-primary {
  border-color: #315fe8 !important;
  background: #315fe8 !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .krv-price-widget .krv-btn-primary:hover {
  border-color: #244ac2 !important;
  background: #244ac2 !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .krv-price-widget .krv-btn-secondary {
  background: #121a2b !important;
  border-color: #3d5a9a !important;
  color: #8aacff !important;
}
html[data-theme="dark"] .krv-price-widget .krv-btn-secondary:hover {
  background: #1a2744 !important;
  border-color: #315fe8 !important;
  color: #a8c0ff !important;
}

/* Structural cards / chips that may still hardcode light fills */
html[data-theme="dark"] .krv-price-widget .krv-hero,
html[data-theme="dark"] .krv-price-widget .krv-hero-panel,
html[data-theme="dark"] .krv-price-widget .krv-route-card,
html[data-theme="dark"] .krv-price-widget .krv-package,
html[data-theme="dark"] .krv-price-widget .krv-service-card,
html[data-theme="dark"] .krv-price-widget .krv-info-card,
html[data-theme="dark"] .krv-price-widget .krv-step,
html[data-theme="dark"] .krv-price-widget .krv-faq-item,
html[data-theme="dark"] .krv-price-widget .krv-landing-card {
  background: #121a2b !important;
  border-color: #243049 !important;
  color: #e8eefc !important;
}

html[data-theme="dark"] .krv-price-widget .krv-title,
html[data-theme="dark"] .krv-price-widget .krv-section-head h2,
html[data-theme="dark"] .krv-price-widget .krv-card-title,
html[data-theme="dark"] .krv-price-widget .krv-route-title,
html[data-theme="dark"] .krv-price-widget .krv-hero-panel h2,
html[data-theme="dark"] .krv-price-widget .krv-mini-title,
html[data-theme="dark"] .krv-price-widget .krv-link-title,
html[data-theme="dark"] .krv-price-widget h2,
html[data-theme="dark"] .krv-price-widget h3 {
  color: #f4f7ff !important;
}

html[data-theme="dark"] .krv-price-widget .krv-lead,
html[data-theme="dark"] .krv-price-widget .krv-subtitle,
html[data-theme="dark"] .krv-price-widget .krv-section-head p,
html[data-theme="dark"] .krv-price-widget .krv-route-text,
html[data-theme="dark"] .krv-price-widget .krv-text,
html[data-theme="dark"] .krv-price-widget .krv-small,
html[data-theme="dark"] .krv-price-widget .krv-note,
html[data-theme="dark"] .krv-price-widget .krv-mini-text,
html[data-theme="dark"] .krv-price-widget .krv-price,
html[data-theme="dark"] .krv-price-widget .krv-tab-intro {
  color: #a8b6d4 !important;
}

html[data-theme="dark"] .krv-price-widget .krv-subtitle {
  color: #8aacff !important;
}

html[data-theme="dark"] .krv-price-widget .krv-badge,
html[data-theme="dark"] .krv-price-widget .krv-kicker {
  background: #1a2744 !important;
  color: #8aacff !important;
}

html[data-theme="dark"] .krv-price-widget .krv-service-item,
html[data-theme="dark"] .krv-price-widget .krv-mini,
html[data-theme="dark"] .krv-price-widget .krv-link-card,
html[data-theme="dark"] .krv-price-widget .krv-note,
html[data-theme="dark"] .krv-price-widget .krv-stack span,
html[data-theme="dark"] .krv-price-widget .krv-tags span,
html[data-theme="dark"] .krv-price-widget .krv-trust-item {
  background: #1a2744 !important;
  border-color: #243049 !important;
  color: #e8eefc !important;
}

html[data-theme="dark"] .krv-price-widget .krv-anchor-nav {
  background: #121a2b !important;
  border-color: #243049 !important;
}
html[data-theme="dark"] .krv-price-widget .krv-anchor-nav a,
html[data-theme="dark"] .krv-price-widget .krv-prices-tab,
html[data-theme="dark"] .krv-price-widget .krv-landings-strip a {
  background: #0f172a !important;
  border-color: #243049 !important;
  color: #8aacff !important;
}
html[data-theme="dark"] .krv-price-widget .krv-anchor-nav a:hover,
html[data-theme="dark"] .krv-price-widget .krv-anchor-nav a.is-active,
html[data-theme="dark"] .krv-price-widget .krv-prices-tab:hover,
html[data-theme="dark"] .krv-price-widget .krv-prices-tab.is-active,
html[data-theme="dark"] .krv-price-widget .krv-landings-strip a:hover {
  background: #1a2744 !important;
  border-color: #3d5a9a !important;
  color: #a8c0ff !important;
}

html[data-theme="dark"] .krv-price-widget .krv-package-accent {
  background: #1a2744 !important;
  border-color: #3d5a9a !important;
}
html[data-theme="dark"] .krv-price-widget .krv-hero-panel-accent {
  background: #1a2744 !important;
  border-color: #3d5a9a !important;
}
html[data-theme="dark"] .krv-price-widget .krv-hero-panel-note {
  background: #0f172a !important;
  color: #c2cde6 !important;
}

/* CTA block stays accent; invert secondary white buttons carefully */
html[data-theme="dark"] .krv-price-widget .krv-cta {
  background: #244ac2 !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .krv-price-widget .krv-cta h2,
html[data-theme="dark"] .krv-price-widget .krv-cta p {
  color: #ffffff !important;
}
html[data-theme="dark"] .krv-price-widget .krv-cta .krv-btn {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #1a2744 !important;
}
html[data-theme="dark"] .krv-price-widget .krv-cta .krv-btn:hover {
  background: #e8eefc !important;
  border-color: #e8eefc !important;
  color: #0b1220 !important;
}

html[data-theme="dark"] .krv-price-widget .krv-mobile-cta {
  background: #121a2b !important;
  border-color: #243049 !important;
}

/* FAQ summary */
html[data-theme="dark"] .krv-price-widget .krv-faq-item summary {
  color: #f4f7ff !important;
}
html[data-theme="dark"] .krv-price-widget .krv-faq-item p {
  color: #a8b6d4 !important;
}

/* Price amounts stay strong */
html[data-theme="dark"] .krv-price-widget .krv-price,
html[data-theme="dark"] .krv-price-widget .krv-price-small-inline {
  color: #f4f7ff !important;
}

/* ── Contacts topic banner ── */
html[data-theme="dark"] .krv-contacts-topic-banner {
  background: #121a2b;
  border-color: #243049;
  color: #e8eefc;
}

/* ── Consultations page widget (/konsultatsii/) ──
   Inline <style> in post content hardcodes light palette — force dark. */
html[data-theme="dark"] .consult-widget {
  color: #e8eefc !important;
}
html[data-theme="dark"] .consult-widget a:not(.consult-widget__button) {
  color: #8aacff !important;
}
html[data-theme="dark"] .consult-widget__intro {
  background:
    radial-gradient(circle at top left, rgba(49, 95, 232, 0.22), transparent 40%),
    linear-gradient(135deg, #121a2b 0%, #0f172a 100%) !important;
  border-color: #243049 !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.35) !important;
}
html[data-theme="dark"] .consult-widget__badge,
html[data-theme="dark"] .consult-widget__eyebrow {
  background: #1a2744 !important;
  color: #8aacff !important;
}
html[data-theme="dark"] .consult-widget__intro h2,
html[data-theme="dark"] .consult-widget__main h2,
html[data-theme="dark"] .consult-widget__faq h3 {
  color: #f4f7ff !important;
}
html[data-theme="dark"] .consult-widget__intro p,
html[data-theme="dark"] .consult-widget__note,
html[data-theme="dark"] .consult-widget__price small,
html[data-theme="dark"] .consult-widget__faq details p,
html[data-theme="dark"] .consult-widget__features em {
  color: #a8b6d4 !important;
}
html[data-theme="dark"] .consult-widget__price-line,
html[data-theme="dark"] .consult-widget__faq summary,
html[data-theme="dark"] .consult-widget__faq summary::marker {
  color: #8aacff !important;
}
html[data-theme="dark"] .consult-widget__card,
html[data-theme="dark"] .consult-widget__faq {
  background: #121a2b !important;
  border-color: #243049 !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.35) !important;
}
html[data-theme="dark"] .consult-widget__price span,
html[data-theme="dark"] .consult-widget__features span {
  color: #f4f7ff !important;
}
html[data-theme="dark"] .consult-widget__features li {
  background: #0f172a !important;
  border-color: #243049 !important;
}
html[data-theme="dark"] .consult-widget__features i {
  background: #1a2744 !important;
  color: #8aacff !important;
}
html[data-theme="dark"] .consult-widget__button {
  background: #315fe8 !important;
  color: #ffffff !important;
}
html[data-theme="dark"] .consult-widget__button:hover {
  background: #244ac2 !important;
}
html[data-theme="dark"] .consult-widget__visual {
  background: linear-gradient(180deg, #1a2744 0%, #0f172a 100%) !important;
}
html[data-theme="dark"] .consult-widget__caption {
  background: #121a2b !important;
  color: #c2cde6 !important;
}
html[data-theme="dark"] .consult-widget__faq details {
  border-bottom-color: #243049 !important;
}

/* ── Resume page widget (/resume/) ── */
html[data-theme="dark"] .krv-resume-widget {
  --bg: #0b1220 !important;
  --card: #121a2b !important;
  --line: #243049 !important;
  --text: #e8eefc !important;
  --muted: #a8b6d4 !important;
  --accent: #315fe8 !important;
  --accent-dark: #8aacff !important;
  --tag-bg: #1a2744 !important;
  --soft: #1a2744 !important;
  --shadow: 0 12px 34px rgba(0, 0, 0, 0.4) !important;
  background: #0b1220 !important;
  color: #e8eefc !important;
}
html[data-theme="dark"] .krv-resume-hero,
html[data-theme="dark"] .krv-resume-card {
  background: #121a2b !important;
  border-color: #243049 !important;
}
html[data-theme="dark"] .krv-resume-name,
html[data-theme="dark"] .krv-resume-card h2,
html[data-theme="dark"] .krv-resume-card h3 {
  color: #f4f7ff !important;
}
html[data-theme="dark"] .krv-resume-role,
html[data-theme="dark"] .krv-resume-badge,
html[data-theme="dark"] .krv-resume-period {
  color: #8aacff !important;
}
html[data-theme="dark"] .krv-resume-badge,
html[data-theme="dark"] .krv-resume-period {
  background: #1a2744 !important;
}
html[data-theme="dark"] .krv-resume-summary,
html[data-theme="dark"] .krv-resume-card p,
html[data-theme="dark"] .krv-resume-ul,
html[data-theme="dark"] .krv-resume-company {
  color: #a8b6d4 !important;
}
html[data-theme="dark"] .krv-resume-contacts a,
html[data-theme="dark"] .krv-resume-contacts span,
html[data-theme="dark"] .krv-resume-tags span,
html[data-theme="dark"] .krv-resume-stack span {
  background: #1a2744 !important;
  border-color: #243049 !important;
  color: #e8eefc !important;
}
html[data-theme="dark"] .krv-resume-note,
html[data-theme="dark"] .krv-resume-mini,
html[data-theme="dark"] .krv-resume-link {
  background: #0f172a !important;
  border-color: #243049 !important;
  color: #c2cde6 !important;
}
html[data-theme="dark"] .krv-resume-lang-bar {
  background: #243049 !important;
}
html[data-theme="dark"] .krv-resume-lang-top {
  color: #e8eefc !important;
}

/* Social icons SVG paths often use currentColor or fill */
html[data-theme="dark"] .krv-landing-social-icon path {
  fill: currentColor;
}

