/* =========================================================
 * PRESS 365 — Video / Watch
 * Version: 1.1.0
 * =========================================================
 *
 * Typography aligned with PRESS 365 Core Design System.
 * Layout, media and interaction preserved.
 * ======================================================= */


/* =========================================================
 * 1. Section
 * ======================================================= */

.p365-video {
	position: relative;

	padding-top:
		24px;
}


/* =========================================================
 * 2. Shell
 * ======================================================= */

.p365-video__shell {
	position: relative;

	overflow:
		hidden;

	border-radius:
		var(--p365-radius-lg);

	background:
		#021f22;

	color:
		var(--p365-white);

	box-shadow:
		var(--p365-shadow-sm);
}


/* =========================================================
 * 3. Header
 * ======================================================= */

.p365-video__header {
	position: relative;

	display: flex;

	align-items:
		center;

	justify-content:
		space-between;

	gap:
		20px;

	min-height:
		92px;

	padding:
		20px 28px;

	border-bottom:
		1px solid rgba(255,255,255,.10);
}


.p365-video__header::before {
	content:
		"";

	position:
		absolute;

	top:
		24px;

	right:
		0;

	width:
		4px;

	height:
		42px;

	border-radius:
		4px 0 0 4px;

	background:
		var(--p365-orange);
}


/* =========================================================
 * 4. Header Typography
 * ======================================================= */

