/* Кастомные правила (наши, не из InSales) */

/* Резерв под скроллбар — чтобы при открытии меню ничего не «скакало» */
html { scrollbar-gutter: stable; }

/* «Показать все» в подкатегориях шапки (замена cut-list JS) */
.widget-type_system_widget_v4_header_1 .header__collections-submenu.is-expanded > .header__collections-item.is-hide { display: block; }

/* Слайдер статей (исходно tvist) — простой горизонтальный скролл */
.js-special-article-slider.is-scroll-slider [class*="__track"] { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; transform: none !important; gap: 30px; }
.js-special-article-slider.is-scroll-slider [class*="__track"]::-webkit-scrollbar { display: none; }
.js-special-article-slider.is-scroll-slider [class*="__slide"] { flex: 0 0 auto !important; width: auto; min-width: 240px; }

/* Модалки (наша замена micromodal): скрыты по умолчанию, показываются при открытии */
.modal:not(.is-open):not([aria-hidden="false"]) { display: none !important; }
.modal.is-open, .modal[aria-hidden="false"] { display: block; }

/* Живой поиск — выпадающие подсказки */
.header__search__results { position:absolute; left:0; right:0; top:100%; background:#fff; border-radius:0 0 8px 8px; box-shadow:0 8px 24px rgba(0,0,0,.15); z-index:50; display:none; max-height:60vh; overflow-y:auto; }
.header__search-form.is-show .header__search__results { display:block; }
.search-suggest__item { display:flex; align-items:center; gap:.6rem; padding:.5rem .75rem; text-decoration:none; color:#222; border-bottom:1px solid #f0f0f0; }
.search-suggest__item:hover { background:#f7f7f7; }
.search-suggest__img { width:48px; height:48px; object-fit:contain; flex:0 0 48px; }
.search-suggest__name { flex:1; font-size:.9rem; }
.search-suggest__price { font-weight:600; color:#FC5600; white-space:nowrap; }
.search-suggest__empty { padding:.75rem; color:#888; }
.search-suggest__hl { background:rgba(252,86,0,.15); color:#FC5600; font-weight:600; border-radius:2px; padding:0 1px; }
.search-suggest__all { display:block; text-align:center; padding:.6rem .75rem; font-size:.88rem; color:#04A1A4; font-weight:600; text-decoration:none; border-top:1px solid #f0f0f0; }
.search-suggest__all:hover { background:#f7f7f7; color:#FC5600; }

/* ===== Шим стоковых OC-страниц на Bootstrap-классах =====
   (кабинет: reset/newsletter/return/voucher/transaction/recurring/affiliate/download/tracking/reward
   + information/contact). Bootstrap выпилен из темы, эти классы больше нигде не используются → стили безопасны. */
.container{max-width:1240px;margin:0 auto;padding:1.5rem 1rem}
.container .row{display:flex;flex-wrap:wrap;gap:1.5rem;margin:0}
.container [class*="col-sm-"]{flex:1 1 100%;min-width:0}
@media(min-width:768px){
  .container .col-sm-3{flex:0 0 250px;max-width:250px}
  .container .col-sm-4{flex:0 0 320px}
  .container .col-sm-9,.container .col-sm-8,.container .col-sm-6{flex:1 1 0}
  .container .col-sm-2{flex:0 0 190px;max-width:190px}
  .container .col-sm-10{flex:1 1 0}
}
.container h1{font-family:var(--font-family-heading);font-weight:600;font-size:calc(var(--font-size)*var(--heading-ratio));margin:0 0 1.2rem}
.container h2,.container legend{font-family:var(--font-family-heading);font-weight:600;font-size:calc(var(--font-size)*var(--heading-ratio)/1.4);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #ececec;width:100%}
.container .breadcrumb{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0 0 1rem;font-size:.85rem;color:#888}
.container .breadcrumb>li:not(:last-child):after{content:'/';margin-left:.4rem;color:#bbb}
.container .breadcrumb a{color:#888;text-decoration:none}
.container .breadcrumb a:hover{color:#FC5600}
.container fieldset{border:none;padding:0;margin:0 0 1rem}
.container .form-group{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4rem .8rem;margin-bottom:1rem}
.container .control-label{font-weight:500;padding-top:.4rem}
.container .panel{border:1px solid #ececec;border-radius:14px;background:#fff;margin-bottom:1.2rem;overflow:hidden}
.container .panel-heading{padding:.9rem 1.2rem;background:#f7f9f9;border-bottom:1px solid #ececec;font-weight:600}
.container .panel-body,.container .panel-footer{padding:1.2rem}
.container .btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.4rem;border-radius:var(--controls-btn-border-radius,10px);border:1px solid transparent;font-weight:600;cursor:pointer;text-decoration:none;font-size:.95rem;transition:background .15s,box-shadow .15s,transform .15s}
.container .btn-primary{background:#FC5600;color:#fff}
.container .btn-primary:hover{background:#ff6315;transform:translateY(-1px)}
.container .btn-default,.container .btn-info,.container .btn-light,.container .btn-secondary{background:#f0f0f0;color:#333}
.container .btn-default:hover,.container .btn-info:hover{background:#e6e6e6}
.container .buttons{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;flex-wrap:wrap}
.container .pull-left{margin-right:auto}
.container .pull-right{margin-left:auto}
.container .text-danger{color:#c0392b;font-size:.85rem;margin-top:.25rem;flex-basis:100%}
.container .text-right{text-align:right}
.container .table{width:100%;border-collapse:collapse;margin-bottom:1rem}
.container .table td,.container .table th{padding:.6rem .5rem;border-bottom:1px solid #f0f0f0;text-align:left}
.container .well{background:#f7f9f9;border:1px solid #ececec;border-radius:12px;padding:1rem;margin-bottom:1rem}
.container .alert{padding:.8rem 1rem;border-radius:10px;margin-bottom:1rem;background:#e9f7f7;border:1px solid #cfe9e9}
/* Левое меню кабинета (column_left = OC account-модуль .list-group) */
.container .list-group{display:flex;flex-direction:column;border:1px solid #ececec;border-radius:14px;overflow:hidden;background:#fff;margin-bottom:1.2rem}
.container .list-group-item{padding:.7rem 1.1rem;border-bottom:1px solid #f0f0f0;color:#333;text-decoration:none;font-size:.92rem;background:#fff}
.container .list-group-item:last-child{border-bottom:none}
.container .list-group-item:hover{background:#f7f9f9;color:#FC5600}
.container .list-group-item.active{background:#04A1A4;color:#fff;font-weight:600}

/* ===== Куки-баннер ===== */
.cookie-consent{position:fixed;left:0;right:0;bottom:0;z-index:1050;background:#04A1A4;color:#fff;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 20px rgba(0,0,0,.15)}
.cookie-consent.is-show{transform:translateY(0)}
.cookie-consent__inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;flex-wrap:wrap}
.cookie-consent__text{flex:1;min-width:200px;font-size:.9rem;line-height:1.4}
.cookie-consent__text a{color:#fff;text-decoration:underline}
.cookie-consent__btn{flex:0 0 auto;background:#FC5600;color:#fff;border:none;white-space:nowrap}
.cookie-consent__btn:hover{background:#ff6315;color:#fff}

/* ===== Карточка товара (chai) ===== */
.product__photos-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.product__thumb{width:64px;height:64px;border:1px solid #e6e6e6;border-radius:6px;padding:2px;background:#fff;cursor:pointer;overflow:hidden}
.product__thumb.is-active{border-color:#0ABAB5}
.product__thumb img{width:100%;height:100%;object-fit:contain}
.product__available [data-chai-available],.product__available .is-available{color:#0ABAB5}
.product__available .is-not-available{color:#c0392b}
.option-value.is-disabled{opacity:.45;text-decoration:line-through;cursor:not-allowed}
.option-value__price{opacity:.7;font-size:.85em;margin-left:.25em}
.option.has-error .option-label{color:#c0392b}
.button.is-loading{opacity:.6;pointer-events:none}
.button:disabled{opacity:.5;pointer-events:none}

/* Вкладки описание/характеристики/отзывы */
.product-tabs__nav{display:flex;gap:4px;list-style:none;margin:0 0 16px;padding:0;border-bottom:2px solid #eee;flex-wrap:wrap}
.product-tabs__nav li a{display:inline-block;padding:10px 18px;color:#333;text-decoration:none;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-2px}
.product-tabs__nav li.is-active a{color:#04A1A4;border-bottom-color:#04A1A4}
.product-tabs__pane{display:none}
.product-tabs__pane.is-active{display:block}
.product-spec{width:100%;border-collapse:collapse}
.product-spec td{padding:8px 12px;border-bottom:1px solid #eee;vertical-align:top}
.product-spec__name{color:#888;width:40%}
.product-spec__group td{background:#f7f7f7;color:#04A1A4}

/* Сетка сопутствующих товаров */
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.products-grid_related .product-preview{display:flex;flex-direction:column;gap:8px}
.product-preview__photo{display:block;border-radius:8px;overflow:hidden;background:#fff}
.product-preview__title a{color:#222;text-decoration:none;font-size:.95rem}
.product-preview__price{font-weight:700}
@media(max-width:991px){.products-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.products-grid{grid-template-columns:repeat(2,1fr)}}

/* Тост-уведомление */
.chai-toast{position:fixed;right:20px;bottom:20px;max-width:340px;background:#04A1A4;color:#fff;padding:14px 18px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;transform:translateY(12px);transition:.25s;z-index:9999;pointer-events:none}
.chai-toast.is-show{opacity:1;transform:translateY(0)}
.chai-toast.is-error{background:#c0392b}

/* ===== Базовые сообщения (bootstrap отключён) — стилизуем то, что выводит наш код ===== */
.text-danger{color:#c0392b;font-size:.85rem;margin-top:4px;display:block}
.text-success{color:#1d7a33}
.alert{padding:12px 16px;border-radius:8px;margin:12px 0;border:1px solid transparent;font-size:.95rem}
.alert-success{background:#e8f8ec;border-color:#bfe6c8;color:#1d7a33}
.alert-danger,.alert-error{background:#fdecea;border-color:#f5c2bb;color:#b3261e}
.alert-info{background:#e9f6f6;border-color:#bfe6e6;color:#04A1A4}
.has-error .option-label,.has-error .control-label{color:#c0392b}

/* ===== Хлебные крошки — единый видимый стиль (перекрывает разрозненные правила скрейпа) ===== */
.breadcrumb-wrapper{display:block;padding:0}
.breadcrumb-wrapper .breadcrumb,
ul.breadcrumb{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center}
.breadcrumb-wrapper .breadcrumb > li,
ul.breadcrumb > li{display:inline-flex;align-items:center;color:#777;font-size:.9rem}
.breadcrumb-wrapper .breadcrumb > li:not(:last-child)::after,
ul.breadcrumb > li:not(:last-child)::after{content:"/";opacity:.5;margin:0 8px;color:#999}
.breadcrumb-wrapper .breadcrumb a,
ul.breadcrumb a{color:#333;text-decoration:none}
.breadcrumb-wrapper .breadcrumb a:hover,
ul.breadcrumb a:hover{color:#FC5600}
.breadcrumb-wrapper .breadcrumb > li:last-child{color:#999}

/* ===== Главная (chai) ===== */
.section-title{font-size:1.6rem;margin:0 0 18px;text-align:center}
.chai-hero{background:#04A1A4 linear-gradient(135deg,#04A1A4,#05c2c5);background-size:cover;background-position:center;border-radius:16px;padding:48px 32px;color:#fff;text-align:center}
.chai-hero__inner{max-width:680px;margin:0 auto}
.chai-hero__title{color:#fff;font-size:2rem;margin:0 0 12px}
.chai-hero__text{font-size:1.05rem;opacity:.95;margin:0 0 22px}
.chai-hero__btn{background:#FC5600;color:#fff;border:0}
.chai-hero__btn:hover{background:#e44e00;color:#fff}
.home-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.home-category{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:#222}
.home-category__photo{display:block;width:100%;border-radius:12px;overflow:hidden;background:#f7f7f7}
.home-category__name{font-weight:600;text-align:center}
.home-category:hover .home-category__name{color:#04A1A4}
.product-preview{position:relative;display:flex;flex-direction:column;height:100%}
.product-preview .favorites_btn{position:absolute;top:8px;right:8px;z-index:2}
/* oc-карточки: flex-колонка, перебиваем grid из pages.css (js-chai-card = наш класс → 0-2-0 > 0-1-0) */
.js-chai-card{display:flex;flex-direction:column;height:100%}
.js-chai-card .product-preview__content{display:flex;flex-direction:column;flex:1;height:auto}
.js-chai-card .product-preview__area-title{min-height:0}
.js-chai-card .product-preview__area-bottom{margin-top:auto;padding-top:8px}
.catalog-list.grid-list{align-items:stretch}
@media(max-width:991px){.home-categories{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.home-categories{grid-template-columns:repeat(2,1fr)}}

/* ===== Категория (chai) ===== */
.category-description{margin:10px 0 0;color:#555}
.catalog-subcats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.catalog-subcat{display:inline-block;padding:8px 16px;background:#f1f6f6;border:1px solid #e0eded;border-radius:999px;color:#04A1A4;text-decoration:none;font-size:.92rem;transition:.15s}
.catalog-subcat:hover{background:#04A1A4;color:#fff;border-color:#04A1A4}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid #eee}
.catalog-toolbar__results{color:#888;font-size:.9rem}
.catalog-toolbar__controls{display:flex;gap:16px;flex-wrap:wrap}
.catalog-toolbar__field{display:flex;align-items:center;gap:8px}
.catalog-toolbar__field label{color:#888;font-size:.9rem;white-space:nowrap}
.catalog-toolbar__field select{min-width:160px}
.catalog-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px}
.catalog-pagination .pagination{display:inline-flex;gap:6px;list-style:none;margin:0;padding:0}
.catalog-pagination .pagination a,.catalog-pagination .pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #e0e0e0;border-radius:8px;color:#333;text-decoration:none}
.catalog-pagination .pagination .active span,.catalog-pagination .pagination a:hover{background:#04A1A4;color:#fff;border-color:#04A1A4}
.catalog-pagination__results{color:#888;font-size:.9rem}
.catalog-empty{padding:40px 0;text-align:center}
.catalog-empty .button{margin-top:14px}

/* ===== Категория: панель фильтр+сортировка (chai) ===== */
.collection-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 22px}
.show-mobile-filter-btn{display:inline-flex;align-items:center;gap:8px}
.collection-sort{margin-left:auto}
.collection-sort .select-wrapper select{min-width:200px}
.filter__footer{padding:16px;position:sticky;bottom:0;background:var(--bg,#fff)}
.product-preview__buy-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}
.product-preview__price-old{text-decoration:line-through;opacity:.6;margin-right:6px;font-size:.9em}

/* ===== Категория: левый сайдбар + AJAX-каталог (chai) ===== */
.catalog-layout{display:flex;align-items:flex-start;gap:30px}
.catalog-sidebar{flex:0 0 260px;max-width:260px}
.catalog-main{flex:1;min-width:0}
.catalog-cats{margin-bottom:24px}
.catalog-cats__title,.catalog-filter__title{font-weight:700;font-size:1.1rem;margin:0 0 12px}
.catalog-cats__list{list-style:none;margin:0;padding:0}
.catalog-cats__list li{margin:0 0 8px}
.catalog-cats__list a{color:#333;text-decoration:none}
.catalog-cats__list a:hover{color:#04A1A4}
.catalog-filter{border-top:1px solid #eee;padding-top:18px}
.catalog-filter__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.catalog-filter__reset{font-size:.85rem;color:#04A1A4;cursor:pointer}
.catalog-filter .filter-item{color:#333;border-bottom:1px solid #eee;padding:12px 0}
.catalog-filter .filter-item__name{font-weight:600;cursor:pointer;display:block}
.catalog-filter .filter-item__content{margin-top:10px}
.catalog-filter .filter-item__list-item{margin:0 0 8px}
.catalog-filter .filter-option{display:flex;align-items:center;gap:8px;cursor:pointer}
.catalog-filter .filter-range__values{display:flex;gap:10px}
.catalog-filter .filter-range__values-item{display:flex;align-items:center;gap:6px}
.catalog-filter__apply{margin-top:18px}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.catalog-toolbar__results{color:#888;font-size:.9rem}
.collection-sort .select-wrapper select{min-width:210px}
#catalog-results{transition:opacity .15s}
#catalog-results.is-loading{opacity:.45;pointer-events:none}
@media(max-width:900px){.catalog-layout{flex-direction:column}.catalog-sidebar{flex:none;max-width:100%;width:100%}}

/* ===== Категория: 2 колонки (левый фильтр-сайдбар + контент) ===== */
.collection-body{display:flex;align-items:flex-start;gap:30px;margin-top:10px}
.collection-body aside.is-large{flex:0 0 280px;max-width:280px;width:280px}
.collection-body aside.is-large:before{display:none}
.collection-content{flex:1;min-width:0}
.collection-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:0 0 20px}
.collection-sort .select-wrapper select{min-width:210px}
.show-mobile-filter-btn{display:none}
.sidebar-collections__menu{list-style:none;margin:0;padding:0}
.sidebar-collections__submenu{list-style:none;margin:6px 0 0;padding:0 0 0 14px}
.sidebar-collections__item{margin:0 0 7px}
.sidebar-collections__link{color:#333;text-decoration:none;font-size:.92rem}
.sidebar-collections__link.is-current{font-weight:700;color:#04A1A4}
.sidebar-collections__link:hover{color:#04A1A4}
.sidebar-collections__item.home_category .sidebar-collections__link{color:#888}
/* десктоп: фильтр-сайдбар статичный (перекрываем off-canvas базу InSales) */
@media(min-width:901px){
  .collection-body .widget-type_system_widget_v4_sidebar_filter_3 .filter{position:static;transform:none;visibility:visible;z-index:auto;padding:0;background:transparent;max-width:none;width:auto;box-shadow:none;border:0}
  .collection-body .filter__hide-mobile-filter-btn{display:none}
}
/* мобайл: сайдбар сверху, фильтр off-canvas по кнопке «Фильтры» */
@media(max-width:900px){
  .collection-body{display:block}
  .collection-body aside.is-large{width:auto;max-width:none;display:block}
  .show-mobile-filter-btn{display:inline-flex;align-items:center;gap:8px}
}

/* ===== Категория: самодостаточная раскладка (перекрывает InSales-quirks) ===== */
.chai-cat-wrap{max-width:1240px;margin:0 auto;padding:10px 20px 40px}
.chai-cat-grid{display:flex;align-items:flex-start;gap:30px}
.chai-cat-side{flex:0 0 270px;width:270px;max-width:270px}
.chai-cat-main{flex:1 1 auto;min-width:0}
/* фильтр статичный слева — перекрываем off-canvas базу InSales намертво */
.chai-cat-side .filter{position:static !important;transform:none !important;visibility:visible !important;display:block !important;width:auto !important;max-width:none !important;height:auto !important;inset:auto !important;top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;background:transparent !important;box-shadow:none !important;border:0 !important;padding:0 !important;z-index:auto !important;overflow:visible !important;transition:none !important}
.chai-cat-side .filter__head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.chai-cat-side .filter__head-title{font-size:1.2rem;font-weight:700}
.chai-cat-side .filter__hide-mobile-filter-btn{display:none}
.chai-filter-reset{margin-left:auto;font-size:.85rem;color:#04A1A4;cursor:pointer}
.collection-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:0 0 20px}
.collection-toolbar .show-mobile-filter-btn{display:none}
.collection-sort .select-wrapper select{min-width:210px}
.category-description{margin-top:30px;color:#555}
@media(max-width:900px){
  .chai-cat-grid{display:block}
  .chai-cat-side{width:auto;max-width:none}
  .collection-toolbar .show-mobile-filter-btn{display:inline-flex;align-items:center;gap:8px}
  .chai-cat-side .filter{position:fixed !important;visibility:hidden !important;transform:translate3d(-100%,0,0) !important;top:0 !important;left:0 !important;bottom:0 !important;width:85% !important;max-width:340px !important;background:#fff !important;z-index:9999 !important;padding:16px !important;overflow-y:auto !important;transition:.3s !important}
  .chai-cat-side .filter.is-show-mobile{transform:translate3d(0,0,0) !important;visibility:visible !important}
  .chai-cat-side .filter__hide-mobile-filter-btn{display:inline-flex}
}

/* ===== Категория: нативный лейаут page_layout_sticky_left (фильтр в сайдбаре статичный) ===== */
@media(min-width:768px){
  .page_layout_sticky_left aside.is-large .filter{position:static !important;transform:none !important;visibility:visible !important;display:block !important;width:auto !important;max-width:none !important;height:auto !important;inset:auto !important;top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;background:transparent !important;box-shadow:none !important;border:0 !important;padding:0 !important;z-index:auto !important;overflow:visible !important;transition:none !important}
  .page_layout_sticky_left aside.is-large .filter__hide-mobile-filter-btn{display:none}
  .collection-toolbar .show-mobile-filter-btn{display:none}
}
.page_layout_sticky_left aside.is-large{padding-right:0}
.page_layout_sticky_left aside.is-large .filter__content{display:block;visibility:visible}
.page_layout_sticky_left aside.is-large .filter-item{display:block}
.page_layout_sticky_left aside.is-large .filter__head-title{font-size:1.2rem;font-weight:700}
.filter-item__head{cursor:pointer}
.chai-filter-reset{margin-left:auto;font-size:.85rem;color:#04A1A4;cursor:pointer}
.collection-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:0 0 20px}
.collection-toolbar .show-mobile-filter-btn{display:none}
.collection-sort .select-wrapper select{min-width:210px}
#catalog-results.is-loading{opacity:.45;pointer-events:none}
.category-description{margin-top:30px;color:#555}
@media(max-width:767px){
  .collection-toolbar .show-mobile-filter-btn{display:inline-flex;align-items:center;gap:8px}
}

/* ===== Категория: жёстко форсируем десктоп 2-колонки (на случай если mobile-правило перебивает) ===== */
@media(min-width:992px){
  .page_layout.page_layout_section_top{
    grid-template-areas:"header header header header" "section-top section-top section-top section-top" ". sidebar main ." "footer footer footer footer" !important;
  }
  .page_layout_sticky_left>aside.is-large{display:flex !important}
}

/* Категория-фильтр: прячем пустой слайдер (noUiSlider не подключён) — остаются поля от/до */
.filter-range__slider:empty{display:none}
.filter-range__values{display:flex;align-items:center;gap:8px;margin-top:6px}
.filter-range__values-item{display:flex;align-items:center;gap:6px}
.filter-range__field{max-width:90px}

/* ===== Категория: отступы кнопки «Показать ещё» + карточек ===== */
.catalog-loadmore{text-align:center;margin:34px 0 8px}
.catalog-loadmore__results{color:#888;font-size:.9rem;margin-bottom:16px}
.infinity-products-controls{text-align:center}
.infinity-products-controls__btn{cursor:pointer}
/* карточка: инлайн-опции Вид/Фасовка */
.product-preview__variants{margin:10px 0}
.product-preview__variants .option{margin-bottom:8px}
.product-preview__variants .option-label{display:block;font-size:.78rem;color:#888;margin-bottom:5px}
.product-preview__variants .option-values{display:flex;flex-wrap:wrap;gap:6px}
.product-preview__variants .option-value{display:inline-block;margin:0 2px 4px 0;line-height:1;font-size:.875rem;cursor:pointer;color:var(--color-text,#222)}
.product-preview__variants .option-value>span{--option-bg:#f7f7f7;display:inline-block;padding:.3rem .5rem;border-radius:10px;border:2px solid var(--option-bg);background-color:var(--option-bg)}
.product-preview__variants .option-value.is-active>span{background-color:transparent;border:2px solid #FC5600}
.product-preview__variants .option-value.is-disabled{opacity:.4;text-decoration:line-through;pointer-events:none}
.product-preview__variants .option-value input{display:none}
/* карточка: кнопка В корзину на всю ширину + отступ */
.product-preview .product-preview__controls{display:block;margin-top:10px}
.product-preview .add-cart-counter{width:100%}
.product-preview .add-cart-counter__btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px}

/* ===== Фильтр-сайдбар: галочки + видимость пунктов (без InSales icon-font и без ajax-filter JS) ===== */
/* 1. Все пункты списка — видимые (InSales JS добавлял .ajax-filter-short-list-item-visible, у нас нет) */
.widget-type_system_widget_v4_sidebar_filter_3 .filter-item__list-item{display:block}
/* 2. Галочка ✓ через Unicode (insales-icons не грузится в OC); убираем background — он для glyph-иконки */
.widget-type_system_widget_v4_sidebar_filter_3 .filter-option__btn:before{content:"\2713";background:none}
/* 3. Стрелка аккордеона ▾ вместо icon-angle-down из icon-font */
.widget-type_system_widget_v4_sidebar_filter_3 .filter-item__head .icon-angle-down:before{content:"▾";font-size:1.1em;line-height:1;font-style:normal}
/* 4. Ограничиваем высоту длинных списков (напр. Состав) */
.widget-type_system_widget_v4_sidebar_filter_3 .filter-item__list{max-height:240px;overflow-y:auto;scrollbar-width:thin}
/* 5. Те же правила для мобильного фильтра (filter_sort_1) */
.widget-type_system_widget_v4_filter_sort_1 .filter-item__list-item{display:block}
.widget-type_system_widget_v4_filter_sort_1 .filter-option__btn:before{content:"\2713";background:none}
.widget-type_system_widget_v4_filter_sort_1 .filter-item__head .icon-angle-down:before{content:"▾";font-size:1.1em;line-height:1;font-style:normal}
.widget-type_system_widget_v4_filter_sort_1 .filter-item__list{max-height:260px;overflow-y:auto;scrollbar-width:thin}

/* ===== Карточка товара (product.twig): опции-кнопки ===== */
/* <button class="option-value is-span"> — сбрасываем браузерные дефолты; chip-стили дают pages.css через .is-span.is-span */
.js-chai-product .option-value.is-span{-webkit-appearance:none;appearance:none;font:inherit;cursor:pointer}
/* Ряд чипов: flex с равным gap; pages.css ставит только flex-wrap без display:flex */
.js-chai-product .option-values{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
/* Убираем margin у чипа (gap заменяет); специфичность = pages.css, но грузим позже → выигрываем */
.widget-type_system_widget_v4_product_3 .js-chai-product .option-selector .option-value.is-span{margin:0}

/* ===== Главная: табы (магазины/идеи для подарков) — показываем ТОЛЬКО активный.
   В pages.css позднее правило .tabs__item{display:block} перебивает скрытие → все табы стопкой.
   Перебиваем с widget-скоупом (выше специфичность). ===== */
[class*="widget_v4_shops"] .tabs__item:not(.is-active),
[class*="special_products_tabs"] .tabs__item:not(.is-active){display:none !important}
[class*="widget_v4_shops"] .tabs__item.is-active,
[class*="special_products_tabs"] .tabs__item.is-active{display:block}

/* ===== Страница поиска (search.twig): форма уточнения ===== */
.search-refine{display:flex;flex-direction:column;gap:10px}
.search-refine__row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.search-refine__field{flex:1 1 280px;min-width:0}
.search-refine__cat{flex:0 1 240px}
.search-refine__opts{display:flex;gap:20px;flex-wrap:wrap}
.search-refine__check{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:.95rem}
@media (max-width:767px){.search-refine__row{flex-direction:column;align-items:stretch}.search-refine__cat,.search-refine__field{flex:1 1 auto}}

/* ===== Форма отзывов (product.twig) ===== */
.review-form{max-width:560px;display:flex;flex-direction:column;gap:14px;margin-top:16px}
.review-form__title{margin:0 0 4px}
.review-form__field{display:flex;flex-direction:column;gap:6px}
.review-form__label{font-weight:600;font-size:.95rem}
.review-form__note{font-size:.8rem;color:#888}
.review-form__rating{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.review-form__rating-hint{font-size:.85rem;color:#888}
.review-form__star{cursor:pointer;line-height:1;display:inline-block}
.review-form__star input{position:absolute;opacity:0;width:0;height:0}
.review-form__star-ico:before{content:"\2605";font-size:1.7rem;color:#d9d9d9;transition:color .12s}
.review-form__star:hover .review-form__star-ico:before,.review-form__star.is-filled .review-form__star-ico:before{color:#FFB400}
.review-form__login{margin-top:8px}

/* ===== 404 ===== */
.error-page{text-align:center;padding:20px 0;max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:16px;align-items:center}
.error-page__text{color:#555}

/* ===== Аккаунт: логин/регистрация/восстановление ===== */
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.auth-card{border:1px solid #ececec;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:12px}
.auth-card__title{margin:0 0 4px;font-size:1.25rem}
.auth-card__text{color:#555;flex:1}
.auth-form{display:flex;flex-direction:column;gap:14px}
.auth-form__field{display:flex;flex-direction:column;gap:6px}
.auth-form__label{font-weight:600;font-size:.9rem}
.auth-form__forgot{font-size:.85rem;margin-top:4px;display:inline-block}
.auth-card .button,.auth-form .button{align-self:flex-start}
@media (max-width:767px){.auth-grid{grid-template-columns:1fr}.auth-card .button,.auth-form .button{align-self:stretch;text-align:center}}
.auth-card_single{max-width:520px}
.auth-form__controls{display:flex;gap:12px;flex-wrap:wrap}
.auth-form_wide{max-width:620px}
.auth-intro{color:#555;margin:0 0 16px}
.auth-form__legend{font-size:1.1rem;font-weight:700;margin:18px 0 10px;border-bottom:1px solid #ececec;padding-bottom:6px}
.auth-form__radios{display:flex;gap:18px;flex-wrap:wrap}
.auth-form__radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.auth-form__submit{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:18px}
.auth-form__agree{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:.9rem}
.auth-form__agree a{text-decoration:underline}


/* ===== from agent: A5-кабинет ===== */
/* ===== Личный кабинет (A5) ===== */
/* Дашборд-ссылки */
.account-dash{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;align-items:start}
.account-dash__group{border:1px solid #ececec;border-radius:12px;padding:20px 22px}
.account-dash__title{margin:0 0 12px;font-size:1.15rem}
.account-dash__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.account-dash__list a{text-decoration:none}
.account-dash__list a:hover{text-decoration:underline}

/* Заголовки секций внутри кабинета */
.account-subtitle{margin:24px 0 12px;font-size:1.15rem}
.account-subtitle:first-child{margin-top:0}
.account-subtitle_minor{font-size:.95rem;font-weight:700;margin:0 0 8px}

/* Таблицы заказов/избранного (co-table) */
.co-table{width:100%;border-collapse:collapse;margin:0 0 8px}
.co-table-cell{padding:12px 14px;border-bottom:1px solid #ececec;text-align:left;vertical-align:middle}
.co-table-row--head .co-table-cell--head{font-weight:700;border-bottom:2px solid #e0e0e0;white-space:nowrap}
.co-table-row--body:hover .co-table-cell--body{background:#fafafa}
.co-table-cell--foot{font-weight:600}
.account-table__image img{max-width:64px;height:auto;border-radius:6px;display:block}
.account-table__actions{white-space:nowrap;display:flex;gap:8px;flex-wrap:wrap}
.account-table__total-label{text-align:right}
.account-table .price s{color:#999}

/* Информация о заказе (co-order-information) */
.co-order-information{border:1px solid #ececec;border-radius:12px;padding:6px 20px;margin:0 0 8px}
.co-order-information_row{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}
.co-order-information_row:last-child{border-bottom:0}
.co-order-information_title{flex:0 0 220px;color:#777;font-size:.92rem}
.co-order-information_value{flex:1 1 240px;min-width:0}

/* Адреса в заказе + комментарий */
.account-address-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:0 0 8px}
.account-address-box{border:1px solid #ececec;border-radius:12px;padding:16px 18px;line-height:1.5}

/* Адресная книга — карточки */
.account-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:0 0 8px}
.account-card{border:1px solid #ececec;border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:14px;justify-content:space-between}
.account-card__body{line-height:1.5}
.account-card__actions{display:flex;gap:10px;flex-wrap:wrap}

/* Кнопочные ряды и пагинация */
.account-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.account-actions_split{justify-content:space-between}
.account-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px}
.account-pagination__results{color:#777;font-size:.9rem}

/* Required-метка для адресной формы (auth-form переиспользуется) */
.auth-form__field.required>.auth-form__label::after{content:" *";color:#c0392b}

/* Адаптив: таблицы -> карточки (как co-table--to_card) */
@media (max-width:767px){
  .account-dash,.account-cards,.account-address-cols{grid-template-columns:1fr}
  .co-table thead{position:absolute;left:-9999px}
  .co-table,.co-table tbody,.co-table tfoot,.co-table tr,.co-table td{display:block;width:100%}
  .co-table .co-table-row--body,.co-table .co-table-row--foot{border:1px solid #ececec;border-radius:10px;margin-bottom:14px;padding:6px 4px}
  .co-table .co-table-cell{border:0;padding:8px 14px;display:flex;justify-content:space-between;gap:12px;text-align:right}
  .co-table .co-table-cell[data-title]::before{content:attr(data-title);font-weight:600;color:#777;text-align:left}
  .account-table__image,.account-table__actions{justify-content:flex-start}
  .co-order-information_title{flex:1 1 100%}
  .account-actions_split{flex-direction:column}
  .account-actions_split .button{width:100%;text-align:center}
}

/* ===== from agent: A6A7-модалки ===== */
/* ===== Модалки быстрого заказа / обратного звонка (A6+A7) ===== */
/* Скоупим под .modal-callback-wrap, чтобы не задеть модалки special-products. */
.modal-callback-wrap{position:fixed;inset:0;z-index:var(--zindex-modal,1040)}
.modal-callback-wrap .modal__overlay{position:fixed;inset:0;display:block;background:rgba(0,0,0,.55);z-index:1}
/* Окно поверх подложки: центрируем карточку, пустые зоны прокликиваются на overlay (закрытие). */
.modal-callback-wrap .modal__window{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;z-index:2;pointer-events:none}
.modal-callback-wrap .modal__container{pointer-events:auto;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:0;background-color:var(--preview-background,#fff);border-radius:var(--border-radius,12px);box-shadow:0 12px 40px rgba(0,0,0,.25)}
/* Карточка callback внутри — без лишних отступов контейнера, отступы дают .callback__head/__main. */
.modal-callback-wrap .layout__content{max-width:none;padding:0}
.modal-callback-wrap .callback__head{border-top-left-radius:var(--border-radius,12px);border-top-right-radius:var(--border-radius,12px)}
.modal-callback-wrap .callback__field-error:empty{display:none}
/* Экран успеха (после отправки) */
.modal-callback-wrap .callback__form.is-sended .callback__content{display:none}
.modal-callback-wrap .callback__form.is-sended .callback__success-message{display:block}
/* Ссылка-триггер «Обратный звонок» в подвале */
.footer__callback{margin-top:.5rem}
.footer__callback-link{color:rgb(236,240,241);text-decoration:underline;cursor:pointer;font-size:.95rem}
.footer__callback-link:hover{text-decoration:none}

/* ===== Модалка выбора опций (сложные товары: фасовка/помол/вид) ===== */
.modal-callback-wrap.modal-product-options .modal__container{max-width:460px}
.product-options-modal{position:relative;width:100%;padding:1.6rem 1.5rem 1.5rem}
.product-options-modal__close{position:absolute;top:.6rem;right:.6rem;width:2.2rem;height:2.2rem;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:50%;background:transparent;color:#999;cursor:pointer;z-index:2}
.product-options-modal__close:hover{background:#f2f2f2;color:#222}
.product-options-modal__head{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.15rem;padding-right:1.5rem}
.product-options-modal__photo{flex:0 0 96px;width:96px}
.product-options-modal__photo .img-ratio{position:relative;padding-top:100%;border-radius:10px;overflow:hidden;background:#f7f7f7}
.product-options-modal__photo .img-ratio__inner{position:absolute;inset:0}
.product-options-modal__photo img{width:100%;height:100%;object-fit:contain}
.product-options-modal__info{flex:1;min-width:0}
.product-options-modal__title{font-size:1.05rem;font-weight:600;line-height:1.3;margin-bottom:.45rem;color:var(--color-text,#222)}
.product-options-modal__price{font-size:1.3rem;font-weight:700;color:#FC5600}
.product-options-modal__price .product-preview__price-cur{color:inherit}
.product-options-modal__options{margin-bottom:1.3rem}
.product-options-modal__options .option{margin-bottom:.9rem}
.product-options-modal__options .option:last-child{margin-bottom:0}
.product-options-modal__options .option-label{display:block;font-size:.82rem;color:#888;margin-bottom:.45rem}
.product-options-modal__options .option-values{display:flex;flex-wrap:wrap;gap:.5rem}
/* самодостаточные чипы вариантов (не зависят от стилей карточки/товара) */
.product-options-modal .option-value{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border:1px solid #e2e2e2;border-radius:9px;cursor:pointer;font-size:.92rem;line-height:1;background:#fff;color:#333;transition:border-color .15s,background .15s,color .15s;user-select:none}
.product-options-modal .option-value input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.product-options-modal .option-value:hover{border-color:#FC5600}
.product-options-modal .option-value.is-active{border-color:#FC5600;background:#FC5600;color:#fff}
.product-options-modal .option-value.is-disabled{opacity:.45;text-decoration:line-through;cursor:not-allowed;border-color:#e2e2e2;background:#fff;color:#333}
.product-options-modal__add{width:100%;justify-content:center}
.product-options-modal__detail{display:block;text-align:center;margin-top:.8rem;font-size:.9rem;color:#999;text-decoration:underline}
.product-options-modal__detail:hover{color:#FC5600}

/* ===== from agent: A11-блог ===== */
/* ===== A11 Blog: статья (список 100% переиспользует CSS темы .widget-type_system_widget_v4_blog_1, новых правил не требует) ===== */
.widget-type_system_widget_v4_article_1 .blog-article{max-width:820px;margin:0 auto}
.widget-type_system_widget_v4_article_1 .blog-article__date{color:var(--color-text-half-shade);margin:0 0 1.25rem}
.widget-type_system_widget_v4_article_1 .blog-article__photo{margin:0 0 1.75rem}
.widget-type_system_widget_v4_article_1 .blog-article__photo img{border-radius:var(--img-border-radius,6px)}
.widget-type_system_widget_v4_article_1 .blog-article__body{line-height:1.5}
.widget-type_system_widget_v4_article_1 .blog-article__body img{max-width:100%;height:auto;border-radius:var(--img-border-radius,6px)}
.widget-type_system_widget_v4_article_1 .blog-article__back{margin-top:2rem}


/* ===== B1-корзина ===== */
/* Добавить в catalog/view/theme/default/stylesheet/chai/custom.css
   (НЕ редактировал custom.css сам — отдаю текстом по правилам).
   Все остальные классы корзины (.cart, .cart-item, .item-image/title/price/counter/total/delete,
   .cart__area-items/-controls/-coupon, .coupon-*, .submit-block, .button*, .counter*) уже
   определены в cart-checkout.css под скоупом .widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0,
   который я навесил на обёртку #checkout-cart, поэтому новый CSS нужен только для таблицы итогов,
   которую я отрисовал серверно вместо JS-блока .total из оригинала. */

.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-totals {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.5rem;
}
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-totals__row td {
  padding: 0.35rem 0;
  vertical-align: baseline;
}
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-totals__label {
  color: var(--color-text-half-shade);
}
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-totals__value {
  text-align: right;
  white-space: nowrap;
  font-weight: 500;
}
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-totals__row.total td {
  padding-top: 0.6rem;
  border-top: 1px solid var(--bg-major-shade);
  font-size: 1.5rem;
  line-height: 1.8rem;
}
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-totals__row.total .cart-totals__value {
  font-weight: 600;
}
/* кнопка купона не должна прятаться на мобиле — мы используем её как явный submit (без авто-сабмита формы) */
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart__area-coupon .coupon-content .coupon-button {
  display: inline-block;
}

/* ===== B2-чекаут ===== */
/* ===== B2: Чекаут (checkout/*) — наши классы, bootstrap выпилен ===== */
/* Каркас аккордеона: шаги стопкой (collapse-плагина нет — все шаги видимы) */
.co-checkout{display:flex;flex-direction:column;gap:18px;margin:0}
.co-step{border:1px solid #ececec;border-radius:12px;overflow:hidden;background:#fff}
.co-step__head{padding:14px 20px;background:#f7f9f9;border-bottom:1px solid #ececec}
.co-step__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.2}
.co-step__title a{color:#04A1A4;text-decoration:none}
.co-step__title a:hover{color:#FC5600}
.co-step__title .fa{margin-left:6px;font-size:.8em;opacity:.6}
/* Тело шага: всегда видно (нейтрализуем bootstrap .collapse{display:none}) */
.co-step__collapse.collapse,.co-step__collapse.panel-collapse{display:block;height:auto}
.co-step__body{padding:20px}
.co-step__body:empty{display:none}
/* Пустой шаг (ещё не загружен AJAX) — прячем заголовок-плейсхолдер */
.co-step:has(.co-step__body:empty){display:none}

/* Две колонки внутри шага (детали/адрес) */
.co-step__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.co-step__col{min-width:0}
.co-step__subtitle{margin:0 0 12px;font-size:1.15rem}
.co-step__lead{margin:0 0 12px;font-weight:600}

/* Поля формы (co-input) */
.co-input{margin:0 0 14px}
.co-input-label{display:block;margin-bottom:6px;font-weight:600;font-size:.9rem}
.co-input.required>.co-input-label::after,
.co-step__col .co-input.required>.co-input-label::after{content:" *";color:#c0392b}
.co-input-field{display:block}
.co-input .form-control{width:100%}
.co-input.has-error .form-control{border-color:#c0392b}

/* Фисет (детали/пароль/адрес) */
.co-fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}
.co-fieldset__legend{display:block;width:100%;font-size:1.05rem;font-weight:700;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid #ececec}

/* Дата/время-пикеры: нейтрализуем bootstrap .input-group */
.co-input .input-group{display:flex;align-items:stretch;gap:8px}
.co-input .input-group .form-control{flex:1 1 auto}
.co-input .input-group-btn{display:inline-flex;align-items:center}

/* Выбор способа доставки/оплаты (radio) */
.co-method__group-title{margin:14px 0 8px;font-size:.95rem}
.co-method__list{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.co-method__option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #ececec;border-radius:10px;cursor:pointer;transition:.15s}
.co-method__option:hover{border-color:#04A1A4}
.co-method__option input{margin-top:2px}
.co-method__option-text{flex:1}

/* Выбор сохранённого/нового адреса */
.co-address-form__choice{margin:0 0 16px}

/* Чекбоксы согласия/рассылки/доставки + кнопка шага */
.co-step__agree{margin:14px 0}
.co-step__submit{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px}

/* Таблица подтверждения заказа (co-table из custom.css) */
.co-confirm{margin:0 0 18px}
.co-confirm-table .co-table-cell{text-align:left}
.co-confirm-table__total-label{text-align:right;font-weight:600}
.co-confirm__recurring{display:inline-block;background:#e9f6f6;color:#04A1A4;border-radius:6px;padding:1px 8px;font-size:.8rem}

@media (max-width:767px){
  .co-step__grid{grid-template-columns:1fr}
  .co-step__submit .button,.co-step__submit input.button{width:100%;text-align:center}
  /* co-table -> карточки (правила уже есть в custom.css; страхуем подтверждение) */
  .co-confirm-table thead{position:absolute;left:-9999px}
}


/* ===== главная-фиделити (fidelity) ===== */
/* ===========================================================================
   Дополнение к pages.css для главной (вернуть текстом — НЕ редактировать custom.css).
   Большинство классов главной уже есть в pages.css (.promo-slider, .collections,
   .collection-preview*, .special-products*, .banner-list*, .delimeter*,
   .article-list*, .special-article*, .tabs*, .grid-list.catalog-list).
   Ниже — только то, чего в теме не было: обёртки viewed-products и
   collections-and-subcollections (мобильная сетка категорий).
   =========================================================================== */

/* Ранее просмотренные: на сервере слайдер пустой (наполняется на клиенте),
   скрываем секцию пока в списке нет слайдов, как в оригинале (.is-empty-*). */
.widget-type_system_widget_v4_viewed_products_1.is-empty-viewed_products
  .splide__list:empty { display: none; }
.widget-type_system_widget_v4_viewed_products_1.is-empty-viewed_products:has(.splide__list:empty) {
  display: none;
}
.viewed-products .special-products__head { margin-bottom: 1rem; }

/* Коллекции и подколлекции — мобильная сетка категорий (десктоп скрыт через --hide-desktop). */
.collections-and-subcollections .grid-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--grid-list-min-width, 270px), 100%), 1fr));
  row-gap: var(--grid-list-row-gap, 1.5rem);
  column-gap: var(--grid-list-column-gap, 1.5rem);
}
.collections-and-subcollections .collection-preview__content { height: 100%; }

/* Уважать флаги виджета --hide-desktop / --hide-mobile (если в theme их нет). */
@media (min-width: 769px) {
  .layout[style*="--hide-desktop:true"] { display: none; }
}
@media (max-width: 768px) {
  .layout[style*="--hide-mobile:true"] { display: none; }
}


/* ===== категория-фиделити (fidelity) ===== */
/* Новый CSS НЕ требуется. Все классы из правок уже определены в теме:
   - .product-preview__area-description / .product-preview__description — есть в pages.css/core-css.css
   - .static-text — есть в pages.css (13 вхождений)
   - .collection_description виджет рендерится через стандартные .layout/.layout__content/.static-text
   Подтверждено grep по pages.css + core-css.css. */


/* ===== фиделити: главная + категория (2026-06-22) ===== */
/* ===== главная-фиделити ===== */
/* ===========================================================================
   Дополнение к pages.css для главной (вернуть текстом — НЕ редактировать custom.css).
   Большинство классов главной уже есть в pages.css (.promo-slider, .collections,
   .collection-preview*, .special-products*, .banner-list*, .delimeter*,
   .article-list*, .special-article*, .tabs*, .grid-list.catalog-list).
   Ниже — только то, чего в теме не было: обёртки viewed-products и
   collections-and-subcollections (мобильная сетка категорий).
   =========================================================================== */

/* Ранее просмотренные: на сервере слайдер пустой (наполняется на клиенте),
   скрываем секцию пока в списке нет слайдов, как в оригинале (.is-empty-*). */
.widget-type_system_widget_v4_viewed_products_1.is-empty-viewed_products
  .splide__list:empty { display: none; }
.widget-type_system_widget_v4_viewed_products_1.is-empty-viewed_products:has(.splide__list:empty) {
  display: none;
}
.viewed-products .special-products__head { margin-bottom: 1rem; }

/* Коллекции и подколлекции — мобильная сетка категорий (десктоп скрыт через --hide-desktop). */
.collections-and-subcollections .grid-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(var(--grid-list-min-width, 270px), 100%), 1fr));
  row-gap: var(--grid-list-row-gap, 1.5rem);
  column-gap: var(--grid-list-column-gap, 1.5rem);
}
.collections-and-subcollections .collection-preview__content { height: 100%; }

/* Уважать флаги виджета --hide-desktop / --hide-mobile (если в theme их нет). */
@media (min-width: 769px) {
  .layout[style*="--hide-desktop:true"] { display: none; }
}
@media (max-width: 768px) {
  .layout[style*="--hide-mobile:true"] { display: none; }
}

/* ===== категория-фиделити ===== */
/* Новый CSS НЕ требуется. Все классы из правок уже определены в теме:
   - .product-preview__area-description / .product-preview__description — есть в pages.css/core-css.css
   - .static-text — есть в pages.css (13 вхождений)
   - .collection_description виджет рендерится через стандартные .layout/.layout__content/.static-text
   Подтверждено grep по pages.css + core-css.css. */

/* ============================================================
   Галерея товара: вертикальные превью + стрелки сверху/снизу
   (исходная InSales-вёрстка рассчитана на горизонтальную ленту,
    из-за вертикального режима стрелки лево/право накладывались)
   ============================================================ */
.product__gallery-tumbs > .splide { position: relative; padding: 2.4rem 0; }

/* контейнер стрелок не перехватывает клики по ленте */
.product__gallery-tumbs .splide .splide__arrows { position: static; }

/* круглые кнопки по центру сверху/снизу, всегда видимы */
.product__gallery-tumbs .splide .splide__arrow,
.product__gallery-tumbs:hover .splide .splide__arrow {
  position: absolute; left: 50%; right: auto; transform: translateX(-50%);
  width: 2.2rem; height: 2.2rem; border-radius: 50%;
  background: #fff; border: 1px solid var(--color-border, #e3e3e3);
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  display: flex; align-items: center; justify-content: center;
  opacity: 1; z-index: 3; transition: background .15s, color .15s;
}
.product__gallery-tumbs .splide .splide__arrow.splide__arrow--prev { top: 0; bottom: auto; }
.product__gallery-tumbs .splide .splide__arrow.splide__arrow--next { bottom: 0; top: auto; }
.product__gallery-tumbs .splide .splide__arrow-icon { font-size: 1.05rem; color: var(--color-text, #333); }
.product__gallery-tumbs .splide .splide__arrow:hover { background: var(--color-accent, #0ABAB5); border-color: var(--color-accent, #0ABAB5); }
.product__gallery-tumbs .splide .splide__arrow:hover .splide__arrow-icon { color: #fff; }
.product__gallery-tumbs .splide .splide__arrow:disabled,
.product__gallery-tumbs:hover .splide .splide__arrow:disabled { opacity: .3; display: flex; }

/* превью — целиком в квадрате (contain), без кропа */
.product__gallery-tumbs .product__photo-tumb { background: #fff; border-radius: 8px; overflow: hidden; }
.product__gallery-tumbs .product__photo-tumb img { object-fit: contain !important; }

/* ============================================================
   Дефолтные OC-алерты (checkout/login/купон и пр.) — красиво,
   без поломки вёрстки. Bootstrap выпилен, поэтому .close/.fa
   и dismissible-вариант надо оформить вручную.
   ============================================================ */
.alert { display: flex; align-items: center; gap: .5rem; animation: chaiAlertIn .22s ease both; }
@keyframes chaiAlertIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
.alert-dismissible { position: relative; padding-right: 2.75rem; }
.alert .close,
.alert-dismissible .close {
  position: absolute; top: 50%; right: .6rem; transform: translateY(-50%);
  width: 1.7rem; height: 1.7rem; line-height: 1.6rem; text-align: center;
  padding: 0; margin: 0; border: 0; background: transparent; cursor: pointer;
  font-size: 1.4rem; font-weight: 400; color: inherit; opacity: .5; border-radius: 50%;
  transition: opacity .15s, background .15s;
}
.alert .close:hover { opacity: 1; background: rgba(0,0,0,.08); }
/* FontAwesome не подключён — прячем пустые fa-иконки (иначе «квадратик»/сдвиг) */
.alert .fa { display: none; }
/* Купонный нотис в корзине — отступ снизу, перенос длинного текста */
.coupon-notice { word-break: break-word; line-height: 1.35; }

/* ============================================================
   Одностраничный чекаут Chai (checkout/checkout)
   ============================================================ */
.co__grid { display: grid; grid-template-columns: 1fr 360px; gap: 2rem; align-items: start; }
@media (max-width: 900px) { .co__grid { grid-template-columns: 1fr; } }
.co__main { display: grid; gap: 1.25rem; }
.co-block { border: 1px solid var(--bg-major-shade, #ececec); border-radius: 12px; overflow: hidden; background: #fff; }
.co-block__title { padding: 0.9rem 1.25rem; font-weight: 600; font-size: 1.1rem; background: var(--bg-minor-shade, #f7f9f9); border-bottom: 1px solid var(--bg-major-shade, #ececec); }
.co-block__body { padding: 1.25rem; display: grid; gap: 1rem; }
.co-field { display: grid; gap: .35rem; }
.co-field__label { font-size: .92rem; color: var(--color-text-half-shade, #555); }
.co-field__label span { color: var(--color-error, #d33); }
.co-field__error { color: var(--color-error, #d33); font-size: .85rem; min-height: 0; }
.co-input.co-has-error, .co-field.co-has-error .co-input { border-color: var(--color-error, #d33); }
.co-methods { display: grid; gap: .6rem; }
.co-methods.co-has-error { outline: 1px solid var(--color-error, #d33); border-radius: 8px; padding: .5rem; }
.co-method { display: flex; align-items: center; gap: .6rem; padding: .75rem 1rem; border: 1px solid var(--bg-major-shade, #e3e3e3); border-radius: 8px; cursor: pointer; transition: border-color .15s, background .15s; }
.co-method:hover { border-color: var(--color-accent, #0ABAB5); }
.co-method input { margin: 0; }
.co-method__title { flex: 1; }
.co-method__price { font-weight: 600; white-space: nowrap; }
.co-note { color: var(--color-text-half-shade, #777); font-size: .92rem; }

.co__aside { position: sticky; top: 1.5rem; }
.co-summary { border: 1px solid var(--bg-major-shade, #ececec); border-radius: 12px; background: var(--bg-minor-shade, #f7f9f9); padding: 1.25rem; display: grid; gap: 1rem; }
.co-summary__title { font-weight: 600; font-size: 1.15rem; }
.co-summary__items { display: grid; gap: .75rem; max-height: 320px; overflow-y: auto; }
.co-summary__item { display: grid; grid-template-columns: 48px 1fr auto; gap: .6rem; align-items: center; }
.co-summary__img img { width: 48px; height: 48px; object-fit: contain; background: #fff; border-radius: 6px; }
.co-summary__name { font-size: .9rem; line-height: 1.25; }
.co-summary__opt { font-size: .8rem; color: var(--color-text-half-shade, #777); }
.co-summary__qty { font-size: .8rem; color: var(--color-text-half-shade, #777); }
.co-summary__price { font-weight: 600; white-space: nowrap; font-size: .9rem; }
.co-summary__totals { width: 100%; border-collapse: collapse; border-top: 1px solid var(--bg-major-shade, #e3e3e3); padding-top: .5rem; }
.co-summary__error { color: var(--color-error, #d33); font-size: .9rem; }
.co-summary__error:empty { display: none; }
.co-summary__submit { width: 100%; }
.co-summary__submit.is-loading { opacity: .7; pointer-events: none; }
.co-summary__back { text-align: center; font-size: .9rem; color: var(--color-accent-text, #0ABAB5); }

/* ============================================================
   Одностраничный чекаут Chai — мелкие дополнения поверх InSales checkout2.css
   (раскладку _sided/co-sidebar/co-basket и стили co-* рисует сам checkout2.css)
   ============================================================ */
.co-button--checkout.is-loading { opacity: .65; pointer-events: none; }
#co-checkout-error { margin: 1rem 0; }
.co-checkout-login_hint { margin-top: 1.25rem; font-size: .95rem; color: var(--color-text-half-shade, #555); }
/* центрирование модалки входа (в InSales его ставит jquery.modal через JS) */
.co-modal--login { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#sms-countdown-block { font-size: .85rem; color: var(--color-text-half-shade, #777); margin-top: .6rem; text-align: center; }

/* ===== Чекаут: баннер входа сверху + промокод в сайдбаре ===== */
.co-login-banner { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; background: #fff6ec; border: 1px solid #f0d9bf; border-radius: 10px; padding: .85rem 1.1rem; margin-bottom: 1rem; }
.co-login-banner--ok { background: #eaf7ec; border-color: #bfe6c8; }
.co-login-banner__text { flex: 1 1 240px; font-size: .95rem; color: #6b5436; }
.co-login-banner__ok { color: #1d7a33; font-weight: 500; }
.co-login-banner__btn { white-space: nowrap; }
.co-basket_promo { margin: 1rem 0 .5rem; }
.co-basket_promo-row { display: flex; gap: .5rem; }
.co-basket_promo-input { flex: 1 1 auto; }
.co-basket_promo-btn { white-space: nowrap; flex: 0 0 auto; }
.co-basket_promo-msg:empty { display: none; }
.co-notice--ok { color: #1d7a33 !important; }

/* ===== Чекаут: модалка выбора ПВЗ на Яндекс.Карте ===== */
.co-modal--pick_up_modal {
  /* центрирование как у co-modal--login (база .co-modal даёт только position:fixed) */
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: min(80vw, 1000px); max-width: 95%; max-height: 92vh;
  border-radius: 14px; box-shadow: 0 12px 40px rgba(0,0,0,.22);
  overflow: hidden; display: flex; flex-direction: column;
}
.co-modal--pick_up_modal .co-modal-wrapper { padding: 1.25rem 1.5rem 1.5rem; display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }
.co-modal--pick_up_modal .co-modal-title { margin: 0 2rem .9rem 0; }
.co-pvz { display: flex; flex-direction: column; gap: .75rem; min-height: 0; flex: 1 1 auto; }
.co-pvz__search { width: 100%; padding: .6rem .8rem; box-sizing: border-box; border: 1px solid var(--bg-major-shade,#e3e3e3); border-radius: 8px; }
.co-pvz__search:focus { outline: none; border-color: var(--color-accent-text,#0ABAB5); }
.co-pvz__body { display: grid; grid-template-columns: 340px 1fr; gap: 1rem; flex: 1 1 auto; min-height: 360px; }
@media (max-width: 700px) { .co-pvz__body { grid-template-columns: 1fr; } .co-pvz__map { height: 300px; min-height: 300px; } }
.co-pvz__list { overflow-y: auto; border: 1px solid var(--bg-major-shade,#e3e3e3); border-radius: 10px; background: #fff; }
.co-pvz__map { border-radius: 10px; overflow: hidden; min-height: 320px; background: #eef1f3; border: 1px solid var(--bg-major-shade,#e3e3e3); }
.co-pvz__point { padding: .75rem .9rem; border-bottom: 1px solid #f0f0f0; cursor: pointer; border-left: 3px solid transparent; transition: background .12s, border-color .12s, box-shadow .12s; }
.co-pvz__point:last-child { border-bottom: none; }
.co-pvz__point:hover { background: var(--bg-minor-shade,#f1f8f8); }
/* выбранная точка — обводка-прямоугольник в стиле co-toggable */
.co-pvz__point.is-selected { background: var(--bg-minor-shade,#eafaf9); border-left-color: var(--color-accent-text,#0ABAB5); box-shadow: inset 0 0 0 2px var(--color-accent-text,#0ABAB5); border-radius: 8px; }
.co-pvz__point-name { font-weight: 600; font-size: .92rem; }
.co-pvz__point-addr { font-size: .85rem; color: var(--color-text-half-shade,#666); }
.co-pvz__point-meta { font-size: .8rem; color: #999; margin-top: .2rem; }
.co-pvz__point-pick { margin-top: .55rem; }
.co-pvz__point.is-selected .co-pvz__point-pick { background: var(--color-accent-text,#0ABAB5); color: #fff; }
.co-pvz__status { font-size: .9rem; color: var(--color-text-half-shade,#777); }
.co-pvz-chosen:not(:empty) { display: block; margin-top: .35rem; font-size: .85rem; color: #1d7a33; }
.co-delivery_method .js-pvz-map { font-size: .9rem; }

/* ===== Модалка входа: 2 шага (телефон → код) ===== */
.co-login-hint { font-size: .9rem; line-height: 1.45; color: var(--color-text-half-shade,#6b6b6b); margin: 0 0 1rem; }
#sms-step-code[hidden], #sms-step-phone[hidden] { display: none !important; } /* страховка от правил checkout2.css */
#sms_code { letter-spacing: .4em; text-align: center; font-size: 1.25rem; }
.co-login-resend { margin-top: .9rem; text-align: center; }
.co-login-resend__btn, .co-login-resend__sms { display: inline-block; background: none; border: 0; padding: .25rem 0; cursor: pointer; font-size: .9rem; color: var(--color-accent-text,#0ABAB5); }
.co-login-resend__sms { display: block; margin-top: .35rem; }
.co-login-resend__btn[hidden], .co-login-resend__sms[hidden], #sms-countdown-block[hidden] { display: none; }
/* Вход в ЛК по номеру */
.account-login { max-width: 460px; margin: 0 auto; }
.auth-form__error { color: #c0392b; font-size: .85rem; margin-top: .25rem; min-height: 1em; }
/* Глобальная модалка входа */
.modal-login .modal__container.login-modal { max-width: 440px; padding: 1.7rem 1.5rem 1.5rem; position: relative; }
.login-modal__close { position: absolute; top: .55rem; right: .6rem; width: 2.2rem; height: 2.2rem; display: flex; align-items: center; justify-content: center; padding: 0; border: none; background: transparent; color: #999; cursor: pointer; }
.login-modal__close:hover { color: #FC5600; }
.login-modal__title { font-size: 1.2rem; font-weight: 600; margin: 0 0 1rem; }
.login-modal__field { margin-bottom: 1rem; }
.login-modal__label { display: block; margin-bottom: .35rem; font-size: .9rem; color: #555; }

/* ===== Корзина: новые элементы паритета с оригиналом ===== */
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .sidebar-size-items{display:flex;justify-content:space-between;color:var(--color-text-half-shade,#777);font-size:.95rem;margin:.4rem 0 .9rem}
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-continue-link{display:block;text-align:center;margin-top:.7rem;color:var(--color-text-half-shade,#888);text-decoration:underline;font-size:.95rem}
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-continue-link:hover{color:#FC5600;text-decoration:none}
/* одиночная кнопка «Удалить» не висит в половине grid */
.widget-type_widget_v4_cart_2_328ff467494c12b6f12cfa815424e3e0 .cart-item .item-delete{grid-template-columns:auto;justify-content:flex-end}

/* ===== Заголовки ЛК/входа — в систему .heading (Raleway 600, ~17px) ===== */
.auth-card__title,.auth-form__legend,.account-dash__title,.account-subtitle{font-size:calc(var(--font-size)*var(--heading-ratio)/1.4);font-weight:var(--heading-weight,600);font-family:var(--font-family-heading)}
.account-subtitle_minor{font-size:1rem;font-weight:600;font-family:var(--font-family-heading)}
.auth-form__label{font-weight:500}

/* ============================================================
   Освежение 2026 (аддитивно; фирменные цвета/шрифты/структуру НЕ меняем —
   распространяем приёмы, уже применённые в .bc-* лендингах бренда).
   ============================================================ */
:root{
  --color-form-controls-border-color-focus:#04A1A4;
  --color-form-controls-shadow-focus:0 0 0 3px rgba(4,161,164,.15);
}
/* Кнопки: лёгкий подъём + мягкая тень на hover */
.button{transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease}
.button:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.10)}
.button:active{transform:translateY(0)}
.button.is-loading,.button:disabled{transform:none;box-shadow:none}
/* Карточки товара — плавный подъём на hover */
.product-preview{transition:transform .2s ease, box-shadow .2s ease}
.product-preview:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.10)}
/* Наши карточки кабинета/входа/чекаута — мягкая тень + радиус 14px */
.auth-card,.account-card,.account-dash__group,.co-block,.co-summary{box-shadow:0 1px 3px rgba(0,0,0,.05);border-radius:14px}
.co-step{border-radius:14px}
/* Брендовый бирюзовый фокус-ринг инпутов (доступность) */
.form-control:focus,.co-input-field:focus,input.form-control:focus,textarea.form-control:focus,select.form-control:focus{border-color:var(--color-form-controls-border-color-focus);box-shadow:var(--color-form-controls-shadow-focus);outline:none}
/* Видимый фокус только для клавиатуры */
a:focus-visible,.button:focus-visible,button:focus-visible,.co-method:focus-visible,.catalog-subcat:focus-visible,.option-value:focus-visible{outline:2px solid #04A1A4;outline-offset:2px}
:focus:not(:focus-visible){outline:none}
/* Полировка pill-подкатегорий */
.catalog-subcat{transition:transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease}
.catalog-subcat:hover{transform:translateY(-1px)}
/* Уважение системной настройки «меньше движения» */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;scroll-behavior:auto !important}
  .button:hover,.product-preview:hover,.catalog-subcat:hover{transform:none !important}
}

/* ===== Чекаут: единственный способ оплаты (Т-Банк) ===== */
.co-payment_method--single{display:block;padding:14px 16px;cursor:default}
.co-payment_method--single .co-payment_method-title{display:block;font-weight:600}
.co-payment_method-subtitle{display:block;margin-top:.35rem;font-size:.88rem;color:var(--color-text-half-shade,#777);line-height:1.4}

/* ===== Галерея товара: фикс переполнения фото + вертикальные превью слева ===== */
/* Тайлы превью и главное фото — фиксированный квадрат, чтобы высокая инфографика не «вылезала». */
.product__gallery .product__photo-tumb{position:relative;aspect-ratio:1/1;background:#fff}
.product__gallery .product__photo-tumb .img-ratio{position:absolute;inset:0;padding:0 !important;height:100%}
.product__gallery .product__photo-tumb .img-ratio__inner{position:absolute;inset:0}
.product__gallery .product__photo-tumb img{width:100%;height:100%;object-fit:contain}
.product__gallery .product__slide-main .product__photo{position:relative;aspect-ratio:1/1;display:block;width:100%}
.product__gallery .product__slide-main .product__photo .img-ratio__inner{position:absolute;inset:0}
.product__gallery .product__slide-main img{width:100%;height:100%;object-fit:contain}
/* Десктоп: вертикальная колонка превью слева + крупное фото справа (как на оригинале) */
@media (min-width:768px){
  .product__area-photo .product__gallery{display:flex;align-items:flex-start;gap:14px}
  .product__gallery .product__gallery-tumbs{display:block !important;order:0;flex:0 0 86px;width:86px;margin:0}
  .product__gallery .product__gallery-main{order:1;flex:1 1 0;min-width:0;max-width:none !important;margin:0 !important}
}
