/* «Видеоотчет с площадки» в карточке авто */
.cv-section { display: flex; flex-direction: column; gap: 1rem; padding: 0.5rem 0; scroll-margin-top: 1rem; }
.cv-head h2 { margin: 0; color: #eee; font-size: 1.75rem; font-weight: 700; line-height: 1.15; }
.cv-head p { margin: 0.25rem 0 0; color: rgba(238, 238, 238, 0.5); font-size: 1.05rem; font-weight: 500; }
.cv-list { display: flex; gap: 0.75rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 2px; }
.cv-list::-webkit-scrollbar { display: none; }
.cv-card {
	flex: 0 0 calc((100% - 0.75rem) / 2.3); scroll-snap-align: start;
	display: flex; flex-direction: column; padding: 0; text-align: center; cursor: pointer;
	background: #161616; border: 1px solid rgba(238, 238, 238, 0.35); border-radius: 1rem; overflow: hidden;
	color: #eee; font: inherit; transition: border-color .2s, transform .2s;
}
.cv-card:hover { border-color: #ffbd27; transform: translateY(-2px); }
.cv-card:focus-visible { outline: 2px solid #ffbd27; outline-offset: 2px; }
@media (min-width: 768px) {
	.cv-card { flex-basis: calc((100% - 3 * 0.75rem) / 4); }
}
.cv-thumb { position: relative; width: 100%; aspect-ratio: 1 / 1; background: #3a3a3a; }
.cv-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.cv-play {
	position: absolute; left: 50%; top: 50%; width: 2.5rem; height: 2.5rem; transform: translate(-50%, -50%);
	display: flex; align-items: center; justify-content: center; border-radius: 999px;
	background: rgba(17, 17, 17, 0.85); transition: background .2s, transform .2s;
}
.cv-card:hover .cv-play { background: #ffbd27; transform: translate(-50%, -50%) scale(1.08); }
.cv-card:hover .cv-play path { fill: #111; }
.cv-dur {
	position: absolute; right: 0.5rem; bottom: 0.5rem; padding: 0.15rem 0.45rem; border-radius: 0.4rem;
	background: rgba(17, 17, 17, 0.85); color: #eee; font-size: 0.75rem; font-weight: 500;
}
.cv-text { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.75rem 0.5rem 0.9rem; }
.cv-title { font-weight: 600; font-size: 0.95rem; line-height: 1.2; }
.cv-note { color: rgba(238, 238, 238, 0.6); font-size: 0.75rem; line-height: 1.25; }
.cv-title, .cv-note { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.cv-modal {
	position: fixed; inset: 0; z-index: 60; display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 0.75rem; padding: 1rem; background: rgba(5, 5, 5, 0.85); backdrop-filter: blur(12px);
}
.cv-modal video { max-width: min(100%, 72rem); max-height: calc(100vh - 8rem); width: auto; height: auto; border-radius: 1rem; background: #000; }
.cv-modal-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: min(100%, 72rem); color: #eee; font-weight: 600; }
.cv-close {
	flex-shrink: 0; padding: 0.6rem 1.1rem; border-radius: 0.9rem; border: 0; cursor: pointer;
	background: #262626; color: #eee; font: inherit; font-weight: 600;
}
.cv-close:hover { background: #ffbd27; color: #111; }
