.ot-cs {
	--ot-cs-cols: 2;
	--ot-cs-gap: 30px;
	--ot-cs-blue: #19468d;
	--ot-cs-title: #1e4d8c;
	--anim-speed: 550ms;
	--anim-dist: 20px;
	position: relative;
	width: 100%;
}

.ot-cs[data-columns="2"] { --ot-cs-cols: 2; }
.ot-cs[data-columns="3"] { --ot-cs-cols: 3; }
.ot-cs[data-columns="4"] { --ot-cs-cols: 4; }

.ot-cs-viewport {
	overflow: hidden;
	width: 100%;
}

.ot-cs[data-view="carousel"] .ot-cs-track {
	display: flex;
	align-items: stretch;
	gap: var(--ot-cs-gap);
	transition: transform 0.45s ease;
}

.ot-cs[data-view="carousel"] .ot-cs-card {
	flex: 0 0 calc((100% - (var(--ot-cs-cols) - 1) * var(--ot-cs-gap)) / var(--ot-cs-cols));
	min-width: 0;
	max-width: calc((100% - (var(--ot-cs-cols) - 1) * var(--ot-cs-gap)) / var(--ot-cs-cols));
}

.ot-cs[data-view="grid"] .ot-cs-track {
	display: grid;
	grid-template-columns: repeat(var(--ot-cs-cols), minmax(0, 1fr));
	gap: var(--ot-cs-gap);
	transform: none !important;
}

.ot-cs-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	height: auto;
	margin: 0;
	padding: 30px;
	background: transparent;
	border: 1px solid #c9c9c9;
	border-radius: 10px;
}

h3.ot-cs-title {
	display: block;
	width: 100%;
	margin: 0 auto;
	color: var(--ot-cs-title);
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
}

.ot-cs-frame {
	width: 100%;
	margin-top: 20px;
	overflow: hidden;
	border: 1px solid #ccc;
	border-radius: 10px;
	line-height: 0;
	background: transparent;
}

.ot-cs-frame img,
.elementor-widget-shortcode .ot-cs-frame img,
.elementor-editor-active .ot-cs-frame img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
}

.elementor-widget-shortcode .ot-cs,
.elementor-editor-active .ot-cs,
.elementor-editor-preview .ot-cs {
	width: 100%;
	max-width: 100%;
}

.ot-cs-image-fallback {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	background: linear-gradient(180deg, #1e4d8c 0%, #3b6bb8 100%);
}

.ot-cs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 20px;
	padding: 12px 28px;
	border: 1.5px solid var(--ot-cs-blue);
	border-radius: 999px;
	background: var(--ot-cs-blue);
	color: #fff;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	overflow: hidden;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.ot-cs-btn:disabled {
	cursor: default;
	pointer-events: none;
	opacity: 0.45;
}

.ot-cs-btn:hover,
.ot-cs-btn:focus-visible {
	background: var(--ot-cs-blue);
	color: #fff;
	border-color: #fff;
}

.ot-cs-btn:focus-visible {
	outline: 2px solid var(--ot-cs-blue);
	outline-offset: 3px;
}

button.ot-cs-arrow {
    padding: unset!important;
}
.ot-cs-has-letter .ot-cs-btn .elementor-button-content-wrapper,
.ot-cs-has-letter .ot-cs-btn .elementor-button-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.ot-cs-has-letter .ot-cs-btn .elementor-button-text {
	white-space: nowrap;
}

.ot-cs-has-letter .ot-cs-btn .char {
	display: inline-block;
	position: relative;
	line-height: 1;
	will-change: transform, opacity;
}

.ot-cs-has-letter .ot-cs-btn .char-space {
	display: inline-block;
	width: 0.35em;
}

.ot-cs-has-letter .ot-cs-btn:hover .char-up {
	animation: ot-cs-letter-up var(--anim-speed) cubic-bezier(0.4, 0, 0.2, 1) both;
}

