/* Video testimonial (Adilo, click-to-play).
   The box is sized by the poster image, so landscape, square and vertical clips all sit correctly;
   the player iframe is injected over the poster only on click (video.js). */

.vt { margin: 0; max-width: 760px; }          /* landscape default */
.vt.vt--square   { max-width: 520px; }
.vt.vt--portrait { max-width: 400px; }

.vt-frame {
	position: relative; display: block; width: 100%; padding: 0; border: 0; line-height: 0;
	background: #000; border-radius: var(--radius-md); overflow: hidden; cursor: pointer;
	box-shadow: var(--shadow-soft, 0 10px 30px rgba(0,0,0,.18));
}
.vt-poster { display: block; width: 100%; height: auto; transition: transform .45s ease; }
.vt-frame:hover .vt-poster { transform: scale(1.03); }

.vt-play {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	background: linear-gradient(180deg, rgba(10,10,11,0) 45%, rgba(10,10,11,.45) 100%);
	transition: opacity .3s ease;
}
.vt-play::before {                            /* red disc */
	content: ""; width: 78px; height: 78px; border-radius: 50%;
	background: var(--brand); box-shadow: 0 8px 30px rgba(0,0,0,.35);
	transition: transform .25s ease, background .25s ease;
}
.vt-play::after {                             /* play triangle, optically centred in the disc */
	content: ""; position: absolute; top: 50%; left: 50%;
	width: 0; height: 0; border-style: solid; border-width: 13px 0 13px 22px;
	border-color: transparent transparent transparent #fff;
	transform: translate(-40%, -50%);
}
.vt-frame:hover .vt-play::before { transform: scale(1.08); background: var(--brand-hover, var(--red-400)); }
.vt-frame:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }

.vt-iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vt-frame.vt-on .vt-poster,
.vt-frame.vt-on .vt-play { opacity: 0; visibility: hidden; }

.vt-cap {
	margin-top: 14px; font-family: var(--font-mono); font-size: 12.5px; letter-spacing: .04em;
	color: var(--text-muted); display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline;
}
.vt-cap strong {
	font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-body);
	letter-spacing: 0; color: var(--text-strong); text-transform: none;
}
