/* =========================================================
 * PRESS 365 — Politics
 * Version: 1.1.0
 * =========================================================
 *
 * Typography aligned with PRESS 365 Core Design System.
 * Layout and visual structure preserved.
 * ======================================================= */


/* =========================================================
 * 1. Module
 * ======================================================= */

.p365-politics {
	position: relative;

	width: 100%;
}


/* =========================================================
 * 2. Shell
 * ======================================================= */

.p365-politics__shell {
	overflow:
		hidden;

	border:
		1px solid var(--p365-border);

	border-radius:
		var(--p365-radius-lg);

	background:
		var(--p365-white);

	box-shadow:
		var(--p365-shadow-xs);
}


/* =========================================================
 * 3. Header
 * ======================================================= */

.p365-politics__head {
	display: flex;

	align-items: center;

	justify-content:
		space-between;

	gap:
		18px;

	min-height:
		58px;

	padding:
		0 18px;

	border-bottom:
		1px solid var(--p365-border);
}


.p365-politics__title {
	position: relative;

	margin:
		0;

	padding-right:
		13px;

	color:
		var(--p365-dark);

	font-size:
		22px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1.2;
}


.p365-politics__title::before {
	content: "";

	position: absolute;

	top: 50%;
	right: 0;

	width:
		4px;

	height:
		22px;

	border-radius:
		20px;

	background:
		var(--p365-orange);

	transform:
		translateY(-50%);
}


.p365-politics__more {
	display: inline-flex;

	align-items: center;

	gap:
		6px;

	color:
		var(--p365-teal);

	font-size:
		11px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-politics__more:hover {
	color:
		var(--p365-orange);
}


/* =========================================================
 * 4. Grid
 * ======================================================= */

.p365-politics__grid {
	display: grid;

	grid-template-columns:
		repeat(
			3,
			minmax(0, 1fr)
		);

	gap:
		0;
}


/* =========================================================
 * 5. Card
 * ======================================================= */

.p365-politics-card {
	position: relative;

	min-width:
		0;

	border-left:
		1px solid var(--p365-border);
}


.p365-politics-card:last-child {
	border-left:
		0;
}


.p365-politics-card__link {
	display: block;

	height:
		100%;

	padding:
		12px;

	transition:
		background-color var(--p365-transition-fast);
}


.p365-politics-card__link:hover {
	background:
		#fffaf2;
}


/* =========================================================
 * 6. Media
 * ======================================================= */

.p365-politics-card__media {
	position: relative;

	width:
		100%;

	aspect-ratio:
		16 / 8.8;

	overflow:
		hidden;

	border-radius:
		8px;

	background:
		var(--p365-teal-soft);
}


.p365-politics-card__media img {
	width:
		100%;

	height:
		100%;

	object-fit:
		cover;

	transition:
		transform var(--p365-transition);
}


.p365-politics-card__link:hover
.p365-politics-card__media img {
	transform:
		scale(1.025);
}


/* Demo visual */

.p365-politics-card__media.is-placeholder {
	background:
		linear-gradient(
			135deg,
			#e5eeee 0%,
			#d3e1e1 46%,
			#c5d9d9 100%
		);
}


.p365-politics-card:nth-child(2)
.p365-politics-card__media.is-placeholder {
	background:
		linear-gradient(
			135deg,
			#ede7df,
			#d9d0c5
		);
}


.p365-politics-card:nth-child(3)
.p365-politics-card__media.is-placeholder {
	background:
		linear-gradient(
			135deg,
			#d7e4e6,
			#b9d1d4
		);
}


/* =========================================================
 * 7. Content
 * ======================================================= */

.p365-politics-card__content {
	padding:
		11px 3px 3px;
}


.p365-politics-card__title {
	display:
		-webkit-box;

	overflow:
		hidden;

	margin:
		0 0 10px;

	color:
		var(--p365-text-dark);

	font-size:
		15px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.6;

	-webkit-box-orient:
		vertical;

	-webkit-line-clamp:
		2;

	transition:
		color var(--p365-transition-fast);
}


.p365-politics-card__link:hover
.p365-politics-card__title {
	color:
		var(--p365-teal);
}


/* =========================================================
 * 8. Meta
 * ======================================================= */

.p365-politics-card__meta {
	display: flex;

	align-items: center;

	gap:
		5px;

	color:
		var(--p365-muted);

	font-size:
		10px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.4;
}


.p365-politics-card__clock {
	color:
		var(--p365-orange);

	font-size:
		10px;

	line-height:
		1;
}


/* =========================================================
 * 9. Responsive — Tablet
 * ======================================================= */

@media (max-width: 900px) {

	.p365-politics__title {
		font-size:
			22px;
	}


	.p365-politics__grid {
		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);
	}


	.p365-politics-card:nth-child(2) {
		border-left:
			0;
	}


	.p365-politics-card:nth-child(3) {
		grid-column:
			1 / -1;

		border-top:
			1px solid var(--p365-border);

		border-left:
			0;
	}


	.p365-politics-card__title {
		font-size:
			15px;

		font-weight:
			var(--p365-weight-extrabold);
	}
}


/* =========================================================
 * 10. Responsive — Mobile
 * ======================================================= */

@media (max-width: 600px) {

	.p365-politics__head {
		gap:
			12px;
	}


	.p365-politics__title {
		font-size:
			21px;

		font-weight:
			var(--p365-weight-black);
	}


	.p365-politics__more {
		font-size:
			11px;
	}


	.p365-politics__grid {
		display:
			block;
	}


	.p365-politics-card {
		border-left:
			0;

		border-bottom:
			1px solid var(--p365-border);
	}


	.p365-politics-card:last-child {
		border-bottom:
			0;
	}


	.p365-politics-card__link {
		display:
			grid;

		grid-template-columns:
			120px minmax(0, 1fr);

		gap:
			13px;

		padding:
			12px;
	}


	.p365-politics-card__media {
		aspect-ratio:
			4 / 3;
	}


	.p365-politics-card__content {
		padding:
			2px 0;
	}


	.p365-politics-card__title {
		margin-bottom:
			8px;

		font-size:
			15px;

		font-weight:
			var(--p365-weight-extrabold);

		line-height:
			1.55;
	}


	.p365-politics-card__meta {
		font-size:
			10px;
	}
}