
/* Mobile, tablet and language fixes */
html,body{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:0}img,svg,video,iframe,canvas{max-width:100%}.header{padding-top:env(safe-area-inset-top)}.header-inner{position:relative}.lang-switcher{flex-shrink:0}.hero-slider{overflow:hidden}.hero-slide{background-position:center center;background-size:cover;will-change:opacity}.hero-slide:nth-child(1){background-position:center center}.hero-slide:nth-child(2){background-position:center center}.hero-slide:nth-child(3){background-position:center center}.hero-content,.hero-panel,.service-card,.server-card,.approach-card,.calc-card,.price-card,.contacts-card,.map-card{min-width:0}.hero-title,.section-title,.block-title{overflow-wrap:anywhere;hyphens:auto}.btn{white-space:normal;text-align:center}.chat-widget{max-width:calc(100vw - 20px)}.chat-widget__panel{max-width:calc(100vw - 20px);max-height:calc(100vh - 96px - env(safe-area-inset-bottom))}.map-card iframe{display:block;width:100%}.social-float{bottom:calc(18px + env(safe-area-inset-bottom))}@media (max-width:1024px){.hero{min-height:calc(100svh - 76px);padding:44px 0}.hero-grid{grid-template-columns:1fr!important}.hero-panel{max-width:720px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cases-layout,.about-grid,.contacts-wrap,.calc-wrap{grid-template-columns:1fr!important}.nav{z-index:10001}}@media (max-width:768px){.header-inner{min-height:68px}.brand{min-width:0;max-width:calc(100vw - 168px)}.brand-text{min-width:0}.brand-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang-switcher{order:0;padding:3px;gap:2px}.lang-switcher a{min-width:32px;min-height:34px;padding:0 7px;font-size:12px}.menu-toggle{flex-shrink:0}.nav{left:10px!important;right:10px!important;max-height:calc(100svh - 88px);overflow:auto;-webkit-overflow-scrolling:touch}.hero{min-height:100svh;padding:28px 0 42px;display:flex;align-items:center}.hero-slider{position:absolute;inset:0}.hero-slide{background-position:center top}.hero-slide::after{background:linear-gradient(180deg,rgba(3,10,20,.76),rgba(3,10,20,.88))}.hero-title{font-size:clamp(27px,8vw,40px)!important;line-height:1.08!important;letter-spacing:0!important}.hero-text{font-size:15px!important;line-height:1.62!important}.hero-actions{display:grid!important;grid-template-columns:1fr;gap:10px}.hero-actions .btn,.contact-buttons .btn{width:100%;min-height:48px}.hero-stats,.services-grid,.server-grid,.approach-grid,.about-points,.form-grid{grid-template-columns:1fr!important}.service-card,.server-card,.approach-card,.about-card,.hero-panel,.calc-card,.price-card,.contacts-card,.map-card{padding:16px!important;border-radius:18px!important}.calc-item{grid-template-columns:1fr!important}.calc-item .qty{width:100%;justify-content:space-between}.price-line{align-items:flex-start;gap:10px}.price-line strong{white-space:nowrap}.case-feature,.case-mini{min-height:260px}.social-float{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));gap:8px}.social-float-link{width:48px!important;height:48px!important}.social-float-link span{display:none}.chat-widget{right:10px!important;bottom:calc(70px + env(safe-area-inset-bottom))!important}.chat-widget__panel{right:0!important;width:calc(100vw - 20px)!important}}@media (max-width:380px){.container{width:min(100% - 18px,100%)!important}.brand{max-width:138px}.logo-mark{width:44px!important;height:44px!important}.theme-toggle{display:none!important}.lang-switcher a{min-width:30px;padding:0 5px}.hero-badge,.section-kicker,.panel-chip,.case-tag{font-size:11px!important}.hero-title{font-size:26px!important}.footer-social a{width:42px;height:42px}}@media (min-width:769px) and (max-width:1180px){.nav{gap:10px}.nav a{font-size:13px}.desktop-cta{display:none}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-slide{transition:none!important}}

@media (max-width:768px){.hero-panel{display:none!important}.hero-stats{display:none!important}.hero{min-height:min(100svh,760px)!important}.hero-grid{gap:16px!important}.hero-content{padding-top:12px;padding-bottom:12px}.hero-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.hero-actions{margin-top:18px!important}}
@media (max-width:380px){.hero-text{-webkit-line-clamp:3}.hero{min-height:100svh!important}}

