/**
 * Waseem — News Aggregator v3.3
 * Responsive card grid for /news/ + [waseem_news] shortcode.
 */

:root {
	--bg: #0a0a0f;
	--bg-2: #0f0f16;
	--fg: #f5f0eb;
	--fg-muted: rgba(245,240,235,.72);
	--fg-dim: rgba(245,240,235,.58);
	--border: rgba(245,240,235,.1);
	--border-strong: rgba(245,240,235,.2);
	--gold: #c9a96e;
	--mono: 'JetBrains Mono','SF Mono',Menlo,monospace;
	--serif: 'Cormorant Garamond','Playfair Display',Georgia,serif;
	--sans: 'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
	--ease: cubic-bezier(.22,1,.36,1);
}

.news-page { background: var(--bg); color: var(--fg); font-family: var(--sans); }
.news-page .container-luxury { max-width: 1280px; margin: 0 auto; padding: 0 clamp(1.25rem,3vw,2rem); }

/* ============ HERO ============ */
.news-hero {
	padding: 160px 0 3.5rem;
	border-bottom: 1px solid var(--border);
	text-align: center;
}
.news-eyebrow {
	font-family: var(--mono);
	font-size: .72rem;
	color: var(--fg-dim);
	letter-spacing: .25em;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.news-h1 {
	font-family: var(--serif);
	font-size: clamp(2.5rem,6vw,4.5rem);
	font-weight: 300;
	letter-spacing: -.025em;
	line-height: 1.05;
	margin: 0 0 1.25rem;
}
.news-sub {
	max-width: 640px;
	margin: 0 auto;
	color: var(--fg-muted);
	font-size: 1.05rem;
	line-height: 1.6;
}

/* ============ GRID ============ */
.news-list { padding: 4rem 0 2rem; }
.news-wrap { margin: 2rem 0; }
.news-title {
	font-family: var(--serif);
	font-size: clamp(1.75rem,3vw,2.5rem);
	font-weight: 400;
	color: var(--fg);
	margin: 0 0 2rem;
	letter-spacing: -.02em;
}
.news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
.news-card {
	background: var(--bg-2);
	border: 1px solid var(--border);
	border-radius: 14px;
	overflow: hidden;
	transition: all .3s var(--ease);
	position: relative;
}
.news-card:hover {
	border-color: var(--gold);
	transform: translateY(-3px);
}
.news-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.5rem 1.5rem 1.25rem;
	text-decoration: none;
	color: inherit;
}
.news-source {
	font-family: var(--mono);
	font-size: .7rem;
	color: var(--gold);
	letter-spacing: .08em;
	text-transform: uppercase;
	margin: 0 0 .9rem;
	display: flex;
	align-items: center;
	gap: .4rem;
	flex-wrap: wrap;
}
.news-source time { color: var(--fg-dim); text-transform: none; letter-spacing: .02em; font-size: .72rem; }
.news-dot { color: var(--fg-dim); }
.news-headline {
	font-family: var(--serif);
	font-size: 1.22rem;
	font-weight: 400;
	color: var(--fg);
	letter-spacing: -.015em;
	line-height: 1.3;
	margin: 0 0 .75rem;
}
.news-excerpt {
	color: var(--fg-muted);
	font-size: .88rem;
	line-height: 1.55;
	margin: 0 0 1rem;
	flex: 1;
}
.news-read {
	font-family: var(--mono);
	font-size: .75rem;
	color: var(--fg-muted);
	letter-spacing: .05em;
	transition: color .2s;
	align-self: flex-start;
	padding-top: .5rem;
	border-top: 1px solid var(--border);
	width: 100%;
}
.news-card:hover .news-read { color: var(--gold); }

/* ============ META ============ */
.news-meta {
	text-align: center;
	margin: 3rem 0 0;
	font-family: var(--mono);
	font-size: .72rem;
	color: var(--fg-dim);
	letter-spacing: .04em;
	line-height: 1.6;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

/* ============ EMPTY ============ */
.news-empty,
.news-empty-wrap {
	text-align: center;
	padding: 4rem 1rem;
	color: var(--fg-muted);
}
.news-empty-wrap h2 {
	font-family: var(--serif);
	font-weight: 400;
	color: var(--fg);
	font-size: 1.75rem;
	margin: 0 0 1rem;
}

/* ============ CTA ============ */
.news-cta {
	padding: 6rem 0;
	border-top: 1px solid var(--border);
	background: var(--bg-2);
	text-align: center;
}
.news-cta-inner { max-width: 640px; margin: 0 auto; }
.news-cta h2 {
	font-family: var(--serif);
	font-size: clamp(1.75rem,4vw,2.75rem);
	font-weight: 300;
	letter-spacing: -.02em;
	margin: 0 0 1rem;
}
.news-cta p { color: var(--fg-muted); margin: 0 0 2rem; line-height: 1.6; }
.news-cta a { color: var(--fg); border-bottom: 1px solid var(--border-strong); text-decoration: none; }
.news-cta a.btn-cta-solid {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: 14px 28px;
	background: var(--fg);
	color: var(--bg);
	border: 1px solid var(--fg);
	border-radius: 999px;
	font-size: .95rem;
	font-weight: 500;
	transition: all .25s var(--ease);
}
.news-cta a.btn-cta-solid:hover { transform: translateY(-2px); opacity: .9; }

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
	.news-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.news-hero { padding: 130px 0 2.5rem; }
	.news-grid { grid-template-columns: 1fr; gap: 1rem; }
	.news-list { padding: 3rem 0 2rem; }
	.news-link { padding: 1.25rem; }
	.news-headline { font-size: 1.1rem; }
	.news-cta { padding: 4rem 0; }
}
