/* Adaptation layer over the locally preserved source styles.
   Brand palette and original responsive layouts are kept in the source CSS files. */
:root { --brand: #a92414; --line: #e5e5e5; --paper: #f6f6f6; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { overflow-x: clip; }
[hidden] { display: none !important; }
img, video { max-width: 100%; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #b3271d; outline-offset: 4px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.header__search.is-open { display: block; z-index: 110; }
.header__cart { position: relative; }
.demo-cart-count { position: absolute; top: -8px; right: -9px; min-width: 18px; padding: 2px 4px; border-radius: 50%; background: var(--brand); color: white; font: 11px/14px sans-serif; text-align: center; }
.menu-panel:not(.is-active) { visibility: hidden; }
.header-menu__item:focus-within .header-menu__submenu { opacity: 1; visibility: visible; pointer-events: auto; }
.header__logo { flex: 0 0 170px; }
.header__logo img { width: 100%; height: auto; }
@media (min-width: 992px) and (max-width: 1479px) { .header-menu { margin-left: 20px !important; margin-right: 15px !important; } .header-menu__item { margin-left: 9px !important; margin-right: 9px !important; } .header-menu__link { font-size: 12px; } .header__phone { margin-left: auto; } }
.native-carousel { overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x mandatory; scrollbar-width: none; }
.native-carousel::-webkit-scrollbar { display: none; }
.native-carousel > .swiper-wrapper { transform: none !important; display: flex; gap: 20px; width: auto; }
.native-carousel .swiper-slide { scroll-snap-align: start; flex-shrink: 0; }
.banner .native-carousel > .swiper-wrapper { gap: 0; }
.banner .swiper-slide { flex-basis: 100%; width: 100%; }
.banner .banner__item:not(.swiper-slide-active) { opacity: 1 !important; }
.features .swiper-slide { width: calc((100% - 40px) / 3); }
.features .native-carousel { padding-bottom: 12px; }
.gallery__slider .native-carousel { position: relative !important; opacity: 1 !important; pointer-events: auto !important; }
.gallery__slider .swiper-slide { width: min(70vw,600px); }
.category__showcase .swiper-slide { width: min(70vw,340px); }
.product-slider__items .swiper-slide { width: 280px; }
.product-slider__main .swiper-slide { width: 320px; }
.product-slider__main .product-slider__left { display: none; }
.product-slider__main .native-carousel { max-height: 800px; }
.category-interactive .swiper-slide { width: 100%; }
.product__image img { object-fit: contain; height: auto; }
.rub { font-family: Arial,sans-serif !important; font-size: 1em; }
.radio-group__radio { display: block !important; position: absolute; opacity: 0; width: 1px; height: 1px; }
.radio-group__radio:focus-visible + label { outline: 3px solid var(--brand); outline-offset: 3px; }
.tab-pane:not(.active) { display: none; }
.tabs__wrap { flex-wrap: nowrap; overflow-x: auto; }
.tabs__item { white-space: nowrap; }
.modal.show { background: rgb(0 0 0 / 55%); overflow-y: auto; }
.modal .close { min-width: 36px; min-height: 36px; }
.modal .close::after { content: '×'; font: 28px/1 sans-serif; }
.ui-notice { position: fixed; z-index: 300; left: 50%; bottom: 24px; transform: translate(-50%,25px); opacity: 0; pointer-events: none; padding: 16px 24px; max-width: calc(100% - 32px); width: max-content; background: #242424; color: white; border-radius: 4px; transition: .2s; box-shadow: 0 4px 24px #0003; }
.ui-notice.is-visible { opacity: 1; transform: translate(-50%,0); }
.ui-lightbox { border: 0; background: white; padding: 40px 16px 16px; max-width: 94vw; max-height: 94vh; }
.ui-lightbox::backdrop { background: #000b; }
.ui-lightbox img { max-height: 80vh; object-fit: contain; }
.ui-lightbox button { position: absolute; right: 10px; top: 5px; font-size: 30px; width: 36px; height: 36px; }
.demo-cart, .demo-search { padding-top: 50px; padding-bottom: 70px; }
.demo-cart h1,.demo-search h1 { margin-bottom: 32px; }
.demo-cart-item { display: grid; grid-template-columns: 100px 1fr 120px 140px 32px; align-items: center; gap: 22px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.demo-cart-item img { width: 100px; height: 100px; object-fit: contain; }
.demo-cart-item h2 { font-size: 20px; }
.demo-cart-item p { font-size: 14px; margin-bottom: 5px; }
.quantity { display: flex; align-items: center; gap: 15px; }
.quantity button { width: 32px; height: 36px; border: 1px solid var(--line); }
[data-cart-total] { text-align: right; font-size: 28px; font-weight: 700; margin: 25px 0; }
.demo-order { max-width: 660px; display: grid; gap: 16px; padding: 30px; background: var(--paper); }
.demo-order h2 { margin: 0; }
.demo-order label { display: grid; gap: 5px; margin: 0; }
.demo-order input:not([type=checkbox]), .demo-order textarea,.search-line input,.demo-catalog-controls input,.demo-catalog-controls select,.demo-city-select { width: 100%; padding: 12px; border: 1px solid #bbb; border-radius: 2px; background: white; color: #222; }
.demo-order .consent { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; }
.demo-empty { padding: 60px 20px; text-align: center; }
.search-line { display: flex; gap: 15px; margin-bottom: 24px; }
.demo-results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
.demo-results article { padding: 24px; border: 1px solid var(--line); }
.demo-results img { width: 100%; height: 230px; object-fit: contain; }
.demo-results h2 { font-size: 20px; margin-top: 20px; }
.demo-catalog-controls { display: flex; flex-wrap: wrap; gap: 16px; margin: 0 0 24px; padding: 18px; background: var(--paper); }
.demo-catalog-controls label { flex: 1 1 180px; margin: 0; }
.demo-catalog-controls p { width: 100%; margin: 0; font-size: 14px; }
.demo-city-select { max-width: 340px; }
.map-placeholder { padding: 45px 24px; background: #ededeb; text-align: center; min-height: 230px; }
.interactive-map:has(.map-placeholder) { height: auto; }
.external-video { display: block; padding: 36px; background: #242424; color: white; text-align: center; }
.demo-form-note { margin-top: 15px; font-size: 13px; color: #666; }
@media (min-width: 768px) { .catalog__filter-content { display: block !important; } }
@media (min-width: 1240px) { .js-gallery .gallery__slider { display: none; } }
@media (max-width: 575px) { .header__cart .demo-cart-count { top: 4px; right: 5px; } }
@media (max-width: 991px) { .features .swiper-slide { width: calc((100% - 20px) / 2); } .demo-cart-item { grid-template-columns: 80px 1fr 36px; gap: 15px; } .demo-cart-item .quantity { grid-column: 2; } .demo-cart-item strong { grid-column: 2; } .demo-cart-item > button { grid-column: 3; grid-row: 1; } .demo-results { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 575px) { .features .swiper-slide { width: 85%; } .demo-results { grid-template-columns: 1fr; } .demo-cart,.demo-search { padding-top: 25px; } .demo-order { padding: 20px; } .search-line { flex-direction: column; } .demo-cart h1,.demo-search h1 { font-size: 30px; } .product__params { min-width: 0; } .radio-group__items { flex-wrap: wrap; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition: none !important; animation: none !important; } }
