
/* MONOLUX mobile hardening — 2026-09-26 */
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img,video{max-width:100%;height:auto}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid #b0322b !important;
  outline-offset:3px !important;
}
button,.menu-trigger{touch-action:manipulation}
@media (max-width:1199px){
  body.menu-open{overflow:hidden;touch-action:none}
  .header__nav,.header-nav{width:min(88vw,360px)!important;max-width:360px!important;overflow-y:auto!important;overscroll-behavior:contain}
  .header__nav .sub-menu,.header-nav .sub-menu{
    display:block!important;position:static!important;width:auto!important;min-width:0!important;
    visibility:visible!important;opacity:1!important;transform:none!important;background:transparent!important;
    box-shadow:none!important;border:0!important;padding:4px 0 8px 16px!important;margin:0!important;
  }
  .header__nav .sub-menu .menu-item,.header-nav .sub-menu .menu-item{padding:0!important;margin:0!important}
  .header__nav .sub-menu a,.header-nav .sub-menu a{white-space:normal!important;line-height:1.35!important;padding:8px 0!important;display:block!important}
  .menu-trigger{min-width:44px!important;min-height:44px!important;display:inline-flex!important;align-items:center;justify-content:center}
}
@media (max-width:767px){
  :root{--mobile-gutter:20px}
  .wrapper,.y-container{max-width:100%!important;padding-left:var(--mobile-gutter)!important;padding-right:var(--mobile-gutter)!important;box-sizing:border-box}
  input,select,textarea{font-size:16px!important;max-width:100%!important;box-sizing:border-box}
  button,.btn,input[type=submit],input[type=button]{min-height:44px}
  .messenger-float{right:max(16px,env(safe-area-inset-right))!important;bottom:calc(16px + env(safe-area-inset-bottom))!important}
  .messenger-float .main-btn,.messenger-float .sub-btn{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important}
  .monolux-instagram__grid:empty{display:none!important}
  .monolux-instagram__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .monolux-instagram__head{align-items:flex-start!important;flex-direction:column!important;gap:12px!important}
  .project-gallery__grid{grid-template-columns:1fr!important}
  .project-gallery__item,.project-gallery__item--wide{grid-column:auto!important}
  .project-info__grid,.project-story__grid,.project-decisions__grid{grid-template-columns:1fr!important}
  .contact-map-card{min-width:0!important;width:100%!important;padding:16px!important;box-sizing:border-box}
  .contact-map-media{display:block;width:100%!important;height:auto!important;aspect-ratio:720/544;object-fit:cover}
  .contact-map-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
  .contact-map-link{width:auto!important;min-width:0!important;height:44px!important}
  .section-contacts__content,.section-contacts__bg{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .section-contacts__content .wrapper{max-width:100%!important}
  .nice-input,.form-input,.form-textarea{max-width:100%!important;width:100%!important;box-sizing:border-box}
  .monolux-form-status{min-height:1.5em}
  #monolux-dialog .option,.option{width:100%!important;min-height:48px!important;appearance:none;-webkit-appearance:none;font:inherit;text-align:center}
  #success-modal .modal-content{width:calc(100% - 32px)!important;max-width:420px!important;margin:10vh auto!important;padding:28px 20px!important;box-sizing:border-box}
}
@media (max-width:340px){
  .contact-map-links{grid-template-columns:1fr!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .contact-map-media{display:none!important}
  .contact-map-poster{display:block!important}
}
.contact-map-card{flex:1 1 460px;min-width:0;background:#0f0f0f;border:1px solid rgba(255,255,255,.08);padding:24px}
.contact-map-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.contact-map-link{flex:1 1 120px;min-width:0;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.08)}
.contact-map-poster{display:none;width:100%;height:auto}
.quiz-field{margin:0 0 14px}
.quiz-field label{display:block;font-size:13px;margin:0 0 6px;opacity:.75}
.quiz-field input{width:100%}
.modal-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:28px;line-height:1;cursor:pointer}
