/* Local project hardening and responsive accessibility fixes */
html, body { max-width: 100%; overflow-x: clip; }
body.menu-open { overflow: hidden; }
img, svg, video, canvas { max-width: 100%; }
img { height: auto; }
main.site-main { display: block; width: 100%; min-width: 0; }
section, article, aside, header, footer, nav, form, .site-main > * { min-width: 0; }
input, select, textarea, button { max-width: 100%; }
.footer-social-static { display: inline-flex; cursor: default; }
.footer-social-static .footer-social-icon { cursor: default; }
.footer-contact-text, [data-company], [data-address] { overflow-wrap: anywhere; }
.table-wrapper { overflow-x: visible; }
.materials-table { min-width: 0; table-layout: fixed; }
.materials-table th, .materials-table td { overflow-wrap: anywhere; word-break: normal; }
.btn-accent { color: #0a0a0a; }
.btn-secondary { color: #0a0a0a; }
.navigation-mobile-toggle, .navigation-mobile-close, .tab-trigger, .btn { touch-action: manipulation; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }

@media (max-width: 767px) {
  :root {
    --font-size-4xl: clamp(2rem, 9vw, 2.65rem);
    --font-size-3xl: clamp(1.65rem, 7vw, 2.15rem);
    --font-size-2xl: clamp(1.35rem, 5.5vw, 1.75rem);
    --spacing-3xl: 3rem;
  }
  .hero-title, .section-title, h1, h2, h3 { overflow-wrap: anywhere; }
  .hero-title { line-height: 1.16; }
  .section-title { line-height: 1.22; }
  [class*="container"], [class*="wrapper"], [class*="content"], [class*="grid"], [class*="layout"], [class*="split"] {
    max-width: 100%;
    min-width: 0;
  }
  .btn, .hero-atelier-actions a, .next-steps-actions a { max-width: 100%; white-space: normal; }
  .footer-grid, .contact-split, .consultation-split, .contact-request__container, .contact-submission__grid,
  .brand-intro-grid, .comparison-split, .personalization-grid, .tab-panel-grid { width: 100%; }
  .materials-table { font-size: 0.9rem; }
  .materials-table th, .materials-table td { padding-left: 0.55rem; padding-right: 0.55rem; }
}

@media (max-width: 480px) {
  .hero-title { font-size: clamp(1.9rem, 10vw, 2.35rem); }
  .section-title { font-size: clamp(1.5rem, 8vw, 1.95rem); }
  .navigation-wrapper { padding-left: var(--spacing-md); padding-right: var(--spacing-md); }
  .btn, .btn-lg, .btn-xl { padding: 0.85rem 1rem; }
    .navigation-brand { font-size: 0.92rem; }
}

@media (max-width: 390px) {
  .footer-container, .navigation-wrapper { padding-left: 0.85rem; padding-right: 0.85rem; }

}

@media (max-width: 360px) {
  .hero-title { font-size: 1.9rem; }
  .section-title { font-size: 1.45rem; }
}

@media (max-width: 320px) {
  .navigation-brand { font-size: 0.84rem; }
  .hero-title { font-size: 1.75rem; }
  .section-title { font-size: 1.35rem; }
  .footer-container { padding-left: 0.7rem; padding-right: 0.7rem; }
}

/* Single-column mobile flow requested for all content-heavy sections. */
@media (max-width: 767px) {
  .ui-grid-6,
  .ui-grid-5,
  .ui-grid-4,
  .ui-grid-3,
  .ui-grid-2,
  .gallery-grid,
  .portfolio-grid-3x2,
  .grid-3x2,
  .collection-overview__grid,
  .signature-portfolio__grid,
  .materials-showcase__grid,
  .styling-gallery__grid,
  .limited-edition__grid,
  .materials-features__grid,
  .gallery-comparison__grid,
  .services-grid,
  .showcase-grid,
  .craft-grid,
  .materials-layout,
  .portfolio-grid,
  .szem-lyre-szabott--kszerek-testimonials-grid,
  .home-testimonials-grid,
  .testimonials-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Readability/contrast corrections for small legal text in the dark footer. */
.footer-legal-text { opacity: 0.88; }
.footer-legal-subtext { opacity: 0.78; font-size: 0.75rem; }
