/* Мост legacy MODX ↔ dark-v2 */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.menu.lm-submenu-legacy,
.head-slider{display:none!important}

/* старый fixed nav / зелёные акценты */
.nav-bar,.tell-wrap{display:none!important}
.logo-headline{display:none!important}

body.lm-v2{padding-top:0}
body.lm-v2 .container{max-width:var(--container)}

/* контакты на главной: пара msgr вместо цветных иконок */
.contact .soc .msgrs{margin-top:12px}
.contact .soc a[href*="whatsapp"]{display:none!important}

/* drawer поверх site-v2 */
.lm-drawer[hidden]{display:none!important}
.lm-drawer{position:fixed;inset:0;z-index:80;background:var(--overlay)}
.lm-drawer__panel{position:absolute;top:0;right:0;width:min(360px,92vw);height:100%;background:var(--bg-nav);padding:20px;overflow:auto;display:flex;flex-direction:column;gap:20px}
.lm-drawer__close{align-self:flex-end;width:44px;height:44px;border:0;border-radius:50%;background:var(--bg-elevated);color:#fff;display:grid;place-items:center;cursor:pointer}
.lm-drawer__nav{display:flex;flex-direction:column;gap:4px}
.lm-drawer__nav a{color:#fff;font:600 17px/1.3 var(--font-heading);padding:12px 10px;border-radius:8px}
.lm-drawer__nav a:hover{background:rgba(255,255,255,.08)}
.lm-drawer__foot{margin-top:auto;display:grid;gap:12px}

/* site-v2 использует .wrap — bootstrap .container рядом ок */
.hero .h1{font-size:var(--fs-h1);line-height:1.1;color:var(--text-strong)}
@media(max-width:767px){.hero .h1{font-size:var(--fs-h1-m)}}

/* —— P1 fixes: modals —— */
.modal-dialog{margin:24px auto;max-width:560px;width:calc(100% - 24px)}
#modal1 .modal-dialog,.modal-dialog--wide{max-width:760px}
.modal-content{
  position:relative;border:0;border-radius:18px;padding:32px;
  background:#fff;box-shadow:0 20px 60px rgba(15,22,30,.25);
}
.modal-body,.modal-form{background:transparent!important;box-shadow:none!important;width:auto!important;padding:0!important;margin:0!important}
.modal-close,.modal .close{
  position:absolute;top:12px;right:12px;width:44px;height:44px;
  border:0;border-radius:50%;background:var(--bg-surface-2);color:var(--text);
  display:grid;place-items:center;cursor:pointer;opacity:1;z-index:2;
}
.modal-close .ico{width:20px;height:20px}
.modal-head{font:800 26px/1.2 var(--font-heading);margin:0 0 6px;color:var(--text-strong);text-transform:none}
.modal-sub{color:var(--text-2);margin:0 0 22px}
.modal .field{margin:0 0 14px}
.modal .field label{display:block;font:600 13px/1.3 var(--font-body);color:var(--text-2);margin:0 0 6px}
.modal .input,.modal select.input,.modal textarea.input{
  width:100%;min-height:52px;padding:0 16px;border:1px solid var(--border-field);
  border-radius:8px;background:#fff;font:400 16px var(--font-body);color:var(--text);
}
.modal .fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal .field--full{grid-column:1/-1}
.modal .consent{display:flex;gap:10px;align-items:flex-start;margin:8px 0 16px;font-size:14px;color:var(--text-2)}
.modal .consent a{color:var(--link)}
.modal .select-conect,.modal .input-wrap > span{display:none!important}
.modal .input-wrap{margin:0 0 12px}
@media(max-width:767px){
  .modal-dialog{margin:12px;max-width:none;width:auto}
  .modal-content{max-height:90vh;overflow:auto;padding:24px 16px 16px;border-radius:18px 18px 0 0}
  .modal.fade .modal-dialog{transform:translate(0,10vh)}
  .modal .fields-grid{grid-template-columns:1fr}
}


/* —— cookie banner (FINAL №3: strip) —— */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  min-height:48px;max-height:56px;padding:8px 24px;
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:nowrap;
  background:#FFFFFF;border-top:1px solid #DCE2E8;
  box-shadow:0 -4px 16px rgba(15,22,30,.08);
  font:400 14px/1.4 Inter,system-ui,sans-serif;color:#1F2A36;
}
.cookie-banner[hidden]{display:none!important}
.cookie-banner__text{margin:0;flex:0 1 auto}
.cookie-banner__text a{color:#2C6496;text-decoration:underline}
.cookie-banner__acts{display:flex;align-items:center;gap:12px;margin:0;flex:0 0 auto}
.cookie-banner__reject{
  background:none;border:0;padding:0;cursor:pointer;
  color:#5A6878;text-decoration:underline;font:inherit;
}
.cookie-banner .btn-sm{min-height:36px;height:36px;padding:0 16px}
body.lm-cookie-open{padding-bottom:56px}
body.lm-cookie-open .fab{bottom:calc(56px + 16px)}
@media(max-width:767px){
  .cookie-banner{
    bottom:calc(64px + env(safe-area-inset-bottom));
    max-height:80px;min-height:0;height:auto;
    padding:8px 12px;gap:10px;justify-content:space-between;
    align-items:center;
  }
  .cookie-banner__text{font-size:13px;line-height:1.35;flex:1 1 auto}
  .cookie-banner__acts{flex-direction:column;align-items:flex-end;gap:4px}
  body.lm-cookie-open{padding-bottom:calc(64px + 80px)}
  body.lm-cookie-open .fab{bottom:calc(64px + 80px + 16px)}
}

/* —— contacts light —— */
.lm-contacts{background:#F4F6F8;padding:64px 0}
.lm-contacts .grid{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:stretch}
.lm-contacts .card-box{
  background:#fff;border-radius:18px;padding:32px;box-shadow:0 8px 24px rgba(31,42,54,.08);
  color:var(--text);
}
.lm-contacts address{font-style:normal;margin:0 0 16px;line-height:1.6}
.lm-contacts .map-stub,.lm-contacts .map{
  border-radius:18px;overflow:hidden;min-height:480px;background:#E9EDF1;
  display:flex;align-items:center;justify-content:center;
}
@media(max-width:767px){
  .lm-contacts .grid{grid-template-columns:1fr}
  .lm-contacts .map-stub,.lm-contacts .map{min-height:320px}
}

/* —— footer —— */
.ftr{text-align:left}
.ftr .footer-title{font:700 14px var(--font-heading);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 16px}
.ftr nav a{display:block;padding:6px 0;color:#B9C4CF;font:400 15px/22px var(--font-body)}
.ftr .ph{text-align:left}
.fbottom{flex-wrap:wrap;align-items:center;gap:16px}
.fbottom-links{display:flex;flex-wrap:wrap;gap:12px 18px}
.dev-link{display:inline-flex;align-items:center;gap:8px;opacity:.7;color:var(--text-muted)}
.dev-link:hover{opacity:1;color:#fff}
.dev-link img{flex:none}
.ico-max{width:20px;height:20px;object-fit:contain;flex:none}

/* —— light accents: orange only on CTA —— */
.sec .h2 em,.nums b,.checks li::before{color:#2E4A62!important}
.headline span{color:#2E4A62!important}
.breadcrumbs a{color:#2C6496!important}
.breadcrumbs .act,.breadcrumbs .act a{color:#5A6878!important}

/* facts in wrap */
.hero .facts{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}

/* skip link */
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:16px;top:16px;z-index:100;background:#fff;padding:12px 16px;border-radius:8px}

/* tap targets */
a.mphone{min-width:44px;min-height:44px}
.but{text-transform:none!important}


/* —— FINAL №2 disabled buttons —— */
.btn-primary:disabled,.btn-primary[disabled],.btn[disabled],button[disabled].btn,
.btn-primary.disabled,.but:disabled,.but[disabled]{
  background:#E3E7EB!important;border-color:#E3E7EB!important;color:#4A5563!important;
  cursor:not-allowed;opacity:1;box-shadow:none;
}
.btn-primary:disabled:hover,.btn-primary[disabled]:hover,.btn-primary.disabled:hover,
.btn[disabled]:hover,button[disabled].btn:hover,
.but:disabled:hover,.but[disabled]:hover{
  background:#E3E7EB!important;border-color:#E3E7EB!important;color:#4A5563!important;
}

/* —— FINAL №9 wrap / crumbs / H1 —— */
.wrap{max-width:1240px;margin:0 auto;padding:0 24px;box-sizing:border-box}
@media(max-width:767px){.wrap{padding:0 16px}}
.wrap.narrow,.text-page .wrap.narrow{max-width:780px}
.lm-v2 .breadcrumb,.lm-v2 .breadcrumbs,.lm-crumbs{
  font:400 14px/1.6 Inter,system-ui,sans-serif;color:#6B7785;padding:22px 0 0;margin:0;
  list-style:none;display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.lm-v2 .breadcrumb a,.lm-v2 .breadcrumbs a,.lm-crumbs a{color:#2C6496;text-decoration:none}
.lm-v2 .breadcrumb li+li::before,.lm-crumbs li+li::before{content:"/";margin-right:6px;color:#6B7785}
.lm-v2 main .headline,.lm-v2 main h1,.text-page h1,.sec h1{
  font-family:Manrope,system-ui,sans-serif;font-weight:800;font-size:44px;line-height:1.15;
  color:#1F2A36;margin:16px 0 20px;
}
.lm-v2.tpl-product main h1,.product-page h1{font-size:40px}
.lm-v2.tpl-service main h1,.service-page h1{font-size:56px}
.lm-v2.tpl-404 main h1,.err404 h1{font-size:40px}
.lm-v2 main,.text-page{font-size:17px;line-height:1.6;color:#1F2A36}
.lm-v2 .muted,.lm-v2 .lead,.catalog-card .param span,.lift-card span{color:#5A6878!important}
@media(max-width:767px){
  .lm-v2 main .headline,.lm-v2 main h1,.text-page h1,.sec h1{font-size:28px}
  .lm-v2.tpl-product main h1,.product-page h1{font-size:28px}
  .lm-v2.tpl-service main h1,.service-page h1{font-size:32px}
  .lm-v2.tpl-404 main h1,.err404 h1{font-size:26px}
}

/* —— FINAL №13 catalog grid —— */
.catalog-grid,.ms2-products,.products-grid,.portfolio-grid,.lift-list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
@media(max-width:1023px){
  .catalog-grid,.ms2-products,.products-grid,.portfolio-grid,.lift-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .catalog-grid,.ms2-products,.products-grid,.portfolio-grid,.lift-list{grid-template-columns:1fr}
}
.lift-card h3,.lift-card .title,.catalog-card .title,.portfolio-card .title{
  text-transform:none!important;font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:20px;
}

/* —— FINAL №14 full-width mobile CTAs —— */
@media(max-width:767px){
  .ctas .btn,.sec .btn,.cta-band .btn,.err404 .btn,.price-card .btn,
  .lm-v2 .modal .btn-primary,.service-form .btn{
    width:100%;white-space:normal;margin-bottom:12px;
  }
  .ctas,.price-card .ctas{display:flex;flex-direction:column;gap:12px}
}

/* —— FINAL №18 footer cols left —— */
.ftr .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:32px;text-align:left}
.ftr .cols a{display:block;line-height:24px;padding:5px 0;text-align:left}
.ftr .cols .footer-title{text-align:left}
@media(max-width:1023px){.ftr .cols{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:767px){.ftr .cols{grid-template-columns:1fr}}

/* —— FINAL №19 facts full bleed —— */
.facts{width:100%;max-width:none}

/* —— logo sizes —— */
.hdr .logo img{height:40px;width:auto;max-width:113px;filter:none!important}
.ftr img[src*="liftm-logo"]{height:52px;width:auto;max-width:147px;filter:none!important}


/* FINAL №15 modals */
.modal-dialog{max-width:440px;margin:40px auto}
.modal-content{background:#FFF;border-radius:18px;padding:28px;border:0;box-shadow:0 20px 60px rgba(15,22,30,.25);text-align:left}
.modal-head{font:800 24px/1.25 Manrope,sans-serif;margin:0 0 8px;text-align:left}
.modal-sub{font-size:15px;color:#5A6878;margin:0 0 20px;text-align:left}
.modal .field{margin:0 0 14px;text-align:left}
.modal .field label,.form .field label{display:block;font-size:13px;color:#5A6878;margin:0 0 6px;text-align:left}
.modal .input,.form .input,.form input.input,.form textarea.input{
  height:52px;width:100%;background:#F4F6F8;border:1px solid #DCE2E8;border-radius:8px;
  padding:0 14px;font-size:16px;color:#1F2A36;box-sizing:border-box
}
.form textarea.input{height:auto;min-height:96px;padding:12px 14px}
.modal .consent,.form .consent{display:flex;gap:10px;align-items:flex-start;text-align:left;margin:16px 0;font-size:13px;color:#5A6878}
.modal .consent input,.form .consent input{width:20px;height:20px;flex:0 0 20px;accent-color:#F28C28;margin-top:2px}
.field-error{color:#C62828;font-size:13px;margin:6px 0 0}
.modal .input.is-invalid,.form .input.is-invalid{border-color:#C62828;background:#FDECEC}
.fancybox-slide--html .fancybox-content{background:transparent!important;padding:0!important}
@media(max-width:767px){
  .modal-dialog{max-width:none;width:100%;margin:0;position:fixed;left:0;right:0;bottom:0}
  .modal-content{border-radius:18px 18px 0 0;max-height:calc(100vh - 64px - env(safe-area-inset-bottom));overflow:auto}
}
.msgr{text-transform:none!important}


/* FIX catalog cards visibility */
.prod .bd{color:#1F2A36;background:#fff}
.prod .bd h3,.prod .bd h3 a{color:#1F2A36!important;text-transform:none;font:700 18px/1.3 Manrope,system-ui,sans-serif}
.prod .bd dl{color:#5A6878}
.prod .bd .price{color:#1F2A36;font:800 22px/1.2 Manrope,system-ui,sans-serif}
.prod .bd .price small{display:block;font:400 13px/1.3 Inter,system-ui,sans-serif;color:#6B7785;margin-bottom:4px}
.chips:empty,.chips:not(:has(a)){display:none}
.catalog-grid .prod,.grid.g3 .prod,.grid.g4 .prod{min-width:0}


/* FIX: Bootstrap modal must be full-viewport; design .modal card styles were breaking it */
.lm-v2 .modal.fade,
.lm-v2 .modal.in,
.lm-v2 .modal.show,
body .modal.fade,
body .modal.in,
body .modal.show{
  position:fixed!important;
  top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:auto!important;max-width:none!important;
  margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;
  overflow-x:hidden;overflow-y:auto;
  z-index:1050;
}
.lm-v2 .modal.fade .modal-dialog,
body .modal.fade .modal-dialog{
  position:relative;
  width:auto;
  max-width:440px;
  margin:60px auto!important;
  left:auto!important;right:auto!important;
  transform:none;
}
.lm-v2 .modal.in .modal-dialog,
.lm-v2 .modal.show .modal-dialog,
body .modal.in .modal-dialog,
body .modal.show .modal-dialog{
  transform:none!important;
}
.lm-v2 .modal-content,
body .modal-content{
  width:100%!important;
  max-width:440px;
  margin:0 auto;
  background:#fff;
  border:0;
  border-radius:18px;
  padding:28px;
  box-shadow:0 20px 60px rgba(15,22,30,.25);
}
#modal1 .modal-content{max-width:760px}
.modal-backdrop{z-index:1040}
@media(max-width:767px){
  .lm-v2 .modal.fade .modal-dialog,
  body .modal.fade .modal-dialog,
  .lm-v2 .modal.in .modal-dialog,
  body .modal.in .modal-dialog{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;top:auto!important;
  }
  .lm-v2 .modal-content, body .modal-content{
    max-width:none;width:100%!important;
    border-radius:18px 18px 0 0;
    max-height:calc(100vh - 64px - env(safe-area-inset-bottom));
    overflow:auto;
  }
}


/* —— Desktop dropdown (FINAL №38) —— */
.mainnav .nav-item{position:relative;display:flex;align-items:center}
.mainnav .nav-item > .drop-link{display:flex;align-items:center;gap:4px}
.mainnav .sub-menu{
  display:none;
  position:absolute;top:100%;left:0;z-index:70;
  min-width:260px;padding:12px 0 14px;
  background:#FFFFFF;border:1px solid #DCE2E8;border-radius:12px;
  box-shadow:0 12px 32px rgba(31,42,54,.14);
}
.mainnav .nav-item:hover > .sub-menu,
.mainnav .nav-item:focus-within > .sub-menu,
.mainnav .nav-item.is-open > .sub-menu{display:block}
.mainnav .sub-menu ul{list-style:none;margin:0;padding:4px 0}
.mainnav .sub-menu li{margin:0}
.mainnav .sub-menu li a{
  display:block;padding:10px 18px;margin:0;border-radius:0;
  background:transparent;box-shadow:none;color:#1F2A36;
  font:500 14px/1.35 Inter,system-ui,sans-serif;white-space:nowrap;
}
.mainnav .sub-menu li a:hover,
.mainnav .sub-menu li a:focus{
  background:#F4F6F8;color:#1D4F7A;text-decoration:none;
  box-shadow:none;
}
.mainnav .sub-menu__all{
  display:inline-block;margin:6px 18px 0;padding:0!important;
  color:#2C6496!important;font:600 13px/1.4 Inter,system-ui,sans-serif!important;
  background:transparent!important;box-shadow:none!important;border-radius:0!important;
}
.mainnav .sub-menu__all:hover{text-decoration:underline;color:#1D4F7A!important}
@media(max-width:1199px){
  .mainnav .sub-menu{display:none!important}
}

/* dropdown polish: kill legacy diamond bullets + keep above hero */
.hdr{position:sticky;top:0;z-index:100;background:#fff}
.mainnav .sub-menu{z-index:200}
.mainnav .sub-menu li a:before{content:none!important;display:none!important}
.mainnav .sub-menu li a{padding-left:18px!important}
.mainnav .sub-menu__all{text-transform:none!important;letter-spacing:0!important}


/* Messenger buttons: align icon + label */
.msgr{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  line-height:1;
  text-transform:none!important;
}
.msgr .ico{
  width:20px;height:20px;flex:none;display:block;
  /* keep stroke icons as designed in v2.css */
}
.msgr .ico-max{
  width:20px;height:20px;flex:none;display:block;
  object-fit:contain;margin:0;
}



/* ===== lift-m fixes 2026-10-16 ===== */
/* map: static preview before consent, iframe after */
.map-static{display:block;width:100%;height:100%;min-height:320px}
[data-map-src],#lm-map{overflow:hidden}
[data-map-src] iframe,#lm-map iframe{width:100%;height:100%;min-height:320px}
/* contrast of subtitles on dark backgrounds (>=4.5:1) */
.hero:not(.svc) p.lead,.cta-band p:not(.field-error):not(.consent),.cta-band .muted,.on-dark .muted,.on-dark .lead{color:rgba(255,255,255,.86)!important}
/* policy table scrolls on phones */
.policy-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* fab never under cookie banner */
body.lm-cookie-open .fab{display:none}
/* cookie banner: one small line on phones */
@media(max-width:767px){
  .cookie-banner{max-height:44px;height:44px;padding:4px 10px;gap:8px;flex-wrap:nowrap}
  .cookie-banner__text{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .cookie-banner__text a{padding:8px 0}
  .cookie-banner__acts{flex-direction:row;align-items:center;gap:6px;flex:0 0 auto}
  .cookie-banner .btn-sm{height:32px;min-height:32px;padding:0 10px;font-size:13px}
  .cookie-banner__reject{height:32px;padding:0 8px;font-size:12px;border:1px solid #C9D2DC;border-radius:8px;text-decoration:none}
  body.lm-cookie-open{padding-bottom:calc(64px + 44px)}
}
/* pagination in brand colors (N-09) */
.pagination .page-link{color:var(--link,#2C6496)!important;border-color:#DCE2E8!important;background:#fff!important}
.pagination .page-item.active .page-link{background:var(--link,#2C6496)!important;border-color:var(--link,#2C6496)!important;color:#fff!important}
.pagination .page-item.disabled .page-link{color:#9AA6B2!important;pointer-events:none}
/* o-nas objects gallery: even tiles */
.obj_mod.rows{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.obj_mod.rows>a{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:12px;margin:0!important;width:auto!important}
.obj_mod.rows>a img{width:100%;height:100%;object-fit:cover}
@media(min-width:768px){.obj_mod.rows{grid-template-columns:repeat(3,1fr)}}
.fab{transition:opacity .2s}.fab.fab--hidden{opacity:0;pointer-events:none}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
/* cookie buttons: 44px touch target, same look */
.cookie-banner .btn-sm,.cookie-banner__reject{position:relative}
.cookie-banner .btn-sm::after,.cookie-banner__reject::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}
/* design-final: modal subtitle aligned with title; Unimark mark 20px on phones */
.modal .modal-content .modal-head,.modal .modal-content .modal-sub{text-align:left!important}
@media(max-width:767px){.ftr a[href*="unimark"] img,.dev-link img{width:20px!important;height:20px!important}}
/* buttons in footer and 404: centered label like all other buttons */
.ftr .btn,.e404-page .btn,.err404 .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center;gap:8px}
/* footer & 404 buttons: side padding like other buttons */
.ftr .btn,.e404-page .btn,.err404 .btn{padding-left:24px!important;padding-right:24px!important;white-space:nowrap;text-align:center;box-sizing:border-box;max-width:100%}
