/* Orion Trusted Partners — matches the real "Logo slider" section exactly,
   using this project's real breakpoints:
   sm=640, md=769, lg=992, xl=1199, 1xl=1380, 2xl=1752. */

.orion-tp {
	width: 100%;
	position: relative;
	z-index: 1;
	margin-bottom: 40px;
}
@media (min-width: 640px) { .orion-tp { margin-bottom: 50px; } }
@media (min-width: 992px) { .orion-tp { margin-bottom: 70px; } }
@media (min-width: 1380px) { .orion-tp { margin-bottom: 80px; } }
@media (min-width: 1752px) { .orion-tp { margin-bottom: 100px; } }

.orion-tp-content-container {
	width: 100%;
	margin: 0 auto;
	padding: 0 16px;
}
@media (min-width: 640px) { .orion-tp-content-container { max-width: 640px; } }
@media (min-width: 769px) { .orion-tp-content-container { max-width: 769px; } }
@media (min-width: 992px) { .orion-tp-content-container { max-width: 992px; } }
@media (min-width: 1199px) { .orion-tp-content-container { max-width: 1199px; } }
@media (min-width: 1380px) { .orion-tp-content-container { max-width: 1380px; } }
@media (min-width: 1752px) { .orion-tp-content-container { max-width: 1752px; } }

.orion-tp__header {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 30px;
}
@media (min-width: 640px) { .orion-tp__header { flex-direction: row; align-items: center; justify-content: space-between; } }
@media (min-width: 769px) { .orion-tp__header { margin-bottom: 36px; } }
@media (min-width: 992px) { .orion-tp__header { margin-bottom: 44px; } }
@media (min-width: 1199px) { .orion-tp__header { margin-bottom: 50px; } }
@media (min-width: 1752px) { .orion-tp__header { margin-bottom: 65px; } }

.orion-tp__header-left { min-width: 0; }

/* HTML global h2 + font-normal */
html body h2.orion-tp__title,
h2.orion-tp__title {
	margin: 0;
	color: #000;
	font-family: var(--orion-font-heading, "El Messiri", serif) !important;
	font-weight: 400 !important; /* HTML font-normal */
	font-size: 26px !important;
	line-height: 36px !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}
@media (min-width: 640px)  {
	html body h2.orion-tp__title,
	h2.orion-tp__title { font-size: 30px !important; line-height: 40px !important; }
}
@media (min-width: 769px)  {
	html body h2.orion-tp__title,
	h2.orion-tp__title { font-size: 35px !important; line-height: 40px !important; }
}
@media (min-width: 1199px) {
	html body h2.orion-tp__title,
	h2.orion-tp__title { font-size: 40px !important; line-height: 50px !important; }
}
@media (min-width: 1380px) {
	html body h2.orion-tp__title,
	h2.orion-tp__title { font-size: 46px !important; line-height: 55px !important; }
}
@media (min-width: 1752px) {
	html body h2.orion-tp__title,
	h2.orion-tp__title { font-size: 60px !important; line-height: 70px !important; }
}

p.orion-tp__description {
	margin: 8px 0 0;
	color: #464343;
	font-family: var(--orion-font-body, Lexend, sans-serif) !important;
	font-weight: 300 !important;
	font-size: 14px !important;
	line-height: 23px !important;
	width: 100%;
}
@media (min-width: 640px) { p.orion-tp__description { width: 96%; } }
@media (min-width: 769px) { p.orion-tp__description { width: 88%; } }
@media (min-width: 992px) {
	p.orion-tp__description {
		width: 71%;
		font-size: 15px !important;
		line-height: 25px !important;
	}
}
@media (min-width: 1199px) {
	p.orion-tp__description {
		width: 62%;
		margin-top: 10px;
		line-height: 26px !important;
	}
}
@media (min-width: 1380px) {
	p.orion-tp__description {
		margin-top: 16px;
		line-height: 28px !important;
	}
}
@media (min-width: 1752px) {
	p.orion-tp__description {
		width: 67%;
		font-size: 18px !important;
		line-height: 30px !important;
	}
}

.orion-tp__btn-wrap { display: none; }
@media (min-width: 640px) { .orion-tp__btn-wrap { display: block; } }

/* The theme's generic ".btn" loads after the utility sheet and flattens the
   reference's responsive padding/size schedule, so it is restated here. */
.orion-tp__cta-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	white-space: nowrap;
	text-align: start;
	font-family: Lexend, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 24px;
	letter-spacing: normal;
	padding: 5px 16px;
	transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 640px) { .orion-tp__cta-btn { padding: 8px 20px; } }
@media (min-width: 1199px) { .orion-tp__cta-btn { font-size: 15px; padding: 10px 28px; } }
@media (min-width: 1380px) { .orion-tp__cta-btn { padding: 10px 34px; } }
@media (min-width: 1752px) { .orion-tp__cta-btn { font-size: 18px; padding: 12px 40px; } }

/* Continuous CSS marquee */
.orion-tp__slider { width: 100%; overflow: hidden; position: relative; }

.orion-tp__track {
	display: flex;
	align-items: center;
	width: max-content;
	gap: 40px;
	animation-name: orion-tp-slide;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
@media (min-width: 640px) { .orion-tp__track { gap: 54px; } }
@media (min-width: 769px) { .orion-tp__track { gap: 70px; } }
@media (min-width: 992px) { .orion-tp__track { gap: 100px; } }
@media (min-width: 1752px) { .orion-tp__track { gap: 150px; } }

.orion-tp__slider--pause-on-hover:hover .orion-tp__track { animation-play-state: paused; }

@keyframes orion-tp-slide {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.orion-tp__logo-link { display: block; }

/* Match HTML max-h schedule (preserve SVG aspect). Eager-load logos in
   the widget so intrinsic size is available under Elementor img rules. */
.orion-tp__logo {
	height: auto;
	width: auto;
	max-width: none;
	max-height: 44px;
	object-fit: contain;
}
@media (min-width: 640px) { .orion-tp__logo { max-height: 55px; } }
@media (min-width: 769px) { .orion-tp__logo { max-height: 72px; } }
@media (min-width: 992px) { .orion-tp__logo { max-height: 75px; } }
@media (min-width: 1752px) { .orion-tp__logo { max-height: 100px; } }

@media (prefers-reduced-motion: reduce) {
	.orion-tp__track { animation: none; }
}
