/* Long translated pricing labels must not widen grid columns. */
.plans>*{min-width:0}.plan{overflow-wrap:anywhere}
/* Native button styles load after this file; keep long translations inside controls. */
form button.btn-primary[type=submit]{white-space:normal;overflow-wrap:anywhere;line-height:1.4;min-width:0;max-width:100%;text-align:center}
/* Standalone product menus wrap inside their available desktop space. */
@media(min-width:901px){
  header .wrap:has(>nav){gap:20px;min-height:72px;height:auto;padding-block:12px}
  header .wrap>nav{min-width:0;flex:1;flex-wrap:wrap;justify-content:center;gap:8px 12px}
  header .wrap>nav a{display:inline-block;margin:3px 6px;white-space:normal;overflow-wrap:anywhere}
  header .wrap>.btn{display:block;flex:0 1 230px;min-width:0;white-space:normal;text-align:center;justify-content:center}
}
/* Mobile corrections verified against long translations; tables retain horizontal scrolling. */
@media(max-width:900px){
  body{overflow-wrap:anywhere;padding-bottom:calc(var(--eu-bottom-inset,0px) + 96px)!important}
  :where(.wrap,.container,.hero .wrap,.feat,.roi,.cards,.qgrid,.strip .wrap,.prods,.gal,.pp-problems,.rg-article,.lf,.g2,.rg-2)>*{min-width:0}
  :where(figure,.frame,.gal-shot,.feat-vis,.card,.box,.qa){min-width:0;max-width:100%}
  header .wrap{gap:10px}
  header .logo{min-width:0;flex-shrink:1}
  header .btn{white-space:normal;min-width:0;max-width:48%;padding-inline:10px;text-align:center;justify-content:center;line-height:1.35}
  .hero-stats span,body .btn,body .btn-primary,body .btn-outline{white-space:normal}
  body .btn-primary,body .btn-outline{min-width:0;max-width:100%;text-align:center;justify-content:center}
  table{display:block;overflow-x:auto!important;max-width:100%;min-width:0!important;-webkit-overflow-scrolling:touch}
  .comp-table th,.comp-table td{display:table-cell!important}
  table th,table td{min-width:7.5rem;overflow-wrap:normal;word-break:normal}
  main a.card[href^="/rozwiazania/"]>div:last-child>div:last-child>span:first-child{flex-shrink:0;white-space:nowrap}
  .tw{max-width:100%;min-width:0}
  .sgal>*,.stiles button,.stiles button>span{min-width:0;max-width:100%}
  .stiles{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pp-problems{grid-template-columns:1fr!important}
  .gal-tabs,.g-tabs{min-width:0;max-width:100%;flex-wrap:wrap}
  .eu-launch,.dma-l{bottom:calc(var(--eu-bottom-inset,0px) + 12px)!important}
  input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px!important;min-width:0;max-width:100%}
  body.eu-sticky-active #mcta{display:none!important}
}
@media(max-width:760px){.dma-p.on{height:100dvh;max-height:100dvh}}
@media(max-width:480px){
  header .btn{font-size:12px}
  .eu-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}
}

/* Consultation overlays (z-index 2000) must cover the floating avatar launcher. */
.dma-l{z-index:1100!important}
/* Keep every mobile-menu action reachable in landscape and short windows. */
.eu-site-nav #mobile-nav{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
