.resource-grid { display: flex; flex-direction: column; gap: 14px; }
.resource-card { display: flex; align-items: center; gap: 18px; padding: 22px 26px; }
.resource-icon { font-size: 2rem; flex-shrink: 0; }
.resource-info { flex: 1; }
.resource-info h4 { margin-bottom: 4px; }
.resource-info p { font-size: .88rem; }
.resource-actions { display: flex; gap: 8px; flex-shrink: 0; align-items: center; }
@media(max-width:560px) { .resource-card { flex-direction: column; align-items: flex-start; } }

/* PDF Modal */
.modal-overlay { position: fixed; inset: 0; z-index: 300; background: rgba(13,42,39,0.55); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; padding: 16px; }
.pdf-modal-card {
  width: 100%; max-width: 900px; height: 90vh;
  background: rgba(232,246,245,0.97); backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.80); border-radius: var(--r-xl);
  box-shadow: 0 24px 80px rgba(26,92,84,0.25);
  display: flex; flex-direction: column; overflow: hidden;
}
.pdf-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; border-bottom: 1px solid rgba(255,255,255,0.65); background: rgba(255,255,255,0.50); }
.pdf-modal-header h4 { font-size: 1rem; }
.modal-close-btn { background: rgba(255,255,255,0.60); border: 1px solid rgba(255,255,255,0.75); border-radius: 50%; width: 34px; height: 34px; font-size: 1rem; cursor: pointer; color: var(--muted); transition: all .15s; }
.modal-close-btn:hover { background: rgba(255,255,255,0.90); color: var(--text); }
#pdf-iframe { flex: 1; border: none; }

/* ── Resource tabs & quiz cards ── */
.resource-tabs { display: flex; gap: 10px; margin-bottom: 28px; flex-wrap: wrap; }
.res-tab {
  background: rgba(255,255,255,0.55); border: 1.5px solid rgba(255,255,255,0.75);
  border-radius: var(--r-pill); padding: 9px 20px; cursor: pointer;
  font-family: var(--font-head); font-size: .82rem; font-weight: 700; color: var(--text-mid);
  transition: all .18s;
}
.res-tab:hover { background: rgba(255,255,255,0.8); border-color: var(--teal); color: var(--teal); }
.res-tab.active { background: var(--teal); border-color: var(--teal); color: #fff; }

.resource-card-quiz { border-left: 3px solid var(--teal); }
.resource-type-badge {
  display: inline-block; font-family: var(--font-head); font-size: .68rem; font-weight: 700;
  letter-spacing: 1.2px; text-transform: uppercase; color: var(--teal); background: var(--teal-light, #e6f4f2);
  padding: 3px 10px; border-radius: 99px; margin-bottom: 6px;
}
