

/* Start:/local/templates/optex2026/fonts/fonts.css?1783875058528*/
/* optex2026: Golos Text (OFL, файлы локально) */

@font-face{
  font-family:"Golos Text";
  font-weight:400;
  font-style:normal;
  font-display:swap;
  src:url("/local/templates/optex2026/fonts/golos-text-400.woff2") format("woff2");
}

@font-face{
  font-family:"Golos Text";
  font-weight:500;
  font-style:normal;
  font-display:swap;
  src:url("/local/templates/optex2026/fonts/golos-text-500.woff2") format("woff2");
}

@font-face{
  font-family:"Golos Text";
  font-weight:600;
  font-style:normal;
  font-display:swap;
  src:url("/local/templates/optex2026/fonts/golos-text-600.woff2") format("woff2");
}

/* End */


/* Start:/local/templates/optex2026/vendor/swiper/swiper-bundle.min.css?178387464718454*/
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* End */


/* Start:/local/templates/optex2026/css/tokens.css?17838750551216*/
/* optex2026: токены дизайн-системы (единственный источник значений).
   Источник: docs/design/theme-architecture.md <- docs/design/premier-spec.md §1.
   Менять значения ТОЛЬКО здесь. */

:root{
  --font: "Golos Text", Arial, sans-serif;
  --accent:#13b3f8; --accent-hover:#0ea2e2;      /* фирм. вариант: #013563/#eb3a0e - переключение одной строкой */
  --ink:#222228; --text:#555558; --muted:#8d8d8d;
  --bg:#fff; --bg-soft:#f3f4f7; --bg-tab:#eff0f2; --bg-gray-card:#f5f6f8;
  --border:#d7d8da; --border-btn:rgba(34,34,40,.32);
  --green:#32cb41; --star:#ffb324;
  --badge-hit:#ff7455; --badge-new:#32cb41; --badge-rec:#a56ffd; --badge-sale-bg:#ffeca8; --badge-disc:#ff4f64;
  --r-lg:12px; --r-md:6px; --r-sm:4px;
  --shadow-menu:0 5px 30px rgba(34,34,40,.08); --shadow-sticky:0 4px 10px rgba(0,0,0,.1);
  --shadow-card:0 8px 24px rgba(34,34,40,.12);
  --pad-x:32px;            /* 768: 24px; 480: 16px */
  --section-gap:80px;      /* mobile: 48px */
}

@media (max-width:768px){
  :root{
    --pad-x:24px;
    --section-gap:48px;
  }
}

@media (max-width:480px){
  :root{
    --pad-x:16px;
  }
}

/* End */


/* Start:/local/templates/optex2026/css/base.css?17840624687355*/
/* optex2026: normalize-минимум, типографика, контейнер, секции,
   кнопки/чипы/табы/бейджи/инпуты, утилиты.
   Значения - premier-spec.md §1; переменные - tokens.css. */

/* ---------- normalize-минимум ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font:400 16px/24px var(--font);
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%}
img{height:auto;border:0}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{background:none;border:0;padding:0;cursor:pointer}
fieldset{border:0;margin:0;padding:0}
table{border-collapse:collapse}
p{margin:0 0 16px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- заголовки (spec §1.1, вес всегда 500) ---------- */
h1,h2,h3,h4,h5,h6{
  margin:0 0 16px;
  font-weight:500;
  color:var(--ink);
}
h1{font-size:36px;line-height:44px}
h2{font-size:24px;line-height:32px}
h3{font-size:20px;line-height:28px}
h4{font-size:16px;line-height:24px}

@media (max-width:768px){
  h1{font-size:28px;line-height:36px}
  h2{font-size:20px;line-height:30px}
}
@media (max-width:480px){
  h1{font-size:20px;line-height:30px}
}

/* ---------- контейнер и секции ---------- */
.ox-container{
  width:100%;
  max-width:1920px;
  margin:0 auto;
  padding-left:var(--pad-x);
  padding-right:var(--pad-x);
}

.ox-section{margin-top:var(--section-gap)}
.ox-section__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin-bottom:32px;
}
.ox-section__head h2{margin:0}
.ox-section__all{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:15px;
  font-weight:500;
  color:var(--ink);
  white-space:nowrap;
  transition:color .2s;
}
.ox-section__all:hover{color:var(--accent)}
.ox-section__all .ox-ico{width:18px;height:18px}
@media (max-width:768px){
  .ox-section__head{margin-bottom:20px}
}

/* ---------- кнопки (spec §1.5) ---------- */
.ox-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:44px;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:var(--r-md);
  font-size:15px;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
  text-align:center;
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
  transition:background .2s,border-color .2s,color .2s,box-shadow .2s;
}
.ox-btn .ox-ico{flex:none}

.ox-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}
.ox-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}

.ox-btn--outline{background:transparent;border-color:var(--border-btn);color:var(--ink)}
.ox-btn--outline:hover{border-color:var(--ink)}

