/*
 * Saphena owned components v1
 * Host-gated by Unoyah_Owned_Components and kit-scoped below.
 */

body.elementor-kit-3000 :where(a, button, [role="button"], summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--e-global-color-paper, #faf7f2) !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 6px var(--e-global-color-text, #2a1548) !important;
}

body.elementor-kit-3000 .uno-cmp-scroll {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

body.elementor-kit-3000 .uno-cmp {
	width: 100%;
	border-collapse: collapse;
	margin: 10px 0 4px;
	color: var(--e-global-color-text, #2a1548);
}

body.elementor-kit-3000 .uno-cmp caption {
	padding: 0 0 12px;
	font-weight: 600;
	text-align: start;
}

body.elementor-kit-3000 .uno-cmp :is(th, td) {
	padding: 13px 14px;
	border: 1px solid var(--e-global-color-saphena-violet-200, #e0d5ed);
	text-align: start;
	vertical-align: top;
}

body.elementor-kit-3000 .uno-cmp thead th {
	background: var(--e-global-color-primary, #4a2c72);
	color: var(--e-global-color-paper, #faf7f2);
}

body.elementor-kit-3000 .uno-cmp th[scope="row"] {
	width: 23%;
	background: var(--e-global-color-cream, #f3ede3);
}

body.elementor-kit-3000 .uno-cmp a {
	overflow-wrap: anywhere;
}

/* Preserve the approved two-column service hero at the exact 900px split. */
@media (min-width: 900px) and (max-width: 1024px) {
	body.elementor-kit-3000 .saphena-service-hero--split-900.e-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-template-rows: 1fr !important;
	}
}

@media (max-width: 768px) {
	body.elementor-kit-3000 .uno-cmp-scroll {
		overflow-x: visible;
	}

	body.elementor-kit-3000 .uno-cmp,
	body.elementor-kit-3000 .uno-cmp tbody,
	body.elementor-kit-3000 .uno-cmp tr,
	body.elementor-kit-3000 .uno-cmp :is(th, td) {
		display: block;
		width: 100%;
	}

	body.elementor-kit-3000 .uno-cmp thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}

	body.elementor-kit-3000 .uno-cmp tr {
		margin-block-end: 16px;
		overflow: hidden;
		border: 1px solid var(--e-global-color-saphena-violet-200, #e0d5ed);
		border-radius: 8px;
	}

	body.elementor-kit-3000 .uno-cmp th[scope="row"] {
		width: auto;
		background: var(--e-global-color-primary, #4a2c72);
		color: var(--e-global-color-paper, #faf7f2);
	}

	body.elementor-kit-3000 .uno-cmp td {
		border: 0;
		border-block-start: 1px solid var(--e-global-color-saphena-violet-200, #e0d5ed);
	}

	body.elementor-kit-3000 .uno-cmp td::before {
		content: attr(data-label) ": ";
		font-weight: 700;
		color: var(--e-global-color-primary, #4a2c72);
	}
}

@media (forced-colors: active) {
	body.elementor-kit-3000 :where(a, button, [role="button"], summary, input, select, textarea, [tabindex]):focus-visible {
		outline: 3px solid CanvasText !important;
		box-shadow: 0 0 0 6px Canvas !important;
		forced-color-adjust: auto;
	}

	body.elementor-kit-3000 .uno-cmp :is(th, td),
	body.elementor-kit-3000 .uno-cmp tr {
		border-color: CanvasText;
	}
}

@media print {
	body.elementor-kit-3000 .uno-cmp-scroll {
		overflow: visible;
	}
}
