/* Shared layout and responsive styles for ragdollsandbox.org. */
.site-header { display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: center; height: auto; min-height: 100px; gap: 22px; }
.header-left { display: flex; align-items: center; width: auto; min-width: 0; gap: 22px; }
.logo { flex-shrink: 0; }
.logo img { width: 270px; height: 88px; object-fit: contain; }
.hot-tags { flex: 1; justify-content: center; margin-left: 0; gap: 8px; }
.hot-tags .tag { white-space: nowrap; padding: 9px 12px; font-size: 16px; }
.header-right { width: 260px; min-width: 0; }
.search { width: 100%; flex: none; }
.search input { width: 100%; min-width: 0; padding-left: 15px; }
.taxonomy-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.browse-categories { padding: 24px; background: var(--panel); border-radius: 18px; }
.browse-categories h2 { margin: 0 0 12px; font-size: 22px; }
#comments .comment-checkbox a { color: var(--accent); text-decoration: underline; }
#comment-form button:disabled { opacity: .55; cursor: not-allowed; }
.game-subtitle p { margin: 0; }
.statistics-source { line-height: 1.55; }
.static-card.policy-copy { font-size: 19px; line-height: 1.75; }
.policy-copy h2 { margin-top: 34px; margin-bottom: 12px; }
.policy-copy h2:first-child { margin-top: 0; }
.policy-copy a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.policy-copy li { margin-bottom: 10px; }
.static-hero p { max-width: 78ch; }
.static-link { color: var(--accent); }
.taxonomy-game-card img { aspect-ratio: 1 / 1; object-fit: cover; }
.search-empty { grid-column: 1 / -1; }
.site-footer .footer-note { max-width: 55ch; }
.footer-logo img { object-fit: contain; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
@media (max-width: 1050px) {
  .site-header { grid-template-columns: minmax(0, 1fr) 230px; padding: 8px 20px; gap: 16px; }
  .header-left { gap: 16px; }
  .logo img { width: 220px; }
  .hot-tags .tag { padding: 8px 10px; font-size: 15px; }
  .header-right { width: 230px; }
}
@media (max-width: 900px) {
  .site-header { grid-template-columns: minmax(0, 1fr) 230px; padding: 8px 12px 12px; gap: 4px 12px; }
  .header-left { display: contents; }
  .logo { grid-column: 1; grid-row: 1; justify-self: start; }
  .logo img { height: 72px; width: 220px; }
  .header-right { grid-column: 2; grid-row: 1; width: 230px; }
  .hot-tags { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-content: flex-start; padding: 4px 0; }
}
@media (max-width: 600px) {
  .site-header { grid-template-columns: minmax(0, 1fr) minmax(150px, 48%); }
  .logo { width: 100%; }
  .logo img { height: auto; width: 100%; max-width: 220px; max-height: 68px; }
  .header-right { width: 100%; }
  .search input { padding: 10px 68px 10px 12px; font-size: 13px; }
  .search button { padding: 8px; font-size: 10px; }
  .hot-tags .tag { padding: 8px 10px; font-size: 14px; }
  .static-card.policy-copy { font-size: 18px; }
  .detail-player-bar > span { overflow-wrap: anywhere; min-width: 0; }
  .detail-player-bar > button { flex-shrink: 0; }
  .browse-categories { padding: 20px; }
}