/* Header overlap fix */
.header-inner{flex-wrap:nowrap}
.brand{min-width:0;max-width:clamp(168px,30vw,320px)}
.brand-text{min-width:0}
.brand-text strong,.brand-text span{overflow-wrap:anywhere}
.nav{min-width:0;flex-wrap:wrap;justify-content:flex-end;row-gap:8px}
@media (max-width:1180px){
  .desktop-cta,.header-social{display:none!important}
  .brand{max-width:220px!important}
  .brand-text{max-width:140px!important}
  .brand-text span{display:none!important}
  .nav{gap:12px!important}
  .nav a{font-size:13px!important}
}
@media (max-width:1024px){
  .header{position:sticky;top:0;z-index:9999}
  .header-inner{min-height:68px}
  .brand{max-width:calc(100vw - 190px)!important}
  .menu-toggle{display:inline-flex!important;flex-shrink:0}
  .nav{
    position:absolute!important;
    top:calc(100% + 10px)!important;
    left:10px!important;
    right:10px!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:10px!important;
    border-radius:20px!important;
    background:var(--bg-soft)!important;
    border:1px solid var(--line)!important;
    box-shadow:0 20px 50px rgba(0,0,0,.22)!important;
    max-height:calc(100svh - 88px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
    z-index:10001!important;
  }
  .nav.open{display:flex!important}
  .nav a{padding:14px 12px!important;border-radius:12px!important}
  .nav a::after{display:none!important}
}

/* APS mobile and tablet optimization */
.aps-page,.aps-hero,.aps-card,.aps-hero-card,.aps-service-card,.aps-contact-card,.aps-form-card{min-width:0}
.aps-hero-title,.aps-card h3,.aps-service-overlay h3,.aps-contact-card h3,.aps-form-card h3{overflow-wrap:anywhere;hyphens:auto}
.aps-mini-slider,.aps-service-media,.aps-hero-card{overflow:hidden}
@media (max-width:1024px){
  .aps-hero-grid,.aps-contact-grid{grid-template-columns:1fr!important}
  .aps-grid-4,.aps-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .aps-grid-2,.aps-service-media-grid,.aps-mini-stats,.aps-target-grid{grid-template-columns:1fr!important}
  .aps-hero{min-height:auto!important;padding:42px 0!important}
  .aps-hero-card{max-width:760px;width:100%}
}
@media (max-width:768px){
  .aps-page section,.aps-hero{padding:38px 0!important}
  .aps-hero-title{font-size:clamp(28px,8vw,42px)!important;line-height:1.08!important}
  .aps-hero-text{font-size:15px!important;line-height:1.62!important}
  .aps-btn-row,.aps-contact-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .aps-btn-row .btn,.aps-contact-actions .btn,.aps-form-submit{width:100%!important;min-height:48px!important}
  .aps-grid,.aps-grid-4,.aps-grid-3,.aps-grid-2,.aps-service-media-grid,.aps-mini-stats,.aps-target-grid,.aps-contact-grid{grid-template-columns:1fr!important}
  .aps-card,.aps-service-card,.aps-target,.aps-mini-stat,.aps-contact-card,.aps-form-card,.aps-hero-card{padding:16px!important;border-radius:18px!important}
  .aps-mini-slide,.aps-service-media{min-height:220px!important}
  .aps-mini-slide img,.aps-service-media img{height:100%!important;min-height:220px!important;object-fit:cover!important}
  .aps-mini-nav{width:42px!important;height:42px!important}
  .aps-mini-prev{left:8px!important}.aps-mini-next{right:8px!important}
  .chat-widget--aps{right:10px!important;bottom:calc(70px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 20px)!important}
  .chat-widget--aps .chat-widget__panel{right:0!important;width:calc(100vw - 20px)!important;max-height:calc(100svh - 96px)!important}
  .chat-widget--aps .chat-widget__quick{grid-template-columns:1fr!important}
}

/* Production mobile header/chat hotfix */
.lang-switcher{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:4px!important;
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:999px!important;
  background:rgba(7,17,31,.82)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 10px 28px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  flex:0 0 auto!important;
}
.lang-switcher a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:36px!important;
  height:36px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  color:#f8fafc!important;
  font-weight:800!important;
  font-size:13px!important;
  line-height:1!important;
  text-decoration:none!important;
}
.lang-switcher a.active{
  background:linear-gradient(135deg,#60a5fa,#6366f1)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(99,102,241,.34)!important;
}
@media (max-width:768px){
  .header-inner{gap:8px!important}
  .brand{max-width:calc(100vw - 244px)!important;flex:1 1 auto!important}
  .brand-text strong{max-width:100%!important}
  .theme-toggle,.menu-toggle{width:48px!important;height:48px!important;flex:0 0 48px!important}
  .chat-widget:not(.open) .chat-widget__panel,
  .chat-widget--aps:not(.is-open):not(.open) .chat-widget__panel{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .chat-widget.open .chat-widget__panel,
  .chat-widget--aps.is-open .chat-widget__panel,
  .chat-widget--aps.open .chat-widget__panel{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .chat-widget,.chat-widget--aps{
    position:fixed!important;
    right:12px!important;
    left:auto!important;
    bottom:calc(86px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:calc(100vw - 24px)!important;
    z-index:9000!important;
  }
  .chat-widget__toggle,.chat-widget--aps .chat-widget__toggle{
    width:56px!important;
    height:56px!important;
    border-radius:18px!important;
  }
  .chat-widget__panel,.chat-widget--aps .chat-widget__panel{
    position:absolute!important;
    right:0!important;
    left:auto!important;
    bottom:68px!important;
    width:calc(100vw - 24px)!important;
    max-width:360px!important;
    max-height:min(72svh,560px)!important;
    overflow:hidden!important;
  }
  .chat-widget__messages,.chat-widget--aps .chat-widget__messages,
  .chat-widget__body{
    max-height:min(42svh,320px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .chat-widget__quick,.chat-widget--aps .chat-widget__quick{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    justify-content:center!important;
  }
  .chat-widget__quick-btn,.chat-widget--aps .chat-widget__quick-btn{
    flex:1 1 calc(50% - 8px)!important;
    min-width:120px!important;
    min-height:44px!important;
    white-space:normal!important;
  }
  .chat-widget__footer,.chat-widget__form,.chat-widget--aps .chat-widget__form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)56px!important;
    gap:10px!important;
    align-items:center!important;
  }
  .chat-widget__input,.chat-widget--aps .chat-widget__input{
    min-width:0!important;
    width:100%!important;
    font-size:clamp(14px,4vw,16px)!important;
  }
  .social-float,.aps-social-fixed{
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    transform:none!important;
  }
  .social-float-link,.aps-social-fixed__link{
    width:52px!important;
    height:52px!important;
  }
}
@media (max-width:390px){
  .header-inner{gap:6px!important}
  .brand{max-width:calc(100vw - 224px)!important}
  .logo-mark{width:42px!important;height:42px!important}
  .lang-switcher{padding:3px!important}
  .lang-switcher a{min-width:31px!important;height:32px!important;padding:0 6px!important;font-size:12px!important}
  .theme-toggle,.menu-toggle{width:44px!important;height:44px!important;flex-basis:44px!important}
  .chat-widget__quick-btn,.chat-widget--aps .chat-widget__quick-btn{flex-basis:100%!important}
}

/* Chat UX mobile fix: visible textarea, compact quick buttons and non-overlapping floats */
.chat-widget__input{
  resize:none!important;
  overflow-y:auto!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  line-height:1.35!important;
}
.social-float.is-hidden-by-chat,
.aps-social-fixed.is-hidden-by-chat{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(10px)!important;
}
@media (max-width:768px){
  .chat-widget.open,
  .chat-widget--aps.open,
  .chat-widget--aps.is-open{
    bottom:calc(78px + env(safe-area-inset-bottom))!important;
  }
  .chat-widget__panel,
  .chat-widget--aps .chat-widget__panel{
    max-height:min(80svh,620px)!important;
  }
  .chat-widget__messages,
  .chat-widget--aps .chat-widget__messages,
  .chat-widget__body{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:min(34svh,260px)!important;
  }
  .chat-widget__quick,
  .chat-widget--aps .chat-widget__quick{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .chat-widget__quick-btn,
  .chat-widget--aps .chat-widget__quick-btn{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    padding:8px 10px!important;
    font-size:clamp(13px,3.6vw,15px)!important;
    line-height:1.15!important;
    border-radius:14px!important;
  }
  .chat-widget__footer{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }
  .chat-widget__operator,
  .chat-operator,
  .chat-operator__btn{
    width:100%!important;
    max-width:none!important;
    min-height:48px!important;
  }
  .chat-widget__operator{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .chat-widget__input-wrap,
  .chat-widget__form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)56px!important;
    gap:10px!important;
    align-items:end!important;
    width:100%!important;
    min-width:0!important;
  }
  .chat-widget__form .chat-widget__footer{
    grid-column:1 / -1!important;
    order:3!important;
  }
  .chat-widget__input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    max-height:116px!important;
    height:auto!important;
    padding:15px 14px!important;
    font-size:16px!important;
    line-height:1.35!important;
    box-sizing:border-box!important;
  }
  .chat-widget__input::placeholder{
    opacity:.76!important;
    white-space:normal!important;
  }
  .chat-widget__send,
  .chat-widget--aps .chat-widget__send{
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    border-radius:18px!important;
    align-self:end!important;
  }
  .social-float,
  .aps-social-fixed{
    right:10px!important;
    bottom:calc(90px + env(safe-area-inset-bottom))!important;
    gap:10px!important;
    transition:opacity .2s ease, visibility .2s ease, transform .2s ease!important;
  }
  .social-float-link,
  .aps-social-fixed__link{
    width:52px!important;
    height:52px!important;
  }
}
@media (max-width:399px){
  .chat-widget__quick,
  .chat-widget--aps .chat-widget__quick{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .chat-widget__quick-btn,
  .chat-widget--aps .chat-widget__quick-btn{
    min-height:36px!important;
    padding:7px 10px!important;
  }
  .chat-widget__messages,
  .chat-widget--aps .chat-widget__messages,
  .chat-widget__body{
    max-height:min(28svh,220px)!important;
  }
}

/* Mobile floating buttons: keep CTAs and calculator readable */
@media (max-width:768px){
  .chat-widget,
  .chat-widget--aps{
    left:auto!important;
    right:12px!important;
    bottom:calc(14px + env(safe-area-inset-bottom))!important;
    max-width:calc(100vw - 24px)!important;
  }
  .chat-widget.open,
  .chat-widget--aps.open,
  .chat-widget--aps.is-open{
    right:12px!important;
    bottom:calc(82px + env(safe-area-inset-bottom))!important;
  }
  .chat-widget__toggle,
  .chat-widget--aps .chat-widget__toggle{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    border-radius:18px!important;
  }
  .chat-widget__badge,
  .chat-widget--aps .chat-widget__badge{
    right:-5px!important;
    bottom:-5px!important;
    transform:scale(.82)!important;
  }
  .social-float{
    left:10px!important;
    right:auto!important;
    bottom:calc(14px + env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:8px!important;
    z-index:8990!important;
  }
  .social-float-link{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border-radius:16px!important;
  }
  .social-float-link span{
    display:none!important;
  }
  .aps-social-fixed{
    left:10px!important;
    right:auto!important;
    bottom:calc(14px + env(safe-area-inset-bottom))!important;
    top:auto!important;
    transform:none!important;
    display:flex!important;
    flex-direction:row!important;
    gap:8px!important;
    z-index:8990!important;
  }
  .aps-social-fixed__link{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border-radius:16px!important;
  }
}
@media (max-width:360px){
  .social-float-link,
  .aps-social-fixed__link{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
  .social-float,
  .aps-social-fixed{
    gap:6px!important;
  }
  .chat-widget__toggle,
  .chat-widget--aps .chat-widget__toggle{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
  }
}

/* Chat controls and long quick-command lists */
.chat-widget__actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
.chat-widget__btn{
  width:40px!important;
  height:40px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:12px!important;
  display:inline-grid!important;
  place-items:center!important;
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  cursor:pointer!important;
  font-size:22px!important;
  line-height:1!important;
}
.chat-widget__btn:hover{
  background:rgba(255,255,255,.18)!important;
}
@media (max-width:768px){
  .chat-widget__quick,
  .chat-widget--aps .chat-widget__quick{
    flex:0 0 auto!important;
    max-height:138px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding-right:2px!important;
  }
  .chat-widget__panel,
  .chat-widget--aps .chat-widget__panel{
    max-height:min(78svh,600px)!important;
  }
}
@media (max-width:399px){
  .chat-widget__quick,
  .chat-widget--aps .chat-widget__quick{
    max-height:156px!important;
  }
}
