/* Hive Carousels — testimonial carousel.
   Every class is uniquely namespaced (hivecar-tst / hivecar-tst__*) and every
   rule is scoped under the root class so theme and plugin CSS cannot collide
   with it. The handful of structural properties the JS engine depends on are
   marked !important so a stray theme rule cannot break the layout. */

.hivecar-tst,
.hivecar-tst *,
.hivecar-tst *::before,
.hivecar-tst *::after { box-sizing: border-box !important; }

.hivecar-tst { padding: 20px 0; position: relative; }

.hivecar-tst .hivecar-tst__frame { position: relative; }

.hivecar-tst .hivecar-tst__stage {
	position: relative !important;
	width: 100% !important;
	height: 300px;
	margin: 0;
}

.hivecar-tst .hivecar-tst__slide {
	position: absolute !important;
	top: 50% !important;
	left: 0;
	float: none !important;
	max-width: none !important;
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e0e0e0;
	transition: left .4s ease, width .4s ease, height .4s ease, margin-top .4s ease, opacity .4s ease;
	pointer-events: none;
	display: flex;
}
.hivecar-tst .hivecar-tst__slide--focus { z-index: 3; opacity: 1; pointer-events: auto; }
.hivecar-tst .hivecar-tst__slide--peek  { z-index: 1; opacity: .45; }
.hivecar-tst .hivecar-tst__slide--park  { z-index: 0; opacity: 0; }

.hivecar-tst .hivecar-tst__text {
	flex: 1;
	padding: 28px 26px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	background: #fff;
}
.hivecar-tst .hivecar-tst__quote { font-size: 14px; line-height: 1.7; color: #000; margin: 0 0 18px; font-style: italic; }
.hivecar-tst .hivecar-tst__name  { display: block; font-size: 14px; font-weight: 600; color: #e69600; }
.hivecar-tst .hivecar-tst__role  { display: block; font-size: 12px; color: #555; margin-top: 3px; }

.hivecar-tst .hivecar-tst__media { flex-shrink: 0; width: 38%; }
.hivecar-tst .hivecar-tst__media img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	display: block;
	margin: 0;
	border: 0;
	border-radius: 0;
}

.hivecar-tst .hivecar-tst__nav { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 18px; }
.hivecar-tst .hivecar-tst__dots { display: flex; gap: 6px; align-items: center; }
.hivecar-tst .hivecar-tst__dot {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #ccc;
	border: none;
	cursor: pointer;
	padding: 0;
	transition: background .2s, transform .2s;
}
.hivecar-tst .hivecar-tst__dot--active { background: #e69600; transform: scale(1.3); }

.hivecar-tst .hivecar-tst__arrow {
	width: 34px; height: 34px;
	border-radius: 50%;
	border: 1px solid #ccc;
	background: #fff;
	font-size: 22px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #333;
	transition: border-color .15s, color .15s;
	padding: 0 0 2px 0;
	line-height: 34px;
	flex-shrink: 0;
}
.hivecar-tst .hivecar-tst__arrow:hover { border-color: #e69600; color: #e69600; }

@media (max-width: 768px) {
	.hivecar-tst .hivecar-tst__stage { height: 220px; }
	.hivecar-tst .hivecar-tst__media { width: 35%; }
	.hivecar-tst .hivecar-tst__quote { font-size: 12px; }
}
