/* Minimal responsive grid for speakers */
.devq-speakers-grid {
  display: grid;
  gap: 1.25rem;
}
.devq-speakers-grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.devq-speakers-grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.devq-speakers-grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 1024px) { .devq-speakers-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .devq-speakers-grid { grid-template-columns: repeat(1, minmax(0,1fr)); } }

.devq-speaker-card { text-align: center; padding: 0.5rem; border: 1px solid #eee; border-radius: 12px; }
.devq-speaker-card .img { display:block; overflow:hidden; border-radius:10px; }
.devq-speaker-card img { width:100%; height:auto; display:block; }
.devq-speaker-fallback {
  width:100%; aspect-ratio: 1/1; display:flex; align-items:center; justify-content:center;
  background:#f2f2f2; color:#444; font-weight:700; font-size:2rem; border-radius:10px;
}
.devq-speaker-card .name { margin: .75rem 0 .25rem; font-size: 1.1rem; }
.devq-speaker-card .meta { margin: 0; color:#555; font-size:.95rem;}
.devq-speaker-card .links { margin: .25rem 0 0; font-size:.9rem; }