.p365-video__eyebrow {
	display:
		block;

	margin-bottom:
		3px;

	color:
		var(--p365-orange);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-video__title {
	margin:
		0;

	color:
		var(--p365-white);

	font-size:
		34px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1.25;
}


.p365-video__more {
	display:
		inline-flex;

	align-items:
		center;

	gap:
		8px;

	color:
		rgba(255,255,255,.55);

	font-size:
		13px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;

	white-space:
		nowrap;
}


.p365-video__more:hover {
	color:
		var(--p365-orange);
}


/* =========================================================
 * 5. Grid
 * ======================================================= */

.p365-video__grid {
	display:
		grid;

	grid-template-columns:
		minmax(300px, .72fr)
		minmax(0, 1.55fr);

	grid-template-rows:
		520px;

	min-height:
		520px;

	direction:
		ltr;
}


/* =========================================================
 * 6. Main
 * ======================================================= */

.p365-video__main {
	grid-column:
		2;

	grid-row:
		1;

	min-width:
		0;

	overflow:
		hidden;

	border-left:
		1px solid rgba(255,255,255,.10);

	direction:
		rtl;
}


.p365-video__main-link {
	display:
		flex;

	flex-direction:
		column;

	width:
		100%;

	height:
		100%;

	color:
		var(--p365-white);
}


/* =========================================================
 * 7. Main Media
 * ======================================================= */

.p365-video__main-media {
	position:
		relative;

	flex:
		1 1 auto;

	min-height:
		0;

	overflow:
		hidden;

	background:
		var(--p365-dark);
}


.p365-video__main-media.is-placeholder {
	background:
		linear-gradient(
			135deg,
			#075258,
			#032f33 60%,
			#021f22
		);
}


.p365-video__main-image {
	display:
		block;

	width:
		100%;

	height:
		100%;

	object-fit:
		cover;

	transition:
		transform .5s ease;
}


.p365-video__main-link:hover
.p365-video__main-image {
	transform:
		scale(1.025);
}


.p365-video__main-overlay {
	position:
		absolute;

	inset:
		0;

	background:
		linear-gradient(
			to top,
			rgba(2,31,34,.55),
			rgba(2,31,34,.05) 55%
		);
}


/* =========================================================
 * 8. Play
 * ======================================================= */

.p365-video__play {
	position:
		absolute;

	top:
		50%;

	left:
		50%;

	z-index:
		3;

	display:
		flex;

	align-items:
		center;

	justify-content:
		center;

	width:
		62px;

	height:
		62px;

	border:
		1px solid rgba(255,255,255,.65);

	border-radius:
		50%;

	background:
		rgba(3,47,51,.68);

	color:
		var(--p365-white);

	backdrop-filter:
		blur(8px);

	transform:
		translate(-50%, -50%);

	transition:
		background-color var(--p365-transition),
		transform var(--p365-transition);
}


.p365-video__main-link:hover
.p365-video__play {
	background:
		var(--p365-orange);

	transform:
		translate(-50%, -50%)
		scale(1.08);
}


/* =========================================================
 * 9. Main Content
 * ======================================================= */

.p365-video__main-content {
	padding:
		24px 28px 27px;
}


/* =========================================================
 * 10. Main Label
 * ======================================================= */

.p365-video__main-label {
	display:
		block;

	margin-bottom:
		7px;

	color:
		var(--p365-orange);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


/* =========================================================
 * 11. Main Title
 * ======================================================= */

.p365-video__main-title {
	margin:
		0 0 8px;

	color:
		var(--p365-white);

	font-size:
		26px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.5;
}


/* =========================================================
 * 12. Main Excerpt
 * ======================================================= */

.p365-video__main-excerpt {
	margin:
		0 0 8px;

	color:
		rgba(255,255,255,.60);

	font-size:
		14px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.85;
}


/* =========================================================
 * 13. Time
 * ======================================================= */

.p365-video__time {
	color:
		rgba(255,255,255,.40);

	font-size:
		11px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.4;
}


/* =========================================================
 * 14. Side
 * ======================================================= */

.p365-video__side {
	grid-column:
		1;

	display:
		grid;

	grid-template-rows:
		repeat(
			3,
			minmax(0,1fr)
		);

	min-width:
		0;

	direction:
		rtl;
}


/* =========================================================
 * 15. Side Item
 * ======================================================= */

.p365-video__side-item {
	min-width:
		0;

	border-bottom:
		1px solid rgba(255,255,255,.09);
}


.p365-video__side-item:last-child {
	border-bottom:
		0;
}


.p365-video__side-link {
	display:
		grid;

	grid-template-columns:
		130px minmax(0,1fr);

	align-items:
		center;

	gap:
		17px;

	height:
		100%;

	padding:
		18px;

	color:
		var(--p365-white);

	transition:
		background-color var(--p365-transition);
}


.p365-video__side-link:hover {
	background:
		rgba(255,255,255,.035);
}


/* =========================================================
 * 16. Side Media
 * ======================================================= */

.p365-video__side-media {
	position:
		relative;

	aspect-ratio:
		16 / 10;

	overflow:
		hidden;

	border-radius:
		9px;

	background:
		var(--p365-teal);
}


.p365-video__side-media.is-placeholder {
	background:
		linear-gradient(
			135deg,
			#075258,
			#032f33
		);
}


.p365-video__side-image {
	display:
		block;

	width:
		100%;

	height:
		100%;

	object-fit:
		cover;

	transition:
		transform var(--p365-transition);
}


.p365-video__side-link:hover
.p365-video__side-image {
	transform:
		scale(1.025);
}


.p365-video__side-media
.p365-video__play {
	width:
		38px;

	height:
		38px;
}


.p365-video__side-media
.p365-video__play svg {
	width:
		13px;

	height:
		13px;
}


/* =========================================================
 * 17. Side Content
 * ======================================================= */

.p365-video__side-content {
	min-width:
		0;
}


/* =========================================================
 * 18. Side Title
 * ======================================================= */

.p365-video__side-title {
	display:
		-webkit-box;

	overflow:
		hidden;

	margin:
		0 0 8px;

	color:
		var(--p365-white);

	font-size:
		15px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.6;

	-webkit-box-orient:
		vertical;

	-webkit-line-clamp:
		3;

	transition:
		color var(--p365-transition-fast);
}


.p365-video__side-link:hover
.p365-video__side-title {
	color:
		var(--p365-orange-light);
}


/* =========================================================
 * 19. Tablet
 * ======================================================= */

@media (max-width: 1000px) {

	.p365-video__title {
		font-size:
			30px;
	}


	.p365-video__grid {
		grid-template-columns:
			minmax(260px, .7fr)
			minmax(0, 1.35fr);
	}


	.p365-video__side-link {
		grid-template-columns:
			105px minmax(0,1fr);

		gap:
			13px;

		padding:
			14px;
	}


	.p365-video__main-title {
		font-size:
			23px;

		font-weight:
			var(--p365-weight-extrabold);
	}


	.p365-video__main-excerpt {
		font-size:
			13px;
	}


	.p365-video__side-title {
		font-size:
			14px;

		font-weight:
			var(--p365-weight-extrabold);
	}
}


/* =========================================================
 * 20. Mobile
 * ======================================================= */

@media (max-width: 820px) {

	.p365-video {
		padding-top:
			18px;
	}


	.p365-video__header {
		min-height:
			80px;

		padding:
			18px 20px;
	}


	.p365-video__header::before {
		top:
			20px;

		height:
			38px;
	}


	.p365-video__eyebrow {
		font-size:
			11px;
	}


	.p365-video__title {
		font-size:
			28px;

		font-weight:
			var(--p365-weight-black);

		line-height:
			1.28;
	}


	.p365-video__more {
		font-size:
			12px;
	}


	.p365-video__grid {
		display:
			block;

		min-height:
			0;
	}


	.p365-video__main {
		border-left:
			0;
	}


	.p365-video__main-media {
		min-height:
			360px;
	}


	.p365-video__main-label {
		font-size:
			11px;
	}


	.p365-video__main-title {
		font-size:
			22px;

		font-weight:
			var(--p365-weight-extrabold);

		line-height:
			1.5;
	}


	.p365-video__main-excerpt {
		font-size:
			13px;

		font-weight:
			var(--p365-weight-medium);
	}


	.p365-video__time {
		font-size:
			10px;
	}


	.p365-video__side {
		border-top:
			1px solid rgba(255,255,255,.10);
	}


	.p365-video__side-link {
		grid-template-columns:
			120px minmax(0,1fr);

		min-height:
			135px;

		padding:
			15px;
	}


	.p365-video__side-title {
		font-size:
			14px;

		font-weight:
			var(--p365-weight-extrabold);

		line-height:
			1.55;
	}
}


/* =========================================================
 * 21. Small Mobile
 * ======================================================= */

@media (max-width: 520px) {

	.p365-video__more {
		display:
			none;
	}


	.p365-video__title {
		font-size:
			26px;

		font-weight:
			var(--p365-weight-black);
	}


	.p365-video__main-media {
		min-height:
			260px;
	}


	.p365-video__main-content {
		padding:
			20px 18px 22px;
	}


	.p365-video__main-title {
		font-size:
			19px;

		font-weight:
			var(--p365-weight-extrabold);

		line-height:
			1.5;
	}


	.p365-video__main-excerpt {
		font-size:
			12px;

		line-height:
			1.8;
	}


	.p365-video__play {
		width:
			52px;

		height:
			52px;
	}


	.p365-video__side-link {
		grid-template-columns:
			100px minmax(0,1fr);

		gap:
			12px;

		min-height:
			120px;

		padding:
			13px;
	}


	.p365-video__side-title {
		font-size:
			14px;

		font-weight:
			var(--p365-weight-extrabold);

		line-height:
			1.55;

		-webkit-line-clamp:
			2;
	}
}