/* Container for List View */
.feed-container { display: flex; flex-direction: column; gap: 2rem; }

/* Card Base */
.feed-card { 
  position: relative; background: #ffffff; padding: 2rem; 
  border: 1px solid #e2e8f0; border-radius: 16px; 
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); 
}
.feed-card:hover { 
  transform: translateY(-5px); 
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.1); 
  border-color: #cbd5e1; 
}

/* --- HEADER: Meta Badges --- */
.card-meta { display: flex; gap: 0.6rem; margin-bottom: 1rem; flex-wrap: wrap; }

.meta-box { 
  display: inline-block; 
  padding: 0.35rem 0.8rem; 
  border-radius: 6px; 
  font-family: 'Inter', sans-serif; 
  font-size: 0.7rem; 
  font-weight: 700; 
  text-transform: uppercase; 
  letter-spacing: 0.5px; 
  text-decoration: none; 
  transition: all 0.2s ease; 
}

/* Source Badge (Orange) */
.badge-source { 
  background-color: #fff7ed; 
  color: #c2410c; 
  border: 1px solid #ffedd5; 
}
.badge-source:hover { 
  background-color: #c2410c; /* Dark Orange */
  color: #ffffff !important; /* Force White Text */
  border-color: #c2410c;
}

/* Type Badge (Slate) */
.badge-type { 
  background-color: #f1f5f9; 
  color: #475569; 
  border: 1px solid #e2e8f0; 
}
.badge-type:hover { 
  background-color: #334155; /* Dark Slate */
  color: #ffffff !important; /* Force White Text */
  border-color: #334155;
}

/* Title & Links */
.card-title { font-family: 'Merriweather', serif; font-size: 1.6rem; font-weight: 700; color: #1e293b; margin-bottom: 0.75rem; line-height: 1.35; }
.card-title a { text-decoration: none; color: inherit; background-image: linear-gradient(120deg, #ea580c 0%, #ea580c 100%); background-repeat: no-repeat; background-size: 0% 2px; background-position: 0% 100%; padding-bottom: 2px; transition: background-size 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); }
.feed-card:hover .card-title a { background-size: 100% 2px; }

/* Date & Description */
.card-date { font-family: 'Inter', sans-serif; font-size: 0.85rem; color: #94a3b8; margin-bottom: 1rem; font-weight: 500; }
.card-excerpt { font-family: 'Inter', sans-serif; font-size: 1.05rem; color: #475569; line-height: 1.7; margin-bottom: 1.75rem; }

/* Footer */
.card-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 1.5rem; border-top: 1px dashed #e2e8f0; }
.tags-wrapper { display: flex; gap: 0.5rem; flex-wrap: wrap; }

/* Tag Badges */
.tag-badge { background: #ffffff; color: #64748b; padding: 0.25rem 0.75rem; border: 1px solid #e2e8f0; border-radius: 50px; font-size: 0.75rem; font-weight: 600; text-decoration: none; transition: all 0.2s; }
.tag-badge:hover { border-color: #94a3b8; color: #0f172a; transform: translateY(-1px); }

/* MCQ Button */
.btn-mcq-action { display: inline-flex; align-items: center; gap: 8px; background-color: #0f172a; color: white; padding: 0.6rem 1.2rem; border-radius: 8px; font-size: 0.85rem; font-weight: 600; text-decoration: none; transition: all 0.2s ease; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); }
.btn-mcq-action:hover { background-color: #ea580c; transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(234, 88, 12, 0.3); color: white; }

/* Sidebar Styles */
.explore-sidebar { position: sticky; top: 100px; z-index: 10; }
.sidebar-widget { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 1.5rem; margin-bottom: 1.5rem; }
.widget-title { font-family: 'Inter', sans-serif; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; color: #64748b; margin-bottom: 1rem; letter-spacing: 0.5px; display: flex; justify-content: space-between; }
.filter-item { display: flex; align-items: center; margin-bottom: 0.6rem; font-size: 0.9rem; color: #334155; }
.filter-item input { margin-right: 0.6rem; width: 1.1em; height: 1.1em; accent-color: #0f172a; cursor: pointer; }
.filter-item label { cursor: pointer; transition: color 0.2s; }
.filter-item:hover label { color: #ea580c; }
.sidebar-search { border: 1px solid #cbd5e1; padding: 0.6rem 1rem; border-radius: 8px; font-size: 0.9rem; width: 100%; }
.sidebar-search:focus { outline: none; border-color: #0f172a; box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.1); }
/* ... existing styles ... */

/* Responsive Sidebar */
@media (min-width: 992px) {
  .explore-sidebar {
    position: sticky;
    top: 100px;
    z-index: 10;
  }
}

/* Ensure widgets look good */
.sidebar-widget {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}