/**
 * Video Logo Panel Styles
 *
 * Panel with video/image, text content, and client logos carousel
 *
 * Dependencies: ssa-base, ssa-swiper
 * Extracted from: styles.css lines 600-727, responsive rules from 768px and 480px media queries
 */

/* ==========================================================================
   Base Styles
   ========================================================================== */

.video-logo-panel {
	background-color: var(--bg-1);
	padding: 77px 0 87px;
	position: relative;
}

.video-logo-panel .content {
	padding-bottom: var(--space-11);
	text-align: center;
}

.video-logo-panel .video-and-text {
	align-items: center;
	display: flex;
	margin-bottom: 65px;
	width: 100%;
}

.video-logo-panel .video-and-text .video {
	max-width: 610px;
	margin-right: 62px;
	width: 100%;
}

.video-logo-panel .video-and-text .video img {
	width: 100%;
}

.video-logo-panel .video-and-text .text {
	text-align: left;
	width: 37%;
}

.video-logo-panel .video-and-text .text h3 {
	color: var(--brand-main);
	font-size: 42px;
	letter-spacing: -1.5px;
	line-height: 46px;
	margin-bottom: 28px;
	max-width: 440px;
	width: 100%;
}

.video-logo-panel .video-and-text .text p {
	color: var(--black);

	/* font-family handled by utility class */
	font-size: 24px;
	font-weight: 700;
	margin-bottom: var(--space-6);
}

.video-logo-panel .video-and-text .text ul {
	list-style-type: none;
}

.video-logo-panel .video-and-text .text li {
	display: flex;
	align-items: center;
	justify-content: left;
	margin-bottom: var(--space-5);
	width: 100%;
}

.video-logo-panel .video-and-text .text li img {
	margin-right: var(--space-4);
}

.video-logo-panel .video-and-text .text .button {
	border: 1px solid var(--brand-main);
	color: var(--brand-main);
	margin: 0 21px 0 0;
	text-decoration: none;
}

.video-logo-panel .video-and-text .text a {
	color: var(--brand-main);
	text-decoration: underline;
	line-height: 48px;
}

.video-logo-panel h3.logo-title {
	color: var(--black);
	display: inline-block;
	font-size: 28px;
	letter-spacing: -0.2px;
	line-height: 54px;
	margin-bottom: var(--space-10);
	padding: 0 50px;
}

.video-logo-panel h3.logo-title u {
	text-decoration: none;
	position: relative;
	z-index: 10;
}

.video-logo-panel h3.logo-title u::after {
	background: url("../img/circle-outline.webp") 100% 100% / cover no-repeat;
	top: -25px;
	content: '';
	display: block;
	height: 82px;
	left: -20px;
	right: var(--space-0);
	position: absolute;
	width: 192px;
	z-index: -1;
}

.video-logo-panel .logos .swiper-wrapper {
	align-items: center;
}

.video-logo-panel .logos .swiper-slide {
	border-radius: var(--radius-none) var(--radius-none) var(--radius-none) var(--radius-none);
	box-shadow: none;
}

/* stylelint-disable-next-line no-descending-specificity -- logos section separate from text list */
.video-logo-panel .logos .swiper-slide img {
	border-top-left-radius: var(--radius-none);
	border-top-right-radius: var(--radius-none);
	max-width: fit-content;
}

.video-logo-panel .logos.swiper {
	padding-bottom: var(--space-0);
}

/* ==========================================================================
   Responsive: Tablet (768px and below)
   ========================================================================== */

@media (max-width: 768px) {
	.video-logo-panel {
		padding: 30px 0;
	}

	.video-logo-panel .content {
		padding: 80px var(--content-padding-x) 50px var(--content-padding-x);
	}

	.video-logo-panel .video-and-text {
		border-bottom: var(--space-0);
		display: inline-block;
		padding: 0 50px 0 0;
	}

	.video-logo-panel .video-and-text .video {
		margin-right: var(--space-0);
	}

	.video-logo-panel .video-and-text .video img {
		margin-bottom: 41px;
	}

	.video-logo-panel .video-and-text .text {
		width: 100%;
	}

	.video-logo-panel h3.logo-title {
		padding: 0 100px 0 50px;
	}

	/* Fix hardcoded padding for responsive consistency */
	.video-logo-panel h3 {
		padding-left: 32px;
		padding-right: 32px;
	}
}

/* ==========================================================================
   Responsive: Mobile (480px and below)
   ========================================================================== */

@media (max-width: 480px) {
	.video-logo-panel .content {
		padding: 40px var(--content-padding-x) 0 var(--content-padding-x);
	}

	.video-logo-panel .video-and-text {
		padding-right: var(--space-6);
	}

	.video-logo-panel h3.logo-title {
		padding: 0 24px 0 0;
	}

	.video-logo-panel .video-and-text .text h3 {
		font-size: 2rem;
		line-height: 42px;
	}

	/* Fix hardcoded padding for mobile consistency */
	/* stylelint-disable-next-line no-descending-specificity -- h3 general rule after specific nested h3 */
	.video-logo-panel h3 {
		padding-left: 16px;
		padding-right: 16px;
	}
}
