/* Tidy forms and cards within the Dimension template */
form label { display:block; margin: 0 0 0.75rem; }
form input, form select, form textarea { width:100%; }

.category-card { margin: 0 0 2rem; }
.category-card img { width:100%; height:auto; border-radius: 0.3rem; }

/* Voting grid */
.vote-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap:1rem;
  margin: 1rem 0 1.5rem;
}
.vote-card {
  display:flex; flex-direction:column; gap:0.5rem;
  padding:0.75rem; border:1px solid rgba(255,255,255,0.15); border-radius:0.4rem;
}
.vote-card img { width:100%; height:auto; border-radius:0.25rem; }

/* Masonry-ish gallery using simple columns */
.masonry {
  column-count: 3;
  column-gap: 1rem;
}
.masonry figure { break-inside: avoid; margin:0 0 1rem; }
.masonry img { width:100%; height:auto; border-radius: .25rem; }
.masonry figcaption { font-size:0.9rem; opacity:0.8; margin-top:0.25rem; }

/* Footer links */
#footernav .footer-links {
  display:flex; flex-wrap:wrap; gap:.75rem; list-style:none; padding:0; margin: .5rem 0 0;
}
#footernav .footer-links a { border-bottom: 1px dotted rgba(255,255,255,.4); }

/* Chat widget sizing inside the article */
.chat-embed {
  width: 100%;
  max-width: 640px;
  height: 420px;
  margin: 1.25rem auto;
}