.ox-btn--gray{background:var(--bg-tab);border-color:transparent;color:var(--ink)}
.ox-btn--gray:hover{background:#e4e5e8}

.ox-btn--blur{
  background:rgba(0,0,0,.32);
  border:0;
  color:#fff;
  height:28px;
  padding:0 12px;
  font-size:13px;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.ox-btn--blur:hover{background:rgba(0,0,0,.45)}

/* размеры: --sm 36 / --md 44 (по умолчанию) / --lg 52 */
.ox-btn--sm{height:36px;padding:0 16px;font-size:14px}
.ox-btn--md{height:44px;padding:0 20px;font-size:15px}
.ox-btn--lg{height:52px;padding:0 24px;font-size:16px}

/* ---------- чипы (spec §1.6) ---------- */
.ox-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:36px;
  padding:0 14px;
  border-radius:var(--r-md);
  background:var(--bg-soft);
  color:var(--ink);
  font-size:14px;
  white-space:nowrap;
  transition:background .2s;
}
.ox-chip:hover{background:#e9ebef}

/* ---------- табы (spec §1.6) ---------- */
.ox-tabs{display:flex;flex-wrap:wrap;gap:8px}
.ox-tab{
  display:inline-flex;
  align-items:center;
  height:44px;
  padding:0 20px;
  border:0;
  border-radius:var(--r-md);
  background:var(--bg-tab);
  color:var(--ink);
  font-size:14px;
  cursor:pointer;
  transition:background .2s,color .2s;
}
.ox-tab:hover{background:#e4e5e8}
.ox-tab.is-active{background:var(--accent);color:#fff}
.ox-tab.is-active:hover{background:var(--accent-hover)}

/* ---------- бейджи-стикеры (spec §1.8) ---------- */
.ox-badge{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:1px 8px;
  border-radius:var(--r-sm);
  font-size:12px;
  font-weight:500;
  line-height:1;
  color:#fff;
  white-space:nowrap;
}
.ox-badge--hit{background:var(--badge-hit)}
.ox-badge--new{background:var(--badge-new)}
.ox-badge--rec{background:var(--badge-rec)}
.ox-badge--sale{background:var(--badge-sale-bg);color:#222222}
.ox-badge--disc{background:var(--badge-disc)}
/* бейдж скидки в строке цены: 18px */
.ox-badge--price{height:18px;padding:1px 6px}

/* ---------- поля ввода (spec §1.7) ---------- */
.ox-input{
  height:44px;
  width:100%;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:6px 16px;
  font-size:15px;
  color:var(--ink);
  background:#fff;
  transition:border-color .2s;
}
.ox-input::placeholder{color:var(--muted)}
.ox-input:focus{outline:none;border-color:var(--accent)}

/* ---------- утилиты ---------- */
@media (max-width:768px){
  .ox-hide-mobile{display:none !important}
}
@media (min-width:769px){
  .ox-hide-desktop{display:none !important}
}

/* скрыто визуально, доступно скринридерам */
.ox-vh{
  position:absolute !important;
  width:1px;height:1px;
  margin:-1px;padding:0;border:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

/* блокировка прокрутки (оффканвас открыт) */
body.ox-noscroll{overflow:hidden}

/* мобильные табы: горизонтальная прокручиваемая лента, не столбик */
@media (max-width:600px){
  .ox-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding-bottom:4px}
  .ox-tabs::-webkit-scrollbar{display:none}
  .ox-tabs .ox-tab{flex:0 0 auto;width:auto;white-space:nowrap}
}

/* wbs24.cookiepro: на демо баннер скрыт - он fixed поверх контента (z-900) и
   перехватывал клики в своей полосе (плитки/кнопки под ним не нажимались).
   Для дизайн-демо согласие на cookie не нужно; на боевом сайте модуль остается. */
.wbs24__cookies,
.wbs24__cookies-overlay{display:none !important}

/* toast-уведомления (сравнение и т.п.) */
.ox-toast{position:fixed;left:50%;bottom:24px;z-index:9999;transform:translate(-50%,20px);max-width:90vw;padding:12px 20px;border-radius:var(--r-md,6px);background:rgba(34,34,40,.94);color:#fff;font-size:14px;line-height:1.3;box-shadow:0 8px 30px rgba(0,0,0,.25);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s}
.ox-toast.is-show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media (max-width:600px){.ox-toast{bottom:76px}}

/* End */


/* Start:/local/templates/optex2026/css/header.css?179414009715033*/
/* optex2026: шапка (3 полосы), overlay-режим главной, мега-меню,
   smart-sticky, мобильная шапка, оффканвас. Spec §2, §10, §11. */

/* ---------- каркас ---------- */
.ox-header{
  position:relative;
  z-index:120;
  background:#fff;
  color:var(--ink);
  border-bottom:1px solid rgba(34,34,40,.08);
  transition:background .25s ease,border-color .25s ease;
}
.ox-header a{transition:color .2s ease,opacity .2s ease}

/* ---------- полоса 1 (38px) ---------- */
.ox-header__top{
  height:38px;
  font-size:14px;
  border-bottom:1px solid rgba(34,34,40,.06);
  transition:border-color .25s ease;
}
.ox-header__top-in{
  display:flex;
  align-items:center;
  gap:24px;
  height:38px;
}
.ox-header__geo{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--text);
  white-space:nowrap;
}
.ox-header__geo:hover{color:var(--accent)}
.ox-header__nav{
  display:flex;
  align-items:center;
  gap:20px;
  margin:0 auto;
  overflow:hidden;
}
.ox-header__nav a{color:var(--text);white-space:nowrap}
.ox-header__nav a:hover{color:var(--accent)}
.ox-header__contacts{
  display:flex;
  align-items:center;
  gap:16px;
  white-space:nowrap;
}
.ox-header__phone{
  font-size:15px;
  font-weight:600;
  color:var(--ink);
}
.ox-header__phone:hover{color:var(--accent)}
.ox-header__callback{color:var(--text)}
.ox-header__callback:hover{color:var(--accent)}

/* ---------- полоса 2 (88px) ---------- */
.ox-header__main{height:88px}
.ox-header__main-in{
  display:flex;
  align-items:center;
  gap:24px;
  height:88px;
}
.ox-logo{flex:none;display:flex;align-items:center}
.ox-logo__img{display:block;height:44px;width:auto}
.ox-header__slogan{
  flex:none;
  max-width:170px;
  font-size:13px;
  line-height:17px;
  color:var(--muted);
  transition:color .25s ease;
}
.ox-catalog-btn{flex:none}
.ox-catalog-btn__grid,
.ox-catalog-btn__x{display:inline-flex;color:#fff}/* иконка тем же белым, что и надпись «Каталог» */
.ox-catalog-btn__x{display:none}
.ox-catalog-btn.is-open .ox-catalog-btn__grid{display:none}
.ox-catalog-btn.is-open .ox-catalog-btn__x{display:inline-flex}

/* поиск (42px) */
.ox-search{
  position:relative;
  display:flex;
  flex:1 1 auto;
  min-width:180px;
}
.ox-search__input{
  height:42px;
  width:100%;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  background:#fff;
  color:var(--ink);
  font-size:15px;
  padding:0 46px 0 16px;
  transition:border-color .2s,background .25s,color .25s;
}
.ox-search__input::placeholder{color:var(--muted)}
.ox-search__input:focus{outline:none;border-color:var(--accent)}
.ox-search__btn{
  position:absolute;
  top:50%;
  right:6px;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  color:var(--muted);
  border-radius:var(--r-md);
  transition:color .2s;
}
.ox-search__btn:hover{color:var(--accent)}

/* иконки с подписями 12px */
.ox-icnav{display:flex;align-items:center;gap:20px;flex:none}
.ox-icnav__item{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  color:var(--ink);
  min-width:44px;
}
.ox-icnav__item:hover{color:var(--accent)}
.ox-icnav__label{font-size:12px;line-height:1;color:inherit}
.ox-icnav__count{
  position:absolute;
  top:-5px;
  right:2px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:8px;
  background:var(--accent);
  color:#fff;
  font-size:10px;
  font-weight:500;
  line-height:16px;
  text-align:center;
}
.ox-icnav__count.is-empty{display:none}

/* ---------- полоса 3 (52px): горизонтальное меню каталога ----------
   Одна строка. Пункты не переносятся и не скроллятся; не влезшие по ширине
   прячет JS (oxFitCatMenu) через [hidden]. overflow:hidden - страховка от
   вылезания за экран до срабатывания JS (0 горизонтального переполнения). */
.ox-header__quick{height:52px}
.ox-catmenu{
  display:flex;
  align-items:center;
  column-gap:26px;
  height:52px;
  overflow:hidden;
  white-space:nowrap;
}
.ox-catmenu__item{
  flex:0 0 auto;
  font-size:14px;
  color:var(--text);
  white-space:nowrap;
}
.ox-catmenu__item:hover{color:var(--accent)}
.ox-catmenu__item.is-all{font-weight:600}
.ox-catmenu__cell[hidden]{display:none}
.ox-catmenu.is-fit{overflow:visible}
.ox-catmenu__cell{flex:0 0 auto;position:relative;display:flex;align-items:center;height:100%}
.ox-catdrop{position:absolute;top:100%;left:-16px;z-index:60;min-width:260px;padding:8px 0;background:#fff;border:1px solid var(--ink);border-top:3px solid var(--accent);box-shadow:0 14px 30px rgba(15,31,51,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility 0s .18s}
.ox-catdrop--2{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));min-width:560px}
.ox-catmenu__cell.has-drop:hover .ox-catdrop,.ox-catmenu__cell.has-drop:focus-within .ox-catdrop{opacity:1;visibility:visible;transform:none;transition-delay:.08s,.08s,.08s}
.ox-catmenu__cell.is-right .ox-catdrop{left:auto;right:-16px}
.ox-catdrop__a{display:block;padding:9px 16px;font-size:14px;line-height:18px;color:var(--ink);white-space:normal}
.ox-catdrop__a:hover,.ox-catdrop__a:focus{background:var(--bg-soft,#f2f0eb);color:var(--accent)}
.ox-catmenu__cell.has-drop:hover>.ox-catmenu__item{color:var(--accent)}

/* ---------- overlay-режим (главная: прозрачная шапка поверх hero,
   текст/иконки белые; иконки inline-SVG на currentColor) ---------- */
.ox-header--overlay:not(.is-solid){
  position:absolute;
  top:0;
  left:0;
  right:0;
  background:transparent;
  border-bottom-color:transparent;
}
.ox-header--overlay:not(.is-solid) .ox-header__top{border-bottom-color:rgba(255,255,255,.16)}
.ox-header--overlay:not(.is-solid) .ox-header__geo,
.ox-header--overlay:not(.is-solid) .ox-header__nav a,
.ox-header--overlay:not(.is-solid) .ox-header__callback,
.ox-header--overlay:not(.is-solid) .ox-catmenu__item{color:rgba(255,255,255,.88)}
.ox-header--overlay:not(.is-solid) .ox-header__geo:hover,
.ox-header--overlay:not(.is-solid) .ox-header__nav a:hover,
.ox-header--overlay:not(.is-solid) .ox-header__callback:hover,
.ox-header--overlay:not(.is-solid) .ox-catmenu__item:hover{color:#fff}
.ox-header--overlay:not(.is-solid) .ox-catmenu__cell.has-drop:hover>.ox-catmenu__item{color:#fff}
.ox-header--overlay:not(.is-solid) .ox-header__phone,
.ox-header--overlay:not(.is-solid) .ox-icnav__item{color:#fff}
.ox-header--overlay:not(.is-solid) .ox-header__phone:hover,
.ox-header--overlay:not(.is-solid) .ox-icnav__item:hover{color:rgba(255,255,255,.8)}
.ox-header--overlay:not(.is-solid) .ox-header__slogan{color:rgba(255,255,255,.72)}
/* поиск на overlay: полупрозрачная белая подложка */
.ox-header--overlay:not(.is-solid) .ox-search__input{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.35);
  color:#fff;
}
.ox-header--overlay:not(.is-solid) .ox-search__input::placeholder{color:rgba(255,255,255,.72)}
.ox-header--overlay:not(.is-solid) .ox-search__input:focus{border-color:rgba(255,255,255,.8)}
.ox-header--overlay:not(.is-solid) .ox-search__btn{color:rgba(255,255,255,.85)}
.ox-header--overlay:not(.is-solid) .ox-search__btn:hover{color:#fff}
/* мобильные элементы на overlay */
.ox-header--overlay:not(.is-solid) .ox-iconbtn{color:#fff}
.ox-header--overlay:not(.is-solid) .ox-iconbtn:hover{color:rgba(255,255,255,.8)}

/* ---------- мега-меню ---------- */
.ox-mega{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:130;
  background:#fff;
  border-radius:0 0 var(--r-md) var(--r-md);
  box-shadow:var(--shadow-menu);
  max-height:calc(100vh - 220px);
  overflow-y:auto;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.ox-mega.is-open{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}
/* открыто из sticky-панели */
.ox-mega.ox-mega--fixed{
  position:fixed;
  top:72px;
  max-height:calc(100vh - 72px - 24px);
}
.ox-mega__in{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:40px;
  padding-top:32px;
  padding-bottom:40px;
}
.ox-mega__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px 24px;
}
.ox-mega__head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.ox-mega__ph{
  flex:none;
  width:70px;
  height:70px;
  border-radius:50%;
  object-fit:cover;
  background:var(--bg-soft);
}
.ox-mega__ph--empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
}
.ox-mega__name{
  font-size:16px;
  font-weight:500;
  line-height:20px;
  color:var(--ink);
}
.ox-mega__head:hover .ox-mega__name{text-decoration:underline}
.ox-mega__subs{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ox-mega__subs a{font-size:14px;line-height:18px;color:var(--text)}
.ox-mega__subs a:hover{color:var(--accent)}
.ox-mega__more{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:8px;
  font-size:14px;
  color:var(--muted);
}
.ox-mega__more:hover{color:var(--accent)}
/* правая колонка: промо-фотокарточка */
.ox-mega__promo-card{
  position:relative;
  display:block;
  min-height:340px;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--bg-soft);
}
.ox-mega__promo-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ox-mega__promo-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%);
}
.ox-mega__promo-cap{
  position:absolute;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:4px;
  color:#fff;
}
.ox-mega__promo-over{font-size:12px;opacity:.8}
.ox-mega__promo-title{font-size:16px;font-weight:500;line-height:22px}

/* ---------- smart-sticky (72px, показ при скролле вверх) ---------- */
.ox-sticky{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:180;
  height:72px;
  background:rgba(247,247,247,.8);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:var(--shadow-sticky);
  color:var(--ink);
  transform:translateY(-110%);
  transition:transform .25s ease;
}
.ox-sticky.is-visible{transform:none}
.ox-sticky__in{
  display:flex;
  align-items:center;
  gap:20px;
  height:72px;
}
.ox-sticky__logo{flex:none;display:flex;align-items:center}
.ox-sticky__logo img{display:block;height:36px;width:auto}
.ox-sticky .ox-search{max-width:520px}
.ox-sticky__icnav{margin-left:auto}

/* кнопка-иконка (бургер, мобильные действия) */
.ox-iconbtn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  color:var(--ink);
  border-radius:var(--r-md);
  transition:color .2s;
}
.ox-iconbtn:hover{color:var(--accent)}

/* ---------- мобильная шапка (768-) ---------- */
.ox-header__mobile{
  display:none;
  align-items:center;
  gap:4px;
  height:64px;
  padding:0 var(--pad-x);
  position:relative;
}
/* лого в потоке слева от бургера, не по центру - иначе на узких экранах
   центрированное лого наезжало на правый кластер иконок (телефон/поиск/корзина) */
.ox-header__mlogo{
  display:flex;
  align-items:center;
  margin-left:10px;
  margin-right:auto;
}
.ox-header__mlogo img{display:block;height:32px;width:auto}
.ox-header__mactions{
  display:flex;
  align-items:center;
  gap:2px;
  margin-left:auto;
}
.ox-header__msearch{
  display:none;
  padding:0 var(--pad-x) 12px;
}
.ox-header__msearch.is-open{display:block}

@media (max-width:768px){
  .ox-header__top,
  .ox-header__main,
  .ox-header__quick{display:none}
  .ox-header__mobile{display:flex}
  .ox-mega{display:none}
  .ox-sticky{height:64px}
  .ox-sticky__in{height:64px;gap:8px}
  .ox-sticky__logo{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
  }
  .ox-sticky__in{position:relative;justify-content:space-between}
}

/* ---------- оффканвас мобильного меню ---------- */
.ox-offcanvas{
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  z-index:220;
  width:320px;
  max-width:86vw;
  background:#fff;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  transform:translateX(-105%);
  transition:transform .28s ease;
}
.ox-offcanvas.is-open{transform:none}
.ox-offcanvas__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:64px;
  padding:0 12px 0 20px;
  border-bottom:1px solid rgba(34,34,40,.08);
  flex:none;
}
.ox-offcanvas__logo img{display:block;height:32px;width:auto}
.ox-offcanvas__nav{flex:1 1 auto;padding:16px 20px}
.ox-offcanvas__label{
  margin:16px 0 8px;
  font-size:12px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
}
.ox-offcanvas__label:first-child{margin-top:0}
.ox-offcanvas__list{
  list-style:none;
  margin:0;
  padding:0;
}
.ox-offcanvas__list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 0;
  font-size:15px;
  color:var(--ink);
  border-bottom:1px solid rgba(34,34,40,.05);
}
.ox-offcanvas__list a:hover{color:var(--accent)}
.ox-offcanvas__list a .ox-ico{color:var(--muted);flex:none}
.ox-offcanvas__list--sub a{font-size:14px;color:var(--text)}
.ox-offcanvas__contacts{
  flex:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:20px;
  border-top:1px solid rgba(34,34,40,.08);
}
.ox-offcanvas__phone{
  font-size:16px;
  font-weight:600;
  color:var(--ink);
}
.ox-offcanvas__phone:hover{color:var(--accent)}

/* подложка под оффканвас */
.ox-backdrop{
  position:fixed;
  inset:0;
  z-index:210;
  background:rgba(17,17,20,.4);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.ox-backdrop.is-visible{opacity:1;pointer-events:auto}

/* ---------- промежуточный адаптив (1024) ---------- */
@media (max-width:1024px){
  .ox-header__slogan{display:none}
  .ox-header__nav{gap:14px}
  .ox-icnav{gap:12px}
  .ox-mega__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ox-mega__promo{display:none}
  .ox-mega__in{grid-template-columns:minmax(0,1fr)}
}

/* логотип на прозрачной шапке поверх hero: белая версия из темного PNG */
.ox-header--overlay .ox-logo__img,
.ox-header--overlay .ox-header__mlogo img{filter:brightness(0) invert(1)}

/* End */


/* Start:/local/templates/optex2026/css/footer.css?17941400977965*/
/* optex2026: CTA-секция, подвал, мобильный таб-бар (spec §3.24-25). */

/* ---------- CTA перед подвалом ---------- */
.ox-cta{
  margin-top:var(--section-gap);
}
.ox-cta__in{
  /* серая плашка - по сетке контента (отступ --pad-x от краев), а не во всю ширину окна */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:32px 40px;
  background:var(--bg-soft);
  border-radius:var(--r-lg);
}
.ox-cta__title{
  font-size:20px;
  line-height:28px;
  font-weight:500;
  color:var(--ink);
}
.ox-cta__note{
  margin:6px 0 0;
  font-size:14px;
  line-height:20px;
  color:var(--muted);
}
.ox-cta .ox-btn{flex:none}
.ox-cta__form{flex:0 1 560px;min-width:0}
.ox-cta__fields{display:flex;gap:10px}
.ox-cta__phone{flex:1 1 auto;min-width:0;height:48px;padding:0 14px;border:1px solid #fff;border-radius:0;background:#fff;color:var(--ink);font-size:16px}
.ox-cta__consent{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:12.5px;line-height:17px;color:#c4d0de;cursor:pointer}
.ox-cta__consent input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--accent)}
.ox-cta__consent a{color:#fff;text-decoration:underline}
.ox-cta__msg{margin-top:8px;font-size:13px;color:#fff}
.ox-cta__msg.is-err{color:#ffb199}
.ox-cta__ok{font-size:18px;font-weight:600;color:#fff}
/* серая плашка CTA - по сетке контента (как .ox-container: 1434 с полями --pad-x), а не во всю ширину окна */
.ox-cta .ox-cta__in{width:calc(100% - 2 * var(--pad-x));max-width:calc(1434px - 2 * var(--pad-x));margin-left:auto;margin-right:auto;padding:32px 40px}

/* ---------- подвал ---------- */
.ox-footer{padding:56px 0 0}
.ox-footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:32px;
}
.ox-footer__title{
  margin-bottom:18px;
  font-size:15px;
  font-weight:500;
  color:var(--ink);
}
.ox-footer__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.ox-footer__list a{
  font-size:14px;
  line-height:20px;
  color:rgba(34,34,40,.72);
  transition:color .2s;
}
.ox-footer__list a:hover{color:var(--accent)}

/* колонка контактов */
.ox-footer__contact{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:18px;
}
.ox-footer__phone{
  font-size:16px;
  font-weight:500;
  color:var(--ink);
  transition:color .2s;
}
.ox-footer__phone:hover{color:var(--accent)}
.ox-footer__mail{
  font-size:14px;
  color:rgba(34,34,40,.72);
  transition:color .2s;
}
.ox-footer__mail:hover{color:var(--accent)}
.ox-footer__addr{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-bottom:12px;
  font-size:14px;
  line-height:20px;
  color:var(--text);
}
.ox-footer__addr-label{
  font-size:12px;
  color:var(--muted);
}

/* нижняя строка */
.ox-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-top:44px;
  padding:20px 0;
  border-top:1px solid rgba(34,34,40,.08);
  font-size:13px;
  color:var(--muted);
}
.ox-footer__policy{
  color:rgba(34,34,40,.72);
  transition:color .2s;
}
.ox-footer__policy:hover{color:var(--accent)}

/* ---------- мобильный таб-бар ---------- */
.ox-tabbar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:190;
  display:none;
  background:#fff;
  border-top:1px solid rgba(34,34,40,.08);
  padding-bottom:env(safe-area-inset-bottom);
}
.ox-tabbar__item{
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  height:58px;
  font-size:11px;
  line-height:1;
  color:var(--text);
  transition:color .2s;
}
.ox-tabbar__item .ox-ico{flex:none}
.ox-tabbar__item.is-active,
.ox-tabbar__item:hover{color:var(--accent)}

/* ---------- модалка "Заказать звонок" ---------- */
.ox-modal{
  position:fixed;
  inset:0;
  z-index:500;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.ox-modal.is-open{display:flex}
.ox-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(34,34,40,.55);
}
.ox-modal__box{
  position:relative;
  width:100%;
  max-width:460px;
  max-height:calc(100vh - 32px);
  overflow-y:auto;
  background:var(--bg);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-card);
  padding:32px;
  -webkit-animation:ox-modal-in .2s ease-out;
  animation:ox-modal-in .2s ease-out;
}
@keyframes ox-modal-in{
  from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:none}
}
.ox-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:var(--r-md);
  color:var(--muted);
  transition:background .2s,color .2s;
}
.ox-modal__close:hover{background:var(--bg-soft);color:var(--ink)}
.ox-modal__title{margin:0 0 8px;padding-right:32px}
.ox-modal__note{
  margin:0 0 20px;
  font-size:14px;
  line-height:20px;
  color:var(--muted);
}
.ox-modal__form{display:flex;flex-direction:column;gap:12px}
.ox-modal__submit{width:100%;margin-top:4px}
.ox-modal__agree{
  margin:0;
  font-size:12px;
  line-height:16px;
  color:var(--muted);
}
.ox-modal__agree a{color:var(--text);text-decoration:underline}
.ox-modal__agree a:hover{color:var(--accent)}
.ox-modal__success{
  padding:12px 0 4px;
  font-size:16px;
  line-height:24px;
  color:var(--ink);
  text-align:center;
}
@media (max-width:480px){
  .ox-modal{padding:0}
  .ox-modal__box{
    max-width:none;
    width:100%;
    height:100%;
    max-height:none;
    border-radius:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* ---------- адаптив ---------- */
@media (max-width:1024px){
  .ox-footer__grid{grid-template-columns:1.4fr 1fr 1fr;row-gap:40px}
}
@media (max-width:768px){
  .ox-cta .ox-cta__in{flex-direction:column;align-items:stretch;padding:24px 22px;gap:18px}
  .ox-cta__form{flex:none}
  .ox-cta__fields{flex-direction:column}
  .ox-cta__fields .ox-btn{justify-content:center}
  .ox-footer{padding-top:40px}
  .ox-footer__grid{grid-template-columns:1fr 1fr;row-gap:32px}
  .ox-footer__col--contacts{grid-column:1 / -1}
  .ox-footer__bottom{margin-top:32px}
  .ox-tabbar{display:flex}
  /* место под таб-бар */
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  .ox-footer__bottom{padding-bottom:16px}
}
@media (max-width:480px){
  .ox-footer__grid{grid-template-columns:1fr}
}

/* ---------- формы rsflyaway:forms (шаблон form): «Заказать звонок», «Купить в 1 клик» ---------- */
.ox-rsform__form{display:flex;flex-direction:column;gap:12px}
.ox-rsform__row{display:flex;flex-direction:column;gap:6px}
.ox-rsform__label{font-size:13px;line-height:18px;color:var(--muted)}
.ox-rsform__area{height:auto;min-height:88px;padding-top:10px;resize:vertical;font:inherit}
.ox-rsform__consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:16px;color:var(--muted);cursor:pointer}
.ox-rsform__consent input{flex:none;width:16px;height:16px;margin:0;accent-color:var(--accent)}
.ox-rsform__consent a{color:var(--text);text-decoration:underline}
.ox-rsform__submit{width:100%;margin-top:4px}
.ox-rsform__note{font-size:12px;line-height:16px;color:var(--muted)}
.ox-rsform__msg{padding:14px 16px;border-radius:var(--r-md);font-size:15px;line-height:22px}
.ox-rsform__msg--ok{background:#eafaf0;color:#1c7a33;text-align:center}
.ox-rsform__msg--err{background:#fff0f0;color:#b3261e;margin-bottom:12px}
.ox-rsform__captcha img{display:block;border-radius:var(--r-sm)}
.ox-rsform input[readonly]{background:var(--bg-soft)}
.ox-modal__loading{padding:24px 0;text-align:center;color:var(--muted);font-size:14px}
.ox-textpage .ox-rsform{max-width:520px}
.ox-textpage .ox-rsform .ox-btn--primary{color:#fff}

/* End */


/* Start:/local/templates/optex2026/css/home.css?179404597313276*/
/* ============================================================================
   optex2026 - стили секций главной (спека docs/design/premier-spec.md §3, §10).
   Токены - css/tokens.css; в var() везде фолбэки со значениями спеки, чтобы
   секции выглядели корректно и при ранней сборке без tokens/base.
   Десктоп-ферст: база 1440, медиа 1024/768/600/480.
   ========================================================================== */

/* ---- Фолбэки контракта (источник истины - base.css; значения идентичны) ---- */
.ox-container{max-width:1434px;margin:0 auto;padding:0 var(--pad-x,32px)}
/* base.css задает .ox-section{margin-top} - на главной ритм ведем padding-ом,
   margin обнуляем, иначе секции расходятся на 160px (двойной зазор) */
.ox-section{padding-top:var(--section-gap,80px);margin-top:0}
.ox-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:32px}
.ox-section__head h2{margin:0;font-size:24px;line-height:32px;font-weight:500;color:var(--ink,#222228)}
.ox-section__all{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink,#222228);text-decoration:none}
.ox-section__all:hover{color:var(--accent,#13b3f8)}
.ox-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-md,6px);font-family:inherit;font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.ox-btn--primary{background:var(--accent,#13b3f8);border-color:var(--accent,#13b3f8);color:#fff}
.ox-btn--primary:hover{background:var(--accent-hover,#0ea2e2);border-color:var(--accent-hover,#0ea2e2);color:#fff}
.ox-btn--sm{height:36px;padding:0 16px;font-size:14px}
.ox-btn--md{height:44px;padding:0 20px;font-size:15px}
.ox-btn--lg{height:52px;padding:0 24px;font-size:16px}
.ox-tab{height:44px;padding:12px 20px;border:0;border-radius:var(--r-md,6px);background:var(--bg-tab,#eff0f2);color:var(--ink,#222228);font-family:inherit;font-size:14px;font-weight:500;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.ox-tab.is-active{background:var(--accent,#13b3f8);color:#fff}

/* Общие звезды (отзывы, рейтинг) */
.ox-stars{display:inline-flex;gap:2px;vertical-align:middle}
.ox-star{display:inline-flex;color:var(--border,#d7d8da)}
.ox-star.is-on{color:var(--star,#ffb324)}

/* Общая кнопка-стрелка слайдеров (кружок) */
.ox-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border,#d7d8da);background:var(--bg,#fff);color:var(--ink,#222228);cursor:pointer;transition:background .2s,color .2s,border-color .2s,opacity .2s}
.ox-arrow:hover{border-color:var(--accent,#13b3f8);color:var(--accent,#13b3f8)}
.ox-arrow.swiper-button-disabled{opacity:.35;pointer-events:none}
.ox-arrow.swiper-button-lock{display:none} /* слайдов меньше, чем влезает (watchOverflow) - стрелки не нужны */

/* ============================== 1. HERO (§3.1) ============================== */
.ox-hero{--hero-h:680px;position:relative;height:var(--hero-h)}
.ox-hero__swiper{height:100%}
.ox-hero__slide{position:relative;height:100%;overflow:hidden}
.ox-hero__slide--noimg{background:linear-gradient(135deg,#1d2733,#31445a)}
.ox-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* два скрима: верхний под шапку (читаемость белых ссылок/телефона над фото) + левый под заголовок */
.ox-hero__slide::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.12) 20%,rgba(0,0,0,0) 32%),linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.32) 45%,rgba(0,0,0,0) 75%)}
.ox-hero__inner{position:relative;z-index:2;display:flex;align-items:center;height:100%;padding-top:var(--ox-head-h,176px);box-sizing:border-box}
.ox-hero__content{max-width:680px}
.ox-hero__title{margin:0;font-size:clamp(28px,3.9vw,56px);line-height:1.15;font-weight:500;color:#fff}
.ox-hero__text{margin:16px 0 0;max-width:540px;font-size:16px;line-height:24px;color:rgba(255,255,255,.92)}
.ox-hero__btn{margin-top:28px}
.ox-hero__nav{position:absolute;right:var(--pad-x,32px);bottom:32px;z-index:3;display:flex;gap:8px}
.ox-hero .ox-arrow{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.ox-hero .ox-arrow:hover{background:rgba(255,255,255,.15);border-color:#fff;color:#fff}
.ox-hero__pag{position:absolute;left:0;right:0;bottom:36px;z-index:3;display:flex;justify-content:center;gap:8px}
.ox-hero .swiper-pagination-bullet{width:36px;height:3px;margin:0!important;border-radius:2px;background:rgba(255,255,255,.45);opacity:1;transition:background .2s}
.ox-hero .swiper-pagination-bullet-active{background:#fff}

/* ========================= 2. Плитки каталога (§3.4/§3.10) ========================= */
.ox-tiles__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:340px 260px;gap:12px}
/* фон-фолбэк брендовый: у разделов без фото (Открытые стеллажи/Услуги) вместо пустой
   серой плашки - тёмно-синий градиент, белое название читаемо, выглядит намеренно */
.ox-tile{position:relative;display:block;overflow:hidden;border-radius:var(--r-lg,12px);background:linear-gradient(135deg,#0a2c52,#013563);text-decoration:none}
.ox-tile__link{position:absolute;inset:0;z-index:3}
.ox-tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ox-tile:hover .ox-tile__img{transform:scale(1.05)}
/* фото разделов часто светлые (студийный белый фон) - скрим усилен, иначе белая подпись/чипы тонут */
.ox-tile::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 26%,rgba(0,0,0,.18) 48%,rgba(0,0,0,0) 68%)}
.ox-tile__body{position:absolute;left:20px;right:20px;bottom:18px;z-index:2}
.ox-tile__name{font-size:20px;line-height:26px;font-weight:500;color:#fff}
.ox-tile__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ox-tile__chip{position:relative;z-index:4;display:inline-flex;align-items:center;padding:5px 10px;border:1px solid rgba(255,255,255,.4);border-radius:var(--r-md,6px);background:rgba(255,255,255,.1);font-size:13px;line-height:16px;color:#fff;text-decoration:none;transition:background .2s}
a.ox-tile__chip:hover{background:rgba(255,255,255,.25)}
/* Ряд «Все разделы» - карточки 264x150 (§3.10) горизонтальным скроллом */
.ox-tiles__more{display:grid;grid-auto-flow:column;grid-auto-columns:264px;gap:12px;margin-top:12px;padding-bottom:6px;overflow-x:auto;scroll-snap-type:x proximity}
.ox-tile--sm{height:150px;scroll-snap-align:start}
.ox-tile--sm .ox-tile__body{left:16px;right:16px;bottom:14px}
.ox-tile__name--sm{display:flex;align-items:center;gap:6px;font-size:16px;line-height:22px}

@media (max-width:1024px){
  .ox-tiles__grid{grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:280px}
}
@media (max-width:600px){
  .ox-tiles__grid{grid-template-columns:1fr;grid-auto-rows:220px}
  .ox-tiles__more{grid-auto-columns:220px}
}

/* ===================== 3. Популярные товары (§3.3) ===================== */
.ox-offers__tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.ox-offers__slider{position:relative}
/* паддинг-компенсация, чтобы hover-тень карточки не резалась overflow слайдера */
.ox-offers .swiper{padding:12px;margin:-12px}
.ox-offers .swiper-slide{height:auto;display:flex}
.ox-offers .swiper-slide .ox-pcard{width:100%}
.ox-offers .ox-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;box-shadow:0 2px 8px rgba(34,34,40,.1)}
.ox-offers .ox-arrow--prev{left:-10px}
.ox-offers .ox-arrow--next{right:-10px}
@media (max-width:768px){
  .ox-offers .ox-arrow{display:none} /* на тач-устройствах листание свайпом */
}

/* ========================= 4. Отзывы (§3.8) ========================= */
.ox-reviews__head{flex-wrap:wrap}
.ox-reviews__summary{font-size:14px;line-height:20px;color:var(--muted,#8d8d8d)}
.ox-rev-wrap{position:relative;padding:0 64px}
.ox-rev-wrap>.ox-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5}
.ox-rev-wrap>.ox-arrow--prev{left:0}
.ox-rev-wrap>.ox-arrow--next{right:0}
.ox-rev{display:grid;grid-template-columns:300px 1fr;gap:32px;padding:32px;border:1px solid var(--border,#d7d8da);border-radius:var(--r-lg,12px);background:var(--bg,#fff)}
.ox-rev__author{font-size:20px;line-height:26px;font-weight:500;color:var(--ink,#222228)}
.ox-rev__side .ox-stars{margin-top:8px}
.ox-rev__src{display:inline-flex;align-items:center;margin-top:12px;padding:4px 10px;border-radius:var(--r-md,6px);font-size:12px;line-height:16px;font-weight:500}
.ox-rev__src--wb{background:#f6f0ff;color:#a248c7}
.ox-rev__src--ym{background:#ffefcc;color:#8a6d00}
.ox-rev__product{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px;font-size:14px;line-height:20px;color:var(--text,#555558)}
.ox-rev__date{margin-top:6px;font-size:12px;line-height:16px;color:var(--muted,#8d8d8d)}
.ox-rev__text{display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;line-height:24px;color:var(--text,#555558)}
.ox-rev__more{display:inline-block;margin-top:12px;font-size:14px;color:var(--accent,#13b3f8);text-decoration:none}
.ox-rev__more:hover{text-decoration:underline}
.ox-rev__pag{position:static;display:none;justify-content:center;gap:8px;margin-top:16px}
.ox-reviews .swiper-pagination-bullet{width:28px;height:3px;margin:0!important;border-radius:2px;background:var(--border,#d7d8da);opacity:1;transition:background .2s}
.ox-reviews .swiper-pagination-bullet-active{background:var(--accent,#13b3f8)}
@media (max-width:1024px){
  .ox-rev{grid-template-columns:240px 1fr;gap:24px;padding:24px}
}
@media (max-width:768px){
  .ox-rev-wrap{padding:0}
  .ox-rev-wrap>.ox-arrow{display:none}
  .ox-rev{grid-template-columns:1fr;gap:16px}
  .ox-rev__text{-webkit-line-clamp:6}
  .ox-rev__pag{display:flex}
}

/* ===================== 5. Преимущества (§3.19) ===================== */
.ox-adv__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ox-adv__card{padding:24px;border:1px solid var(--border,#d7d8da);border-radius:var(--r-lg,12px);background:var(--bg,#fff)}
.ox-adv__icon{color:var(--accent,#13b3f8)}
.ox-adv__title{margin:16px 0 0;font-size:15px;line-height:22px;font-weight:500;color:var(--ink,#222228)}
.ox-adv__text{margin:8px 0 0;font-size:14px;line-height:20px;color:var(--text,#555558)}
@media (max-width:1024px){.ox-adv__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ox-adv__grid{grid-template-columns:1fr}}

/* ===================== 6. SEO-блок (§3.18) ===================== */
.ox-seo{padding-bottom:var(--section-gap,80px)}
.ox-seo__card{display:grid;grid-template-columns:1fr 480px;gap:32px;align-items:center;padding:32px;border:1px solid var(--border,#d7d8da);border-radius:var(--r-lg,12px);background:var(--bg,#fff)}
.ox-seo__card--noimg{grid-template-columns:1fr}
.ox-seo__title{margin:0;font-size:24px;line-height:32px;font-weight:500;color:var(--ink,#222228)}
.ox-seo__content p{margin:16px 0 0;font-size:16px;line-height:24px;color:var(--text,#555558)}
.ox-seo__btn{margin-top:24px}
.ox-seo__img{width:100%;height:100%;min-height:260px;max-height:360px;object-fit:cover;border-radius:var(--r-lg,12px)}
@media (max-width:1024px){.ox-seo__card{grid-template-columns:1fr 360px}}
@media (max-width:768px){
  .ox-seo__card{grid-template-columns:1fr;padding:24px}
  .ox-seo__img{min-height:0;max-height:280px}
}

/* ===================== Адаптив общих элементов (§10) ===================== */
@media (max-width:768px){
  .ox-section{padding-top:48px}
  .ox-seo{padding-bottom:48px}
  .ox-section__head{margin-bottom:20px}
  .ox-section__head h2{font-size:20px;line-height:30px}
}
@media (max-width:600px){
  .ox-hero{--hero-h:340px}
  .ox-hero__inner{padding-top:var(--ox-head-h,64px)}
  /* на мобильном фото занимает весь экран под текстом - усиленный скрим по всей высоте */
  .ox-hero__slide::before{background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.32) 42%,rgba(0,0,0,.5) 100%)}
  .ox-hero__title{font-size:22px;line-height:1.25}
  .ox-hero__text{font-size:14px;line-height:20px;margin-top:10px}
  .ox-hero__btn{margin-top:18px}
  .ox-hero__nav{display:none}
  .ox-hero__pag{bottom:16px}
  .ox-hero .swiper-pagination-bullet{width:24px}
}

/* End */


/* Start:/local/templates/optex2026/css/pcard.css?17942996906678*/
/* ============================================================================
   optex2026 - товарная плитка .ox-pcard (спека premier-spec.md §6.1-6.2).
   Используется на главной (секция «Популярные товары») и далее в каталоге.
   Токены - css/tokens.css (фолбэки со значениями спеки).
   Разметка - includes/_helpers.php::ox_pcard_html().
   TODO: hover-панель «Быстрый просмотр» (§6.2) - вместе с живым add2basket.
   ========================================================================== */

.ox-pcard{position:relative;display:flex;flex-direction:column;padding:8px;border-radius:var(--r-lg,12px);background:var(--bg,#fff);transition:box-shadow .3s,background .3s}
.ox-pcard:hover{z-index:4;box-shadow:var(--shadow-card,0 8px 24px rgba(34,34,40,.12))}
.ox-pcard__info{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
/* list-режим каталога (переключатель вида): фото слева, инфо справа */
.ox-cat__grid.is-list{grid-template-columns:1fr;gap:12px}
.ox-cat__grid.is-list .ox-pcard{flex-direction:row;align-items:stretch;gap:20px;padding:14px}
.ox-cat__grid.is-list .ox-pcard__photo{flex:0 0 180px;width:180px;height:180px;aspect-ratio:auto}
.ox-cat__grid.is-list .ox-pcard__name{-webkit-line-clamp:2;font-size:16px;margin-top:0;order:-1}
.ox-cat__grid.is-list .ox-pcard__buy{align-self:flex-start;width:auto;min-width:200px}
@media (max-width:600px){.ox-cat__grid.is-list .ox-pcard{flex-direction:column;gap:8px}.ox-cat__grid.is-list .ox-pcard__photo{flex:none;width:100%;height:auto;aspect-ratio:1/1}}

/* Фото: квадрат, radius 12 */
.ox-pcard__photo{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:var(--r-lg,12px);background:var(--bg-soft,#f3f4f7)}
/* плейсхолдер под img: у товаров без фото вместо пустого квадрата - иконка на сером */
.ox-pcard__photo::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2c4c8' stroke-width='1.4'%3E%3Crect x='3' y='3' width='18' height='18' rx='2.5'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.6'/%3E%3Cpath d='M20.5 15l-5-5L4 21.5'/%3E%3C/svg%3E") center/56px no-repeat;z-index:0}
.ox-pcard__photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;background:var(--bg,#fff)}
/* бейджи (скидка/новинка) в углу фото плитки - как в эталоне */
.ox-pcard__badges{position:absolute;top:8px;left:8px;z-index:2;display:flex;flex-direction:column;gap:4px;align-items:flex-start}

/* Строка цены: новая 16/500, старая 12 зачеркнута, бейдж скидки */
.ox-pcard__price{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px}
.ox-pcard__cur{font-size:16px;line-height:22px;font-weight:500;color:var(--ink,#222228)}
.ox-pcard__old{font-size:12px;line-height:16px;color:var(--muted,#8d8d8d);text-decoration:line-through}
.ox-pcard__disc{display:inline-flex;align-items:center;height:18px;padding:1px 6px;border-radius:var(--r-sm,4px);background:var(--badge-disc,#ff4f64);color:#fff;font-size:12px;font-weight:500}

/* Название: 14px, до 3 строк */
.ox-pcard__name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px;font-size:14px;line-height:20px;color:var(--ink,#222228);text-decoration:none;transition:color .2s}
.ox-pcard__name:hover{color:var(--accent,#13b3f8)}

/* Строка статуса: рейтинг + наличие */
.ox-pcard__meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px;min-height:18px;font-size:12px;line-height:16px;color:var(--ink,#222228)}
.ox-pcard__rating{display:inline-flex;align-items:center;gap:4px}
.ox-pcard__rating svg{color:var(--star,#ffb324)}
.ox-pcard__votes{color:var(--muted,#8d8d8d)}
.ox-pcard__stock{display:inline-flex;align-items:center;gap:4px;color:var(--green,#32cb41)}

/* Кнопка «В корзину» (компактная, как на главной референса) */
.ox-pcard__buy{margin-top:auto;display:flex;align-items:center;justify-content:center;align-self:stretch;width:100%;height:44px;padding:0 12px;line-height:1;text-align:center}
.ox-pcard__meta{margin-bottom:10px}

/* Кнопка «Сравнить» в углу фото (свой механизм сравнения, JS toggle) */
.ox-pcard__compare{position:absolute;top:8px;right:8px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--line,#e6e7ea);border-radius:50%;background:rgba(255,255,255,.92);color:var(--muted,#8d8d8d);cursor:pointer;transition:color .2s,background .2s,border-color .2s,box-shadow .2s}
.ox-pcard__compare:hover{color:var(--accent,#13b3f8);border-color:var(--accent,#13b3f8);box-shadow:0 2px 8px rgba(34,34,40,.12)}
.ox-pcard__compare.is-active{color:#fff;background:var(--accent,#13b3f8);border-color:var(--accent,#13b3f8)}
.ox-pcard__compare.is-active:hover{color:#fff}

@media (max-width:480px){
  .ox-pcard{padding:6px}
  .ox-pcard__cur{font-size:15px}
}

/* 09.11: отличия товаров под названием (характеристики из фильтра раздела) */
.ox-pcard__specs{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px;font-size:13px;line-height:1.35}
.ox-pcard__specs li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dotted rgba(14,42,71,.18);padding:2px 0}
.ox-pcard__specs span{color:#7a8696}
.ox-pcard__specs b{font-weight:600;color:var(--ink,#0e2a47);text-align:right;white-space:nowrap}
/* слайдер товаров: пока Swiper не запустился (или не запустился вовсе) карточки не растягиваются на всю ширину */
.swiper[data-ox-swiper="cards"]:not(.swiper-initialized) .swiper-wrapper{gap:12px;overflow:hidden}
.swiper[data-ox-swiper="cards"]:not(.swiper-initialized) .swiper-slide{width:calc((100% - 48px)/5);flex-shrink:0}
@media (max-width:1024px){.swiper[data-ox-swiper="cards"]:not(.swiper-initialized) .swiper-slide{width:calc((100% - 36px)/4)}}
@media (max-width:768px){.swiper[data-ox-swiper="cards"]:not(.swiper-initialized) .swiper-slide{width:calc((100% - 24px)/3)}}
@media (max-width:480px){.swiper[data-ox-swiper="cards"]:not(.swiper-initialized) .swiper-slide{width:calc((100% - 12px)/2.2)}}

/* End */


/* Start:/local/templates/optex2026/css/catalog.css?179429456214337*/
/* ============================================================================
   optex2026 - страницы каталога: листинг раздела (волна B).
   Спека: premier-spec.md §4 (каталог), §6 (карточка в сетке - pcard.css), §10 (адаптив).
   Блоки: крошки, шапка раздела (H1 + счетчик), интро, layout (сайдбар 304 + сетка),
   сайдбар (скин умного фильтра + категории + промо), панель сортировки,
   сетка 3 колонки, пагинация, SEO-текст, плитки корня каталога, мобильный оффканвас.
   Токены - css/tokens.css. Карточка товара - css/pcard.css (.ox-pcard).
   ========================================================================== */

/* ---------- хлебные крошки: 12px, разделитель-точка ---------- */
.ox-crumbs{margin:20px 0 16px;font-size:12px;line-height:16px}
.ox-crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;list-style:none;margin:0;padding:0}
.ox-crumbs__item{display:inline-flex;align-items:center;color:rgba(34,34,40,.48)}
.ox-crumbs__item a{color:rgba(34,34,40,.48);transition:color .2s}
.ox-crumbs__item a:hover{color:var(--accent,#13b3f8)}
.ox-crumbs__item + .ox-crumbs__item::before{content:"\00B7";margin:0 8px;color:rgba(34,34,40,.32)}

/* ---------- шапка раздела: H1 36 ---------- */
.ox-cat{padding-bottom:8px}
.ox-cat__head{display:flex;align-items:baseline;gap:12px}
.ox-cat__head h1{margin:0}
.ox-cat__intro{max-width:1000px;margin-top:12px;color:var(--text,#555558)}
.ox-cat__intro p{margin:0 0 12px}
.ox-cat__intro p:last-child{margin-bottom:0}

/* плитки подкатегорий на разделе-хабе (переиспользуют .ox-tile--sm из home.css) */
.ox-cat__subtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin-bottom:22px}
.ox-cat__subtiles .ox-tile--sm{height:140px}
@media(max-width:640px){.ox-cat__subtiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}}

/* ---------- layout: сайдбар 304 + контент ---------- */
.ox-cat__layout{display:grid;grid-template-columns:304px minmax(0,1fr);gap:32px;align-items:start;margin-top:16px}
/* меню прилипает к верху без большого зазора */
.ox-cat__side{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ox-cat__side-head{display:none}
.ox-cat__main{min-width:0}

/* ---------- панель над сеткой: сортировка + кнопка «Фильтры» (mobile) ---------- */
.ox-cat__panel{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.ox-sort{position:relative;display:inline-flex;align-items:center}
.ox-sort__select{
  height:36px;padding:0 36px 0 14px;border:1px solid var(--border,#d7d8da);
  border-radius:var(--r-md,6px);background:#fff;color:var(--ink,#222228);
  font-size:14px;cursor:pointer;
  appearance:none;-webkit-appearance:none;
}
.ox-sort__select:focus{outline:none;border-color:var(--accent,#13b3f8)}
.ox-sort::after{
  content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;
  border-right:1.5px solid var(--muted,#8d8d8d);border-bottom:1.5px solid var(--muted,#8d8d8d);
  transform:translateY(-70%) rotate(45deg);pointer-events:none;
}
.ox-cat__fbtn{display:none}
/* переключатель вида плитка/список */
.ox-viewtog{display:inline-flex;gap:2px;margin-left:auto;border:1px solid var(--border);border-radius:var(--r-md);padding:2px}
.ox-viewtog__btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;border-radius:4px;color:var(--muted);background:none;cursor:pointer;transition:background .2s,color .2s}
.ox-viewtog__btn:hover{color:var(--ink)}
.ox-viewtog__btn.is-active{background:var(--accent);color:#fff}

/* ---------- сетка товаров: 3 колонки (1440), карточки .ox-pcard ---------- */
.ox-cat__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ox-cat__cell{display:flex;flex-direction:column}
.ox-cat__cell .ox-pcard{flex:1;width:100%}
/* в сетке каталога кнопка «В корзину» - на всю ширину карточки (spec §6.1 п.6) */
.ox-cat__grid .ox-pcard__buy{align-self:stretch;width:100%}
.ox-cat__empty{padding:40px 0;color:var(--muted,#8d8d8d)}
.ox-cat__empty p{margin-bottom:16px}

/* ---------- пагинация: числовая, кружки, 14px ---------- */
.ox-cat__pager{margin-top:32px}
.ox-pager{display:flex;justify-content:center}
.ox-pager__list{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.ox-pager__list a,
.ox-pager__list > li > span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 6px;border-radius:18px;
  font-size:14px;color:var(--ink,#222228);transition:background .2s,color .2s;
}
.ox-pager__list a:hover{background:var(--bg-soft,#f3f4f7)}
.ox-pager__list .is-active > span{background:var(--accent,#13b3f8);color:#fff;font-weight:500}
.ox-pager__arr a,
.ox-pager__arr > span{border:1px solid var(--border,#d7d8da);border-radius:50%}
.ox-pager__arr a:hover{border-color:var(--ink,#222228);background:#fff}
.ox-pager__arr.is-off > span{opacity:.35}
.ox-pager__gap > span{min-width:auto;padding:0 2px;color:var(--muted,#8d8d8d)}

/* ---------- SEO-текст после сетки ---------- */
.ox-cat__seo{margin-top:48px;font-size:16px;line-height:24px;color:var(--text,#555558)}
.ox-cat__seo h2{margin:32px 0 16px;font-size:24px;line-height:32px}
.ox-cat__seo h3{margin:24px 0 10px;font-size:18px;line-height:26px}
.ox-cat__seo ul,.ox-cat__seo ol{margin:0 0 16px;padding-left:22px}
.ox-cat__seo img{border-radius:var(--r-lg,12px)}
.ox-cat__seo table{width:100%;font-size:14px}
.ox-cat__seo td,.ox-cat__seo th{padding:8px 10px;border:1px solid var(--border,#d7d8da)}

/* ---------- сайдбар: блок «Категории» ---------- */
.ox-side-cats{margin-bottom:24px}
.ox-side-cats__back{
  display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;
  font-size:14px;font-weight:500;color:var(--ink,#222228);transition:color .2s;
}
.ox-side-cats__back:hover{color:var(--accent,#13b3f8)}
.ox-side-cats__back svg{flex:none}
.ox-side-cats__list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}
.ox-side-cats__list a{
  display:block;padding:8px 12px;border-radius:var(--r-md,6px);
  font-size:14px;line-height:20px;color:var(--ink,#222228);transition:background .2s;
}
.ox-side-cats__list a:hover{background:var(--bg-soft,#f3f4f7)}
.ox-side-cats__list a.is-active{background:var(--bg-soft,#f3f4f7);font-weight:500}
.ox-side-cats__list--sub a{padding-left:24px}

/* ---------- сайдбар: промо-карточка «Гарантия 5 лет» (фотофон) ---------- */
.ox-side-promo{position:relative;display:block;height:220px;margin-top:24px;border-radius:var(--r-lg,12px);overflow:hidden;background:var(--bg-soft,#f3f4f7)}
.ox-side-promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ox-side-promo:hover img{transform:scale(1.05)}
.ox-side-promo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.2) 55%,rgba(0,0,0,0) 100%)}
.ox-side-promo__cap{position:absolute;left:16px;right:16px;bottom:16px;z-index:1}
.ox-side-promo__tag{
  display:inline-flex;align-items:center;height:24px;padding:1px 8px;border-radius:var(--r-sm,4px);
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);
  color:#fff;font-size:12px;font-weight:500;
}
.ox-side-promo__title{display:block;margin-top:8px;font-size:18px;line-height:24px;font-weight:500;color:#fff}

/* ---------- скин умного фильтра (системный visual_vertical, классы bx_filter_*;
   JS компонента не трогаем, переопределяем его легаси-CSS с запасом специфичности) ---------- */
.ox-filter{margin-bottom:28px;padding:16px;border-radius:var(--r-lg,12px);background:var(--bg-soft,#f3f4f7)}
/* скрыть блок цены (два окошка + ползунок): ползунок bx_ui_slider_track есть ТОЛЬКО у цены
   (класс _container встречается во всех группах - по нему нельзя, скроет весь фильтр) */
.ox-filter .bx_filter_parameters_box:has(.bx_ui_slider_track){display:none}
.ox-filter__title{margin-bottom:8px;font-size:16px;font-weight:500;color:var(--ink,#222228)}
.ox-filter .bx_filter{font-family:var(--font,inherit);min-width:0}
.ox-filter .bx_filter .bx_filter_section{
  background:transparent !important;padding:0;border:0;border-radius:0;color:var(--text,#555558);
}
.ox-filter .bx_filter .bx_filter_title{display:none}
.ox-filter .bx_filter .bx_filter_parameters_box{border-color:rgba(34,34,40,.08)}
.ox-filter .bx_filter .bx_filter_parameters_box_title{
  color:var(--ink,#222228) !important;font-size:14px;font-weight:500;
  text-shadow:none;background:transparent;
}
.ox-filter .bx_filter .bx_filter_parameters_box_title:hover{color:var(--accent,#13b3f8) !important}
.ox-filter .bx_filter .bx_filter_parameters_box_title .arrow{opacity:.6}
.ox-filter .bx_filter .bx_filter_param_label{font-size:13px;color:var(--text,#555558)}
.ox-filter .bx_filter .bx_filter_param_text{font-size:13px;color:var(--text,#555558);text-shadow:none}
.ox-filter .bx_filter input[type="checkbox"],
.ox-filter .bx_filter input[type="radio"]{accent-color:var(--accent,#13b3f8)}
.ox-filter .bx_filter .bx_filter_input_container input{
  border:1px solid var(--border,#d7d8da);border-radius:var(--r-md,6px);
  font-size:13px;color:var(--ink,#222228);background:#fff;box-shadow:none;
}
.ox-filter .bx_filter .bx_ui_slider_track{background:#e2e4e9}
.ox-filter .bx_filter .bx_ui_slider_pricebar_vd,
.ox-filter .bx_filter .bx_ui_slider_pricebar_v{background:var(--accent,#13b3f8)}
.ox-filter .bx_filter .bx_filter_search_button{
  height:36px;line-height:36px;margin:0 8px 0 0;padding:0 16px;border:0 !important;
  border-radius:var(--r-md,6px);background:var(--accent,#13b3f8) !important;
  color:#fff !important;font-size:14px;font-weight:500;cursor:pointer;
  text-shadow:none;box-shadow:none;filter:none;
}
.ox-filter .bx_filter .bx_filter_search_button:hover{background:var(--accent-hover,#0ea2e2) !important}
.ox-filter .bx_filter .bx_filter_search_reset{
  height:36px;line-height:36px;margin:0;padding:0 10px;border:0 !important;
  background:transparent !important;color:var(--muted,#8d8d8d) !important;
  font-size:14px;font-weight:400;cursor:pointer;text-shadow:none;box-shadow:none;filter:none;
}
.ox-filter .bx_filter .bx_filter_search_reset:hover{color:var(--ink,#222228) !important}
.ox-filter .bx_filter .bx_filter_button_box .bx_filter_block{padding:0}
.ox-filter .bx_filter .bx_filter_popup_result{
  border:1px solid var(--border,#d7d8da);border-radius:var(--r-md,6px);
  background:#fff;box-shadow:var(--shadow-menu,0 5px 30px rgba(34,34,40,.08));
  font-size:13px;color:var(--ink,#222228);
}
.ox-filter .bx_filter .bx_filter_popup_result .arrow{display:none}
.ox-filter .bx_filter .bx_filter_popup_result a{color:var(--accent,#13b3f8)}

/* ---------- корень каталога: плитки разделов ---------- */
.ox-cat__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:260px;gap:12px;margin-top:28px}

/* ---------- мобильный бэкдроп оффканваса фильтров ---------- */
.ox-cat-backdrop{
  position:fixed;inset:0;z-index:119;background:rgba(34,34,40,.4);
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;
}
.ox-cat-backdrop.is-on{opacity:1;visibility:visible}

/* ============================ адаптив (spec §10) ============================ */

/* 1024: сайдбар остается, сетка 2 колонки */
@media (max-width:1024px){
  .ox-cat__layout{grid-template-columns:260px minmax(0,1fr);gap:24px}
  .ox-cat__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ox-cat__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* 768: сайдбар -> оффканвас, кнопка «Фильтры» + сортировка в ряд */
@media (max-width:768px){
  .ox-cat__layout{display:block}
  .ox-cat__side{
    position:fixed;top:0;bottom:0;left:0;z-index:120;
    width:320px;max-width:86vw;max-height:none;
    padding:16px;background:#fff;overflow:auto;
    transform:translateX(-105%);transition:transform .3s ease;
    box-shadow:var(--shadow-menu,0 5px 30px rgba(34,34,40,.08));
  }
  .ox-cat__side.is-open{transform:none}
  .ox-cat__side-head{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin-bottom:16px;font-size:16px;font-weight:500;color:var(--ink,#222228);
  }
  .ox-cat__side-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--ink,#222228)}
  .ox-cat__fbtn{display:inline-flex}
  .ox-cat__panel{flex-wrap:wrap;gap:8px}
  .ox-sort{flex:1;min-width:0}
  .ox-sort__select{width:100%}
  .ox-cat__seo{margin-top:36px}
  .ox-side-promo{height:190px}
}

/* 480: сетка 2 колонки по ~173, зазор 8, поля 16 (переменная --pad-x) */
@media (max-width:480px){
  .ox-crumbs{margin:14px 0 12px}
  .ox-cat__grid{gap:8px}
  .ox-cat__layout{margin-top:20px}
  .ox-cat__tiles{grid-template-columns:1fr;grid-auto-rows:200px}
  .ox-pager__list a,.ox-pager__list > li > span{min-width:32px;height:32px}
}
/* 10.11: раздел-витрина с одним подразделом - четыре готовых стеллажа с близкой нагрузкой вместо одной плитки */
.ox-cat__picks{margin:0 0 28px}
.ox-cat__picks-h{font-size:22px;margin:0 0 14px}
.ox-cat__grid.ox-cat__grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ox-cat__picks-all{display:flex;justify-content:center;margin-top:16px}
@media(max-width:1100px){.ox-cat__grid.ox-cat__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* End */


/* Start:/local/templates/optex2026/css/card.css?179447303815182*/
/* ============================================================================
   optex2026 - карточка товара (premier-spec.md §5, §10). Волна B.
   Верх: галерея слева + sticky-колонка 358px; табы .ox-tabs; блок доверия и
   кросс-ссылки серий в карточках с бордером radius 12; слайдер .ox-pcard.
   Токены - css/tokens.css (фолбэки со значениями спеки).
   ========================================================================== */

/* ---------- верх: 2 колонки ---------- */
.ox-card{margin-top:24px}
.ox-card__top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 358px;
  gap:32px;
  align-items:start;
}

/* ---------- галерея ---------- */
.ox-card__ph{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  border-radius:var(--r-lg,12px);
  border:1px solid var(--bg-soft,#f3f4f7);
  background:var(--bg-soft,#f3f4f7);
  cursor:zoom-in;
  padding:0;
}
/* плейсхолдер под фото - товар без картинки не даёт пустой квадрат */
.ox-card__ph::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2c4c8' stroke-width='1.3'%3E%3Crect x='3' y='3' width='18' height='18' rx='2.5'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.6'/%3E%3Cpath d='M20.5 15l-5-5L4 21.5'/%3E%3C/svg%3E") center/72px no-repeat;z-index:0}
.ox-card__ph img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;background:#fff}
/* свёрнутые доп.фото (5+) скрыты атрибутом hidden; .ox-card__ph{display:block}
   перебивал бы его - уважаем hidden явно (иначе вся галерея вываливается простынёй) */
.ox-card__ph[hidden]{display:none !important}
.ox-card__ph--main{aspect-ratio:4/3}
.ox-card__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:12px;
}
.ox-card__grid .ox-card__ph{aspect-ratio:1/1}
.ox-card__morewrap{margin-top:16px;text-align:center}

/* ---------- правая sticky-колонка ---------- */
.ox-card__side{position:sticky;top:24px}
.ox-card__badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.ox-card__title{font-size:24px;line-height:32px;margin:0 0 10px}
.ox-card__meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:14px;
  font-size:12px;
  line-height:16px;
}
.ox-card__rating{display:inline-flex;align-items:center;gap:6px;color:var(--ink,#222228)}
.ox-card__rating-cnt{color:var(--muted,#8d8d8d)}
.ox-card__art{color:var(--muted,#8d8d8d)}

.ox-card__price{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.ox-card__price-cur{font-size:24px;line-height:32px;font-weight:500;color:var(--ink,#222228)}
.ox-card__price-old{font-size:15px;color:var(--muted,#8d8d8d);text-decoration:line-through}

/* покупка */
.ox-card__form{margin:0 0 10px}
.ox-card__buyrow{display:flex;gap:10px}
.ox-card__addcart{flex:1 1 auto}
.ox-card__buy1click{width:100%;margin-bottom:6px}
.ox-card__subscribe{margin-top:8px}
.ox-card__subscribe .ox-btn,.ox-card__subscribe span{width:100%;justify-content:center}
/* кнопка «Сравнить» в карточке (свой механизм, JS toggle -> ajax/compare.php) */
.ox-card__compare{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:8px 2px;border:0;background:none;color:var(--muted,#8d8d8d);font:inherit;font-size:14px;cursor:pointer;transition:color .2s}
.ox-card__compare:hover{color:var(--accent,#13b3f8)}
.ox-card__compare.is-active{color:var(--accent,#13b3f8)}
.ox-card__compare svg{flex:0 0 auto}

/* степпер количества */
.ox-qty{
  display:inline-flex;
  align-items:stretch;
  height:52px;
  border:1px solid var(--border,#d7d8da);
  border-radius:var(--r-md,6px);
  overflow:hidden;
  flex:none;
}
.ox-qty__btn{
  width:38px;
  font-size:18px;
  color:var(--ink,#222228);
  background:none;
  transition:background .2s;
}
.ox-qty__btn:hover{background:var(--bg-soft,#f3f4f7)}
.ox-qty__input{
  width:42px;
  border:0;
  text-align:center;
  font-size:15px;
  color:var(--ink,#222228);
  background:none;
}
.ox-qty__input:focus{outline:none}

/* карточки-панели (доверие, кросс-ссылки, отзыв) */
.ox-panelcard{
  border:1px solid var(--border,#d7d8da);
  border-radius:var(--r-lg,12px);
  padding:14px 16px;
  margin-top:12px;
}

/* блок доверия (#239/#241) */
.ox-trust ul{margin:0;padding:0;list-style:none;font-size:14px;line-height:1.6}
.ox-trust li{position:relative;padding-left:24px;margin:4px 0;color:var(--text,#555558)}
.ox-trust li::before{content:"\2022";position:absolute;left:2px;top:0;font-weight:700;color:var(--accent,#13b3f8)}
.ox-trust li.ox-trust__avail{color:var(--green,#32cb41);font-weight:500}
.ox-trust li.ox-trust__avail::before{content:"\2713";color:var(--green,#32cb41)}
.ox-trust li.ox-trust__order{color:#b26a00;font-weight:500}
.ox-trust li.ox-trust__order::before{content:"\2731";color:#b26a00}

/* кросс-ссылки серия <-> комплектующие (#240) */
.ox-xlink__title{font-weight:500;color:var(--ink,#222228);margin-bottom:6px;font-size:15px}
.ox-xlink ul{margin:0;padding:0;list-style:none;font-size:14px;line-height:1.5}
.ox-xlink li{position:relative;padding:3px 0 3px 18px}
.ox-xlink li::before{content:"\203A";position:absolute;left:4px;color:var(--accent,#13b3f8);font-weight:700}
.ox-xlink a{color:var(--ink,#222228);border-bottom:1px solid var(--border,#d7d8da);transition:color .2s,border-color .2s}
.ox-xlink a:hover{color:var(--accent,#13b3f8);border-color:var(--accent,#13b3f8)}
.ox-xlink p{margin:0;font-size:14px;line-height:1.55}

/* характеристики: метка 13px #8d8d8d - значение 14px (spec §5) */
.ox-card__specs{margin-top:18px}
.ox-card__specs-title{font-size:16px;font-weight:500;color:var(--ink,#222228);margin-bottom:8px}
.ox-specs{margin:0}
.ox-specs__row{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:5px 0;
}
.ox-specs dt{
  flex:0 0 46%;
  font-size:13px;
  color:var(--muted,#8d8d8d);
}
.ox-specs dd{margin:0;font-size:14px;color:var(--ink,#222228)}
.ox-specs--full{max-width:860px}
.ox-specs--full .ox-specs__row{border-bottom:1px solid var(--bg-soft,#f3f4f7);padding:9px 0}
.ox-specs--full dt{flex-basis:40%}

.ox-card__anchor{
  display:inline-block;
  margin-top:8px;
  font-size:14px;
  font-weight:500;
  color:var(--accent,#13b3f8);
  cursor:pointer;
}
.ox-card__anchor:hover{color:var(--accent-hover,#0ea2e2)}

.ox-card__short{margin-top:16px;font-size:14px;line-height:22px}
.ox-card__short p{margin:0}

/* ---------- табы под галереей ---------- */
.ox-card-tabs{margin-top:48px}
.ox-card-tabs__panel{margin-top:24px;font-size:16px;line-height:24px}
.ox-card__text{overflow-x:auto}
.ox-card__text img{max-width:100%;height:auto}
.ox-card__text table{max-width:100%}

/* вкладка видеоинструкции (#187): стили плеера как на боевом, вписаны в тему */
.vic-wrap{max-width:760px}
.vic-lead{font-size:15px;line-height:1.55;color:var(--text,#555558);margin:0 0 14px}
.vic-player{position:relative;width:100%;max-width:680px;aspect-ratio:16/9;background:#0d1530;cursor:pointer;border-radius:var(--r-lg,12px);overflow:hidden;outline:none}
.vic-player .vic-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vic-player video{position:absolute;inset:0;width:100%;height:100%;display:block;background:#0d1530}
.vic-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background:rgba(34,34,40,.82);pointer-events:none;transition:background .15s,transform .15s}
.vic-play::before{content:"";position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);border-style:solid;border-width:12px 0 12px 21px;border-color:transparent transparent transparent #fff}
.vic-player:hover .vic-play{background:var(--accent,#13b3f8);transform:translate(-50%,-50%) scale(1.06)}
.vic-more{margin:12px 0 0}
.vic-more a{color:var(--ink,#222228);font-weight:500}
.vic-more a:hover{color:var(--accent,#13b3f8)}

/* отзывы */
.ox-card-reviews{display:grid;gap:12px;max-width:860px}
.ox-card-review{margin-top:0}
.ox-card-review__author{font-weight:500;color:var(--ink,#222228);margin-bottom:6px}
.ox-card-review__text{font-size:14px;line-height:22px}

/* форма «Оставить отзыв» (таб Отзывы) */
.ox-card-reviews__empty{color:var(--muted,#8d8d8d);margin:0 0 4px}
.ox-review-form{margin-top:22px;padding-top:22px;border-top:1px solid var(--line,#e6e8ec);max-width:640px}
.ox-review-form__title{font-size:18px;font-weight:600;margin-bottom:14px;color:var(--ink,#222228)}
.ox-review-form__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.ox-review-form__grid{display:grid;gap:12px}
.ox-review-form__input{width:100%;padding:11px 14px;border:1px solid var(--line,#d7dae0);border-radius:var(--r-md,8px);font-size:15px;font-family:inherit;color:var(--ink,#222228);background:#fff;box-sizing:border-box}
.ox-review-form__input:focus{outline:none;border-color:var(--accent,#13b3f8)}
.ox-review-form__area{resize:vertical;min-height:96px;line-height:22px}
.ox-review-form__foot{display:flex;align-items:center;gap:16px;margin-top:14px;flex-wrap:wrap}
.ox-review-form__msg{font-size:14px}
.ox-review-form__msg.is-ok{color:#1a9e57}
.ox-review-form__msg.is-err{color:#e0322c}

/* ---------- слайдер «Вам также может понравиться» ---------- */
.ox-similar{margin-top:var(--section-gap,80px);margin-bottom:var(--section-gap,80px);position:relative}
.ox-similar .swiper{overflow:hidden}
.ox-similar .ox-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  box-shadow:0 2px 8px rgba(34,34,40,.1);
}
.ox-similar .ox-arrow--prev{left:-10px}
.ox-similar .ox-arrow--next{right:-10px}

/* ---------- лайтбокс ---------- */
/* по умолчанию скрыт атрибутом hidden (JS его переключает); display:flex ниже
   перебивал бы hidden, поэтому явно уважаем hidden - иначе лайтбокс открыт при загрузке */
.ox-lightbox[hidden]{display:none !important}
.ox-lightbox{
  position:fixed;
  inset:0;
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
  background:rgba(34,34,40,.78);
  cursor:zoom-out;
}
.ox-lightbox__img{
  max-width:min(1100px,100%);
  max-height:100%;
  border-radius:var(--r-lg,12px);
  background:#fff;
}
.ox-lightbox__close{
  position:absolute;
  top:16px;
  right:20px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(0,0,0,.4);
  color:#fff;
  font-size:26px;
  line-height:1;
}
.ox-lightbox__close:hover{background:rgba(0,0,0,.6)}

/* ---------- адаптив (spec §10) ---------- */
@media (max-width:1024px){
  .ox-card__top{grid-template-columns:1fr;gap:28px}
  .ox-card__side{position:static;max-width:640px}
  .ox-similar .ox-arrow{display:none}
}
@media (max-width:600px){
  .ox-card__title{font-size:20px;line-height:28px}
  .ox-card__price-cur{font-size:22px}
  .ox-card__grid{gap:8px}
  .ox-card-tabs{margin-top:32px}
  .ox-lightbox{padding:12px}
}

/* ---------- 12.11 галерея с миниатюрами и полки +/- ---------- */
.ox-gal__main{position:relative}
.ox-gal__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink,#222228);box-shadow:0 1px 4px rgba(0,0,0,.15);cursor:pointer;transition:background .2s,color .2s}
.ox-gal__nav:hover{color:var(--accent,#13b3f8)}
.ox-gal__nav--prev{left:10px}
.ox-gal__nav--next{right:10px}
.ox-gal__cnt{position:absolute;right:10px;bottom:10px;z-index:2;padding:2px 8px;border-radius:10px;background:rgba(34,34,40,.6);color:#fff;font-size:12px;line-height:18px;pointer-events:none}
.ox-gal__cnt b{font-weight:500}
.ox-gal__thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:10px}
.ox-gal__t{display:block;padding:0;aspect-ratio:1/1;border:2px solid transparent;border-radius:var(--r-md,6px);overflow:hidden;background:#fff;cursor:pointer;transition:border-color .2s}
.ox-gal__t img{display:block;width:100%;height:100%;object-fit:contain}
.ox-gal__t:hover{border-color:var(--border,#d7d8da)}
.ox-gal__t.is-active{border-color:var(--accent,#13b3f8)}

.ox-polki{margin:0 0 14px}
.ox-polki__t{font-size:14px;line-height:20px;margin-bottom:6px;color:var(--ink,#222228)}
.ox-polki__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ox-polki__qty{height:44px}
.ox-polki__qty .ox-qty__btn:disabled{opacity:.35;cursor:default;background:none}
.ox-polki__note{font-size:13px;line-height:18px;color:var(--muted,#8d8d8d)}
.ox-polki__ok{margin-top:8px;font-size:14px;color:var(--ink,#222228)}
.ox-polki__ok a{color:var(--accent,#13b3f8)}

@media (max-width:600px){
  .ox-gal__thumbs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .ox-gal__thumbs::-webkit-scrollbar{display:none}
  .ox-gal__t{flex:0 0 64px;width:64px;scroll-snap-align:start}
  .ox-gal__nav{width:34px;height:34px}
}
/* лента миниатюр на телефоне не должна раздвигать колонку карточки */
.ox-card__top>*{min-width:0}
.ox-gal{min-width:0;max-width:100%}

/* 12.11 описание товара: единый вид для всех товаров */
.ox-card__text{font-size:15px;line-height:1.65;color:var(--ink,#222228);max-width:860px}
.ox-card__text p{margin:0 0 14px}
.ox-card__text .ox-desc__h,.ox-card__text h2,.ox-card__text h3{font-size:18px;line-height:26px;font-weight:600;margin:26px 0 12px;text-align:left}
.ox-card__text .ox-desc__h:first-child,.ox-card__text h2:first-child,.ox-card__text h3:first-child{margin-top:0}
.ox-card__text ul,.ox-card__text ol{margin:0 0 18px;padding:0}
.ox-card__text ul{list-style:none}
.ox-card__text ul>li{position:relative;padding-left:22px;margin:0 0 8px}
.ox-card__text ul>li::before{content:"";position:absolute;left:4px;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--accent,#13b3f8)}
.ox-card__text ol{padding-left:22px}
.ox-card__text ol>li{margin:0 0 8px}
.ox-card__text .ox-desc__note{margin-top:18px;padding:10px 14px;border-left:3px solid var(--accent,#13b3f8);background:var(--bg-soft,#f3f4f7);font-size:14px}
@media (max-width:600px){.ox-card__text{font-size:14px}.ox-card__text .ox-desc__h,.ox-card__text h3{font-size:17px}}

/* 12.11 планировщик в карточке стеллажа, после вкладок с описанием */
.ox-card__plan{margin-top:56px}
.ox-card__plan .ox-plan{margin:0}
@media (max-width:767px){.ox-card__plan{margin-top:36px}}

/* End */


/* Start:/local/templates/optex2026/css/basket.css?179413273410584*/
/* optex2026: лёгкий скин страницы корзины (/personal/cart/).
   Шаблон и логика компонента sale.basket.basket (старая тема flyaway) НЕ меняются -
   только внешний вид существующей разметки по токенам темы (tokens.css).
   Классы найдены живым краулом страницы с товаром в корзине (12.07.2026).
   Всё скопировано под .personal-basket, чтобы не задеть чужие страницы
   (чекаут /personal/order/ использует те же bootstrap-имена classes). */

.personal-basket{
  max-width:1434px;
  margin:0 auto;
  padding:32px var(--pad-x) 64px;
}

/* Bootstrap-класс .hidden из старой темы ничего не значит без её CSS -
   без этого правила видна лишняя точка/строка "Готовые к заказу (1)" и
   задвоенная ссылка "Очистить корзину". Возвращаем исходно задуманное поведение. */
.personal-basket .hidden{display:none}
.personal-basket .tab-pane{display:none}

/* ---------- вкладки (если появятся отложенные/ожидаемые товары) ---------- */
.personal-basket .nav-basket{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:0 0 24px;
  padding:0;
}
.personal-basket .nav-basket .btn-button{
  display:inline-flex;
  align-items:center;
  height:40px;
  padding:0 18px;
  border-radius:var(--r-md);
  background:var(--bg-tab);
  color:var(--ink);
  font-size:14px;
  transition:background .2s,color .2s;
}
.personal-basket .nav-basket .btn-button:hover{background:#e4e5e8}

.personal-basket .personal-basket__clear-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:16px;
  color:var(--muted);
  font-size:14px;
  transition:color .2s;
}
.personal-basket .personal-basket__clear-link:hover{color:var(--ink)}
.personal-basket .personal-basket__clear-link .fa-trash{font-style:normal}

/* ---------- шапка таблицы (десктоп) ---------- */
.personal-basket .header_table_basket{
  width:100%;
  border-collapse:collapse;
  margin-bottom:8px;
}
.personal-basket .header_table_basket th{
  padding:0 16px 8px;
  text-align:left;
  font-size:12px;
  font-weight:500;
  color:var(--muted);
}

/* ---------- карточки товаров ---------- */
.personal-basket .basket_box-t{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px;
  margin-bottom:12px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
}
.personal-basket .basket-table__itemphoto{flex:none}
.personal-basket .basket-table__photo{
  width:64px;
  height:64px;
  border-radius:var(--r-md);
  background-color:var(--bg-soft);
  background-size:cover;
  background-position:center;
}
.personal-basket .basket-table__item{flex:1 1 auto;min-width:0}
.personal-basket .basket-table__name{
  font-size:15px;
  line-height:22px;
  color:var(--ink);
}
.personal-basket .basket-table__name a{color:var(--ink)}
.personal-basket .basket-table__name a:hover{color:var(--accent)}

.personal-basket .basket-table__quantity{
  display:flex;
  align-items:center;
  gap:8px;
  flex:none;
}
.personal-basket .basket-btn-quantity{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  color:var(--ink);
  cursor:pointer;
  -webkit-user-select:none;
  user-select:none;
  transition:border-color .2s,color .2s;
}
.personal-basket .basket-btn-quantity:hover{border-color:var(--ink);color:var(--accent)}
.personal-basket .basket-table__quantity input[type="text"]{
  width:48px;
  height:32px;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  text-align:center;
  font-size:14px;
  color:var(--ink);
}
.personal-basket .basket-table__quantity input[type="text"]:focus{outline:none;border-color:var(--accent)}

.personal-basket .basket-table__sum{
  flex:none;
  min-width:110px;
  text-align:right;
}
.personal-basket .basket-table__sum .h4{font-weight:700;font-size:16px;color:#222228}
.personal-basket .prices__val_cool{font-weight:700;color:#222228}

.personal-basket .basket-table__controls a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  font-size:14px;
  white-space:nowrap;
  transition:color .2s;
}
.personal-basket .basket-table__controls a:hover{color:var(--badge-disc)}
.personal-basket .basket-table__controls .fa-trash{font-style:normal}

/* строка "требуется сборка" */
.personal-basket .additional_building__radio{
  display:flex;
  gap:16px;
  margin-top:8px;
  font-size:14px;
  color:var(--text);
}

/* ---------- итоговая панель + купон ---------- */
.personal-basket .personal-panel{
  margin-top:8px;
  padding:24px;
  background:var(--bg-gray-card);
  border:0;
  border-radius:var(--r-lg);
}
.personal-basket .personal-panel .panel-body > .row{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
}
.personal-basket ._title_panel{margin-bottom:10px}
.personal-basket ._title{font-size:14px;font-weight:500;color:var(--ink)}

.personal-basket .input-group.form{display:flex;gap:8px;max-width:340px}
.personal-basket #coupon,
.personal-basket .form-item{
  height:44px;
  flex:1 1 auto;
  min-width:0;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:6px 16px;
  font-size:15px;
  color:var(--ink);
  background:#fff;
}
.personal-basket #coupon:focus,
.personal-basket .form-item:focus{outline:none;border-color:var(--accent)}
.personal-basket .input-group-btn .btn2{
  height:44px;
  padding:0 20px;
  border:1px solid var(--border-btn);
  border-radius:var(--r-md);
  background:transparent;
  color:var(--ink);
  font-size:14px;
  cursor:pointer;
  transition:border-color .2s;
}
.personal-basket .input-group-btn .btn2:hover{border-color:var(--ink)}

.personal-basket .personal-panel__allinfo-block{margin-bottom:16px}
.personal-basket #allSum_FORMATED{font-size:22px;font-weight:700;color:#222228}

.personal-basket .personal-panel__btn-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.personal-basket .personal-panel__btn-wrap .btn-button,
.personal-basket .personal-panel__btn-wrap .btn2{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:48px;
  padding:0 24px;
  border-radius:var(--r-md);
  font-size:15px;
  font-weight:500;
  white-space:nowrap;
  transition:background .2s,border-color .2s,color .2s;
}
.personal-basket .personal-panel__btn-wrap .btn-button{
  background:transparent;
  border:1px solid var(--border-btn);
  color:var(--ink);
}
.personal-basket .personal-panel__btn-wrap .btn-button:hover{border-color:var(--ink)}
.personal-basket .personal-panel__btn-wrap .btn2{
  background:var(--accent);
  border:1px solid var(--accent);
  color:#fff;
}
.personal-basket .personal-panel__btn-wrap .btn2:hover{background:var(--accent-hover);border-color:var(--accent-hover)}

/* ---------- пустая корзина ---------- */
main.ox-main > .alert.alert-info{
  width:calc(100% - 2 * var(--pad-x));
  max-width:calc(1434px - 2 * var(--pad-x));
  margin:32px auto 64px;
  padding:24px 32px;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  background:var(--bg-gray-card);
  color:var(--text);
  font-size:15px;
}

/* ---------- адаптив ---------- */
@media (max-width:768px){
  .personal-basket{padding:20px var(--pad-x) 48px}
  .personal-basket .basket_box-t{flex-wrap:wrap}
  .personal-basket .basket-table__sum{text-align:left;min-width:0}
  .personal-basket .personal-panel .panel-body > .row{flex-direction:column;gap:16px}
  .personal-basket .input-group.form{max-width:none}
  .personal-basket .personal-panel__btn-wrap{flex-direction:column}
  .personal-basket .personal-panel__btn-wrap .btn-button,
  .personal-basket .personal-panel__btn-wrap .btn2{width:100%}
  main.ox-main > .alert.alert-info{margin:20px auto 48px;padding:20px}
}
/* корзина в стиле «Чертеж», ширина как у сайта, без купона (08.11) */
.personal-basket .header_table_basket{display:none}
.personal-basket .basket_box-t{border:1.5px solid var(--ink);border-radius:0;padding:16px 20px;gap:20px}
.personal-basket .basket-table__photo{width:96px;height:96px;border-radius:0;background-color:#fff;background-size:contain;background-repeat:no-repeat;border:1px solid var(--line)}
.personal-basket .basket-table__name{font-size:16px;line-height:1.35}
.personal-basket .personal-panel{margin:20px 0 0;padding:0;background:none;border-radius:0}
.personal-basket .personal-panel .panel-body>.row{justify-content:flex-end;margin:0}
.personal-basket .personal-panel .panel-body>.row>.col:first-child{display:none}
.personal-basket .personal-panel .panel-body>.row>.col:last-child{width:100%;max-width:560px;flex:0 0 auto;padding:22px 24px;background:#fff;border:1.5px solid var(--ink);float:none}
.personal-basket .personal-panel__allinfo{width:100%;padding:0;float:none}
.personal-basket .personal-panel__allinfo-block{margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.personal-basket .personal-panel__allinfo ._title{display:flex;align-items:baseline;justify-content:space-between;width:100%;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#7a8696}
.personal-basket #allSum_FORMATED{font-family:var(--mono);font-size:30px;font-weight:500;letter-spacing:-.03em;color:var(--ink)}
.personal-basket .personal-panel__btn-wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.personal-basket .personal-panel__btn-wrap .btn-button,.personal-basket .personal-panel__btn-wrap .btn2{display:flex;align-items:center;justify-content:center;width:100%;height:52px;padding:0 12px;border-radius:0;font-size:15px;font-weight:600;text-align:center;white-space:nowrap}
.personal-basket .personal-panel__btn-wrap .btn-button{background:#fff;border:1.5px solid var(--ink);color:var(--ink)}
.personal-basket .personal-panel__btn-wrap .btn2{background:var(--ink);border:1.5px solid var(--ink);color:#fff;box-shadow:4px 4px 0 var(--accent)}
.personal-basket .personal-panel__btn-wrap .btn2:hover{background:var(--ink);box-shadow:6px 6px 0 var(--accent)}
.personal-basket .personal-panel__btn-wrap .btn-button:hover{background:var(--paper)}
@media (max-width:560px){.personal-basket .personal-panel__btn-wrap{grid-template-columns:1fr}}

/* End */


/* Start:/local/templates/optex2026/css/shop-pages.css?179442296822124*/
/* optex2026: скин двух сырых страниц - оформление заказа (/personal/order/make/,
   sale.order.ajax, шаблон старой темы) и поиск по каталогу (/catalog/?q=...).
   Логика и DOM компонентов НЕ меняются - только внешний вид существующей
   разметки по токенам темы (tokens.css), приемы как в basket.css.
   Классы найдены живым краулом страниц (12-13.07.2026):
   - заказ: якорь #order_form_content (уникальный id формы sale.order.ajax);
   - поиск: якорь .search-page (только на странице поиска; H1/крошки/пейджер
     используют общие ox-cat__*/ox-pager - уже стилизованы catalog.css). */

/* =========================================================================
   1. ОФОРМЛЕНИЕ ЗАКАЗА - #order_form_content
   ========================================================================= */

/* обёртка страниц заказа (make/list) - ограничивает ширину контента шириной
   шапки (1434) на широких мониторах; иначе форма растекается на весь экран */
.ox-shop-wrap{max-width:1434px;margin:0 auto;padding:24px var(--pad-x) 56px}

#order_form_content{
  max-width:920px;
  margin:0 auto;
  padding:32px 0 64px;
}

/* дублирующий список состава заказа (плавающий блок float-basket-order) -
   тот же товар уже показан таблицей в карточке "Состав заказа" ниже;
   прячем по классу, чтобы не путать покупателя двойным списком. */
#order_form_content .float-basket-order{display:none}

/* Bootstrap-утилиты hidden-* без своей темы ничего не значат: строка состава
   заказа рисуется одновременно и десктоп-, и мобильной версткой - отсюда
   задвоенные "Розничная цена/Сумма/Кол-во". Возвращаем исходно задуманное
   переключение по ширине экрана. */
@media (max-width:768px){
  #order_form_content .hidden-xs,
  #order_form_content .hidden-sm{display:none}
}
@media (min-width:769px){
  #order_form_content .hidden-md,
  #order_form_content .hidden-lg{display:none}
}

/* ---------- карточки-секции (панели аккордеона) ---------- */
#order_form_content .panel.panel-order{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  margin-bottom:16px;
  overflow:hidden;
}
#order_form_content .panel-heading{padding:20px 24px 0}
#order_form_content .panel-title{margin:0}
#order_form_content .panel-title a{
  display:block;
  font-size:24px;
  line-height:32px;
  font-weight:500;
  color:var(--ink);
}
#order_form_content .panel-body{padding:16px 24px 24px}

/* ---------- тип плательщика (переключатель) ---------- */
#order_form_content .personal-makeorder__person-type > .col > .form-group > label{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  color:var(--text);
}
#order_form_content .personal-makeorder__person-type .btn.btn-default.btn-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  padding:0 18px;
  margin:0 8px 8px 0;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  font-size:14px;
  color:var(--ink);
  cursor:pointer;
  transition:border-color .2s,background .2s,color .2s;
}
#order_form_content .personal-makeorder__person-type .btn-button:hover{border-color:var(--ink)}
#order_form_content .personal-makeorder__person-type .btn-button.active{
  border-color:var(--accent);
  background:var(--bg-soft);
  color:var(--ink);
  font-weight:500;
}

/* ---------- поля формы (Ф.И.О./E-Mail/Телефон/город/адрес/коммент) ---------- */
#order_form_content .form-group{margin-bottom:16px}
#order_form_content .control-label,
#order_form_content label[for="ORDER_DESCRIPTION"]{
  display:inline-block;
  margin-bottom:6px;
  font-size:14px;
  color:var(--text);
}
#order_form_content .required{display:inline-block;margin:0 0 6px 2px;color:var(--badge-disc)}

#order_form_content .form-control{
  display:block;
  width:100%;
  height:44px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:6px 16px;
  font-size:15px;
  color:var(--ink);
  background:#fff;
  transition:border-color .2s;
}
#order_form_content textarea.form-control{
  height:auto;
  min-height:96px;
  padding-top:10px;
  resize:vertical;
}
#order_form_content .form-control:focus{outline:none;border-color:var(--accent)}

/* два поля в ряд там, где есть пара свойств (ФИО+email, телефон+город) */
#order_form_content .row:has(> [data-property-id-row]){
  display:flex;
  flex-wrap:wrap;
  gap:0 24px;
}
#order_form_content [data-property-id-row]{flex:1 1 260px;min-width:220px}

/* город (bx-ui-sls: составной виджет саджеста) - визуально как обычный ox-input */
#order_form_content .location-block-wrapper.form-control{
  height:44px;
  padding:0;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
}
#order_form_content .bx-sls,
#order_form_content .dropdown-block{width:100%;height:100%}
#order_form_content .dropdown-block{display:flex;align-items:center}
#order_form_content .bx-ui-sls-fake{
  width:100%;
  height:100%;
  border:0;
  padding:6px 16px;
  font-size:15px;
  color:var(--ink);
  background:transparent;
}
/* декоративный дублирующий инпут саджеста и служебные элементы без иконок - скрываем */
#order_form_content .bx-ui-sls-route,
#order_form_content .dropdown-field,
#order_form_content .dropdown-icon,
#order_form_content .bx-ui-sls-clear,
#order_form_content .bx-ui-sls-loader,
#order_form_content .dropdown-fade2white,
#order_form_content .bx-ui-sls-error-message{display:none}
#order_form_content .bx-ui-sls-pane{
  position:absolute;
  left:0;right:0;top:calc(100% + 4px);
  z-index:20;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-menu);
}

/* ---------- служба доставки / платежная система (радио-строки) ---------- */
#order_form_content table.table-order{
  width:100%;
  border-collapse:separate;
  border-spacing:0 10px;
}
#order_form_content table.table-order tr{
  border:1px solid var(--border);
  cursor:pointer;
  transition:border-color .2s,background .2s;
}
#order_form_content table.table-order tr:hover{border-color:var(--ink)}
#order_form_content table.table-order tr:has(input:checked){
  border-color:var(--accent);
  background:var(--bg-soft);
}
#order_form_content table.table-order td{padding:14px 16px;vertical-align:middle}
#order_form_content table.table-order td b{color:var(--ink)}
#order_form_content table.table-order td p{margin:4px 0 0;color:var(--text)}
#order_form_content .gui-box.table-order__radio{width:28px}
#order_form_content .table-order__img{
  display:block;
  width:64px;
  height:44px;
  border-radius:var(--r-md);
  background-color:var(--bg-soft);
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}

/* ---------- состав заказа (таблица) ---------- */
#order_form_content .basket-table--order{width:100%}
#order_form_content .basket-table--order thead th{
  padding:0 16px 8px;
  text-align:left;
  font-size:12px;
  font-weight:500;
  color:var(--muted);
}
#order_form_content .basket-table--order tbody tr{border-top:1px solid var(--border)}
#order_form_content .basket-table--order td{padding:16px}
#order_form_content .basket-table__name a{color:var(--ink);transition:color .2s}
#order_form_content .basket-table__name a:hover{color:var(--accent)}
#order_form_content .prices__val_cool{font-weight:700;color:var(--ink)}

/* ---------- комментарий к заказу ---------- */
#order_form_content #ORDER_DESCRIPTION{margin-top:0}

/* ---------- итоговая панель ---------- */
#order_form_content .panel.panel-default.personal-panel{
  background:var(--bg-gray-card);
  border:0;
  border-radius:var(--r-lg);
  padding:24px;
  margin-top:8px;
}
#order_form_content .personal-panel .row{display:flex;flex-direction:column;gap:12px}
#order_form_content .personal-panel .col.col-xs-6{width:100%;flex:none}
#order_form_content .personal-panel .pull-right{float:none}
#order_form_content .personal-panel__allinfo-summary{
  font-size:14px;
  line-height:22px;
  color:var(--text);
}
#order_form_content .personal-panel span.prices.prices__val_cool{
  font-size:22px;
  font-weight:700;
  color:var(--ink);
}
#order_form_content .personal-panel__editbasket-link{
  display:inline-flex;
  color:var(--muted);
  font-size:14px;
  transition:color .2s;
}
#order_form_content .personal-panel__editbasket-link:hover{color:var(--ink)}

#order_form_content #ORDER_CONFIRM_BUTTON{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:52px;
  border-radius:var(--r-md);
  background:var(--accent);
  color:#fff;
  font-size:16px;
  font-weight:500;
  transition:background .2s;
}
#order_form_content #ORDER_CONFIRM_BUTTON:hover{background:var(--accent-hover)}

@media (max-width:768px){
  #order_form_content{padding:20px var(--pad-x) 48px}
  #order_form_content [data-property-id-row]{flex:1 1 100%}
  #order_form_content .panel-heading{padding:16px 16px 0}
  #order_form_content .panel-body{padding:12px 16px 16px}
  #order_form_content .panel.panel-default.personal-panel{padding:16px}
}

/* =========================================================================
   2. ПОИСК ПО КАТАЛОГУ - .search-page (компонент search.page на /catalog/?q=)
   H1 "Поиск по каталогу" (ox-cat__title), крошки (ox-crumbs) и пейджер
   (ox-pager) - общие классы темы, уже стилизованы catalog.css/base.css.
   ========================================================================= */

.ox-cat__search{margin-top:8px}
.search-page{max-width:900px}

/* форма "инпут + Искать" в ряд */
.search-page > form{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 28px;
}
.search-page > form input[type="text"]{
  flex:1 1 240px;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
  height:44px;
  border:1px solid var(--border);
  border-radius:var(--r-md);
  padding:6px 16px;
  font-size:15px;
  color:var(--ink);
  background:#fff;
  transition:border-color .2s;
}
/* узкий мобильный: инпут и кнопка в столбик на всю ширину - иначе поле вылезает за экран */
@media (max-width:480px){
  .search-page > form input[type="text"]{flex:1 1 100%}
  .search-page > form input[type="submit"]{width:100%}
}
.search-page > form input[type="text"]:focus{outline:none;border-color:var(--accent)}
.search-page > form input[type="submit"]{
  flex:none;
  height:44px;
  padding:0 24px;
  border:1px solid var(--accent);
  border-radius:var(--r-md);
  background:var(--accent);
  color:#fff;
  font-size:15px;
  font-weight:500;
  cursor:pointer;
  transition:background .2s,border-color .2s;
}
.search-page > form input[type="submit"]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}

/* служебные переносы строк шаблона - убираем, переносы держат сами блоки */
.search-page > br{display:none}

/* результат: заголовок-ссылка + сниппет + "Изменен"/"Путь" мелким + разделитель */
.search-page > a{
  display:block;
  margin:24px 0 8px;
  font-size:16px;
  line-height:24px;
  font-weight:500;
  color:var(--ink);
  transition:color .2s;
}
.search-page > a:hover{color:var(--accent)}
.search-page > a b{font-weight:500}
.search-page > p{
  margin:0 0 10px;
  font-size:14px;
  line-height:22px;
  color:var(--text);
}
.search-page > p b{color:var(--ink);font-weight:600}
.search-page > small{
  display:block;
  font-size:12px;
  line-height:18px;
  color:var(--muted);
}
.search-page > small a{color:var(--muted);transition:color .2s}
.search-page > small a:hover{color:var(--accent)}
.search-page > hr{
  border:0;
  border-top:1px solid var(--border);
  margin:16px 0 0;
}

.search-page > .ox-pager{margin:28px 0 8px}

/* "Отсортировано по релевантности / по дате" - переопределяет общий .search-page > p */
.search-page > .ox-pager ~ p{
  margin:16px 0 0;
  font-size:14px;
  color:var(--text);
}
.search-page > .ox-pager ~ p a{color:var(--accent);transition:color .2s}
.search-page > .ox-pager ~ p a:hover{color:var(--accent-hover);text-decoration:underline}

@media (max-width:768px){
  .search-page > form{gap:8px}
  .search-page > form input[type="text"]{flex:1 1 100%}
  .search-page > form input[type="submit"]{flex:1 1 100%}
}

/* согласие на обработку данных в оформлении (поле из боевого шаблона flyaway_old, 17.10.2026) */
.order-consent{margin:4px 0 16px}
.order-consent .gui-checkbox{display:block;position:relative;padding-left:26px;font-size:14px;line-height:1.45;cursor:pointer}
.order-consent .gui-checkbox-input{position:absolute;left:0;top:2px;margin:0;accent-color:var(--accent,#13b3f8)}
.order-consent a{color:var(--accent,#13b3f8);text-decoration:underline;text-underline-offset:2px}
.order-consent .text-danger{color:#d93025;font-size:13px;margin-top:6px}

/* «Заказ сформирован» (confirm.php боевого шаблона) */
.ox-order-done{padding-top:32px;padding-bottom:48px}
.ox-order-done .row,.ox-order-done .col{margin:0;padding:0;width:auto;float:none}
.ox-order-done .col{background:var(--surface,#f3f4f6);border-radius:16px;padding:32px 40px;max-width:820px}
.ox-order-done p{margin:0 0 12px;font-size:16px;line-height:1.55}
.ox-order-done p:first-child b{display:block;font-size:28px;line-height:1.2;font-weight:600;margin-bottom:8px}
.ox-order-done a{color:var(--accent,#13b3f8)}
@media (max-width:767px){.ox-order-done .col{padding:20px 16px}.ox-order-done p:first-child b{font-size:22px}}

/* =========================================================================
   11.11 ОФОРМЛЕНИЕ ЗАКАЗА в стиле сайта: товар сверху, шаги-карточки, итог
   ========================================================================= */
#order_form_content{max-width:960px}
#order_form_content .panel-group.personal-makeorder{counter-reset:oxstep}
#order_form_content .panel.panel-order{border:1px solid var(--line, var(--border));box-shadow:var(--shadow-card);margin-bottom:20px}
#order_form_content .panel-title a{display:flex;align-items:center;gap:12px;font-size:22px;line-height:28px;font-weight:600}
#order_form_content .panel-title a::before{
  counter-increment:oxstep;content:counter(oxstep, decimal-leading-zero);
  font-family:var(--mono, monospace);font-size:13px;font-weight:600;letter-spacing:.04em;
  color:#fff;background:var(--ink);padding:3px 7px;line-height:18px
}
#order_form_content .panel-heading{padding:22px 28px 0}
#order_form_content .panel-body{padding:18px 28px 28px}

/* товар сверху */
.ox-order-items{background:#fff;border:1px solid var(--line, var(--border));box-shadow:var(--shadow-card);padding:22px 28px;margin-bottom:20px}
.ox-order-items__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}
.ox-order-items__title{margin:0;font-size:26px;line-height:32px;font-weight:700;color:var(--ink)}
.ox-order-items__edit{font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.ox-order-items__edit:hover{color:var(--accent)}
.ox-order-item{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:18px;padding:14px 0;border-top:1px dashed var(--line, var(--border))}
.ox-order-item:first-of-type{border-top:0}
.ox-order-item__pic{width:88px;height:88px;background:var(--bg-soft);border:1px solid var(--line, var(--border));display:flex;align-items:center;justify-content:center;overflow:hidden}
.ox-order-item__pic img{max-width:100%;max-height:100%;object-fit:contain}
.ox-order-item__name{font-size:16px;line-height:22px;font-weight:500;color:var(--ink)}
.ox-order-item__name a{color:var(--ink)}
.ox-order-item__name a:hover{color:var(--accent)}
.ox-order-item__qty{margin-top:6px;font-family:var(--mono, monospace);font-size:13px;color:var(--muted)}
.ox-order-item__sum{font-size:20px;font-weight:700;color:var(--ink);white-space:nowrap}

/* физлицо / юрлицо - переключатель-сегменты */
#order_form_content .personal-makeorder__person-type{margin-bottom:8px}
#order_form_content .ox-ptype{display:inline-flex;border:1px solid var(--ink)}
#order_form_content .ox-ptype > label{margin:0}
#order_form_content .ox-ptype .btn.btn-default.btn-button{
  border:0;border-radius:0;margin:0;padding:11px 22px;font-size:15px;font-weight:600;
  background:#fff;color:var(--ink);box-shadow:none;cursor:pointer
}
#order_form_content .ox-ptype .btn-button.active{background:var(--ink);color:#fff}
#order_form_content .ox-ptype > label + label .btn-button{border-left:1px solid var(--ink)}

/* поля */
#order_form_content .control-label{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:.01em}
#order_form_content .form-control{border-radius:0;border-color:var(--border);height:46px;font-size:16px}
#order_form_content textarea.form-control{height:auto;min-height:84px}
#order_form_content .form-control:focus{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
#order_form_content .help-block{font-size:13px;color:var(--muted);margin-top:6px}
#order_form_content [data-property-id-row="10"] .help-block{color:var(--accent)}

/* доставка и оплата - карточки-радио */
#order_form_content table.table-order{border-spacing:0 10px}
#order_form_content table.table-order tr{outline:1px solid var(--border)}
#order_form_content table.table-order tr:hover{outline-color:var(--ink)}
#order_form_content table.table-order tr:has(input:checked){outline:2px solid var(--accent);background:#fff8f4}
#order_form_content table.table-order td{padding:16px 18px}
#order_form_content table.table-order td b{font-size:16px}
#order_form_content table.table-order .price b{color:var(--accent)}
#order_form_content .table-order__img{width:72px;height:48px;background-color:#fff;border:1px solid var(--border)}

/* итог внизу */
#order_form_content .panel.panel-default.personal-panel.ox-summary{
  background:#fff;border:2px solid var(--ink);box-shadow:var(--shadow-card);padding:24px 28px;margin-top:4px
}
.ox-summary__title{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:12px}
.ox-summary__list{list-style:none;margin:0;padding:0}
.ox-summary__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-top:1px dashed var(--line, var(--border));font-size:15px;color:var(--text)}
.ox-summary__row:first-child{border-top:0}
.ox-summary__name{color:var(--ink)}
.ox-summary__qty{font-family:var(--mono, monospace);font-size:13px;color:var(--muted);white-space:nowrap}
.ox-summary__val{white-space:nowrap;font-weight:600;color:var(--ink)}
.ox-summary__row--sub .ox-summary__name{color:var(--text)}
.ox-summary__row--total{border-top:2px solid var(--ink);margin-top:6px;padding-top:14px}
.ox-summary__row--total .ox-summary__name{font-size:20px;font-weight:700}
.ox-summary__row--total .ox-summary__val{font-size:26px;font-weight:800;color:var(--ink)}
.ox-summary__row--vat{border-top:0;padding-top:0;font-size:13px}
.ox-summary__row--vat .ox-summary__val{font-weight:400;color:var(--muted)}
#order_form_content .ox-summary .order-consent{font-size:14px}
#order_form_content .ox-summary__submit #ORDER_CONFIRM_BUTTON{display:block;width:100%;padding:16px;font-size:18px;font-weight:700;text-align:center}

@media (max-width:600px){
  .ox-order-items,#order_form_content .panel-body,#order_form_content .panel.panel-default.personal-panel.ox-summary{padding-left:16px;padding-right:16px}
  .ox-order-items{padding-top:16px;padding-bottom:16px}
  #order_form_content .panel-heading{padding:18px 16px 0}
  .ox-order-item{grid-template-columns:64px 1fr;gap:12px}
  .ox-order-item__pic{width:64px;height:64px}
  .ox-order-item__sum{grid-column:2;font-size:17px}
  .ox-order-items__title{font-size:22px}
  #order_form_content .ox-ptype{display:flex}
  #order_form_content .ox-ptype > label{flex:1}
  #order_form_content .ox-ptype .btn.btn-default.btn-button{width:100%;padding:11px 8px;text-align:center}
  #order_form_content table.table-order td{padding:12px}
  .ox-summary__row--total .ox-summary__val{font-size:22px}
}
#order_form_content .ox-ptype label .btn.btn-default.btn-button.active,
#order_form_content .ox-ptype label:has(input:checked) .btn.btn-default.btn-button{background:var(--ink)!important;color:#fff!important}
#order_form_content .ox-ptype label .btn.btn-default.btn-button.active,
#order_form_content .ox-ptype label:has(input:checked) .btn.btn-default.btn-button{background:var(--ink)!important;color:#fff!important}

/* 11.11 поиск: один заголовок, сетка товаров */
.ox-search-page .ox-cat__head{margin-bottom:20px}
.ox-search-page__count{margin:6px 0 0;font-family:var(--mono, monospace);font-size:13px;color:var(--muted)}
.ox-search-page__empty{padding:28px;border:1px dashed var(--line, var(--border));background:#fff;font-size:16px;color:var(--text);margin-bottom:40px}
.ox-search-page__empty a{color:var(--accent)}

/* End */


/* Start:/local/templates/optex2026/css/content.css?179420647015488*/
/* optex2026: скин "сырых" контентных страниц (/contacts/, /about/, /delivery/,
   /payment/, /otzyvy/ и подобных - всё, что не главная/каталог/личный кабинет).
   Якорь - .ox-textpage: рабочую область оборачивает header.php/footer.php через
   ox_is_textpage() ТОЛЬКО когда текущая страница НЕ '/', НЕ /catalog/*, НЕ /personal/*
   (у тех свой скин: home.css; catalog.css+pcard.css; basket.css+shop-pages.css).
   Базовая типографика (h1-h6, p, table, img, a) уже задана глобально в base.css -
   здесь только то, чего контентные страницы не наследуют по умолчанию (цвет
   ссылок - в base.css a{color:inherit}; маркеры списков - своего ui-reset нет)
   плюс специфичные блоки. Классы найдены живым краулом демо (13.07.2026):
   .contactsBlock__sklad|__ofis|__proizvodstvo (contacts), .row>.col-md-9 +
   table.company-redvizity (about), table.table (delivery), .p-payment__block
   (payment), .reviews-wrapper>.reviews__item (otzyvy). */

/* ---------- оболочка страницы: отступы, ширина ---------- */
.ox-textpage{
  max-width:1434px;
  margin:0 auto;
  padding:40px var(--pad-x) 64px;
}

/* крупный заголовок контентной страницы (из SetTitle, выводит header.php) */
.ox-textpage__h1{margin:0 0 24px;font-size:32px;line-height:1.15;font-weight:600;color:var(--ink)}

/* контакты - блоки во всю ширину шапки (1434), а не узкие 1100 (правка владельца 13.07);
   текстовые страницы (о компании/доставка/оплата) остаются узкими для читабельности */

/* ---------- типографика поверх base.css ---------- */
.ox-textpage h2{margin-top:36px}
.ox-textpage h3{margin-top:28px}
.ox-textpage h2:first-child,
.ox-textpage h3:first-child{margin-top:0}

.ox-textpage a:not(.ox-btn){color:var(--accent)}
.ox-textpage a:not(.ox-btn):hover{color:var(--accent-hover);text-decoration:underline}
/* кнопки-ссылки в текстовых страницах (сравнение, контакты) держат свой цвет */
.ox-textpage a.ox-btn--primary,.ox-textpage a.ox-btn--primary:hover{color:#fff;text-decoration:none}

.ox-textpage strong,
.ox-textpage b,
.ox-textpage .strong{font-weight:600;color:var(--ink)}

/* контакты используют классы fa-* без подключенного шрифта иконок -
   без сброса весь текст внутри <i class="fa ..."> уходит в браузерный курсив */
.ox-textpage i[class*="fa-"]{font-style:normal}

.ox-textpage ul,
.ox-textpage ol{margin:0 0 16px;padding-left:0;list-style:none}
.ox-textpage ol{counter-reset:ox-ol}
.ox-textpage li{position:relative;margin-bottom:8px;padding-left:20px}
.ox-textpage li:last-child{margin-bottom:0}
.ox-textpage ul > li::before{
  content:"";position:absolute;left:2px;top:10px;
  width:6px;height:6px;border-radius:50%;background:var(--accent);
}
.ox-textpage ol > li{counter-increment:ox-ol}
.ox-textpage ol > li::before{
  content:counter(ox-ol) ".";position:absolute;left:0;top:0;
  color:var(--accent);font-weight:600;
}
.ox-textpage li ul,
.ox-textpage li ol{margin-top:8px}

.ox-textpage blockquote{
  margin:24px 0;padding:20px 24px;border-left:3px solid var(--accent);
  background:var(--bg-soft);border-radius:0 var(--r-md) var(--r-md) 0;
  font-size:15px;line-height:24px;color:var(--text);
}
.ox-textpage blockquote .aprimary{color:var(--ink);font-weight:600}
.ox-textpage blockquote small{display:block;margin-top:2px;font-size:13px;color:var(--muted)}

.ox-textpage img{border-radius:var(--r-md)}
.ox-textpage hr{border:0;border-top:1px solid var(--border);margin:28px 0}

/* ---------- ширина текста ~820px; карточки/сетки/таблицы - шире ---------- */
.ox-textpage > p,
.ox-textpage > h1,
.ox-textpage > h2,
.ox-textpage > h3,
.ox-textpage > ul,
.ox-textpage > ol,
.ox-textpage > blockquote,
.ox-textpage > table,
.ox-textpage .col-md-9,
.ox-textpage .col-md-10,
.ox-textpage .p-payment__block{
  max-width:none;
  width:100%;
  flex:0 0 100%;
}

/* =========================================================================
   ТАБЛИЦЫ
   ========================================================================= */
.ox-textpage table{width:100%;margin:8px 0 24px;font-size:15px;line-height:22px}
.ox-textpage table td,
.ox-textpage table th{padding:12px 16px;border:1px solid var(--border);text-align:left;vertical-align:top;color:var(--text)}
.ox-textpage table th{background:var(--bg-soft);font-weight:500;color:var(--ink)}

/* about.html: реквизиты компании - классическая таблица ключ/значение, зебра */
.ox-textpage table.company-redvizity{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border)}
.ox-textpage table.company-redvizity td{border:0;border-top:1px solid var(--border)}
.ox-textpage table.company-redvizity tr:first-child td{border-top:0}
.ox-textpage table.company-redvizity tr:nth-child(even) td{background:var(--bg-soft)}
.ox-textpage table.company-redvizity td:first-child{width:200px;font-weight:500;color:var(--ink)}

/* delivery.html: table.table по факту - список информационных блоков в одну
   колонку (ul+текст в каждом td), не табличные данные - превращаем строки
   в карточки, как остальные блоки контентных страниц. */
.ox-textpage table.table{border:0;margin:8px 0 24px}
.ox-textpage table.table tr{display:block;margin-bottom:12px}
.ox-textpage table.table tr:last-child{margin-bottom:0}
.ox-textpage table.table td{display:block;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 24px}
.ox-textpage table.table h2{margin:0 0 12px;font-size:18px;line-height:26px}
.ox-textpage table.table ul{margin-bottom:10px}

/* =========================================================================
   КОНТАКТЫ - .ox-contacts (переоформление в стиле референса)
   Главные точки (офис + склад) - крупными блоками с картой; сервисные
   телефоны и региональные представительства - карточками единой сеткой.
   Иконки - inline-SVG .ox-ico (currentColor), заданы в contacts/index.php.
   ========================================================================= */
.ox-contacts__h1{margin:0 0 8px;font-size:32px;line-height:1.15;font-weight:600;color:var(--ink)}
.ox-contacts__lead{margin:0 0 32px;max-width:720px;font-size:16px;line-height:26px;color:var(--text)}

.ox-contacts .ox-ico{flex:0 0 20px;width:20px;height:20px;margin-top:1px;color:var(--accent)}

/* сброс глобальных маркеров списка .ox-textpage - в контактах строки-флексы с иконкой */
.ox-contacts ul{margin:0;padding:0;list-style:none}
.ox-contacts ul > li{margin:0;padding-left:0}
.ox-contacts ul > li::before{content:none}
/* .ox-textpage a перебивает белый текст primary-кнопки (голубой на голубом) - вернуть */
.ox-contacts .ox-btn--primary{color:#fff}

/* --- два главных блока: офис + склад --- */
.ox-contacts__lead-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:40px}
.ox-office{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
  border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;overflow:hidden;
}
.ox-office__body{padding:28px 30px;display:flex;flex-direction:column}
.ox-office__tag{
  align-self:flex-start;margin-bottom:12px;padding:5px 12px;border-radius:100px;
  font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;
  color:var(--accent);background:rgba(19,179,248,.12);
}
.ox-office__tag--warehouse{color:#d97400;background:rgba(217,116,0,.12)}
.ox-office__name{margin:0 0 18px;font-size:24px;line-height:1.2;font-weight:600;color:var(--ink)}
.ox-office__list{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:14px}
.ox-office__list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:22px;color:var(--text)}
.ox-office__list a{color:var(--ink);font-weight:500}
.ox-office__list a:hover{color:var(--accent);text-decoration:underline}
.ox-office__muted{color:var(--muted);font-weight:400}
.ox-office__note{
  display:flex;gap:12px;align-items:flex-start;margin:auto 0 0;padding:14px 16px;
  border-radius:var(--r-md);background:var(--bg-soft);font-size:14px;line-height:21px;color:var(--text);
}
.ox-office__note .ox-ico{color:#d97400}
.ox-office .ox-btn{align-self:flex-start;margin-top:auto}
.ox-office__map{position:relative;min-height:340px;background:var(--bg-soft)}
.ox-office__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* --- сервисные телефоны --- */
.ox-contacts__services{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:44px}
.ox-svc{padding:24px 26px;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}
.ox-svc__name{margin:0 0 6px;font-size:18px;font-weight:600;color:var(--ink)}
.ox-svc__hours{margin:0 0 12px;font-size:14px;color:var(--muted)}
.ox-svc__phone{display:inline-block;margin:0 18px 4px 0;font-size:19px;font-weight:600;color:var(--ink)}
.ox-svc__phone:hover{color:var(--accent)}
.ox-svc__note{margin:8px 0 0;font-size:13px;line-height:19px;color:var(--muted)}

/* --- региональные представительства --- */
.ox-contacts__subhead{margin:0 0 20px;font-size:22px;font-weight:600;color:var(--ink)}
.ox-contacts__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.ox-branch{display:flex;flex-direction:column;padding:24px 26px;border:1px solid var(--border);border-radius:var(--r-lg);background:#fff}
.ox-branch__name{margin:0 0 16px;font-size:17px;font-weight:600;line-height:1.3;color:var(--ink)}
.ox-branch__list{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:11px}
.ox-branch__list li{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:20px;color:var(--text)}
.ox-branch__list .ox-ico{flex-basis:18px;width:18px;height:18px}
.ox-branch__list a{color:var(--ink);font-weight:500}
.ox-branch__list a:hover{color:var(--accent);text-decoration:underline}
.ox-branch__map{margin-top:auto;align-self:flex-start;font-size:14px;font-weight:500;color:var(--accent)}
.ox-branch__map:hover{text-decoration:underline}
/* группировка регионов по областям (соответствие эталону) */
.ox-region{margin-bottom:32px}
.ox-region:last-child{margin-bottom:0}
.ox-region__area{margin:0 0 16px;padding-bottom:10px;font-size:18px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--border)}
.ox-region .ox-contacts__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}

/* =========================================================================
   ОПЛАТА - .p-payment__block
   ========================================================================= */
.ox-textpage .p-payment__block{margin-bottom:8px}
.ox-textpage .p-payment__block li img{max-height:28px;width:auto;vertical-align:middle;margin-left:6px;border-radius:0}

/* =========================================================================
   ОТЗЫВЫ - .reviews-wrapper: карточки с фото + текстом
   ========================================================================= */
.ox-textpage .reviews-wrapper{display:flex;flex-direction:column;gap:20px}
.ox-textpage .reviews__item{
  border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;background:#fff;
}
.ox-textpage .reviews__item .row{display:flex;flex-wrap:wrap;gap:20px;margin:0}
/* фото отзыва - на деле скан бланка-благодарности (портрет, ~600x800) а не
   аватар: cover в квадрате резал текст до нечитаемого обрывка. Показываем
   целиком (contain) в портретной рамке - миниатюра-подтверждение, кликабельна
   (родная ссылка на полный скан уже в разметке). */
.ox-textpage .reviews__user{flex:0 0 128px}
.ox-textpage .reviews__image{
  width:128px;aspect-ratio:3/4;padding:6px;
  border:1px solid var(--border);border-radius:var(--r-md);background:#fff;
}
.ox-textpage .reviews-img{width:100%;height:100%;object-fit:contain;display:block}
.ox-textpage .reviews__rating{flex:1 1 300px;min-width:0}
.ox-textpage .reviews__rating .in{color:var(--text);font-size:15px;line-height:24px}
.ox-textpage .reviews__rating .in p{margin:0 0 10px;color:var(--text)}
.ox-textpage .reviews__rating .in p:last-child{margin-bottom:0}

/* ---------- адаптив ---------- */
@media (max-width:900px){
  /* главные блоки офиса/склада - в один столбец, карта над карточкой */
  .ox-office{grid-template-columns:1fr}
  .ox-office__map{min-height:260px;order:-1}
}
@media (max-width:768px){
  .ox-textpage{padding:28px var(--pad-x) 40px}
  .ox-contacts__h1,.ox-textpage__h1{font-size:26px}
  .ox-office__body{padding:22px 20px}
  .ox-textpage table.table td{padding:16px}

  /* реквизиты: фикс. ширина первой колонки (200px) не влезает на узких экранах
     вместе с длинными значениями без пробелов (ОГРН/ИНН) - переходим на
     подпись-над-значением вместо таблицы в две колонки */
  .ox-textpage table.company-redvizity,
  .ox-textpage table.company-redvizity tbody,
  .ox-textpage table.company-redvizity tr,
  .ox-textpage table.company-redvizity td{display:block;width:auto}
  .ox-textpage table.company-redvizity tr{padding:12px 16px;border-bottom:1px solid var(--border)}
  .ox-textpage table.company-redvizity tr:last-child{border-bottom:0}
  .ox-textpage table.company-redvizity td{border:0;padding:0}
  .ox-textpage table.company-redvizity td:first-child{
    margin-bottom:4px;font-size:12px;font-weight:500;color:var(--muted);
  }
}

/* крошки внутри контентной страницы: сброс нумерации/цвета списков .ox-textpage */
.ox-textpage .ox-crumbs ol{margin:0;counter-reset:none}
.ox-textpage .ox-crumbs ol > li{padding-left:0;margin:0}
.ox-textpage .ox-crumbs .ox-crumbs__item::before{position:static;content:"\00B7";margin:0 8px;color:rgba(34,34,40,.32);font-weight:400;width:auto;height:auto;background:none}
.ox-textpage .ox-crumbs .ox-crumbs__item:first-child::before{content:none;margin:0}
.ox-textpage .ox-crumbs a{color:inherit}
.ox-textpage .ox-crumbs a:hover{color:var(--accent);text-decoration:none}
.ox-textpage .ox-crumbs{margin-top:0}

/* End */


/* Start:/local/templates/optex2026/css/koncept-fonts.css?17940665782903*/
/* Unbounded, JetBrains Mono - OFL, Google Fonts, свои копии */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/unbounded-cyrillic-c86556.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/unbounded-latin-06f2e4.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/unbounded-cyrillic-c86556.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/unbounded-latin-06f2e4.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:800;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/unbounded-cyrillic-c86556.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:800;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/unbounded-latin-06f2e4.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/jetbrains-mono-cyrillic-b1b041.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/jetbrains-mono-latin-480c06.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/jetbrains-mono-cyrillic-b1b041.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/optex2026/css/../fonts/jetbrains-mono-latin-480c06.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* End */


/* Start:/local/templates/optex2026/css/chertezh.css?179442229057740*/
/* optex2026: стиль «Чертеж» для всего сайта (выбор владельца 07.11.2026, главная - концепция 6).
   Подключается последним: перекрывает токены и общие блоки. Бумага, чернильно-синий, оранжевый акцент,
   моноширинные подписи, прямые углы, линии как на чертеже. */

:root{
  --paper:#f3f1ec;
  --ink:#0e2a47; --text:#3b4a5c; --muted:#7a8696;
  --accent:#ff5a1f; --accent-hover:#e84c13;
  --bg-soft:#f3f1ec; --bg-tab:#e9e6df; --bg-gray-card:#f3f1ec;
  --border:#cfd4da; --border-btn:rgba(14,42,71,.45); --line:rgba(14,42,71,.18);
  --green:#1f9d55;
  --mono:"JetBrains Mono",ui-monospace,monospace;
  --r-lg:0px; --r-md:0px; --r-sm:0px;
  --shadow-card:6px 6px 0 rgba(14,42,71,.10);
  --shadow-menu:0 10px 30px rgba(14,42,71,.10);
}
body{background:var(--paper);color:var(--text)}
::selection{background:var(--accent);color:#fff}

/* заголовки плотнее и жирнее, как на главной */
h1,h2,h3{font-weight:600;letter-spacing:-.025em;color:var(--ink)}
h1{font-size:44px;line-height:1.08}
h2{font-size:30px;line-height:1.15}
@media (max-width:768px){h1{font-size:32px}h2{font-size:24px}}
@media (max-width:480px){h1{font-size:26px;line-height:1.15}}

/* моноширинная подпись над заголовком */
.ox-lbl{display:block;font-family:var(--mono);font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}

/* ---------- кнопки: прямые углы, основная - чернильная со смещенной тенью ---------- */
.ox-btn{border-radius:0;font-weight:600}
.ox-btn--primary{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:4px 4px 0 var(--accent);transition:transform .15s,box-shadow .15s,background .2s}
.ox-btn--primary:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--accent)}
.ox-btn--outline{border:1.5px solid var(--ink);color:var(--ink)}
.ox-btn--outline:hover{background:var(--ink);color:#fff}
.ox-btn--gray{background:#fff;border:1px solid var(--line)}
.ox-btn--gray:hover{background:#fff;border-color:var(--ink)}
.ox-btn--orange{background:var(--accent);border-color:var(--accent);color:#fff}
.ox-btn--orange:hover{background:var(--accent-hover);color:#fff}
.ox-tab{border-radius:0;background:#fff;border:1px solid var(--line);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.ox-tab.is-active,.ox-tab.is-active:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.ox-chip{border-radius:0;background:#fff;border:1px solid var(--line)}
.ox-input{border-radius:0;border-color:var(--border)}
.ox-input:focus{border-color:var(--ink)}

/* ---------- шапка: одна строка с телефоном и мессенджерами, ссылки «о компании» - в бургере ---------- */
.ox-header{background:#fff}
.ox-header__main{border-bottom:1.5px solid var(--ink)}
.ox-header__main-in{gap:20px}
.ox-header__burger{flex:none;margin-left:-8px}
.ox-header__slogan{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;line-height:1.35;max-width:150px}
.ox-catalog-btn{background:var(--ink)!important;border-color:var(--ink)!important;box-shadow:4px 4px 0 var(--accent)}
.ox-header__main .ox-search{max-width:560px}
.ox-search__input{border-radius:0!important;border:1.5px solid var(--ink)!important;background:#fff!important}
.ox-hcontacts{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-left:auto}
.ox-hcontacts__phone{font-family:var(--mono);font-weight:500;font-size:18px;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}
.ox-hcontacts__phone:hover{color:var(--accent)}
.ox-hcontacts__row{display:flex;align-items:center;gap:8px}
.ox-hcontacts__cb{font-size:13px;color:var(--text);border-bottom:1px dashed currentColor;line-height:1.2;white-space:nowrap;margin-right:4px}
.ox-hcontacts__cb:hover{color:var(--accent)}
.ox-msg{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:#fff;transition:transform .15s}
.ox-msg:hover{color:#fff;transform:translateY(-1px)}
.ox-msg--tg{background:#229ed9}
.ox-msg--max{background:linear-gradient(135deg,#3b6dff,#8b3bff)}
.ox-msg--wa{background:#25d366}
.ox-iconbtn--wa{color:#1faa52}
.ox-header__main .ox-icnav,.ox-sticky__icnav{margin-left:0}
.ox-hcontacts--sticky .ox-hcontacts__phone{font-size:16px}
.ox-catmenu__item{color:var(--ink)}
.ox-catmenu__item:hover{color:var(--accent)}
.ox-mega{border-top:1.5px solid var(--ink)}
.ox-icnav__count{background:var(--accent);border-radius:0}
@media (max-width:1280px){.ox-header__slogan{display:none}}
@media (max-width:1100px){.ox-hcontacts__cb{display:none}}
.ox-header--overlay:not(.is-solid) .ox-header__main{border-bottom-color:rgba(255,255,255,.2)}
.ox-header--overlay:not(.is-solid) .ox-hcontacts__phone{color:#fff}
.ox-header--overlay:not(.is-solid) .ox-hcontacts__cb{color:rgba(255,255,255,.8)}

/* ---------- хлебные крошки: моно, как графа штампа ---------- */
.ox-crumbs{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.ox-crumbs__item,.ox-crumbs__item a{color:#8a95a3}
.ox-crumbs__item:last-child{color:var(--ink)}
.ox-crumbs__item + .ox-crumbs__item::before{content:"/";color:#b5bdc7}

/* ---------- лист-шапка страницы (раздел, карточка, текстовые) ---------- */
.ox-sheet{position:relative;margin:0 calc(-1 * var(--pad-x));padding:8px var(--pad-x) 28px;border-bottom:1.5px solid var(--ink);background:
  linear-gradient(var(--line) 1px,transparent 1px) 0 0/120px 120px,
  linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/120px 120px,
  linear-gradient(rgba(14,42,71,.05) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(14,42,71,.05) 1px,transparent 1px) 0 0/24px 24px}
.ox-sheet__row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ox-sheet h1,.ox-sheet .ox-cat__title{margin:10px 0 0;max-width:900px}
.ox-sheet__stamp{display:grid;grid-template-columns:auto auto;border:1.5px solid var(--ink);background:#fff;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7a8696}
.ox-sheet__stamp>span{padding:6px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.ox-sheet__stamp>span:nth-child(2n){border-right:0}
.ox-sheet__stamp>span:nth-last-child(-n+2){border-bottom:0}
.ox-sheet__stamp b{display:block;font-weight:500;font-size:14px;color:var(--ink);letter-spacing:0;text-transform:none}
.ox-sheet__jump{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px;background:var(--accent);color:#fff;font-weight:600;font-size:15px;white-space:nowrap}
.ox-sheet__jump:hover{background:var(--accent-hover);color:#fff}
.ox-sheet__jump svg{flex:none}
@media (max-width:768px){.ox-sheet__stamp{display:none}.ox-sheet{padding-bottom:20px}}

/* ---------- каталог ---------- */
.ox-cat__head{margin-bottom:0}
.ox-cat__intro{margin-top:18px;max-width:900px}
.ox-filter{background:#fff;border:1px solid var(--line)}
.ox-filter__title{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.ox-filter .bx_filter .bx_filter_search_button{background:var(--ink)!important;border-radius:0!important}
.ox-filter .bx_filter .bx_ui_slider_pricebar_v{background:var(--accent)}
.ox-side-cats__list a{border-left:2px solid transparent}
.ox-side-cats__list a:hover{background:#fff}
.ox-side-cats__list a.is-active{background:#fff;border-left-color:var(--accent);color:var(--ink)}
.ox-side-cats__back{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.ox-side-promo{border:1px solid var(--line)}
.ox-side-promo__tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}
.ox-sort__select,.ox-viewtog{border-radius:0!important;background:#fff}
.ox-viewtog__btn{border-radius:0}
.ox-viewtog__btn.is-active{background:var(--ink)}
.ox-pager__list a,.ox-pager__list span{border-radius:0!important;font-family:var(--mono)}
.ox-pager__list .is-active > span{background:var(--ink)}
.ox-pager__arr > span{border-radius:0}
.ox-cat__seo{border-top:1.5px solid var(--ink);padding-top:32px}

/* плитки подразделов */
.ox-tile{border-radius:0!important}

/* товарная плитка: белый лист с тонкой рамкой, при наведении - тень-смещение */
.ox-pcard{background:#fff;border:1px solid var(--line);padding:10px 12px 14px;transition:border-color .2s,box-shadow .2s,transform .2s}
.ox-pcard:hover{border-color:var(--ink);box-shadow:6px 6px 0 rgba(14,42,71,.12);transform:translate(-2px,-2px)}
.ox-pcard__photo,.ox-pcard__photo img{border-radius:0;background:#fff}
.ox-pcard__cur{font-family:var(--mono);font-size:18px;font-weight:500;letter-spacing:-.02em}
.ox-pcard__name{color:var(--text)}
.ox-pcard__name:hover{color:var(--ink)}
.ox-pcard__stock{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.ox-pcard__compare{border-radius:0}
.ox-pcard__compare:hover,.ox-pcard__compare.is-active{border-color:var(--ink)}
.ox-pcard__compare.is-active{background:var(--ink)}
.ox-pcard .ox-btn--primary{box-shadow:none}
.ox-pcard .ox-btn--primary:hover{transform:none;box-shadow:none;background:var(--accent);border-color:var(--accent)}

/* ---------- карточка товара ---------- */
.ox-card__ph,.ox-card__ph--main{border-radius:0!important;background:#fff;border:1px solid var(--line)}
.ox-card__title{font-size:30px;line-height:1.15}
.ox-card__price-cur{font-family:var(--mono);font-weight:500;letter-spacing:-.03em;color:var(--ink)}
.ox-card__meta{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.ox-trust,.ox-xlink{border-radius:0!important;background:#fff;border:1px solid var(--line)!important}
.ox-xlink__title,.ox-card__specs-title{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:400}
.ox-specs__row{border-bottom:1px dashed var(--line)}
.ox-specs__row > *:last-child{font-family:var(--mono);color:var(--ink)}
.ox-qty{border-radius:0!important;border:1.5px solid var(--ink)!important;background:#fff}
.ox-card-tabs__panel{background:#fff;border:1px solid var(--line);padding:28px 32px}
@media (max-width:600px){.ox-card-tabs__panel{padding:18px 16px}}
.ox-card-review,.ox-review-form{border-radius:0!important}

/* ---------- текстовые страницы ---------- */
.ox-textpage__h1{margin-bottom:24px}
.ox-textpage h2{border-bottom:1.5px solid var(--ink);padding-bottom:10px;margin-top:40px}
.ox-textpage table{background:#fff}
.ox-textpage table td,.ox-textpage table th{border:1px solid var(--line);padding:10px 14px}
.ox-textpage table th{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);background:var(--paper);font-weight:500}
.ox-textpage ul li::marker{color:var(--accent)}
.ox-textpage img{border-radius:0}
.ox-office,.ox-branch,.ox-svc,.ox-region{border-radius:0!important;background:#fff;border:1px solid var(--line)}
.ox-office__tag{border-radius:0!important;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em}

/* ---------- корзина, оформление, личный кабинет ---------- */
.ox-basket-item,.ox-basket__summary,.ox-order__block,.ox-order__summary{border-radius:0!important}

/* ---------- CTA перед подвалом и подвал ---------- */
.ox-cta .ox-cta__in{border-radius:0;color:#c4d0de;background:
  linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px) 0 0/24px 24px,var(--ink)}
.ox-cta__title{color:#fff;font-size:24px;font-weight:600;letter-spacing:-.02em}
.ox-cta__note{color:#a9b6c6}
.ox-cta .ox-btn--primary{background:var(--accent);border-color:var(--accent);box-shadow:none}
.ox-cta .ox-btn--primary:hover{background:var(--accent-hover);transform:none;box-shadow:none}
.ox-footer{margin-top:64px;background:var(--ink);color:#a9b6c6;border-top:4px solid var(--accent)}
.ox-footer__title{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#ff8a5c;font-weight:400}
.ox-footer__list a,.ox-footer__addr,.ox-footer__contact,.ox-footer__mail,.ox-footer__policy,.ox-footer__bottom,.ox-footer__bottom a{color:#a9b6c6}
.ox-footer__list a:hover,.ox-footer__bottom a:hover,.ox-footer__mail:hover{color:#fff}
.ox-footer__phone{color:#fff;font-family:var(--mono)}
.ox-footer__addr-label{color:#7f8fa3}
.ox-footer__bottom{border-top-color:rgba(255,255,255,.12)!important}
.ox-footer .ox-logo__img{filter:brightness(0) invert(1)}
.ox-modal__box{border-radius:0!important;border-top:4px solid var(--accent)}
.ox-modal__submit,.ox-rsform__submit{border-radius:0!important;background:var(--ink)!important}
.ox-tabbar{border-top:1.5px solid var(--ink)}
.ox-tabbar__item.is-active{color:var(--accent)}
.ox-toast{border-radius:0;background:var(--ink)}

/* ---------- быстрый план в разделе каталога (includes/plan-blok.php, js/plan-blok.js) ---------- */
.ox-plan{margin:56px 0 24px;scroll-margin-top:90px}
.ox-plan__head{border-bottom:1.5px solid var(--ink);padding-bottom:16px;margin-bottom:24px}
.ox-plan__head h2{margin:8px 0 8px}
.ox-plan__head p{margin:0;max-width:760px}
.ox-plan__app{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:24px;align-items:start}
.ox-plan__form{background:#fff;border:1px solid var(--line);padding:22px;display:grid;gap:14px}
.ox-plan__row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ox-plan__f{display:grid;gap:6px;min-width:0}
.ox-plan__f>span{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7a8696}
.ox-plan__f .ox-input{height:44px;padding:6px 12px;font-size:15px}
.ox-plan__f select.ox-input{padding-right:28px;text-overflow:ellipsis}
.ox-plan__chk{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.ox-plan__chk input{accent-color:var(--ink);width:16px;height:16px}
.ox-plan__res{display:grid;grid-template-columns:1fr 1fr;margin:4px 0 0;border-top:1.5px solid var(--ink)}
.ox-plan__res>div{padding:12px 0 10px;border-bottom:1px solid var(--line)}
.ox-plan__res>div:nth-child(2n){padding-left:14px;border-left:1px solid var(--line)}
.ox-plan__res dt{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#7a8696}
.ox-plan__res dd{margin:2px 0 0;font-size:24px;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.ox-plan__sum{display:grid;gap:2px;padding:14px 16px;background:var(--ink);color:#a9b6c6}
.ox-plan__sum span{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#ff8a5c}
.ox-plan__sum b{font-family:var(--mono);font-size:30px;font-weight:500;color:#fff;letter-spacing:-.03em}
.ox-plan__sum small{font-size:12px;line-height:1.4}
.ox-plan__btns{display:grid;gap:10px}
.ox-plan__btns .ox-btn{width:100%;white-space:normal}
.ox-plan__model{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.ox-plan__model:hover{color:var(--accent)}
.ox-plan__sheet{margin:0;position:sticky;top:90px;background:#fff;border:1.5px solid var(--ink);display:flex;flex-direction:column}
.ox-plan__svg{padding:14px;aspect-ratio:4/3;background:
  linear-gradient(rgba(14,42,71,.06) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(14,42,71,.06) 1px,transparent 1px) 0 0/24px 24px,#fff}
.ox-plan__svg svg{width:100%;height:100%;display:block}
.ox-plan__svg .room{fill:rgba(243,241,236,.7);stroke:var(--ink);stroke-width:3;vector-effect:non-scaling-stroke}
.ox-plan__svg .rk{fill:url(#oxph);stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.ox-plan__svg .h{stroke:rgba(14,42,71,.35);stroke-width:1;vector-effect:non-scaling-stroke}
.ox-plan__svg .dm line{stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke}
.ox-plan__svg .ar{fill:var(--accent)}
.ox-plan__svg text{font-family:var(--mono);fill:var(--accent);text-anchor:middle}
.ox-plan__svg .tx{fill:#7a8696}
.ox-plan__stamp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--ink);font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:#7a8696}
.ox-plan__stamp span{padding:8px 12px;border-right:1px solid var(--line)}
.ox-plan__stamp span:last-child{border-right:0}
.ox-plan__stamp b{display:block;font-weight:500;font-size:12.5px;color:var(--ink);letter-spacing:0;text-transform:none}

.ox-plan__pro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;margin-top:40px;padding:32px;color:#c4d0de;background:
  linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px) 0 0/24px 24px,var(--ink)}
.ox-plan__pro .ox-lbl{color:#ff8a5c}
.ox-plan__pro h3{color:#fff;font-size:28px;line-height:1.15;margin:10px 0 12px}
.ox-plan__pro p{font-size:15px;line-height:1.55}
.ox-plan__steps{list-style:none;margin:18px 0 24px;padding:0;counter-reset:st;display:grid;gap:12px}
.ox-plan__steps li{counter-increment:st;position:relative;padding-left:44px;font-size:14px;line-height:1.45}
.ox-plan__steps li::before{content:"0" counter(st);position:absolute;left:0;top:1px;width:32px;height:32px;border:1.5px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:#fff}
.ox-plan__steps b{display:block;color:#fff;font-weight:600;font-size:15px}
.ox-plan__pro .ox-btn--primary{background:var(--accent);border-color:var(--accent);box-shadow:4px 4px 0 #fff}
.ox-plan__pro .ox-btn--primary:hover{box-shadow:6px 6px 0 #fff}
.ox-plan__shots{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-content:start}
.ox-plan__shot{margin:0;background:#fff;border:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column}
.ox-plan__shot--big{grid-column:1/-1}
.ox-plan__shot img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center top}
.ox-plan__shot figcaption{padding:6px 10px;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);border-top:1px solid var(--line)}
@media (max-width:1100px){
  .ox-plan__app,.ox-plan__pro{grid-template-columns:1fr}
  .ox-plan__sheet{position:relative;order:-1}
}
@media (max-width:600px){
  .ox-plan__form{padding:16px}
  .ox-plan__pro{padding:20px 16px;margin-left:calc(-1 * var(--pad-x));margin-right:calc(-1 * var(--pad-x))}
  .ox-plan__shots{grid-template-columns:1fr 1fr}
  .ox-plan__shot--big{grid-column:1/-1}
  .ox-plan__res dd{font-size:20px}
  .ox-plan__sum b{font-size:24px}
}
.ox-sheet__side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
@media (max-width:768px){.ox-sheet__side{align-items:stretch;width:100%}.ox-sheet__jump{justify-content:center}}
.ox-sheet .ox-cat__head{display:block}
.ox-plan__row2--wide{grid-template-columns:1.5fr 1fr}

/* ---------- габаритный чертеж в карточке (includes/gabarit.php) ---------- */
.ox-gab{margin:20px 0 0;background:#fff;border:1.5px solid var(--ink);padding:14px 16px 12px;background:
  linear-gradient(rgba(14,42,71,.05) 1px,transparent 1px) 0 0/16px 16px,
  linear-gradient(90deg,rgba(14,42,71,.05) 1px,transparent 1px) 0 0/16px 16px,#fff}
.ox-gab__title{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:8px}
.ox-gab__svg{display:block;width:100%;height:auto;max-height:320px}
.ox-gab__svg .p{fill:rgba(14,42,71,.12);stroke:var(--ink);stroke-width:1.2}
.ox-gab__svg .s{fill:#fff;stroke:var(--ink);stroke-width:1.2}
.ox-gab__svg .ln{stroke:var(--ink);stroke-width:1.6}
.ox-gab__svg .ld{fill:none;stroke:var(--ink);stroke-width:.8;stroke-dasharray:3 3;opacity:.6}
.ox-gab__svg .fl{stroke:var(--ink);stroke-width:1;opacity:.5}
.ox-gab__svg .dm line{stroke:var(--accent);stroke-width:1}
.ox-gab__svg .ar{fill:var(--accent)}
.ox-gab__svg text{font-family:var(--mono);font-size:12px;fill:var(--accent);text-anchor:middle}
.ox-gab__svg .cap{fill:#7a8696;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}
.ox-gab__note{margin:8px 0 0;font-size:12px;line-height:1.4;color:#7a8696}
.ox-sheet--text{margin-bottom:28px}
.ox-sheet--text .ox-textpage__h1{margin:10px 0 0}
.ox-textpage{padding-top:0}
.ox-cat__tiles{margin-top:28px}
.ox-textpage *{border-radius:0!important}
.ox-plan__row2--stack{grid-template-columns:1fr}

/* ---------- контакты: старый контент из базы приводим к листам «текст + карта» ---------- */
.contactsBlock{display:grid;gap:20px}
.contactsBlock__sklad,.contactsBlock__ofis,.contactsBlock__proizvodstvo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;background:#fff;border:1px solid var(--line);padding:24px 28px;margin:0;position:relative}
.contactsBlock__sklad::before,.contactsBlock__ofis::before,.contactsBlock__proizvodstvo::before{content:"";position:absolute;top:-1px;left:-1px;width:14px;height:14px;border-top:2px solid var(--ink);border-left:2px solid var(--ink)}
.contactsBlock>:not(div){display:none}
.contactsBlock [class$="-map"]:not(:has(iframe)){display:none}
.contactsBlock [class$="-map"]{min-height:240px;background:var(--paper);border:1px solid var(--line)}
.contactsBlock [class$="-map"] iframe{display:block;width:100%!important;height:100%!important;min-height:240px;border:0}
.contactsBlock>div:not(:has(iframe)){grid-template-columns:1fr}
.contactsBlock h2{margin:0 0 12px!important;border-bottom:1.5px solid var(--ink);padding-bottom:10px;font-size:24px}
.contactsBlock br{display:none}
.contactsBlock p{margin:0 0 10px}
.contactsBlock .strong{font-weight:500}
.contactsBlock .fa{font-style:normal;font-family:inherit}
.contactsBlock .fa::before{display:none}
.ox-textpage [style*="color: #0000ff"],.ox-textpage [style*="color:#0000ff"]{color:var(--accent)!important}
.ox-textpage [style*="font-size: 10pt"],.ox-textpage [style*="font-size: 12pt"]{font-size:inherit!important}
@media (max-width:900px){.contactsBlock__sklad,.contactsBlock__ofis,.contactsBlock__proizvodstvo{grid-template-columns:1fr;padding:18px 16px}}
@media (max-width:768px){.ox-textpage table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
img[src=""]{display:none}
.ox-header__slogan{max-width:200px}
@media (max-width:768px){
  .ox-sticky .ox-icnav__label{display:none}
  .ox-sticky__logo img{max-height:26px;width:auto}
  .ox-sticky__mob{display:flex;margin-left:auto}
  .ox-sticky__logo{position:static!important;transform:none!important}
  .ox-sticky__in{justify-content:flex-start!important;gap:4px!important}
  .ox-sticky__icnav{gap:6px}
}
/* планировщик: инструменты, подложка, перетаскивание (07.11) */
.ox-plan__tools{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1.5px solid var(--ink);background:var(--paper)}
.ox-plan__tool{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--ink);background:#fff;color:var(--ink);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border-radius:0}
.ox-plan__tool:hover{background:var(--ink);color:#fff}
.ox-plan__tool--main{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:3px 3px 0 var(--ink)}
.ox-plan__tool--main:hover{background:var(--accent);color:#fff;box-shadow:5px 5px 0 var(--ink)}
.ox-plan__svg .rk{cursor:grab;touch-action:none}
.ox-plan__svg .rk:hover{fill:rgba(255,90,31,.18)}
.ox-plan__svg .rk.on{cursor:grabbing;fill:rgba(255,90,31,.3);stroke:var(--accent)}
.ox-plan__svg .under{opacity:.5}
.has-plan .ox-plan__svg .room{fill:#fff}
.ox-plan__svg{touch-action:pan-y}
.ox-plan__droptip{position:absolute;inset:58px 0 0 0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(255,90,31,.12);border:2px dashed var(--accent);font-size:14px;color:var(--ink);pointer-events:none}
.ox-plan__droptip b{font-size:20px}
.is-drop .ox-plan__droptip{display:flex}
.ox-plan__hint{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--ink);font-size:12.5px;line-height:1.4;color:#5b6878}
.ox-plan__hint span{padding:9px 12px}
.ox-plan__hint span+span{border-left:1px solid var(--line)}
.ox-plan__pro-btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.ox-plan__pdf{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;display:inline-flex;align-items:center;gap:6px}
.ox-plan__pdf:hover{color:#ff8a5c}
a.ox-plan__shot--pdf{color:inherit;text-decoration:none;outline:2px solid var(--accent);outline-offset:-2px}
a.ox-plan__shot--pdf img{object-fit:contain;background:#fff}
a.ox-plan__shot--pdf:hover figcaption{background:var(--accent);color:#fff}
.ox-plan--home{margin:0}
@media (max-width:760px){
  .ox-plan__hint{grid-template-columns:1fr}
  .ox-plan__hint span+span{border-left:0;border-top:1px solid var(--line)}
  .ox-plan__tool{height:36px;padding:0 10px;font-size:11px}
}
/* отзывы сеткой по 4 (07.11) */
.ox-revg{padding:72px 0;background:var(--paper)}
.ox-revg__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;border-bottom:1.5px solid var(--ink);padding-bottom:16px;margin-bottom:24px}
.ox-revg__head h2{margin:8px 0 0}
.ox-revg__sum{display:flex;gap:10px 24px;flex-wrap:wrap;font-size:13.5px;color:#5b6878}
.ox-revg__sum b{font-family:var(--mono);font-size:18px;color:var(--ink);margin-right:4px}
.ox-revg__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ox-revg__item{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--ink);padding:18px 18px 16px;min-width:0}
.ox-revg__item[hidden]{display:none}
.ox-revg__item--wb{border-top-color:#a73afd}
.ox-revg__item--ym{border-top-color:#fc3f1d}
.ox-revg__src{display:flex;flex-direction:column;gap:1px}
.ox-revg__src b{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
.ox-revg__src span{font-size:12px;color:#7a8696}
.ox-revg__text{margin:0;font-size:14.5px;line-height:1.55;color:#24364b;flex:1}
.ox-revg__prod{font-size:12px;color:#7a8696;border-left:2px solid var(--line);padding-left:8px}
.ox-revg__foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;font-size:12.5px;color:#5b6878}
.ox-revg__foot a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ox-revg__foot a:hover{color:var(--accent)}
.ox-revg__more{margin:24px auto 0;display:flex}
@media (max-width:1100px){.ox-revg__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ox-revg{padding:44px 0}.ox-revg__grid{grid-template-columns:1fr}}
/* хаб раздела: без сайдбара, планировщик во всю ширину (07.11) */
.ox-cat__layout--hub{display:block}
.ox-cat__layout--hub .ox-cat__main{max-width:none}
.ox-cat .ox-plan{margin-top:8px}
.ox-cat__seo{margin-top:56px;border-top:1.5px solid var(--ink);padding-top:24px}
/* одно окно видеоинструкции в калькуляторе (07.11) */
.ox-vi{display:grid;gap:8px;margin-top:14px}
.ox-vi__win{margin:0;border:1.5px solid var(--ink);background:#000}
.ox-vi__win video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.ox-vi__win figcaption{background:var(--ink);color:#fff;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;padding:7px 12px}
.ox-vi__link{font-size:13.5px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ox-vi__link:hover{color:var(--accent)}
.ox-plan__tool[hidden]{display:none}
/* планировщик: приглашение загрузить план, статус распознавания, стены (08.11) */
.ox-plan__invite{display:flex;align-items:center;gap:16px;margin:12px 12px 0;padding:14px 16px;border:2px dashed var(--accent);background:rgba(255,90,31,.06);color:var(--ink);cursor:pointer;font-size:13.5px;line-height:1.45}
.ox-plan__invite:hover{background:rgba(255,90,31,.12)}
.ox-plan__invite svg{flex:none;color:var(--ink)}
.ox-plan__invite b{display:block;font-size:17px;line-height:1.3;margin-bottom:3px}
.has-plan .ox-plan__invite{display:none}
.ox-plan__status{margin:12px 12px 0;padding:10px 14px;font-size:13.5px;line-height:1.4;border-left:4px solid var(--ink);background:var(--paper)}
.ox-plan__status[hidden]{display:none}
.ox-plan__status.is-ok{border-color:#2e8b57}
.ox-plan__status.is-warn{border-color:var(--accent)}
.ox-plan__status.is-wait{border-color:#7a8696;color:#5b6878}
.ox-plan__svg .room--plan{fill:#fff;stroke:none}
.has-plan .ox-plan__svg .under{opacity:.3}
@media (max-width:640px){.ox-plan__invite{gap:12px;padding:12px}.ox-plan__invite b{font-size:15px}.ox-plan__invite svg{width:34px;height:34px}}
.ox-cat__all{display:inline-block;margin:4px 0 28px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid currentColor}
.ox-cat__all:hover{color:var(--accent)}
/* ===== планировщик как приложение (08.11): верхняя строка шагов, инструменты слева, лист, панель справа ===== */
.ox-plan .ox-plan__app{display:block;background:#fff;border:1.5px solid var(--ink);box-shadow:6px 6px 0 rgba(14,42,71,.08)}
.ox-plan__bar{display:flex;align-items:center;gap:18px;padding:10px 14px;border-bottom:1.5px solid var(--ink);background:#fff}
.ox-plan__brand{display:flex;align-items:center;gap:10px;min-width:0}
.ox-plan__brand b{font-size:15px;color:var(--ink)}
.ox-plan__brand small{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#2e8b57;display:inline-flex;align-items:center;gap:6px}
.ox-plan__brand small::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.is-demo .ox-plan__brand small{color:var(--accent)}
.ox-plan__stepsbar{display:flex;align-items:center;gap:10px;margin:0 auto;padding:0;list-style:none}
.ox-plan__stepsbar li{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border:1px solid var(--line);font-size:14px;color:#7a8696;white-space:nowrap}
.ox-plan__stepsbar li+li::before{content:"";width:18px;height:1px;background:var(--line);margin-left:-29px;margin-right:11px}
.ox-plan__stepsbar i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid currentColor;font-style:normal;font-family:var(--mono);font-size:12px}
.ox-plan__stepsbar li.is-on{color:var(--ink);border-color:var(--ink)}
.ox-plan__stepsbar li.is-on i{background:var(--ink);border-color:var(--ink);color:#fff}
.ox-plan__barbtn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid var(--ink);background:#fff;color:var(--ink);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.ox-plan__barbtn:hover{background:var(--ink);color:#fff}
.ox-plan__body{display:grid;grid-template-columns:78px minmax(0,1fr) 360px;min-height:640px}
.ox-plan__rail{display:flex;flex-direction:column;gap:4px;padding:10px 6px;border-right:1.5px solid var(--ink);background:var(--paper)}
.ox-plan__rail hr{border:0;border-top:1px solid var(--line);margin:6px 4px}
.ox-plan__rt{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 2px;border:1px solid transparent;background:none;color:var(--ink);font-size:11.5px;line-height:1.1;cursor:pointer}
.ox-plan__rt:hover{background:#fff;border-color:var(--line)}
.ox-plan__rt.is-on{background:#fff;border-color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.ox-plan .ox-plan__sheet{position:relative;top:auto;border:0;display:block;min-width:0}
.ox-plan .ox-plan__svg{position:absolute;inset:0;aspect-ratio:auto;padding:18px 18px 64px}
.ox-plan__svg[data-tool="wall"],.ox-plan__svg[data-tool="col"],.ox-plan__svg[data-tool="rack"]{cursor:crosshair}
.ox-plan__svg[data-tool="del"] .rk,.ox-plan__svg[data-tool="del"] .ob{cursor:not-allowed}
.ox-plan__svg[data-tool="del"] .rk:hover,.ox-plan__svg[data-tool="del"] .ob:hover{fill:rgba(220,40,40,.35)}
.ox-plan__svg .ob{fill:var(--ink);stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.ox-plan__svg .ob--col{fill:#5b6878}
.ox-plan__svg .ob--pre{fill:rgba(255,90,31,.45);stroke:var(--accent);pointer-events:none}
.ox-plan__svg .outer{fill:none;stroke:var(--ink);stroke-linecap:square;stroke-linejoin:miter}
.ox-plan__svg .room--demo{fill:rgba(243,241,236,.5);stroke:none}
.ox-plan__svg .walls{pointer-events:none}
.ox-plan__toast{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 18px;background:var(--ink);color:#fff;font-size:14px;line-height:1.35;text-align:center;box-shadow:4px 4px 0 var(--accent);pointer-events:none}
.ox-plan__toast[hidden]{display:none}
.ox-plan .ox-plan__droptip{inset:0}
.ox-plan__side{border-left:1.5px solid var(--ink);display:flex;flex-direction:column;background:#fff}
.ox-plan__grp{padding:16px 18px;border-bottom:1px solid var(--line);display:grid;gap:10px}
.ox-plan__grp:last-child{border-bottom:0}
.ox-plan__grp h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;letter-spacing:-.01em}
.ox-plan__grp h3 i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--ink);color:#fff;font-style:normal;font-family:var(--mono);font-size:11.5px}
.ox-plan__grp p{margin:0;font-size:13px;line-height:1.45;color:#5b6878}
.ox-plan__grp .ox-plan__note{font-size:12.5px}
.ox-plan__build{width:100%}
.ox-plan__upl{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border:1.5px dashed var(--accent);background:rgba(255,90,31,.06);color:var(--ink);font-weight:600;cursor:pointer}
.ox-plan__upl:hover{background:rgba(255,90,31,.14)}
.ox-plan__uplrow{display:flex;flex-wrap:wrap;gap:6px 16px}
.ox-plan__lnk{padding:0;border:0;background:none;color:var(--ink);font-size:13px;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;cursor:pointer}
.ox-plan__lnk:hover{color:var(--accent)}
.ox-plan__lnk[hidden]{display:none}
.ox-plan__acts{display:grid;grid-template-columns:1fr auto;gap:8px}
.ox-plan__acts .ox-btn{min-height:42px;padding:0 12px;font-size:14px}
.ox-plan__grp--res{background:var(--paper)}
.ox-plan__grp .ox-plan__f .ox-input{height:40px;font-size:14px}
.ox-plan__grp .ox-plan__status{margin:0}
.is-demo .ox-plan__grp--res .ox-plan__res,.is-demo .ox-plan__grp--res .ox-plan__sum{opacity:.45}
@media (max-width:1240px){
  .ox-plan__body{grid-template-columns:70px minmax(0,1fr) 320px}
  .ox-plan__stepsbar li{padding-right:10px}
}
@media (max-width:1023px){
  .ox-plan__bar{flex-wrap:wrap;gap:10px}
  .ox-plan__stepsbar{order:3;flex-basis:100%;margin:0;justify-content:space-between}
  .ox-plan__stepsbar li{flex:1;justify-content:center;font-size:13px}
  .ox-plan__stepsbar li+li::before{display:none}
  .ox-plan__barbtn{margin-left:auto}
  .ox-plan__body{display:flex;flex-direction:column;min-height:0}
  .ox-plan__rail{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1.5px solid var(--ink);padding:6px}
  .ox-plan__rail hr{border-top:0;border-left:1px solid var(--line);margin:4px 2px}
  .ox-plan__rt{flex:1 0 64px}
  .ox-plan__rt.is-on{box-shadow:inset 0 -3px 0 var(--accent)}
  .ox-plan .ox-plan__sheet{height:min(78vw,520px)}
  .ox-plan .ox-plan__svg{padding:10px 10px 64px}
  .ox-plan__side{border-left:0;border-top:1.5px solid var(--ink)}
}
@media (max-width:600px){
  .ox-plan .ox-plan__app{margin-left:calc(-1 * var(--pad-x));margin-right:calc(-1 * var(--pad-x));border-left:0;border-right:0;box-shadow:none}
  .ox-plan__barbtn span{display:none}
  .ox-plan .ox-plan__sheet{height:118vw}
  .ox-plan__toast{font-size:12.5px;padding:8px 12px;bottom:10px}
  .ox-plan__grp{padding:14px 16px}
}
@media (min-width:1024px){
  .ox-plan__body{height:min(760px,calc(100vh - 150px));min-height:600px}
  .ox-plan__side{overflow-y:auto;scrollbar-width:thin}
}
/* SEO-текст раздела на всю ширину блока, по ширине (08.11) */
.ox-cat__seo{max-width:none}
.ox-cat__seo p,.ox-cat__seo li,.ox-cat__seo ._description{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
/* планировщик 1024-1100: старое правило order:-1 уводило лист перед инструментами (08.11) */
.ox-plan .ox-plan__sheet{order:0}
.ox-plan__side .ox-input,.ox-plan__side select{max-width:100%;min-width:0;box-sizing:border-box}
.ox-plan__side .ox-plan__row2>*{min-width:0}
.ox-plan__grp{grid-template-columns:minmax(0,1fr)}
/* планировщик: стены, размеры и узлы как в приложении (08.11) */
.ox-plan .ox-plan__svg{padding:0;background:#fff}
.ox-plan__svg .room{fill:#fafbfc;stroke:none}
.ox-plan__svg .room--demo{fill:#fafbfc}
.ox-plan__svg .wl{fill:#14202b;stroke:none}
.ox-plan__svg .ob--col{fill:#14202b;stroke:none}
.ox-plan__svg .rk{fill:#e6eef8;stroke:#1f5fae;stroke-width:1.4;vector-effect:non-scaling-stroke}
.ox-plan__svg .rk.on{fill:#cfe0f5}
.ox-plan__svg .dm .ln{fill:none;stroke:#3b4a58}
.ox-plan__svg .dm .bg{fill:#fff}
.ox-plan__svg .dm text{font-family:var(--font,Arial,sans-serif);font-weight:700;fill:#14202b;text-anchor:middle}
.ox-plan__svg .dmt{cursor:text}
.ox-plan__svg .tx{font-family:var(--font,Arial,sans-serif);fill:#7a8696;text-anchor:middle}
.ox-plan__svg .nd{fill:#fff;stroke:#1f5fae;cursor:move}
.ox-plan__svg .pv{pointer-events:none}
.ox-plan__svg .pv .p1{fill:#f26a1f}
.ox-plan__svg .pv .p2{stroke:#f26a1f;opacity:.55;fill:none}
.ox-plan__svg .pv .p3{fill:#f26a1f}
.ox-plan__svg .pv .p4{fill:#fff;font-family:var(--font,Arial,sans-serif);font-weight:700;text-anchor:middle}
.ox-plan__svg .pv .p5{fill:none;stroke:#2e8b57}
.ox-plan__svg .pv .p6{stroke:#f26a1f;fill:none}
.ox-plan__zoom{position:absolute;right:12px;bottom:12px;display:flex;gap:4px;z-index:3}
.ox-plan__zb{min-width:34px;height:34px;padding:0;border:1px solid var(--ink);background:#fff;color:var(--ink);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ox-plan__zb--t{padding:0 10px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7a8696}
.ox-plan__zb--t.is-on{color:var(--accent)}
.ox-plan__zb:hover{background:var(--paper)}
.ox-plan__len{position:absolute;z-index:5;width:84px;height:28px;padding:0 6px;border:1.5px solid #f26a1f;background:#fff;font:700 14px var(--mono);color:var(--ink);text-align:center}
.ox-plan__grp h3 .ox-plan__reset{margin-left:auto;font-weight:400}
.ox-plan__cstat{padding:8px 10px;background:var(--paper);font-size:13px;color:var(--ink)}
.ox-plan__cstat[hidden]{display:none}
.ox-plan__cstat.is-warn{background:#fff4e0;color:#8a5a00}
@media (max-width:600px){.ox-plan__zoom{top:8px;bottom:auto;right:8px}}
/* шапка раздела компактно: заголовок слева, крошки справа в одну строку (08.11) */
.ox-sheet{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:32px;row-gap:4px;padding:18px var(--pad-x) 18px;margin-bottom:24px}
.ox-sheet .ox-crumbs{grid-column:2;grid-row:1;justify-self:end;margin:0}
.ox-sheet .ox-crumbs ol,.ox-sheet .ox-crumbs ul{margin:0;padding:0}
.ox-sheet__row{grid-column:1;grid-row:1;align-items:center;flex-wrap:nowrap}
.ox-sheet h1,.ox-sheet .ox-cat__title,.ox-sheet--text .ox-textpage__h1{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.1;max-width:none;grid-column:1;grid-row:1}
.ox-sheet__row .ox-sheet__jump{margin-left:24px}
@media (max-width:768px){.ox-sheet{grid-template-columns:1fr;padding:12px var(--pad-x) 14px}.ox-sheet .ox-crumbs{grid-column:1;grid-row:1;justify-self:start}.ox-sheet__row,.ox-sheet h1,.ox-sheet .ox-cat__title,.ox-sheet--text .ox-textpage__h1{grid-column:1;grid-row:2}.ox-sheet__row{flex-wrap:wrap}}

/* 08.11: кнопка «Каталог» в полосе разделов, крошки в шапке листа не показываем (разметка для поиска остается) */
.ox-header__quick-in{display:flex;align-items:center;gap:24px;height:100%}
.ox-header__quick .ox-catmenu{flex:1 1 auto;min-width:0}
.ox-header__quick .ox-catalog-btn{height:38px;min-height:38px;padding-top:0;padding-bottom:0;box-shadow:3px 3px 0 var(--accent);text-decoration:none}
.ox-sticky .ox-catalog-btn{text-decoration:none}
.ox-header__main .ox-search{max-width:none}
.ox-sheet .ox-crumbs{display:none}
.ox-sheet{grid-template-columns:minmax(0,1fr)}

/* кнопки нагрузки в шапке раздела (правка владельца 08.11) */
.ox-loadnav{grid-column:1 / -1;order:10;display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;padding:12px 0 0}
.ox-loadnav__cap{flex:0 0 100%;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ox-loadnav__btn{display:flex;flex-direction:column;justify-content:center;min-width:128px;max-width:220px;padding:9px 14px;background:#fff;border:1px solid var(--ink);color:var(--ink);transition:background .15s,color .15s}
.ox-loadnav__btn b{font-family:var(--mono);font-size:16px;font-weight:600;line-height:20px;color:var(--accent)}
.ox-loadnav__btn span{margin-top:2px;font-size:12.5px;line-height:15px}
.ox-loadnav__btn:hover{background:var(--ink);color:#fff}
.ox-loadnav__btn:hover b{color:#ff8a5c}
@media (max-width:768px){.ox-loadnav{grid-row:3}.ox-loadnav__btn{flex:1 1 calc(50% - 4px);max-width:none;min-width:0}.ox-sheet__jump{margin-left:0!important}}

/* страница контактов */
.ox-cont{display:grid;gap:28px}
.ox-cont__top{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.ox-cont__card{padding:22px 24px;background:#fff;border:1px solid var(--ink)}
.ox-cont__h{margin:0 0 14px!important;padding:0!important;border:0!important;font-size:20px!important;line-height:26px!important;font-weight:600}
.ox-cont__tels{display:grid;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.ox-cont__tels li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;padding:0}
.ox-cont__tels li::before{display:none}
.ox-cont__tel{font-family:var(--mono);font-size:20px;font-weight:600;color:var(--ink);white-space:nowrap}
.ox-cont__tel:hover{color:var(--accent)}
.ox-cont__for{font-size:13.5px;color:var(--muted)}
.ox-cont__meta{margin:0;font-size:14px;line-height:21px;color:var(--muted)}
.ox-cont__meta a{color:var(--accent)}
.ox-cont__geo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}
.ox-cont__list{display:grid;gap:10px}
.ox-cont__pt{display:block;width:100%;padding:14px 16px;background:#fff;border:1px solid var(--line,#d9d6cf);border-left:3px solid transparent;text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:border-color .15s}
.ox-cont__pt:hover{border-color:var(--ink)}
.ox-cont__pt.is-active{border-color:var(--ink);border-left-color:var(--accent)}
.ox-cont__kind{display:block;margin-bottom:3px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.ox-cont__adr{display:block;font-size:15.5px;line-height:21px;font-weight:600}
.ox-cont__note{display:block;margin-top:6px;font-size:13.5px;line-height:19px;color:var(--muted)}
.ox-cont__note a{color:var(--accent)}
.ox-cont__map{position:sticky;top:92px;height:560px;background:#e8e5de;border:1px solid var(--ink)}
.ox-cont__map a{color:var(--accent)}
@media (max-width:900px){
  .ox-cont__top,.ox-cont__geo{grid-template-columns:minmax(0,1fr)}
  .ox-cont__map{position:relative;top:0;height:340px;order:-1}
  .ox-cont__tel{font-size:18px}
}
/* планировщик 08.11: стена в процессе рисования выглядит как стена, лист перетаскивается */
.ox-plan__svg .wl--pv{fill:#14202b;opacity:.72}
.is-pan{cursor:grab}
.is-pan.is-panning{cursor:grabbing}
/* 08.11: плитки подразделов - фото серое, при наведении цвет */
.ox-cat__subtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:24px}
.ox-subtile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line,#d7dce2);color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.ox-subtile:hover{border-color:var(--accent);box-shadow:4px 4px 0 var(--accent)}
.ox-subtile__ph{display:flex;align-items:center;justify-content:center;height:190px;padding:14px;background:#fff;overflow:hidden}
.ox-subtile__ph img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.88;transition:filter .25s,opacity .25s,transform .25s}
.ox-subtile:hover .ox-subtile__ph img{filter:none;opacity:1;transform:scale(1.04)}
.ox-subtile__name{display:flex;align-items:center;min-height:62px;padding:10px 14px;border-top:1px solid var(--line,#d7dce2);font-size:15px;line-height:1.3;font-weight:600}
@media(max-width:640px){.ox-cat__subtiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ox-subtile__ph{height:130px;padding:8px}.ox-subtile__name{font-size:13px;min-height:52px;padding:8px 10px}}
/* карточки в карусели одной высоты, кнопка внизу */
.swiper[data-ox-swiper="cards"] .swiper-wrapper{align-items:stretch}
.swiper[data-ox-swiper="cards"] .swiper-slide{height:auto;display:flex}
.swiper[data-ox-swiper="cards"] .swiper-slide .ox-pcard{width:100%}
/* фильтр: без кнопки Показать, сброс всегда на виду */
.ox-filter .bx_filter .bx_filter_search_button,.ox-filter .bx_filter .bx_filter_popup_result{display:none!important}
.ox-filter .bx_filter .bx_filter_search_reset{display:block;width:100%;height:42px;margin:8px 0 0;border:1px solid var(--ink)!important;color:var(--ink)!important;font-weight:600;opacity:.45}
.ox-filter .bx_filter .bx_filter_search_reset.is-on{opacity:1;background:var(--ink)!important;color:#fff!important}
#ox-cat-list{transition:opacity .15s}
#ox-cat-list.is-loading{opacity:.45;pointer-events:none}
/* габарит под фото */
.ox-card__gallery .ox-gab{margin-top:16px}
.ox-card__gallery .ox-gab__svg{max-height:420px}
.ox-gab--tire .ox-gab__svg{max-height:560px}
.ox-gab__svg .tyre{fill:#2a2f36;stroke:#14202b;stroke-width:.8}
.ox-gab__svg .tyre-g{stroke:#6b7480;stroke-width:.7}
.ox-gab__svg .rim{fill:#c7ced6;stroke:#14202b;stroke-width:.8}


/* складская техника: плитки под фото */
.ox-tov__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top:0}
.ox-tov__stat{background:#fff;padding:10px 14px}
.ox-tov__stat span{display:block;font-size:12px;color:var(--ink-2,#6b7280);margin-bottom:3px}
.ox-tov__stat b{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink)}
.ox-specs__group{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding:18px 0 6px}
.ox-specs__group:first-child{padding-top:0}
@media (max-width:640px){.ox-tov__stats{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ox-tov__stat:last-child:nth-child(odd){grid-column:1/-1}}

/* фильтр: значения кнопками, без квадратика и количества */
.ox-frow{display:grid;gap:6px;margin-bottom:6px}
.ox-frow--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ox-frow--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ox-frow--text{display:flex;flex-wrap:wrap}
.ox-filter .bx_filter .ox-frow .bx_filter_param_label{display:block;margin:0;padding:0;min-width:0;cursor:pointer}
.ox-filter .bx_filter .ox-frow .bx_filter_input_checkbox{display:block;position:relative;padding:0;margin:0}
.ox-filter .bx_filter .ox-frow input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.ox-filter .bx_filter .ox-frow .bx_filter_param_text{display:flex;align-items:center;justify-content:center;min-height:38px;padding:6px 10px;margin:0;border:1px solid var(--line);background:#fff;font-family:var(--mono);font-size:13px;line-height:1.2;text-align:center;color:var(--ink);transition:border-color .12s,background .12s,color .12s}
.ox-filter .bx_filter .ox-frow label:hover .bx_filter_param_text{border-color:var(--accent);color:var(--accent)}
.ox-filter .bx_filter .ox-frow input:checked + .bx_filter_param_text{background:var(--ink);border-color:var(--ink);color:#fff}
.ox-filter .bx_filter .ox-frow input:focus-visible + .bx_filter_param_text{outline:2px solid var(--accent);outline-offset:1px}
.ox-filter .bx_filter .ox-frow label.disabled{cursor:default}
.ox-filter .bx_filter .ox-frow label.disabled .bx_filter_param_text{opacity:.38;border-color:var(--line);color:var(--ink)}

/* выбор исполнения в карточке */
.ox-var{margin:0 0 16px}
.ox-var__row{margin-bottom:12px}
.ox-var__t{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:6px}
.ox-var__opts{display:flex;flex-wrap:wrap;gap:6px}
.ox-var__o{display:flex;align-items:center;justify-content:center;min-width:64px;min-height:40px;padding:6px 12px;border:1px solid var(--line);background:#fff;font-family:var(--mono);font-size:14px;color:var(--ink);text-decoration:none}
.ox-var__o:hover{border-color:var(--accent);color:var(--accent)}
.ox-var__o.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
#ox-card.is-loading{opacity:.55;transition:opacity .12s}

/* вкладки карточки на всю ширину, телефон не рвем */
.ox-card-tabs__panel .ox-card__text{max-width:none}
a[href^="tel:"]{white-space:nowrap}

/* планировщик на странице: настоящая программа в рамке */
.ox-plan__embed{margin-top:24px;border:1px solid var(--ox-line,#d8dce1);background:#fff}
.ox-plan__frame{display:block;width:100%;height:clamp(680px,92vh,1000px);border:0}

/* ---------- правки владельца 09.11: шапка ---------- */
/* адрес справа от логотипа, под слоганом */
.ox-header__slogan{max-width:240px}
.ox-header__addr{display:block;margin-top:5px;font-family:var(--font);font-size:12.5px;line-height:1.3;text-transform:none;letter-spacing:0;color:var(--ink);text-decoration:none}
.ox-header__addr:hover{color:var(--accent)}
/* поиск уже, телефон сразу за ним, потом «Заказать звонок» и мессенджеры в высоту поиска; корзина прижата вправо */
.ox-header__main .ox-search{max-width:420px}
.ox-hcontacts{flex-direction:row;align-items:center;gap:16px;margin-left:0}
.ox-hcontacts__phone{font-size:16px}
.ox-hcontacts__row{gap:6px}
.ox-hcontacts__cb{margin-right:10px}
.ox-hcontacts .ox-msg{width:42px;height:42px}
.ox-hcontacts .ox-msg svg{width:20px;height:20px}
.ox-header__main .ox-icnav,.ox-sticky__icnav{margin-left:auto}
.ox-sticky .ox-search{max-width:380px}
/* сравнения на сайте нет */
.ox-card__compare,.ox-pcard__compare,.js-ox-compare{display:none!important}

/* ---------- правки владельца 09.11: пример проекта крупно и скачивается ---------- */
.ox-plan__pro-btns{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.ox-plan__pdf{display:inline-flex;align-items:center;gap:16px;padding:16px 22px 16px 16px;border:1.5px solid var(--accent);font-size:22px;line-height:1.25;font-weight:600;text-decoration:none;color:#fff;max-width:520px}
.ox-plan__pdf:hover{background:var(--accent);color:#fff}
.ox-plan__pdf-ico{flex:none;width:44px;height:44px;color:#ff8a5c}
.ox-plan__pdf:hover .ox-plan__pdf-ico{color:#fff}
.ox-plan__pdf small{display:block;margin-top:4px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#ffb08f}
.ox-plan__pdf:hover small{color:#fff}
.ox-plan__shot--pdf{grid-column:2/4;grid-row:2/4}
a.ox-plan__shot--pdf img{aspect-ratio:auto;flex:1 1 auto;min-height:0;height:100%;object-position:center}
@media (max-width:600px){
  .ox-plan__shot--pdf{grid-column:1/-1;grid-row:auto}
  a.ox-plan__shot--pdf img{aspect-ratio:1287/909}
  .ox-plan__pdf{font-size:18px}
}

/* ---------- правки владельца 09.11: без клетки в каталоге и карточках ---------- */
.ox-sheet{background:none}
.ox-gab{background:#fff}
.ox-calc-scope .calc-container>.col-vtop:first-child{background-image:none}
.ox-header__slogan{max-width:none;white-space:nowrap}

/* правки владельца 09.11, вечер */
/* крошки над заголовком раздела, слева */
.ox-sheet .ox-crumbs{display:block;grid-column:1;grid-row:1;justify-self:start;margin:0 0 6px}
.ox-sheet__row,.ox-sheet h1,.ox-sheet .ox-cat__title,.ox-sheet--text .ox-textpage__h1{grid-row:2}
/* «Проект склада»: кнопка заказа крупнее, пример проекта - внизу блока */
.ox-plan__pro-text{display:flex;flex-direction:column}
.ox-plan__pro-btns{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start}
.ox-plan__pro-btns .ox-btn--primary{font-size:22px;padding:24px 44px;min-height:78px}
.ox-plan__pro-btns .ox-plan__pdf{margin-top:auto}
.ox-plan__pro-btns{gap:48px}
.ox-plan__pdf-ico svg{width:44px;height:44px;--pdf-ico-txt:var(--ink)}
.ox-plan__pdf:hover .ox-plan__pdf-ico svg{--pdf-ico-txt:var(--accent)}

/* «Готовые размеры серии» внизу раздела-хаба (11.11.2026) */
.ox-razm{margin:48px 0 0;border-top:1.5px solid var(--ink);padding-top:24px}
.ox-razm__h{margin:0 0 16px;font-size:24px;line-height:1.2}
.ox-razm__list{list-style:none;margin:0;padding:0;columns:2;column-gap:40px}
.ox-razm__list li{display:flex;justify-content:space-between;gap:16px;break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.35}
.ox-razm__list a{color:var(--ink);text-decoration:none}
.ox-razm__list a:hover{color:var(--accent);text-decoration:underline}
.ox-razm__list span{flex:none;font-family:var(--mono);font-size:13px;color:var(--muted);white-space:nowrap}
@media (max-width:700px){.ox-razm__list{columns:1}}

/* Старые страницы на шаблонах прежней темы (отзывы, вакансии, акции, блог, кабинет) - аккуратные формы и колонки (11.11.2026) */
.ox-main .webform .row,.ox-main .reviews-list.row{display:flex;flex-wrap:wrap;gap:12px 20px}
.ox-main .webform .col{flex:1 1 280px;min-width:0}
.ox-main .webform .col-md-12,.ox-main .webform .col-xs-12{flex-basis:100%}
.ox-main .webform .form-control,.ox-main .webform input[type=text],.ox-main .webform input[type=tel],.ox-main .webform input[type=email],.ox-main .webform textarea{
  display:block;width:100%;max-width:560px;box-sizing:border-box;height:46px;padding:0 14px;margin:6px 0 4px;border:1px solid var(--line);border-radius:0;background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.ox-main .webform textarea{height:120px;padding:10px 14px}
.ox-main .webform .btn{display:inline-flex;align-items:center;height:48px;padding:0 24px;border:0;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.ox-main .webform .btn:hover{background:var(--accent-hover)}
.ox-main .webform .alert-success{padding:12px 16px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.ox-main .webform .alert-danger{padding:12px 16px;border:1px solid #d33;background:#fff;color:#b00}
.ox-main .reviews__item{flex:1 1 320px;padding:20px;border:1px solid var(--line);background:#fff}
.ox-main .reviews__image img{max-width:96px;height:auto}
/* 11.11 владелец: на телефоне шапка справа не помещалась. При ширине 769-1023 (планшет, телефон с уменьшенным масштабом)
   полная шапка шире экрана (поиск, телефон и мессенджеры до 966px) - до 1023 включаем мобильную шапку, липкую полосу и таб-бар */
@media (min-width:769px) and (max-width:1023px){
  .ox-header__top,.ox-header__main,.ox-header__quick{display:none}
  .ox-header__mobile{display:flex}
  .ox-mega{display:none}
  .ox-sticky{height:64px}
  .ox-sticky__in{height:64px;gap:4px!important;position:relative;justify-content:flex-start!important}
  .ox-sticky .ox-catalog-btn,.ox-sticky .ox-search--sticky,.ox-sticky .ox-hcontacts--sticky{display:none!important}
  .ox-sticky .ox-sticky__mob{display:flex!important;margin-left:auto}
  .ox-sticky .ox-icnav__label{display:none}
  .ox-sticky__logo img{max-height:26px;width:auto}
  .ox-sticky__icnav{gap:6px;margin-left:0}
  .ox-tabbar{display:flex}
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
}

/* End */


/* Start:/local/templates/optex2026/css/landing.css?17943722626315*/
/* optex2026: лендинг передвижных стеллажей в разделе каталога (11.11.2026), стиль «Чертеж».
   Разметка - includes/landing-peredvizhnye.php. Токены - chertezh.css. */

.ox-land-h{display:flex;flex-direction:column;gap:8px;margin:0 0 22px;font-size:30px;line-height:1.15}
.ox-land-h--inv{color:#fff}

/* первый экран: текст слева, фото и форма справа */
.ox-land-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;margin:8px 0 0;border:1.5px solid var(--ink);background:#fff}
.ox-land-hero__text{padding:36px 40px 40px;border-right:1px solid var(--line);background-color:#fbfaf7;background-size:24px 24px;
  background-image:linear-gradient(rgba(14,42,71,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(14,42,71,.06) 1px,transparent 1px)}
.ox-land-hero__h{margin:12px 0 14px;font-size:40px;line-height:1.08}
.ox-land-hero__lead{margin:0 0 26px;font-size:17px;line-height:1.55;color:var(--text);max-width:560px}
.ox-land-hero__cap{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.ox-land-hero__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);max-width:520px}
.ox-land-hero__list li{position:relative;padding:11px 0 11px 30px;border-bottom:1px solid var(--line);font-size:16px;color:var(--ink)}
.ox-land-hero__list li:before{content:"";position:absolute;left:4px;top:50%;width:12px;height:12px;margin-top:-6px;border:1.5px solid var(--accent)}
.ox-land-hero__side{display:flex;flex-direction:column;min-width:0}
.ox-land-hero__ph{position:relative;margin:0;aspect-ratio:3/2;overflow:hidden;background:#e9e6df;border-bottom:1px solid var(--line)}
.ox-land-hero__ph img{display:block;width:100%;height:100%;object-fit:cover}
.ox-land-hero__ph figcaption{position:absolute;left:0;bottom:0;padding:6px 12px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.ox-land-hero__form{padding:24px 28px 28px;background:var(--ink);flex:1}
.ox-land-hero__ft{color:#fff;font-size:22px;font-weight:600;letter-spacing:-.02em;margin-bottom:14px}

/* форма заявки: имя, телефон, кнопка, согласие */
.ox-land-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.ox-land-form .ox-input{height:48px;padding:0 14px;border:1px solid #fff;border-radius:0;background:#fff;color:var(--ink);font-size:16px;min-width:0}
.ox-land-form .ox-btn--primary{height:48px;background:var(--accent);border-color:var(--accent);box-shadow:none}
.ox-land-form .ox-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:none;box-shadow:none}
.ox-land-form__consent{grid-column:1/-1;margin-top:2px}
.ox-land-form .ox-cta__msg{grid-column:1/-1}
.ox-land-form .ox-cta__ok,.ox-land-form.is-sent{grid-column:1/-1}
.ox-land-hero__form .ox-land-form{grid-template-columns:1fr 1fr}
.ox-land-hero__form .ox-land-form .ox-btn{grid-column:1/-1}

/* три цифры */
.ox-land-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:32px 0 0;border-top:1.5px solid var(--ink)}
.ox-land-num{display:flex;flex-direction:column;gap:6px;padding:22px 24px 24px 0;border-bottom:1px solid var(--line)}
.ox-land-num + .ox-land-num{padding-left:24px;border-left:1px solid var(--line)}
.ox-land-num b{font-size:40px;line-height:1;font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.ox-land-num span{font-size:15px;line-height:1.45;color:var(--text)}

/* фото */
.ox-land-gal{margin:48px 0 40px}
.ox-land-gal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ox-land-gal__it{margin:0;background:#fff;border:1px solid var(--line);transition:box-shadow .3s,transform .3s}
.ox-land-gal__it:hover{transform:translateY(-4px);box-shadow:8px 8px 0 var(--ink)}
.ox-land-gal__img{display:block;aspect-ratio:3/2;overflow:hidden;background:#e9e6df}
.ox-land-gal__img img{display:block;width:100%;height:100%;object-fit:cover}
.ox-land-gal__it figcaption{display:flex;flex-direction:column;gap:4px;padding:14px 18px 18px}
.ox-land-gal__it b{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.02em}
.ox-land-gal__it span{font-size:14px;line-height:1.45;color:#5d6b7c}

/* шаги: темный лист в клетку */
.ox-land-steps{margin:48px 0 40px;padding:40px;background:var(--ink);color:#c4d0de;
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px}
.ox-land-steps__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.25)}
.ox-land-steps__list li{display:flex;flex-direction:column;gap:10px;padding:18px 18px 22px 0;font-size:16px;line-height:1.4;color:#fff}
.ox-land-steps__list li + li{padding-left:18px;border-left:1px solid rgba(255,255,255,.18)}
.ox-land-steps__list b{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--accent);letter-spacing:.08em}
.ox-land-steps__cta{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:24px;align-items:start;margin-top:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.25)}
.ox-land-steps__ct{color:#fff;font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.2}

@media (max-width:1100px){
  .ox-land-steps__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ox-land-steps__list li + li{padding-left:0;border-left:0}
  .ox-land-steps__list li{border-bottom:1px solid rgba(255,255,255,.18)}
  .ox-land-steps__cta{grid-template-columns:1fr}
}
@media (max-width:900px){
  .ox-land-hero{grid-template-columns:1fr}
  .ox-land-hero__text{border-right:0;border-bottom:1px solid var(--line);padding:26px 20px 28px}
  .ox-land-hero__h{font-size:30px}
  .ox-land-nums,.ox-land-gal__grid{grid-template-columns:1fr}
  .ox-land-num + .ox-land-num{padding-left:0;border-left:0}
  .ox-land-steps{padding:28px 20px}
}
@media (max-width:600px){
  .ox-land-form,.ox-land-hero__form .ox-land-form{grid-template-columns:1fr}
  .ox-land-hero__form{padding:20px}
  .ox-land-steps__list{grid-template-columns:1fr}
  .ox-land-h{font-size:24px}
}

/* End */


/* Start:/local/templates/optex2026/styles.css?1783875345191*/
/* Пустой по требованию редакций Битрикса.
   Реальные стили темы: css/tokens.css, base.css, header.css, footer.css, home.css, pcard.css */

/* End */
/* /local/templates/optex2026/fonts/fonts.css?1783875058528 */
/* /local/templates/optex2026/vendor/swiper/swiper-bundle.min.css?178387464718454 */
/* /local/templates/optex2026/css/tokens.css?17838750551216 */
/* /local/templates/optex2026/css/base.css?17840624687355 */
/* /local/templates/optex2026/css/header.css?179414009715033 */
/* /local/templates/optex2026/css/footer.css?17941400977965 */
/* /local/templates/optex2026/css/home.css?179404597313276 */
/* /local/templates/optex2026/css/pcard.css?17942996906678 */
/* /local/templates/optex2026/css/catalog.css?179429456214337 */
/* /local/templates/optex2026/css/card.css?179447303815182 */
/* /local/templates/optex2026/css/basket.css?179413273410584 */
/* /local/templates/optex2026/css/shop-pages.css?179442296822124 */
/* /local/templates/optex2026/css/content.css?179420647015488 */
/* /local/templates/optex2026/css/koncept-fonts.css?17940665782903 */
/* /local/templates/optex2026/css/chertezh.css?179442229057740 */
/* /local/templates/optex2026/css/landing.css?17943722626315 */
/* /local/templates/optex2026/styles.css?1783875345191 */
