
/* Local responsive and accessibility hardening */
html, body { width: 100%; max-width: 100%; }
body { min-width: 0; }
img, picture, video, canvas { max-width: 100%; }
img { height: auto; }
svg { max-width: 100%; }
main, header, footer, nav, section, article, aside, form,
[class*="container"], [class*="wrapper"], [class*="grid"], [class*="split"], [class*="column"] { min-width: 0; }
input, select, textarea, button { max-width: 100%; }
input, select, textarea { width: 100%; }
a, button { overflow-wrap: anywhere; }
.btn { white-space: normal; }
.btn-primary { color: #ffffff; }
.btn-secondary, .btn-accent { color: #000000; }
.footer-social-links .footer-social-static { cursor: default; }
.form-status { margin-top: var(--spacing-sm); color: var(--color-primary); font-weight: 600; }

@media (max-width: 768px) {
  .hero-title, h1 { font-size: clamp(2rem, 9vw, 2.8rem); line-height: 1.12; }
  .section-title, h2 { font-size: clamp(1.55rem, 7vw, 2.15rem); line-height: 1.18; }
  h3 { font-size: clamp(1.18rem, 5.2vw, 1.55rem); }
  .hero-title, .section-title, h1, h2, h3, h4, h5, h6,
  .hero-subtitle, .section-content, p, li, label, span {
    overflow-wrap: anywhere;
    word-break: normal;
    white-space: normal;
  }
  [class*="split"], [class*="grid"], [class*="columns"], [class*="cards"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  [class*="split"], [class*="columns"], .footer-main-content, .footer-links-grid {
    flex-direction: column !important;
  }
   .section-container, .hero-container {
    max-width: 100%;
  }
  .hero-container, .section-container {
    padding-left: clamp(1rem, 4vw, 1.4rem);
    padding-right: clamp(1rem, 4vw, 1.4rem);
  }
  .card, [class*="card"], form {
    max-width: 100%;
  }
  .btn, button[type="submit"] { width: 100%; justify-content: center; }
  [class*="track"] { justify-content: center; }
  .footer-bottom { gap: var(--spacing-md); }
}

@media (max-width: 480px) {
  .hero-title, h1 { font-size: clamp(1.8rem, 9.5vw, 2.35rem); }
  .section-title, h2 { font-size: clamp(1.4rem, 7.5vw, 1.9rem); }
   .section-container, .hero-container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .btn { padding: 0.75rem 1rem; }
}

@media (max-width: 768px) {
  .table-scroll { overflow: visible; box-shadow: none; }
  .capacity-table,
  .capacity-table thead,
  .capacity-table tbody,
  .capacity-table tr,
  .capacity-table th,
  .capacity-table td { display: block; width: 100%; min-width: 0; }
  .capacity-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip: rect(0 0 0 0); white-space: nowrap; overflow: hidden; }
  .capacity-table tr { margin-bottom: 1rem; border: 1px solid var(--color-outline); border-radius: var(--border-radius-md); background: var(--color-surface-elevated); padding: .5rem .85rem; }
  .capacity-table td { display: grid; grid-template-columns: minmax(7rem, 42%) minmax(0, 1fr); gap: .75rem; align-items: start; padding: .65rem 0; border-bottom: 1px solid var(--color-outline); }
  .capacity-table td:last-child { border-bottom: 0; }
  .capacity-table td::before { font-weight: 700; color: var(--color-primary); }
  .capacity-table td:nth-child(1)::before { content: "Helyszín"; }
  .capacity-table td:nth-child(2)::before { content: "Színházszerű"; }
  .capacity-table td:nth-child(3)::before { content: "Iskolapad"; }
  .capacity-table td:nth-child(4)::before { content: "Bankett"; }
  .capacity-table td:nth-child(5)::before { content: "Állófogadás"; }
  .capacity-table td:nth-child(6)::before { content: "Alapár / nap"; }
}

@media (max-width: 390px) {
  .capacity-table td { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
}