.ot-cs-has-letter .ot-cs-btn:hover .char-down {
	animation: ot-cs-letter-down var(--anim-speed) cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes ot-cs-letter-up {
	0% { transform: translateY(0); opacity: 1; }
	40% { transform: translateY(var(--anim-dist)); opacity: 0; }
	60% { transform: translateY(calc(var(--anim-dist) * -1)); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}

@keyframes ot-cs-letter-down {
	0% { transform: translateY(0); opacity: 1; }
	40% { transform: translateY(calc(var(--anim-dist) * -1)); opacity: 0; }
	60% { transform: translateY(var(--anim-dist)); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}

.ot-cs[data-view="carousel"] {
	padding-left: 64px;
	padding-right: 64px;
}

.ot-cs[data-view="carousel"] .ot-cs-nav {
	position: absolute;
	inset: 0;
	z-index: 4;
	margin: 0;
	pointer-events: none;
}

.ot-cs.is-static .ot-cs-nav {
	display: none;
}

.ot-cs-arrow {
	position: absolute;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	min-width: 46px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--ot-cs-blue);
	border-radius: 50%;
	background: #fff !important;
	color: var(--ot-cs-blue) !important;
	box-shadow: 0 4px 14px rgba(25, 70, 141, 0.18);
	cursor: pointer;
	pointer-events: auto;
	transform: translateY(-50%);
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.ot-cs-prev {
	left: 0;
}

.ot-cs-next {
	right: 0;
}

.ot-cs-arrow svg {
	width: 16px !important;
	height: 16px !important;
	display: block !important;
	overflow: visible;
}

.ot-cs-arrow svg path {
	fill: currentColor !important;
	stroke: none !important;
}

.ot-cs-arrow:hover:not(:disabled),
.ot-cs-arrow:focus-visible:not(:disabled) {
	background: var(--ot-cs-blue) !important;
	border-color: var(--ot-cs-blue);
	color: #fff !important;
}

.ot-cs-arrow:disabled {
	opacity: 0.35;
	cursor: default;
}

.ot-cs-empty {
	margin: 0;
	text-align: center;
}

.ot-cs-popup {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.9);
	opacity: 0;
	transition: opacity 400ms ease;
}

.ot-cs-popup.is-open {
	opacity: 1;
}

.ot-cs-popup-dialog {
	position: relative;
	width: 80%;
	height: 90%;
	max-width: 1400px;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 400ms ease, transform 400ms ease;
}

.ot-cs-popup.is-open .ot-cs-popup-dialog {
	opacity: 1;
	transform: none;
}

.ot-cs-popup-close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #000;
	color: #fff;
	cursor: pointer;
}

.ot-cs-popup-close svg {
	width: 14px;
	height: 14px;
	display: block;
}

button.ot-cs-popup-close {
    font-size: 10px;
    color: #ffffff;
    background-color: #000000!important;
    padding: 0px!important;
}
button.ot-cs-popup-close:hover {
    background-color: var( --e-global-color-primary )!important;
}
.ot-cs-popup-body {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.ot-cs-popup-body iframe {
	flex: 1;
	width: 100%;
	height: 100%;
	border: 0;
}

.ot-cs-popup-empty {
	margin: auto;
	padding: 24px;
	color: #333;
	font-family: "Plus Jakarta Sans", sans-serif;
	text-align: center;
}

.ot-cs-popup-loader {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.8);
}

.ot-cs-popup-loader[hidden] {
	display: none;
}

.ot-cs-spinner {
	width: 40px;
	height: 40px;
	border: 4px solid rgba(0, 0, 0, 0.1);
	border-top-color: #19468d;
	border-radius: 50%;
	animation: ot-cs-spin 0.8s linear infinite;
}

@keyframes ot-cs-spin {
	to { transform: rotate(360deg); }
}

@media (max-width: 1200px) {
	.ot-cs-title { font-size: 22px; }
}

@media (max-width: 1024px) {
	.ot-cs[data-view="grid"][data-columns="3"],
	.ot-cs[data-view="grid"][data-columns="4"] {
		--ot-cs-cols: 2;
	}

	.ot-cs-title { font-size: 20px; }
}

@media (max-width: 1024px) and (min-width: 768px) {
	.ot-cs[data-view="grid"][data-tablet] {
		--ot-cs-cols: var(--ot-cs-cols-tablet);
	}
}

@media (max-width: 767px) {
	.ot-cs[data-view="grid"],
	.ot-cs[data-view="grid"][data-columns="2"],
	.ot-cs[data-view="grid"][data-columns="3"],
	.ot-cs[data-view="grid"][data-columns="4"] {
		--ot-cs-cols: 1;
	}

	.ot-cs[data-view="grid"][data-mobile] {
		--ot-cs-cols: var(--ot-cs-cols-mobile);
	}

	.ot-cs[data-view="carousel"] {
		padding-left: 48px;
		padding-right: 48px;
	}

	.ot-cs-card { padding: 20px; }
	.ot-cs-title { font-size: 18px; }
	.ot-cs-arrow {
		width: 36px;
		height: 36px;
		min-width: 36px;
	}

	.ot-cs-popup-dialog {
		width: 94%;
		height: auto;
		max-height: 60%;
	}

	.ot-cs-popup-body {
		height: 60vh;
	}
 .ot-cs-arrow {
    --size: 25px;
    height: var(--size)!important;
    width: var(--size);
    min-width: var(--size);
}

.ot-cs-nav .ot-cs-arrow svg {
    width: 12px!important;
}

.ot-cs[data-view="carousel"] {
    padding-inline: 30px;
}

article.ot-cs-card {
    padding: 20px;
}
.ot-cs-has-letter .ot-cs-btn .elementor-button-text{
  flex-wrap: wrap;!important;
}
}

@media (prefers-reduced-motion: reduce) {
	.ot-cs-track,
	.ot-cs-popup,
	.ot-cs-popup-dialog,
	.ot-cs-has-letter .ot-cs-btn:hover .char-up,
	.ot-cs-has-letter .ot-cs-btn:hover .char-down {
		transition: none;
		animation: none;
	}
}
