/* One header contract, loaded after page-specific styles. */
@font-face{font-family:ProfiGroupHeader;src:url('../assets/fonts/header-inter-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:ProfiGroupHeader;src:url('../assets/fonts/header-inter-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:block}
:root{--unified-header-height:145px;--header-row-height:94px;--header-width:min(1400px,calc(100% - 48px));--header-logo-width:158px;--header-logo-height:60px;--header-cta-width:217px;--header-cta-height:54px;--header-nav-size:16px;--header-nav-leading:20px;--header-nav-gap:37px;--header-grid-gap:20px;--header-row-shift:-2px;--header-cta-size:14px}
.site-header,.site-header *{box-sizing:border-box;font-family:ProfiGroupHeader,Inter,Arial,sans-serif!important;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;letter-spacing:0}
.site-header{height:var(--unified-header-height)!important;min-height:0!important;padding:0!important;transform:none!important}
.site-header .topbar{height:46px!important;min-height:0!important;padding:0!important}
.site-header .topbar>.container,.site-header .topbar__inner{width:var(--header-width)!important;max-width:none!important;height:46px!important;padding:0!important;margin:0 auto!important}
.site-header .topbar__phone{font-size:16px!important;line-height:20px!important;font-weight:600!important}
.site-header .mainnav,.site-header .mainbar{height:var(--header-row-height)!important;min-height:0!important;padding:0!important}
.site-header .mainnav>.container,.site-header .mainbar>.container,.site-header .mainbar__inner{display:grid!important;width:var(--header-width)!important;max-width:none!important;height:100%!important;min-height:0!important;grid-template-columns:var(--header-logo-width) minmax(0,1fr) var(--header-cta-width)!important;align-items:center!important;gap:var(--header-grid-gap)!important;padding:0!important;margin:0 auto!important;transform:translateY(var(--header-row-shift))!important}
.site-header .logo,.site-header .logo img{width:var(--header-logo-width)!important;height:var(--header-logo-height)!important;min-width:0!important;flex-basis:var(--header-logo-width)!important;margin:0!important;object-fit:contain}
.site-header :is(.navlinks,.nav,.main-nav){position:relative!important;inset:auto!important;display:flex!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:var(--header-nav-gap)!important;padding:0!important;margin:0!important;transform:none!important;visibility:visible!important;overflow:visible!important;background:transparent!important;font-size:var(--header-nav-size)!important;line-height:var(--header-nav-leading)!important;font-weight:400!important;white-space:nowrap!important;transition:none!important}
.site-header :is(.navlinks,.nav,.main-nav)>:is(a,span),.site-header :is(.nav-dropdown__trigger,.nav-dropdown__catalog-link){font-size:var(--header-nav-size)!important;line-height:var(--header-nav-leading)!important;font-weight:400!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;letter-spacing:0!important;text-transform:none!important}
.site-header .nav-dropdown{width:auto!important;min-width:0!important;font-size:var(--header-nav-size)!important;line-height:var(--header-nav-leading)!important;font-weight:400!important}
.site-header .header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:0!important;margin:0!important;padding:0!important}
.site-header .header-cta{display:inline-flex!important;width:var(--header-cta-width)!important;min-width:var(--header-cta-width)!important;max-width:var(--header-cta-width)!important;height:var(--header-cta-height)!important;min-height:var(--header-cta-height)!important;max-height:var(--header-cta-height)!important;padding:0!important;margin:0!important;font-size:var(--header-cta-size)!important;line-height:20px!important;font-weight:600!important;letter-spacing:0!important;color:#fff!important}
.site-header .burger,.site-header .mobile-phone,.site-header .locks-mobile-phone,.site-header .mobile-navigation,.unified-mobile-bar,.unified-mobile-menu{display:none!important}
@media(min-width:1100px) and (max-width:1536px){:root{--header-width:1040px;--header-logo-width:120px;--header-logo-height:46px;--header-cta-width:165px;--header-cta-height:48px;--header-nav-size:14px;--header-nav-leading:22px;--header-nav-gap:26px;--header-grid-gap:12px;--header-cta-size:12px}}
@media(min-width:1201px) and (max-width:1536px){:root{--unified-header-height:137px;--header-row-height:90px;--header-width:1200px;--header-row-shift:0px}}
@media(max-width:1099px){
  :root{--unified-header-height:72px}
  .site-header{border-top:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;background:#152544!important}
  .site-header>.topbar,.site-header>.mainbar,.site-header>.mainnav{display:none!important}
  .site-header .unified-mobile-bar{position:relative;z-index:2;display:grid!important;grid-template-columns:112px minmax(0,1fr) 44px;align-items:center;gap:8px;width:calc(100% - 32px);height:71px;margin:0 auto}
  .unified-mobile-logo,.unified-mobile-logo img{display:block;width:112px;height:43px;max-width:none}
  .unified-mobile-phone{display:inline-flex;align-items:center;justify-self:end;min-height:44px;color:#fff;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap;text-decoration:none}
  .unified-mobile-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:0;background:transparent;color:#fff;cursor:pointer}
  .unified-mobile-toggle span{display:block;width:20px;height:1.5px;background:currentColor}
  .unified-mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .unified-mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .unified-mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .site-header .unified-mobile-menu:not([hidden]){position:fixed;z-index:110;inset:72px 0 0;display:block!important;padding:20px 16px 32px;overflow-y:auto;background:#152544;color:#fff}
  .unified-mobile-menu a{display:flex;align-items:center;min-height:54px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#fff;font-size:17px;line-height:24px;font-weight:400;text-decoration:none}
  .unified-mobile-bar a:focus-visible,.unified-mobile-toggle:focus-visible,.unified-mobile-menu a:focus-visible{outline:2px solid #59d28e;outline-offset:3px}
  .unified-mobile-toggle:hover,.unified-mobile-menu a:hover{background:#1e335b;color:#fff;opacity:1}
  body.unified-menu-open{overflow:hidden}
}

/* Mobile navigation follows the desktop groups; child links stay collapsed. */
@media(max-width:1099px){
  .unified-mobile-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:54px;padding:12px 0;border:0;border-bottom:1px solid rgba(255,255,255,.16);border-radius:0;background:transparent;color:inherit;font-size:17px;line-height:24px;font-weight:400;text-align:left;cursor:pointer}
  .unified-mobile-section-arrow{flex:0 0 auto;width:8px;height:8px;margin-right:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
  .unified-mobile-section-toggle[aria-expanded="true"] .unified-mobile-section-arrow{transform:rotate(225deg)}
  .unified-mobile-submenu[hidden]{display:none!important}
  .unified-mobile-submenu{padding:4px 0 12px;border-bottom:1px solid rgba(255,255,255,.16)}
  .unified-mobile-submenu a{min-height:44px;padding:10px 16px;border-bottom:0;font-size:15px;line-height:24px}
  .unified-mobile-section-toggle:hover{background:#1e335b;color:#fff;opacity:1}
  .unified-mobile-menu > a:hover,
  .unified-mobile-section-toggle:hover,
  .unified-mobile-submenu > a:hover{box-shadow:16px 0 0 #1e335b,-16px 0 0 #1e335b}
  .unified-mobile-section-toggle:focus-visible{outline:2px solid #59d28e;outline-offset:3px}
  .unified-mobile-messengers{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
  .unified-mobile-menu .unified-mobile-messengers a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid rgba(255,255,255,.28);font-size:15px;line-height:24px}
  .unified-mobile-messengers img{display:block;flex:0 0 22px;width:22px;height:22px;object-fit:contain}
}

/* Mobile layout repairs for content blocks that were originally positioned for desktop canvases. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body :where(main,section,article,div,p,h1,h2,h3,h4,li,a,span,strong,small,button){min-width:0}
  body :where(p,h1,h2,h3,h4,li,a,span,strong,small,button){overflow-wrap:break-word}
  body :where(a[href^="mailto:"],.footer-contact,.route-contact,.channel-card__contact,.contact-card strong,.contact-card__copy strong,.dark-cta__phone){overflow-wrap:anywhere;word-break:break-word}

  .reviews{height:auto!important;min-height:0!important;padding:56px 0!important}
  .reviews__box{width:calc(100% - 32px)!important;height:auto!important;margin:0 auto!important;padding:0!important;transform:none!important}
  .reviews .label{position:static!important;width:100%!important;height:auto!important;text-align:left!important}
  .reviews h2{position:static!important;width:100%!important;height:auto!important;margin:18px 0 18px!important;transform:none!important;text-align:left!important;font-size:26px!important;line-height:32px!important;letter-spacing:-.01em!important}
  .reviews__accent{position:static!important;display:block!important;width:10px!important;height:4px!important;margin:0 0 30px!important;transform:none!important}
  .reviews__testimonial{position:relative!important;top:auto!important;left:auto!important;display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:16px!important;width:100%!important;height:auto!important;margin:0!important;transform:none!important}
  .reviews__testimonial::before{top:0!important;left:0!important;width:72px!important;height:72px!important;background-size:72px 72px!important}
  .reviews__avatar{position:relative!important;top:auto!important;left:auto!important;width:58px!important;height:58px!important;margin:7px 0 0 7px!important}
  .reviews__copy{position:relative!important;top:auto!important;left:auto!important;width:100%!important;height:auto!important;padding:0!important}
  .reviews__quote-mark{display:none!important}
  .reviews__rating{position:static!important;height:auto!important;margin:0 0 10px!important}
  .reviews .quote{position:static!important;width:100%!important;margin:0!important;font-size:16px!important;line-height:24px!important}
  .reviews .quote br{display:none!important}
  .reviews__copy::before{position:static!important;display:block!important;width:100%!important;height:1px!important;margin:18px 0!important;background:rgba(255,255,255,.26)!important}
  .reviews .author{position:static!important;display:flex!important;align-items:flex-start!important;flex-direction:column!important;gap:4px!important;margin:0!important}
  .reviews .author strong{width:auto!important;font-size:15px!important;line-height:20px!important}
  .reviews .author span{font-size:13px!important;line-height:18px!important}
  .reviews .slider-controls{position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:auto!important;margin:28px 0 0!important}
  .reviews .slider-controls>span{position:static!important;transform:none!important;white-space:nowrap!important}
  .reviews__buttons{position:static!important;display:flex!important;gap:12px!important}
  .reviews__buttons button{width:44px!important;height:44px!important}

  .faq-section__intro>p:last-child br,.faq-answer p br,.cta-panel p br,.contacts-panel>p:not(.label) br{display:none!important}
  .faq-answer{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;padding:22px!important;overflow:visible!important}
  .faq-answer p{width:100%!important;margin-bottom:18px!important;font-size:15px!important;line-height:24px!important}
  .faq-answer__next{width:100%!important;justify-content:flex-start!important;margin-top:6px!important}
  .faq-item{width:100%!important}
  .faq-item>span:last-child{min-width:0!important}

  .contacts-grid{grid-template-columns:1fr!important}
  .contacts-panel{height:auto!important;min-height:0!important;padding:28px 20px!important}
  .contacts-panel h2{font-size:26px!important;line-height:32px!important;letter-spacing:-.01em!important}
  .contacts-panel>p:not(.label){width:100%!important;font-size:15px!important;line-height:24px!important}
  .contact-card{align-items:flex-start!important;width:100%!important;padding:14px!important}
  .contact-card__copy{min-width:0!important;margin-left:12px!important}
  .contact-card strong{white-space:normal!important;font-size:14px!important;line-height:20px!important}
  .contact-card__action{flex:0 0 auto!important;width:auto!important;min-width:64px!important;margin-left:10px!important;padding:0 10px!important}
  .map-card{min-height:320px!important}
  .map-card iframe,.map-card img{height:320px!important}

  .channel-card,.route-card,.details-card,.dark-cta,.coord-card,.request-note{max-width:100%!important;overflow:visible!important}
  .channel-card p:last-child,.route-card p,.details-card p:last-child,.dark-cta p,.request-note p:last-child{max-width:100%!important}
  .catalog-section .catalog-card h3,.soft-product-card h3,.headboard-card h3,.textile-product-card h3{white-space:normal!important;overflow-wrap:break-word!important}
  .soft-product-card,.headboard-card,.textile-product-card,.locks-model-card,.locks-installed-card,.doors-type-card,.doors-cut-card{max-width:100%!important;overflow:hidden!important}
}

@media(max-width:420px){
  .contact-card{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important}
  .contact-card__copy{margin-left:0!important}
  .contact-card__action{grid-column:2!important;width:max-content!important;margin:2px 0 0!important}
  .soft-product-grid,.headboard-grid,.textile-assortment__grid,.locks-model-grid,.locks-installed-grid,.doors-cut-grid{grid-template-columns:1fr!important}
  .soft-product-photo{height:auto!important;min-height:170px!important}
}

/* Compact breadcrumbs stay readable across every page and viewport. */
[aria-label="Хлебные крошки"]{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
  height:auto!important;
  max-width:100%!important;
  font-size:14px!important;
  line-height:20px!important;
}
[aria-label="Хлебные крошки"] a,
[aria-label="Хлебные крошки"] span{
  min-width:0!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  [aria-label="Хлебные крошки"]{
    gap:5px!important;
    font-size:12px!important;
    line-height:16px!important;
  }
}

/* The newsletter layout is shared by all page templates on mobile. */
@media(max-width:760px){
  .newsletter,.footer-newsletter{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:24px!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    flex-direction:column!important;
    gap:24px!important;
    box-sizing:border-box!important;
  }
  .newsletter>div:first-child,.footer-newsletter__copy{
    width:100%!important;
    min-width:0!important;
  }
  .newsletter__form,.newsletter-form,.footer-newsletter__form{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    display:flex!important;
    align-self:stretch!important;
    align-items:stretch!important;
    flex-direction:column!important;
    gap:8px!important;
    box-sizing:border-box!important;
  }
  .newsletter__input,.newsletter__button,.newsletter-field,.newsletter-submit,.footer-newsletter__field,.footer-newsletter__button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    box-sizing:border-box!important;
  }
  .newsletter__input input,.newsletter-field input,.footer-newsletter__field input{
    width:100%!important;
    min-width:0!important;
  }
}

/* Main page and section headings follow the approved homepage mobile scale. */
@media(max-width:760px){
  body main :is(h1,h2){
    font-size:26px!important;
    line-height:32px!important;
    letter-spacing:-.02em!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    text-wrap:balance;
  }
  .access-materials__top{
    grid-template-columns:minmax(0,1fr);
    width:100%;
    min-width:0;
  }
  .access-materials__top>div,
  .access-materials__copy{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .access-materials h2 br{display:none}
}

/* One mobile contract, including the footer replaced by unified-footer.js. */
@media(max-width:760px){
  .site-footer>.container,
  .site-footer>.footer-container,
  .unified-footer>.unified-footer__container{
    width:min(100% - 32px,1400px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  .newsletter,
  .footer-newsletter,
  .unified-footer__newsletter{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:28px!important;
    border:1px solid var(--line-dark,var(--color-border-dark,#3a4a6a))!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    flex-direction:column!important;
    gap:24px!important;
    box-sizing:border-box!important;
    font-family:Inter,Arial,sans-serif!important;
  }
  .newsletter>div:first-child,
  .footer-newsletter__copy,
  .unified-footer__newsletter>div:first-child{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
  }
  .newsletter h2,
  .footer-newsletter h2,
  .unified-footer__newsletter h2{
    width:100%!important;
    margin:0!important;
    font-size:18px!important;
    line-height:22px!important;
    font-weight:600!important;
    font-family:inherit!important;
    letter-spacing:0!important;
    white-space:normal!important;
  }
  .newsletter p,
  .footer-newsletter p,
  .unified-footer__newsletter p{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-size:14px!important;
    line-height:normal!important;
    font-family:inherit!important;
    font-weight:400!important;
    letter-spacing:0!important;
    white-space:normal!important;
  }
  .newsletter__form,
  .newsletter-form,
  .footer-newsletter__form,
  .unified-footer__form{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    display:flex!important;
    align-self:stretch!important;
    align-items:stretch!important;
    flex-direction:column!important;
    gap:8px!important;
    box-sizing:border-box!important;
  }
  .newsletter__input,
  .newsletter-field,
  .footer-newsletter__field,
  .unified-footer__field{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 16px!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    align-items:center!important;
    gap:10px!important;
    box-sizing:border-box!important;
  }
  .newsletter__input input,
  .newsletter-field input,
  .footer-newsletter__field input,
  .unified-footer__field input{
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    padding:0!important;
    font-family:inherit!important;
    font-weight:400!important;
    letter-spacing:0!important;
    font-size:14px!important;
    line-height:20px!important;
  }
  .newsletter__button,
  .newsletter-submit,
  .footer-newsletter__button,
  .unified-footer__submit{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 20px!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-self:stretch!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    box-sizing:border-box!important;
    font-family:inherit!important;
    font-weight:600!important;
    letter-spacing:.3px!important;
    font-size:14px!important;
    line-height:20px!important;
  }
  :is(.newsletter__input,.newsletter-field,.footer-newsletter__field,.unified-footer__field)>img{
    flex:0 0 16px!important;
    width:16px!important;
    height:16px!important;
    margin:0!important;
  }
  :is(.newsletter__button,.newsletter-submit,.footer-newsletter__button,.unified-footer__submit)>img{
    width:14px!important;
    height:14px!important;
    margin:0!important;
  }
}
