/* ============================================
   Soulution Nest — Premium News Section
   Elegant editorial styling: charcoal + gold
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,700;1,500&family=Inter:wght@400;500;600&display=swap');

/* Brand variables live at :root so they also reach the popup modal,
   which sits outside the .snei-news-section wrapper in the markup.
   Override these from Settings → Premium Sections, no code needed. */
:root {
	--snei-ink: #171411;
	--snei-cream: #faf6ef;
	--snei-gold: #c9a44c;
	--snei-gold-soft: #e7d4a4;
	--snei-muted: #6b6258;
}

.snei-news-section {
	--snei-header-heading: var(--snei-ink);
	--snei-header-body: var(--snei-muted);
	max-width: 1200px;
	margin: 0 auto;
	padding: 70px 24px;
	font-family: 'Inter', sans-serif;
	color: var(--snei-ink);
}

.snei-news-header { text-align: center; max-width: 680px; margin: 0 auto 44px; }
.snei-eyebrow {
	display: inline-block; text-transform: uppercase; letter-spacing: 2.5px;
	font-size: 12px; font-weight: 600; color: var(--snei-gold);
	border-bottom: 1px solid var(--snei-gold-soft); padding-bottom: 6px; margin-bottom: 14px;
}
.snei-news-header h2 {
	font-family: 'Playfair Display', serif; font-size: 38px; font-style: italic;
	margin: 0 0 14px; color: var(--snei-header-heading); font-weight: 700;
}
.snei-news-header p { color: var(--snei-header-body); font-size: 15px; line-height: 1.7; margin: 0; }
.snei-empty { text-align: center; color: var(--snei-header-body); padding: 40px 0; }

/* Feature card */
.snei-feature-card {
	display: grid; grid-template-columns: 1.1fr 1fr; gap: 0;
	background: var(--snei-ink); border-radius: 18px; overflow: hidden;
	text-decoration: none; color: var(--snei-cream); margin-bottom: 40px;
	box-shadow: 0 30px 60px -20px rgba(23,20,17,0.35);
	transition: transform .35s ease, box-shadow .35s ease;
}
.snei-feature-card:hover { transform: translateY(-4px); box-shadow: 0 40px 70px -20px rgba(23,20,17,0.45); }
.snei-feature-card .snei-media { min-height: 360px; background-size: cover; background-position: center; position: relative; }
.snei-feature-card .snei-media video { width: 100%; height: 100%; object-fit: cover; }
.snei-feature-content { padding: 44px 48px; display: flex; flex-direction: column; justify-content: center; }
.snei-tag {
	display: inline-block; background: var(--snei-gold); color: var(--snei-ink);
	font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px;
	padding: 5px 12px; border-radius: 30px; margin-bottom: 18px; width: fit-content;
}
.snei-feature-content h3 {
	font-family: 'Playfair Display', serif; font-size: 30px; line-height: 1.25;
	margin: 0 0 16px; font-weight: 600;
}
.snei-feature-content p { color: #d8d2c6; font-size: 15px; line-height: 1.7; margin: 0 0 22px; }
.snei-readmore { color: var(--snei-gold-soft); font-weight: 600; font-size: 14px; }
.snei-feature-card:hover .snei-readmore { text-decoration: underline; }

/* Grid: 4 per row */
.snei-news-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px;
}
.snei-grid-card {
	display: block; text-decoration: none; color: var(--snei-ink);
	border-radius: 14px; overflow: hidden; background: #fff;
	border: 1px solid #eee5d3; transition: transform .3s ease, box-shadow .3s ease;
}
.snei-grid-card:hover { transform: translateY(-5px); box-shadow: 0 22px 40px -16px rgba(23,20,17,0.18); border-color: var(--snei-gold-soft); }
.snei-grid-card .snei-media { height: 170px; background-size: cover; background-position: center; position: relative; background-color: #f1ece0; }
.snei-grid-card .snei-media video { width: 100%; height: 100%; object-fit: cover; }
.snei-grid-content { padding: 18px 20px 22px; }
.snei-grid-content h4 { font-family: 'Playfair Display', serif; font-size: 17px; line-height: 1.35; margin: 0 0 8px; font-weight: 600; color: #171411; }
.snei-grid-content p { font-size: 13px; color: #6b6258; line-height: 1.6; margin: 0; }

.snei-play-badge {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	width: 46px; height: 46px; border-radius: 50%; background: rgba(23,20,17,0.65);
	color: #fff; display: flex; align-items: center; justify-content: center; font-size: 16px;
	backdrop-filter: blur(2px);
}

@media (max-width: 980px) {
	.snei-news-grid { grid-template-columns: repeat(2, 1fr); }
	.snei-feature-card { grid-template-columns: 1fr; }
	.snei-feature-card .snei-media { min-height: 240px; }
	.snei-feature-content { padding: 30px; }
}
@media (max-width: 560px) {
	.snei-news-grid { grid-template-columns: 1fr; }
	.snei-news-header h2 { font-size: 28px; }
}

/* Make cards feel clickable (they're now buttons that open a popup, not links) */
.snei-feature-card, .snei-grid-card { cursor: pointer; }
.snei-feature-card:focus-visible, .snei-grid-card:focus-visible { outline: 2px solid var(--snei-gold); outline-offset: 3px; }

/* Read More popup modal */
.snei-news-modal-overlay {
	position: fixed; inset: 0; background: rgba(23,20,17,0.72); backdrop-filter: blur(3px);
	display: none; align-items: center; justify-content: center; z-index: 99999; padding: 24px;
}
.snei-news-modal-overlay.open { display: flex; }
.snei-news-modal {
	background: #fff; border-radius: 18px; max-width: 640px; width: 100%; max-height: 88vh;
	overflow-y: auto; position: relative; box-shadow: 0 50px 90px -20px rgba(0,0,0,0.5);
}
.snei-news-modal .snei-modal-close {
	position: absolute; top: 14px; right: 18px; background: rgba(23,20,17,0.55); color: #faf6ef;
	border: none; width: 34px; height: 34px; border-radius: 50%; font-size: 20px; cursor: pointer; z-index: 2;
}
.snei-popup-media { width: 100%; max-height: 360px; object-fit: cover; display: block; border-radius: 18px 18px 0 0; background-color: #ece5d4; }
.snei-popup-media-link { position: relative; display: block; height: 280px; background-size: cover; background-position: center; }
#snei-news-modal-body { padding: 32px 36px 40px; }
.snei-popup-title { font-family: 'Playfair Display', serif; font-size: 26px; margin: 0 0 10px; color: #171411; }
.snei-popup-excerpt { font-size: 14px; color: #6b6258; font-style: italic; margin: 0 0 18px; line-height: 1.6; }
.snei-popup-description { font-size: 15px; color: #171411; line-height: 1.8; }
.snei-popup-description p { margin: 0 0 16px; }
.snei-popup-description img { max-width: 100%; border-radius: 10px; }

@media (max-width: 560px) {
	#snei-news-modal-body { padding: 24px 22px 30px; }
	.snei-popup-title { font-size: 21px; }
}
