/* Minimal, scoped repairs. Original palette, components and typography remain. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 0; }
.page-main { width: 100%; min-width: 0; }
.page-main > * { max-width: 100%; }
:where(.page-main, .lumario-footer-root, .navigation-section) :where(img, video, canvas) {
  max-width: 100%;
}
:where(.page-main, .lumario-footer-root) :where(p, li, h1, h2, h3, h4, h5, h6, address, span) {
  overflow-wrap: break-word;
}
:where(.page-main, .lumario-footer-root) :where(input, textarea, select, button) { max-width: 100%; }
:where(input, textarea, select) { min-width: 0; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}
.site-skip-link {
  position: fixed;
  top: -100px;
  left: 12px;
  z-index: 2000;
  border-radius: 0 0 6px 6px;
  padding: 12px 16px;
  color: #fff;
  background: var(--color-primary);
  text-decoration: none;
}
.site-skip-link:focus { top: 0; }
.navigation-hamburger, .navigation-close { border: 0; cursor: pointer; flex: 0 0 auto; }
.navigation-close { background: transparent; }
body.site-menu-open { overflow: hidden; }
.navigation-mobile-overlay { max-width: 100vw; max-height: 100dvh; min-height: 100dvh; overscroll-behavior: contain; }
.navigation-overlay-links a { display: block; width: fit-content; max-width: 100%; cursor: pointer; }
.navigation-overlay-links a:focus-visible { border-radius: 4px; }
.navigation-overlay-links, .navigation-overlay-footer { overflow-wrap: anywhere; }
.navigation-overlay-header { flex-shrink: 0; }
.navigation-section { isolation: isolate; }
.lumario-footer-legal-nav .footer-extra-legal { text-decoration: none; }
.lumario-footer-legal-nav .footer-extra-legal:hover .lumario-footer-utility-link {
  color: var(--color-on-primary);
  text-decoration: underline;
}
.lumario-footer-legal-nav .footer-extra-legal:focus-visible { border-radius: 3px; }
.lumario-footer-legal-nav { row-gap: 12px; }
[data-company], [data-address] { white-space: normal; }
.contact-form-alternative-notice a { color: var(--color-accent); text-decoration: underline; }
.contact-consent-check { min-width: 0; }
.gallery-lightbox { max-width: min(100vw - 28px, 880px); max-height: calc(100dvh - 28px); }
.gallery-lightbox-inner { max-width: 100%; }
/* Preserve the original desktop header; use a stable single-row menu on tablets. */
@media (max-width: 991px) {
  .navigation-desktop-links { display: none; }
  .navigation-hamburger { display: flex; }
  .navigation-checkbox:checked ~ .navigation-mobile-overlay { display: flex; }
  .navigation-bar { align-items: center; }
  .navigation-brand-block { min-width: 0; }
  .navigation-links-block { flex: 0 0 auto; }
  .navigation-mobile-overlay { overflow-y: auto; }
  .page-main :where(.form-input, .form-textarea, .form-select) { width: 100%; }
}
@media (max-width: 479px) {
  .navigation-bar { width: 100%; }
  .navigation-brand-block { flex: 0 1 auto; padding-inline: 10px; }
  .navigation-links-block { padding-inline: 10px; }
  .navigation-logo-link, .logo-mark, .logo-text-group { min-width: 0; }
  .logo-mark { gap: 8px; }
  .logo-name { font-size: clamp(.79rem, 3.65vw, 1rem); letter-spacing: .055em; }
  .logo-tagline { font-size: .52rem; letter-spacing: .26em; }
  .navigation-overlay-header { padding-inline: var(--spacing-sm); }
  .navigation-overlay-links { padding: var(--spacing-2xl) var(--spacing-lg); gap: var(--spacing-md); }
  .navigation-overlay-link { font-size: clamp(1.5rem, 7vw, 2.2rem); }
  .navigation-overlay-footer { padding: var(--spacing-lg); }
  .hero-title, .hero-signature-heading { font-size: clamp(2rem, 9vw, 3rem); }
  .btn { max-width: 100%; white-space: normal; }
  .contact-form-section, .company-details-section, .menu-listings, .gallery-atmosphere { min-width: 0; }
  .contact-form-grid, .company-details-grid, .menu-items-grid { min-width: 0; }
  .lumario-footer-legal-nav { gap: 16px; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .navigation-mobile-overlay *, .gallery-atmosphere * { transition-duration: 0.01ms; }
}

/* Contact details are text, not link-like controls. */
.contact-intro-meta-link, .contact-text-link, .company-direct-link, .faq-fallback-link, .navigation-overlay-phone { cursor: text; }
.contact-text-link, .faq-fallback-link { text-decoration: none; }
.contact-intro-meta-link:hover { color: inherit; }
