/*
 * Widget sy-video-card. Medidas: design/components.md (.sy-video-card) y
 * design/home.md §1 (mobile).
 */

.sy-video-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.sy-video-card__glass {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 9px 9px 15px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--sy-r-card-sm);
	background: var(--sy-gradient-glass);
	box-shadow: var(--sy-shadow-glass);
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
}

.sy-video-card__media {
	position: relative;
	display: grid;
	place-items: center;
	height: 200px;
	overflow: hidden;
	border-radius: 14px;
	background:
		var(--sy-overlay-media),
		url("../../img/bg-waves.webp") right center / cover no-repeat,
		var(--sy-deep);
}

.sy-video-card__poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sy-video-card__label,
.sy-video-card__tag {
	position: absolute;
	top: 14px;
	font-size: 9px;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.9px;
	text-transform: uppercase;
}

.sy-video-card__label { left: 14px; color: var(--sy-lime); }
.sy-video-card__tag { right: 14px; color: var(--sy-on-dark); }

.sy-video-card__play {
	position: relative;
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	padding: 0 0 0 4px;
	border: 0;
	border-radius: 50%;
	background: var(--sy-lime);
	color: var(--sy-deep);
	font-size: 30px;
	line-height: 0;
}

button.sy-video-card__play {
	cursor: pointer;
	transition: box-shadow var(--sy-fast) var(--sy-ease);
}

button.sy-video-card__play:hover {
	box-shadow: 0 0 0 10px rgba(146, 239, 44, 0.2);
}

.sy-video-card__progress {
	position: absolute;
	right: 20px;
	bottom: 18px;
	left: 20px;
	height: 4px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.18);
}

.sy-video-card__progress span {
	display: block;
	width: 18%;
	height: 100%;
	border-radius: inherit;
	background: var(--sy-lime);
}

.sy-video-card__media.is-playing {
	display: block;
}

.sy-video-card__media.is-playing :is(iframe, video) {
	width: 100%;
	height: 100%;
	border: 0;
}

.sy-video-card__caption {
	max-width: 312px;
	margin: 0 auto;
	color: var(--sy-on-dark-strong);
	font-size: 13px;
	line-height: 20.8px;
	text-align: center;
}

.sy-video-card__note {
	margin: 0;
	color: var(--sy-periwinkle);
	font-size: 11px;
	font-weight: 600;
	line-height: normal;
	text-align: center;
}

/* Modal (enlaces a #sy-video). */
.sy-video-modal {
	width: min(960px, 100% - 32px);
	padding: 0;
	border: 0;
	border-radius: 18px;
	background: var(--sy-night);
	overflow: visible;
}

.sy-video-modal::backdrop {
	background: rgba(3, 6, 40, 0.85);
}

.sy-video-modal__frame {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: inherit;
}

.sy-video-modal__frame :is(iframe, video) {
	width: 100%;
	height: 100%;
	border: 0;
}

.sy-video-modal__close {
	position: absolute;
	top: -48px;
	right: 0;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	background: transparent;
	color: var(--sy-white);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

@media (min-width: 768px) {
	.sy-video-card__glass {
		gap: 16px;
		padding: 13px 13px 21px;
		border-radius: var(--sy-r-video);
	}

	.sy-video-card__media {
		height: 300px;
		border-radius: var(--sy-r-media);
	}

	.sy-video-card__label,
	.sy-video-card__tag {
		top: 18px;
		font-size: 11px;
		letter-spacing: 1.1px;
	}

	.sy-video-card__label { left: 20px; }
	.sy-video-card__tag { right: 20px; }

	.sy-video-card__play {
		width: 88px;
		height: 88px;
	}

	.sy-video-card__caption {
		max-width: none;
		margin: 0;
		padding: 0 10px;
		font-size: 14px;
		line-height: 22.4px;
		text-align: left;
	}

	.sy-video-card__note { font-size: 13px; }
}
