/* ═══ NEWS & EVENTS PAGE ════════════════════════════════════ */

/* Featured article */
.news-featured-card {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  border-radius: var(--radius-lg); overflow: hidden;
  border: 1px solid var(--border); box-shadow: var(--shadow-md);
  margin-bottom: 40px;
}
@media (max-width: 760px) { .news-featured-card { grid-template-columns: 1fr; } }

.news-featured-img { position: relative; min-height: 280px; }
.news-featured-img img { width: 100%; height: 100%; object-fit: cover; }

.news-tag-badge {
  position: absolute; top: 16px; left: 16px;
  background: var(--brown); color: var(--white);
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 100px;
}

.news-featured-body {
  padding: 36px; background: var(--white);
  display: flex; flex-direction: column; justify-content: center;
}
.news-featured-body h3 {
  font-family: 'Playfair Display', serif; font-size: 1.45rem; font-weight: 700;
  color: var(--text); margin: 8px 0 14px; line-height: 1.3;
}
.news-featured-body p { font-size: 0.92rem; color: var(--text-mid); line-height: 1.75; }

/* News meta */
.news-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.news-date { font-size: 0.78rem; color: var(--text-light); }
.news-read-time { font-size: 0.72rem; color: var(--brown-light); background: var(--brown-pale); padding: 3px 10px; border-radius: 100px; }

/* News grid */
.news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }

.news-card {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow-sm); transition: all var(--transition);
}
.news-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }

.news-card-img { position: relative; height: 180px; overflow: hidden; }
.news-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.news-card:hover .news-card-img img { transform: scale(1.05); }

.news-card-body { padding: 22px; }
.news-card-body h4 {
  font-family: 'Playfair Display', serif; font-size: 1.05rem; font-weight: 700;
  color: var(--text); margin: 8px 0 10px; line-height: 1.35;
}
.news-card-body p { font-size: 0.85rem; color: var(--text-mid); line-height: 1.7; }

/* Events list */
.events-list { display: flex; flex-direction: column; gap: 20px; }

.event-item {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 24px 28px;
  display: grid; grid-template-columns: 80px 1fr auto;
  gap: 24px; align-items: start;
  box-shadow: var(--shadow-sm); transition: all var(--transition);
}
.event-item:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: rgba(139,94,60,0.3); }
@media (max-width: 700px) { .event-item { grid-template-columns: 60px 1fr; } .event-register { grid-column: 1/-1; } }
@media (max-width: 480px) { .event-item { grid-template-columns: 1fr; } }

.event-date-block {
  background: linear-gradient(135deg, var(--brown), var(--brown-deep));
  color: var(--white); border-radius: var(--radius);
  padding: 12px 8px; text-align: center; flex-shrink: 0;
}
.event-day  { font-family: 'Playfair Display', serif; font-size: 1.8rem; font-weight: 900; line-height: 1; }
.event-month{ font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; opacity: .8; }
.event-year { font-size: 0.65rem; opacity: .55; margin-top: 2px; }

.event-type-badge {
  display: inline-block; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; padding: 3px 10px; border-radius: 100px; margin-bottom: 8px;
}
.event-congress { background: #EBF3FF; color: #1A5DB5; }
.event-outreach { background: #FFF3E0; color: #C46B00; }
.event-youth    { background: #E8F5E9; color: #1B7B2E; }
.event-women    { background: #FCE4EC; color: #B03070; }

.event-title { font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 700; color: var(--text); margin-bottom: 8px; line-height: 1.3; }
.event-details { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
.event-details span { font-size: 0.8rem; color: var(--text-light); }
.event-desc { font-size: 0.85rem; color: var(--text-mid); line-height: 1.7; }

.event-register { display: flex; align-items: flex-start; padding-top: 4px; }
