/**
 * 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%;
}

/* Panel heading now uses .panel-heading from panel-base.css */

.video-logo-panel .video-and-text .text h3 {
	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: var(--heading-sub);
	font-weight: var(--font-bold);
	letter-spacing: var(--heading-sub-ls);
	line-height: var(--heading-sub-lh);
	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;
}

/* Swiper slide styling handled by .swiper--minimal in swiper.css */

/* 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: var(--space-7) 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;
	}
}

/* ==========================================================================
   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;
	}

	/* Panel heading mobile handled by .panel-heading in panel-base.css */
}
