:root{
  --soft-blue:#dceef6;
  --soft-blue-2:#cfe5ef;
}

/* global top contact strip */
.site-topbar.outer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1rem;
  margin-top:1.15rem;
  margin-bottom:.85rem;
  padding:.7rem 1.2rem;
  border-radius:1rem;
  background:#fff;
}
.site-topbar-links{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.site-topbar-phone{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.62rem .95rem;
  border:1px solid #e5e5e5;
  border-radius:.8rem;
  font-size:1.02rem;
  font-weight:700;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,color .2s ease;
}
.site-topbar-phone:hover{
  background:var(--soft-blue);
  border-color:var(--soft-blue-2);
  color:#172028;
  transform:translateY(-1px);
}
.site-topbar-phone svg{width:1rem;height:1rem;stroke:#6f5af0}

/* shared hover states */
.header nav a,
.header nav button,
.footer-main a,
.footer-main button{
  border-radius:.45rem;
  transition:background .2s ease,color .2s ease,text-decoration-color .2s ease;
}
.header nav a:hover,
.header nav button:hover,
.footer-main a:hover,
.footer-main button:hover{
  background:var(--soft-blue);
  text-decoration:underline;
  text-underline-offset:.16em;
}

/* use the orange footer logo everywhere and remove the standalone M feel */
.mv-transition-brand img,
.mv-preloader-mark,
.footer-main .mark{
  object-fit:contain;
}
.footer-main .mark{
  width:7rem !important;
  max-width:100%;
}

/* first card image on the homepage */
.catalog-grid .category-card:first-child img{
  transform:scale(.86);
  transform-origin:center;
}
.catalog-grid .category-card img{transition:transform .25s ease}
.catalog-grid .category-card:hover img{transform:scale(1.02)}
.catalog-grid .category-card:first-child:hover img{transform:scale(.9)}

/* catalog CTA block on homepage */
.catalog-actions{
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:1.7rem;
  margin-top:2rem;
}
.catalog-actions .button{width:100%;margin-top:0!important}
.catalog-button-secondary{
  background:#3b3b3b;
  color:#fff;
}
.catalog-button-secondary:hover{
  background:var(--soft-blue);
  color:#172028;
}
.catalog-button-secondary:hover .arrow{
  background:#172028;
  color:#fff;
}

/* achievements certificates button */
.achievements .equipment .button,
.soft-blue-button{
  background:var(--soft-blue);
  color:#172028 !important;
  border-color:transparent !important;
}
.achievements .equipment .button .arrow,
.soft-blue-button .arrow{
  background:#172028 !important;
  color:#fff !important;
}

/* projects section */
.project-caption strong{font-size:2.2rem;line-height:1.02}
.project-caption small{font-size:1rem}
.projects-more-button{
  cursor:pointer;
}

/* category titles in homepage catalog */
.category-card-title{display:flex;flex-direction:column;gap:.08em;line-height:1.02}
.category-card-title .line{display:block}
.category-card > span{align-items:flex-end}

/* real sidebar filters */
.catalog-content-layout,
.category-content-layout{
  display:grid;
  grid-template-columns:minmax(250px,285px) minmax(0,1fr);
  gap:1.5rem;
  align-items:start;
}
.catalog-sidebar{
  position:sticky;
  top:10rem;
  background:#fff;
  border-radius:1rem;
  padding:1.15rem 1rem 1rem;
  box-shadow:0 .45rem 1.4rem rgba(0,0,0,.05);
}
.catalog-sidebar .filter-form,
.catalog-filter-overlay .filter-form{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.catalog-sidebar .filter-section,
.catalog-filter-overlay .filter-section{
  border-top:1px solid #ececec;
  padding-top:1rem;
}
.catalog-sidebar .filter-section:first-child,
.catalog-filter-overlay .filter-section:first-child{border-top:0;padding-top:0}
.catalog-sidebar .filter-title,
.catalog-filter-overlay .filter-title,
.catalog-switch-dialog .switch-title{
  display:flex;
  align-items:center;
  gap:.6rem;
  font-size:1.1rem;
  font-weight:700;
  margin-bottom:.85rem;
}
.catalog-sidebar .filter-subtitle,
.catalog-filter-overlay .filter-subtitle,
.catalog-switch-dialog .switch-subtitle{
  display:block;
  margin-bottom:.7rem;
  color:var(--orange);
  font-size:1rem;
  font-weight:700;
}
.catalog-sidebar .check-list,
.catalog-filter-overlay .check-list{
  display:grid;
  gap:.5rem;
  max-height:14rem;
  overflow:auto;
  padding-right:.2rem;
}
.catalog-sidebar .check-row,
.catalog-filter-overlay .check-row{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  font-size:.92rem;
  line-height:1.28;
}
.catalog-sidebar .check-row input,
.catalog-filter-overlay .check-row input{accent-color:var(--orange);margin-top:.12rem}
.catalog-sidebar .range-box,
.catalog-filter-overlay .range-box{display:grid;gap:.65rem}
.catalog-sidebar .range-title,
.catalog-filter-overlay .range-title{font-size:.98rem;font-weight:700;color:#232323}
.catalog-sidebar .range-inputs,
.catalog-filter-overlay .range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.catalog-sidebar .range-inputs input,
.catalog-filter-overlay .range-inputs input{
  width:100%;
  min-height:2.5rem;
  border:1px solid #d7d7d7;
  border-radius:.65rem;
  background:#fafafa;
  padding:.45rem .55rem;
  text-align:center;
}
.catalog-sidebar .dual-range,
.catalog-filter-overlay .dual-range{position:relative;height:1.4rem}
.catalog-sidebar .dual-range .track,
.catalog-filter-overlay .dual-range .track{
  position:absolute;left:.2rem;right:.2rem;top:.56rem;height:.3rem;border-radius:999px;background:#f1d3a2;
}
.catalog-sidebar .dual-range .progress,
.catalog-filter-overlay .dual-range .progress{
  position:absolute;top:.56rem;height:.3rem;border-radius:999px;background:var(--orange)
}
.catalog-sidebar .dual-range input[type=range],
.catalog-filter-overlay .dual-range input[type=range]{
  position:absolute;inset:0;width:100%;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none
}
.catalog-sidebar .dual-range input[type=range]::-webkit-slider-thumb,
.catalog-filter-overlay .dual-range input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:.95rem;height:.95rem;border-radius:50%;background:#fff;border:3px solid var(--orange);pointer-events:auto;cursor:pointer
}
.catalog-sidebar .dual-range input[type=range]::-moz-range-thumb,
.catalog-filter-overlay .dual-range input[type=range]::-moz-range-thumb{
  width:.95rem;height:.95rem;border-radius:50%;background:#fff;border:3px solid var(--orange);pointer-events:auto;cursor:pointer
}
.catalog-sidebar .flag-grid,
.catalog-filter-overlay .flag-grid{display:grid;gap:.55rem}
.catalog-sidebar .filter-buttons,
.catalog-filter-overlay .filter-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.4rem}
.catalog-sidebar .filter-apply,
.catalog-filter-overlay .filter-apply,
.catalog-sidebar .filter-reset,
.catalog-filter-overlay .filter-reset{
  min-height:2.9rem;border-radius:.75rem;font-weight:700;font-size:.95rem
}
.catalog-sidebar .filter-apply,
.catalog-filter-overlay .filter-apply{background:var(--orange)}
.catalog-sidebar .filter-reset,
.catalog-filter-overlay .filter-reset{background:#f0f0f0}
.catalog-switch-list,
.category-link-list{display:grid;gap:.55rem}
.category-link,
.category-link-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  min-height:2.8rem;
  padding:.7rem .8rem;
  border-radius:.75rem;
  border:1px solid #e7e7e7;
  background:#fafafa;
  font-size:.93rem;
  text-align:left;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.category-link:hover,
.category-link-button:hover,
.category-link.is-active,
.category-link-button.is-active{
  background:var(--soft-blue);
  border-color:var(--soft-blue-2);
  transform:translateY(-1px);
}
.catalog-products-main{min-width:0}
.filter-meta{display:flex;gap:.55rem;flex-wrap:wrap;margin:0 0 1rem}
.meta-chip{background:#fff;border:1px solid #ddd;border-radius:999px;padding:.45rem .8rem;font-size:.85rem}
.meta-chip button{padding:0;margin-left:.35rem;color:#777}

.catalog-filter-overlay[hidden],
.catalog-switch-overlay[hidden]{display:none!important}
.catalog-filter-overlay,
.catalog-switch-overlay{
  position:fixed;
  inset:0;
  z-index:1300;
  display:grid;
  place-items:center;
  padding:.8rem;
  background:rgba(0,0,0,.42);
}
.catalog-filter-dialog,
.catalog-switch-dialog{
  width:min(420px,100%);
  max-height:calc(100dvh - 1.6rem);
  overflow:auto;
  background:#fff;
  border-radius:1rem;
  padding:1rem;
}
.catalog-overlay-head,
.catalog-switch-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.catalog-close,
.catalog-switch-close{font-size:1.9rem;line-height:1}
.category-switch-toggle{display:none}

@media (min-width:1001px){
  .products-heading .filter-toggle,
  .category-tools .filter-toggle,
  .category-switch-toggle{display:none!important}
}

@media (max-width:1000px){
  .site-topbar.outer{
    width:calc(100% - 28px);
    margin-top:10px;
    margin-bottom:8px;
    justify-content:stretch;
    padding:9px 10px;
    border-radius:12px;
  }
  .site-topbar-links{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .site-topbar-phone{justify-content:center;font-size:13px;padding:10px 12px}
  .catalog-actions{grid-template-columns:1fr;gap:12px}
  .catalog-content-layout,
  .category-content-layout{grid-template-columns:1fr}
  .catalog-sidebar{display:none}
  .project-caption strong{font-size:22px}
  .project-caption small{font-size:12px}
  .category-switch-toggle{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.8rem .95rem;
    border-radius:.7rem;
    background:#fff;
    box-shadow:0 .15rem .7rem #00000008;
    font-size:14px;
    font-weight:700;
  }
}


.catalog-category-card strong{display:flex;flex-direction:column;gap:.02em;line-height:1.02}
.catalog-category-card strong .line{display:block}
.footer-main{grid-template-columns:6rem 2fr 1.1fr 1.1fr 8rem}
.footer-main .mark{width:5.8rem!important}
@media (max-width:1000px){
  .footer-main .mark{width:5rem!important}
}

/* v2 requested refinements */
.site-topbar.outer{justify-content:center!important}
.site-topbar-links{justify-content:center!important}

/* new supplied logo everywhere */
.brand img,
.mv-transition-brand img,
.mv-preloader-mark,
.footer-main .mark{object-fit:contain!important}
.footer-main{grid-template-columns:7rem 2fr 1.1fr 1.1fr!important}
.footer-main .mark{width:7rem!important;height:auto!important}

/* homepage hero image smaller; undo the earlier category-card image tweak */
.hero-image{width:82%!important;height:29rem!important;max-width:82rem!important}
.catalog-grid .category-card:first-child img,
.catalog-grid .category-card:first-child:hover img{transform:none!important}

/* catalog heading */
.catalog-page-body .products-heading h2{text-align:center!important}

/* filters scroll together with page and keep controls even */
.catalog-sidebar{position:static!important;top:auto!important}
.catalog-sidebar .filter-buttons,
.catalog-filter-overlay .filter-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.7rem!important}
.catalog-sidebar .filter-apply,
.catalog-filter-overlay .filter-apply,
.catalog-sidebar .filter-reset,
.catalog-filter-overlay .filter-reset{
  width:100%!important;
  height:3.3rem!important;
  min-height:3.3rem!important;
  padding:.65rem .8rem!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:.75rem!important;
  font-size:.95rem!important;
  font-weight:700!important;
  box-sizing:border-box!important;
}

/* no slider/range UI in the requested filters */
.catalog-sidebar .range-box,
.catalog-filter-overlay .range-box,
.catalog-sidebar .dual-range,
.catalog-filter-overlay .dual-range{display:none!important}

@media(max-width:1000px){
  .site-topbar.outer{justify-content:center!important}
  .site-topbar-links{display:flex!important;justify-content:center!important;width:100%!important;gap:8px!important}
  .site-topbar-phone{flex:0 1 auto!important;justify-content:center!important}
  .hero-image{width:84%!important;height:auto!important;min-height:0!important;margin:18px auto 12px!important}
  .catalog-page-body .products-heading{grid-template-columns:1fr!important}
  .catalog-page-body .products-heading h2{order:-2!important;text-align:center!important;width:100%!important}
  .catalog-page-body .products-heading .filter-toggle{justify-self:start!important}
  .footer-main{grid-template-columns:1fr 1fr!important}
  .footer-main .mark{width:82px!important}
}

/* filter lists like supplied reference */
.catalog-sidebar .check-list,
.catalog-filter-overlay .check-list{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
.catalog-sidebar .check-list .is-extra,
.catalog-filter-overlay .check-list .is-extra{display:none!important}
.catalog-sidebar .check-list.is-expanded .is-extra,
.catalog-filter-overlay .check-list.is-expanded .is-extra{display:flex!important}
.filter-more{
  width:100%;
  min-height:2.45rem;
  margin-top:.8rem;
  border:1px solid #b9b9b9!important;
  border-radius:.45rem!important;
  background:#fff!important;
  color:#a5a5a5!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.9rem!important;
}
.filter-more:hover{background:var(--soft-blue)!important;color:#172028!important;border-color:var(--soft-blue-2)!important}
.catalog-sidebar .filter-section{padding-bottom:1rem!important}
.category-link-list{margin-top:.25rem}

/* only one logo in footer */
.footer-main .footer-logo{display:none!important}


/* v3 filter/layout corrections */
@media (min-width:1001px){
  .catalog-page-body .products-heading{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    position:relative!important;
  }
  .catalog-page-body .products-heading h2{
    display:block!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
  }
}
.catalog-sidebar .filter-section,
.catalog-filter-overlay .filter-section{
  width:100%!important;
  box-sizing:border-box!important;
}
.catalog-sidebar .filter-section:has(.filter-subtitle:empty),
.catalog-filter-overlay .filter-section:has(.filter-subtitle:empty){display:none!important}
.catalog-sidebar .filter-buttons,
.catalog-filter-overlay .filter-buttons{
  display:flex!important;
  width:100%!important;
  gap:.7rem!important;
  align-items:stretch!important;
}
.catalog-sidebar .filter-buttons > button,
.catalog-filter-overlay .filter-buttons > button{
  flex:1 1 0!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
  height:3.3rem!important;
  min-height:3.3rem!important;
  margin:0!important;
  padding:.65rem .5rem!important;
  box-sizing:border-box!important;
  border-radius:.75rem!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.catalog-sidebar .filter-reset,
.catalog-filter-overlay .filter-reset{background:#efefef!important;color:#2e2e2e!important}
.catalog-sidebar .filter-apply,
.catalog-filter-overlay .filter-apply{background:var(--orange)!important;color:#111!important}
.catalog-sidebar .filter-subtitle,
.catalog-filter-overlay .filter-subtitle{margin-bottom:.8rem!important}
.catalog-sidebar .filter-section + .filter-section,
.catalog-filter-overlay .filter-section + .filter-section{margin-top:.15rem!important}

/* homepage design-project: explicitly show the same playground image as catalog */
.request .design .design-image{
  display:block!important;
  position:absolute!important;
  width:39rem!important;
  max-width:58%!important;
  height:auto!important;
  right:.75rem!important;
  bottom:0!important;
  z-index:1!important;
  opacity:1!important;
  visibility:visible!important;
  mix-blend-mode:multiply!important;
  object-fit:contain!important;
}
.request .design .drawing{z-index:0!important}
.request .design h2,.request .design .free,.request .design p,.request .design .tiny-arrow{position:relative!important;z-index:2!important}
@media(max-width:1000px){
  .catalog-page-body .products-heading{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
  }
  .catalog-page-body .products-heading h2{width:100%!important;text-align:center!important}
  .catalog-page-body .products-heading .filter-toggle{justify-self:start!important}
  .request .design .design-image{width:255px!important;max-width:none!important;right:-20px!important;bottom:6px!important}
}

/* v4 — hard center "Все категории" independently of filter/sidebar columns */
@media (min-width:1001px){
  body.catalog-page-body .products-section > .products-heading{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-height:4.4rem!important;
    margin-bottom:1.5rem!important;
  }
  body.catalog-page-body .products-section > .products-heading #products-title{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:max-content!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  body.catalog-page-body .products-section > .products-heading .filter-toggle,
  body.catalog-page-body .products-section > .products-heading .heading-spacer{
    display:none!important;
  }
}
@media (max-width:1000px){
  body.catalog-page-body .products-section > .products-heading{
    display:block!important;
    width:100%!important;
    text-align:center!important;
  }
  body.catalog-page-body .products-section > .products-heading #products-title{
    position:static!important;
    transform:none!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
  }
}


/* v5 — mobile category action buttons */
@media (max-width:1000px){
  body.category-page-body .category-tools{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:stretch!important;
    width:100%!important;
    margin:12px 0 10px!important;
  }
  body.category-page-body .category-tools .category-switch-toggle,
  body.category-page-body .category-tools .filter-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 12px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    background:#fff!important;
    box-shadow:0 .15rem .7rem #00000008!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.category-page-body .category-tools .category-switch-toggle{grid-column:1!important}
  body.category-page-body .category-tools .filter-toggle{grid-column:2!important}
  body.category-page-body .category-tools .filter-toggle .icon-filter{
    width:21px!important;
    height:14px!important;
    flex:0 0 auto!important;
  }
  body.category-page-body .category-tools .category-pdf{
    grid-column:1 / -1!important;
    width:100%!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 15px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    background:#fff!important;
    box-shadow:0 .15rem .7rem #00000008!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.category-page-body .category-tools .category-pdf-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    font-size:22px!important;
    line-height:1!important;
  }
  /* only one filter title inside mobile popup */
  body.category-page-body .catalog-filter-overlay .filter-form > .filter-title,
  body.catalog-page-body .catalog-filter-overlay .filter-form > .filter-title{
    display:none!important;
  }
}
@media (max-width:380px){
  body.category-page-body .category-tools .category-switch-toggle,
  body.category-page-body .category-tools .filter-toggle,
  body.category-page-body .category-tools .category-pdf{font-size:13px!important}
}

/* v6 — single PDF icon + smaller mobile label */
@media (max-width:1000px){
  body.category-page-body .category-tools .category-pdf .category-pdf-label{
    font-size:12px!important;
    line-height:1.15!important;
  }
  body.category-page-body .category-tools .category-pdf .download-icon{
    flex:0 0 auto!important;
    margin-left:2px!important;
  }
}


/* 2026-10-05 revision */
html.mv-site-scale{zoom:.9}
.site-topbar{display:none!important}.menu-phone-stack{display:none}
.mv-order-modal{width:min(520px,calc(100vw - 28px));border:0;border-radius:1.15rem;padding:0;background:#fff;box-shadow:0 1.4rem 5rem #0003;color:#252525}.mv-order-modal::backdrop{background:#1118;backdrop-filter:blur(5px)}.mv-order-close{position:absolute;right:1rem;top:.8rem;z-index:2;width:2.3rem;height:2.3rem;border-radius:50%;background:#f2f2f2;font-size:1.55rem;line-height:1}.mv-order-content{padding:2rem}.mv-order-head>span{display:inline-block;color:var(--orange);font-size:.9rem;font-weight:700;margin-bottom:.5rem}.mv-order-head h2{font-size:2rem;line-height:1.02;letter-spacing:-.04em;padding-right:2.5rem}.mv-order-head p{margin:.55rem 0 1.2rem;color:#8a8a8a;font-size:.9rem}.mv-order-form{display:grid;gap:.85rem;margin-top:1.25rem}.mv-order-form label{display:grid;gap:.4rem;font-size:.82rem;font-weight:700}.mv-order-form label span{font-weight:400;color:#999;margin-left:.25rem}.mv-order-form input{width:100%;min-height:3.15rem;border:1px solid #e0e0e0;border-radius:.65rem;background:#f7f7f7;padding:.8rem .9rem;outline:none}.mv-order-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ff95001f}.mv-order-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.mv-order-product{display:grid;gap:.15rem;padding:.9rem 1rem;border-radius:.7rem;background:#fff5e7;border:1px solid #ffd9a4}.mv-order-product small{color:#a06d28}.mv-order-product strong{font-size:1rem}.mv-order-product span{font-size:.8rem;color:#888}.mv-order-submit{min-height:3.25rem;border-radius:.65rem;background:var(--orange);font-weight:700;display:flex;align-items:center;justify-content:center;gap:.7rem}.mv-order-submit:disabled{opacity:.6;cursor:wait}.mv-order-status{font-size:.85rem;color:#777;text-align:center}.mv-order-success{text-align:center;padding:1rem .2rem .2rem}.mv-order-success-mark{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;margin:0 auto 1rem;background:#ddf4df;color:#258b38;font-size:1.8rem;font-weight:700}.mv-order-success h2{font-size:1.8rem}.mv-order-success p{margin:.7rem 0 1.3rem;color:#777}.mv-order-success-close{min-height:3rem;padding:0 1.5rem;border-radius:.65rem;background:#efefef;font-weight:700}
@media(max-width:1000px){.header nav .menu-phone-stack{display:grid!important;grid-template-columns:1fr;gap:9px;width:100%;margin:0 0 18px;padding:0;border:0!important}.header nav .menu-phone-card{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;padding:13px 14px!important;border:1px solid #e7e7e7!important;border-radius:12px!important;background:#f7f7f7!important;font-size:16px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important}.header nav .menu-phone-card svg{width:18px;height:18px;flex:0 0 auto;color:#ff9500}.header nav .menu-phone-card:first-child{border-top:1px solid #e7e7e7!important}.mv-order-content{padding:24px 18px}.mv-order-head h2{font-size:24px}.mv-order-form input{min-height:48px;font-size:14px}.mv-order-submit{min-height:48px;font-size:14px}}

.catalog-sidebar .filter-buttons,.catalog-filter-overlay .filter-buttons{grid-template-columns:1fr!important}.catalog-sidebar .filter-apply,.catalog-filter-overlay .filter-apply{display:none!important}

/* 2026-10-05 mobile/layout revision v8 */
@media (max-width:1000px){
  /* +10% from the current mobile scale (90% -> 99%) */
  html.mv-site-scale{zoom:.99!important}

  /* home: slightly lower first screen, larger playground, much smaller gap before next block */
  body.home-page-body .hero{padding-top:50px!important;padding-bottom:8px!important}
  body.home-page-body .hero-image{width:92%!important;max-width:none!important;margin:20px auto 10px!important}
  body.home-page-body .audience{margin-top:12px!important}

  /* use the exact same request-card geometry as the product page */
  body.home-page-body .home-project-request{margin-top:18px!important}
  body.home-page-body .home-project-request .catalog-design-card{padding:24px 18px 112px!important;border-radius:14px!important;min-height:auto!important}
  body.home-page-body .home-project-request .catalog-design-copy{max-width:190px!important}
  body.home-page-body .home-project-request .catalog-design-copy h2{font-size:34px!important;line-height:.95!important;letter-spacing:-1px!important;max-width:190px!important}
  body.home-page-body .home-project-request .catalog-free{font-size:25px!important;margin:10px 0 16px!important;padding:4px 18px 5px 9px!important}
  body.home-page-body .home-project-request .catalog-design-copy p{font-size:13px!important;line-height:1.2!important;max-width:155px!important}
  body.home-page-body .home-project-request .catalog-drawing{width:88px!important;right:12px!important;top:12px!important}
  body.home-page-body .home-project-request .catalog-design-image{width:270px!important;max-width:none!important;right:-4px!important;bottom:6px!important}
  body.home-page-body .home-project-request .tiny-arrow{left:18px!important;bottom:20px!important;font-size:24px!important}
  body.home-page-body .home-project-request .catalog-request-form{padding:22px 18px!important;gap:11px!important;border-radius:14px!important;min-height:auto!important}

  /* mobile catalog title left + filter on the same line at the right */
  body.catalog-page-body:not(.category-page-body) .products-section > .products-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    text-align:left!important;
  }
  body.catalog-page-body:not(.category-page-body) .products-section > .products-heading #products-title{
    position:static!important;
    grid-column:1!important;
    grid-row:1!important;
    transform:none!important;
    width:auto!important;
    margin:0!important;
    text-align:left!important;
    white-space:normal!important;
    font-size:34px!important;
    line-height:.95!important;
  }
  body.catalog-page-body:not(.category-page-body) .products-section > .products-heading .filter-toggle{
    display:inline-flex!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    font-size:14px!important;
    padding:10px 12px!important;
  }
  body.catalog-page-body:not(.category-page-body) .products-section > .products-heading .heading-spacer{display:none!important}

  /* when burger is open, keep logo and X locked to one horizontal line */
  body.menu-open .header{background:transparent!important;box-shadow:none!important}
  body.menu-open .header .brand{
    position:fixed!important;
    left:28px!important;
    top:22px!important;
    width:112px!important;
    transform:none!important;
    z-index:520!important;
  }
  body.menu-open .header .brand img{height:64px!important;width:112px!important}
  body.menu-open .header .header-actions{position:static!important}
  body.menu-open .header .menu-toggle{
    position:fixed!important;
    right:28px!important;
    top:34px!important;
    width:42px!important;
    height:42px!important;
    z-index:521!important;
  }
  body.menu-open .header nav{padding-top:112px!important}

  /* projects listing content 30px lower */
  body.projects-page-body .projects-page-main > .inner{transform:translateY(30px)!important;margin-bottom:30px!important}
}
@media (min-width:1001px){
  /* projects listing content 50px lower */
  body.projects-page-body .projects-page-main > .inner{transform:translateY(50px)!important;margin-bottom:50px!important}
}

/* 2026-10-05 revision v9 — phone pills + project/category mobile spacing */
.projects-more-row{
  display:flex;
  justify-content:center;
  margin-top:2rem;
}
.projects-more-row .projects-more-button{
  min-width:13rem;
}

/* Desktop: both phone numbers live inside the left side of the main header,
   each in its own compact pill above the navigation items. */
@media (min-width:1001px){
  .site-topbar{display:none!important}
  .header nav{
    position:relative!important;
    padding-top:2.35rem!important;
  }
  .header nav .menu-phone-stack{
    display:flex!important;
    position:absolute!important;
    left:0!important;
    top:-1rem!important;
    width:max-content!important;
    gap:.55rem!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .header nav .menu-phone-card{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.42rem!important;
    width:auto!important;
    min-height:2rem!important;
    padding:.42rem .68rem!important;
    border:1px solid #dedede!important;
    border-radius:.58rem!important;
    background:#fff!important;
    color:#202020!important;
    font-size:.78rem!important;
    font-weight:700!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-decoration:none!important;
  }
  .header nav .menu-phone-card svg{
    width:.9rem!important;
    height:.9rem!important;
    flex:0 0 auto!important;
    color:#111!important;
  }
  .header nav .menu-phone-card:hover{
    background:#f7f7f7!important;
    text-decoration:none!important;
  }
}

/* Mobile: restore the separate phone strip above the header, exactly two pills. */
@media (max-width:1000px){
  .site-topbar.outer{
    display:flex!important;
    width:calc(100% - 28px)!important;
    margin:14px auto 10px!important;
    padding:9px!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 8px 26px rgba(0,0,0,.04)!important;
  }
  .site-topbar-links{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .site-topbar .menu-phone-card{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-width:0!important;
    min-height:40px!important;
    padding:8px 7px!important;
    border:1px solid #dedede!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#222!important;
    font-size:12px!important;
    font-weight:700!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .site-topbar .menu-phone-card svg{
    width:15px!important;
    height:15px!important;
    flex:0 0 auto!important;
    color:#111!important;
  }
  /* no duplicate phones inside the opened burger menu */
  .header nav .menu-phone-stack{display:none!important}

  /* homepage: show-more button is beneath the project cards */
  .projects-more-row{margin-top:16px!important}
  .projects-more-row .projects-more-button{
    min-width:160px!important;
    min-height:42px!important;
    padding:10px 16px!important;
    font-size:12px!important;
  }

  /* Catalog: the whole “Все категории” products block starts 30px lower. */
  body.catalog-page-body:not(.category-page-body) .products-section{
    margin-top:30px!important;
  }
  body.catalog-page-body:not(.category-page-body) .products-section > .products-heading #products-title{
    font-size:28px!important;
    line-height:1!important;
    letter-spacing:-.7px!important;
    text-align:left!important;
    justify-self:start!important;
  }

  /* Projects/project detail: leave breadcrumb/back where it is and move the
     title + everything after it 40px lower from the marked line. */
  body.projects-page-body .projects-page-main > .inner,
  body.project-detail-page-body .project-detail-main{
    transform:none!important;
    margin-bottom:0!important;
  }
  body.projects-page-body .projects-page-head,
  body.project-detail-page-body .project-detail-heading{
    min-height:98px!important;
    padding-top:44px!important;
    padding-bottom:4px!important;
    margin-bottom:10px!important;
  }
}



/* 2026-10-05 revision v10 — larger desktop phones + 60px mobile hero gap */
@media (min-width:1001px){
  .header nav{padding-top:2.8rem!important}
  .header nav .menu-phone-stack{top:-1.05rem!important;gap:.7rem!important}
  .header nav .menu-phone-card{
    min-height:2.55rem!important;
    padding:.58rem .92rem!important;
    border-radius:.68rem!important;
    font-size:.94rem!important;
    gap:.5rem!important;
  }
  .header nav .menu-phone-card svg{width:1.05rem!important;height:1.05rem!important}
}
@media (max-width:1000px){
  body.home-page-body .hero{
    min-height:auto!important;
    padding-bottom:0!important;
  }
  body.home-page-body .audience{
    margin-top:60px!important;
  }
}

/* 2026-10-05 revision v11 — larger desktop phone pills + projects desktop gap */
@media (min-width:1001px){
  .header nav{padding-top:3.15rem!important}
  .header nav .menu-phone-stack{top:-1.18rem!important;gap:.82rem!important}
  .header nav .menu-phone-card{
    min-height:2.95rem!important;
    padding:.68rem 1.08rem!important;
    border-radius:.78rem!important;
    font-size:1.1rem!important;
    gap:.58rem!important;
  }
  .header nav .menu-phone-card svg{width:1.2rem!important;height:1.2rem!important}

  /* Give the design-project block the same breathing room above it as it has before Contacts. */
  body.projects-page-body .projects-page-request{
    margin-top:4.25rem!important;
  }
}

/* 2026-10-05 revision v12 — equal desktop spacing around design-project block */
@media (min-width:1001px){
  /* Visual gap above the design-project block matches the gap below it before Contacts. */
  body.projects-page-body .projects-page-request{
    margin-top:6.25rem!important;
  }
}


/* 2026-10-05 revision v13 — identical desktop phone pills on every page */
@media (min-width:1001px){
  .header.outer nav,
  .header.outer.catalog-header nav{
    position:relative!important;
    padding-top:3.15rem!important;
  }
  .header.outer nav .menu-phone-stack,
  .header.outer.catalog-header nav .menu-phone-stack{
    display:flex!important;
    position:absolute!important;
    left:0!important;
    top:-1.18rem!important;
    width:max-content!important;
    gap:.82rem!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .header.outer nav .menu-phone-stack .menu-phone-card,
  .header.outer.catalog-header nav .menu-phone-stack .menu-phone-card{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:.58rem!important;
    width:auto!important;
    min-height:2.95rem!important;
    padding:.68rem 1.08rem!important;
    margin:0!important;
    border:1px solid #dedede!important;
    border-radius:.78rem!important;
    background:#fff!important;
    box-shadow:none!important;
    color:#202020!important;
    font-family:inherit!important;
    font-size:1.1rem!important;
    font-weight:700!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    transform:none!important;
  }
  .header.outer nav .menu-phone-stack .menu-phone-card svg,
  .header.outer.catalog-header nav .menu-phone-stack .menu-phone-card svg{
    width:1.2rem!important;
    height:1.2rem!important;
    flex:0 0 auto!important;
    color:#111!important;
    stroke:currentColor!important;
  }
  .header.outer nav .menu-phone-stack .menu-phone-card:hover,
  .header.outer.catalog-header nav .menu-phone-stack .menu-phone-card:hover{
    background:#f7f7f7!important;
    border-color:#dedede!important;
    color:#202020!important;
    text-decoration:none!important;
    transform:none!important;
  }
}


/* 2026-10-05 revision v14 — canonical homepage header on every public page */
@media (min-width:1001px){
  body:not(.home-page-body) .header.outer{
    margin-bottom:0!important;
  }
  body:not(.home-page-body) .header.outer nav,
  body.home-page-body .header.outer nav{
    position:relative!important;
  }
}


/* v11 certificate viewer */
dialog.certificate-modal{width:min(1080px,94vw)!important;max-width:none!important;max-height:94vh!important;padding:18px!important;background:#f3f3f3!important;border-radius:18px!important}
dialog.certificate-modal #modal-content{display:grid;place-items:center}
.certificate-popup{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.certificate-popup img{width:auto!important;max-width:100%!important;max-height:78vh!important;object-fit:contain!important;background:#fff;border-radius:10px}
.certificate-popup .button{min-height:44px;padding:10px 18px;font-size:16px}
.legal-document.cookie-policy h3{font-size:1.18rem;line-height:1.25;margin:1.2rem 0 .55rem}
.legal-document.cookie-policy ul{margin:.35rem 0 1rem;padding-left:1.35rem}
.legal-document.cookie-policy li{margin:.28rem 0;line-height:1.45}
.legal-document.cookie-policy a{text-decoration:underline}
.footer-main .legal [data-action="cookies"]{text-align:left}
@media(max-width:700px){dialog.certificate-modal{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;padding:12px!important}.certificate-popup img{max-height:80dvh!important}.legal-document.cookie-policy h3{font-size:15px!important}.legal-document.cookie-policy ul{font-size:13px!important;padding-left:18px}}


/* 2026-10-06 revision v17 — homepage project width, footer legal notice, product spacing */
@media (min-width:1001px){
  body.home-page-body .home-project-request{
    width:calc(100% - 2.5rem)!important;
    max-width:118rem!important;
  }
}

/* Long legal notice in the footer. */
.footer-bottom{align-items:flex-start!important}
.footer-legal-note{
  flex:1 1 auto;
  max-width:88rem;
  font-size:.9rem;
  line-height:1.45;
  color:#9a9a9a;
}
.footer-legal-note p{margin:0 0 .65rem!important;line-height:1.45!important}
.footer-legal-note p:last-child{margin-bottom:0!important}

/* Product page: everything after the title starts 28px lower. */
body.product-page-body .product-info > .product-cta-row{margin-top:28px!important}

@media (max-width:1000px){
  .footer-legal-note{max-width:none;font-size:10px;line-height:1.4}
  .footer-legal-note p{line-height:1.4!important;margin-bottom:8px!important}
  body.product-page-body .product-info > .product-cta-row{margin-top:28px!important}
}


/* 2026-10-06 revision v18 — restore projects, exact mobile design block, card spacing */
@media(max-width:1000px){
  body.catalog-page-body .product-card h3,
  body.category-page-body .product-card h3{margin-bottom:18px!important;}
  body.catalog-page-body .product-card .product-code,
  body.category-page-body .product-card .product-code{display:none!important;}
}


/* 2026-10-06 v19 — mobile design-project playground image shifted right everywhere */
@media (max-width:1000px){
  .catalog-design-image,
  .design .design-image,
  .request .design .design-image{
    right:-30px!important;
  }
}


/* 2026-10-06 v20 — MOBILE ONLY: push the playground photo to the right edge */
@media (max-width:1000px){
  .catalog-design-card{
    overflow:hidden!important;
  }

  .catalog-design-image,
  .design .design-image,
  .request .design .design-image{
    right:-78px!important;
    transform:none!important;
  }
}


/* v21 — MOBILE ONLY: playground image hard-shifted right */
@media (max-width:1000px){
  .catalog-design-image,
  .design .design-image,
  .request .design .design-image{
    right:-56px!important;
  }
}


/* v22 — MOBILE ONLY: keep design-project playground image inside the card */
@media (max-width:1000px){
  .catalog-design-image,
  .design .design-image,
  .request .design .design-image{
    right:-56px!important;
  }
}


/* v28 — unified success window for forms and checkout */
.mv-submit-success{
  width:min(92vw,520px);
  max-width:520px;
  border:0;
  padding:0;
  border-radius:28px;
  background:transparent;
  overflow:visible;
}
.mv-submit-success::backdrop{
  background:rgba(17,17,17,.48);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.mv-submit-success-card{
  position:relative;
  padding:38px 34px 32px;
  border-radius:28px;
  background:#fff;
  color:#202020;
  text-align:center;
  box-shadow:0 26px 80px rgba(0,0,0,.22);
}
.mv-submit-success-x{
  position:absolute;
  top:14px;
  right:16px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#f2f2f2;
  color:#222;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.mv-submit-success-mark{
  width:72px;
  height:72px;
  margin:0 auto 20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ff9300;
  color:#fff;
  font-size:38px;
  font-weight:800;
}
.mv-submit-success-card h2{
  margin:0 0 12px;
  font-size:30px;
  line-height:1.05;
}
.mv-submit-success-card p{
  margin:0 auto 24px;
  max-width:390px;
  color:#666;
  font-size:17px;
  line-height:1.45;
}
.mv-submit-success-button{
  width:100%;
  min-height:54px;
  border:0;
  border-radius:14px;
  background:#ff9300;
  color:#171717;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:700px){
  .mv-submit-success-card{
    padding:34px 22px 24px;
    border-radius:24px;
  }
  .mv-submit-success-card h2{
    font-size:25px;
  }
  .mv-submit-success-card p{
    font-size:16px;
  }
}


/* v33 — balanced favorite icon */
.icon-heart{
  width:1.35rem!important;
  height:1.35rem!important;
  stroke-width:1.8!important;
  vector-effect:non-scaling-stroke;
}
.product-favorite .icon-heart{
  width:1.15rem!important;
  height:1.15rem!important;
}
@media(max-width:1000px){
  .favorite .icon-heart{width:21px!important;height:21px!important}
  .product-favorite .icon-heart{width:18px!important;height:18px!important}
}


/* v34 — restore playground image in every design-project block */
.catalog-design-card,
.design{
  position:relative!important;
  overflow:hidden!important;
}
.catalog-design-image,
.design-image,
.design .design-image,
.request .design .design-image{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:1!important;
  mix-blend-mode:multiply!important;
}
.catalog-design-copy,
.design h2,
.design p,
.catalog-free,
.free,
.tiny-arrow,
.catalog-mini-arrow{
  position:relative!important;
  z-index:3!important;
}
.catalog-drawing,
.drawing{
  z-index:2!important;
}


/* v34 — no map on catalog/category/product pages */
body.no-contact-map .contacts .map,
body.no-contact-map .contacts .map-widget,
body.no-contact-map .contacts .osm-map-widget{
  display:none!important;
}
body.no-contact-map .contacts{
  padding-bottom:2.6rem!important;
}
@media(max-width:1000px){
  body.no-contact-map .contacts{
    padding-bottom:20px!important;
  }
}


/* v35 — perfectly symmetrical favorite heart */
.icon-heart{
  width:1.28rem!important;
  height:1.28rem!important;
  overflow:visible!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.product-favorite .icon-heart,
.product-fav-main .icon-heart,
.cover-product-fav .icon-heart{
  width:1.18rem!important;
  height:1.18rem!important;
}
.product-favorite,
.product-fav-main,
.cover-product-fav{
  place-items:center!important;
}
@media(max-width:1000px){
  .product-favorite .icon-heart,
  .product-fav-main .icon-heart,
  .cover-product-fav .icon-heart{
    width:19px!important;
    height:19px!important;
  }
}
