.usc-root, .usc-root *{box-sizing:border-box;}
.usc-root{font-family:Arial,sans-serif;padding:20px 0;}
.usc-root .usc-page-title{max-width:1200px;margin:0 auto 16px;font-size:26px;font-weight:700;color:#222;}
.usc-root .usc-breadcrumb{max-width:1200px;margin:-10px auto 16px;font-size:13px;color:#999;}
.usc-root .usc-breadcrumb-link{color:#1e8e3e;cursor:pointer;text-decoration:none;}
.usc-root .usc-breadcrumb-link:hover{text-decoration:underline;}
.usc-root .usc-breadcrumb-current{color:#666;}
.usc-root .usc-breadcrumb-sep{margin:0 6px;color:#ccc;}
.usc-root .usc-page{display:flex;gap:20px;align-items:flex-start;max-width:1200px;margin:0 auto;}

/* ---------- фильтр ---------- */
.usc-root .usc-filter{width:260px;flex-shrink:0;background:#fff;border-radius:8px;padding:16px;}
.usc-root .usc-filter h4{margin:0 0 10px;font-size:14px;}
.usc-root .usc-filter-section{border-top:1px solid #eee;padding-top:14px;margin-top:14px;}
.usc-root .usc-filter-section:first-child{border-top:none;margin-top:0;padding-top:0;}
.usc-root .usc-filter-option{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;color:#333;cursor:pointer;}
.usc-root .usc-filter-option input{cursor:pointer;accent-color:#1e8e3e;}
.usc-root .usc-filter-option .usc-lbl{flex:1;}
.usc-root .usc-filter-option .usc-cnt{color:#999;font-size:12px;}
.usc-root .usc-filter-toggle{background:none;border:none;color:#1e8e3e;font-size:12px;cursor:pointer;padding:6px 0 0;}
.usc-root .usc-filter-toggle:hover{text-decoration:underline;}
.usc-root .usc-filter-selectall{background:none;border:none;color:#1e8e3e;font-size:12px;cursor:pointer;padding:6px 0 0;display:block;}
.usc-root .usc-filter-selectall:hover{text-decoration:underline;}
.usc-root .usc-facet-search{display:block;width:100%;border:none;border-bottom:1.5px solid #ddd;
    padding:6px 2px 8px;font-size:13px;outline:none;margin-bottom:10px;background:transparent;
    transition:border-color .15s;}
.usc-root .usc-facet-search::placeholder{color:#aaa;}
.usc-root .usc-facet-search:focus{border-bottom-color:#1e8e3e;}
.usc-root .usc-filter-empty{font-size:12px;color:#999;padding:4px 0;}

.usc-root .usc-scroll-top{position:fixed;bottom:24px;right:24px;width:46px;height:46px;border:none;
    border-radius:50%;background:#1e8e3e;color:#fff;cursor:pointer;display:flex;align-items:center;
    justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:60;
    opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s;}
.usc-root .usc-scroll-top.usc-visible{opacity:1;visibility:visible;transform:translateY(0);}
.usc-root .usc-scroll-top:hover{background:#146c2e;}
.usc-root .usc-scroll-top svg{width:20px;height:20px;fill:#fff;}

.usc-root .usc-price-row{display:flex;gap:8px;margin-bottom:12px;}
.usc-root .usc-price-row input{width:100%;padding:6px 8px;border:1px solid #ddd;border-radius:6px;font-size:13px;}
.usc-root .usc-price-slider{position:relative;height:32px;}
.usc-root .usc-price-slider input[type=range]{position:absolute;width:100%;top:10px;pointer-events:none;-webkit-appearance:none;background:transparent;}
.usc-root .usc-price-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:16px;height:16px;border-radius:50%;background:#1e8e3e;cursor:pointer;border:2px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.4);}
.usc-root .usc-price-slider input[type=range]::-moz-range-thumb{pointer-events:all;width:16px;height:16px;border-radius:50%;background:#1e8e3e;cursor:pointer;border:2px solid #fff;}
.usc-root .usc-price-slider .usc-track{position:absolute;top:14px;left:0;right:0;height:4px;background:#ddd;border-radius:2px;}
.usc-root .usc-price-slider .usc-track-fill{position:absolute;top:14px;height:4px;background:#1e8e3e;border-radius:2px;}

.usc-root .usc-filter-apply-row{display:flex;gap:8px;margin-top:16px;}
.usc-root .usc-filter-apply-row.usc-sticky{position:fixed;bottom:20px;z-index:50;background:#fff;
    padding:10px;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.18);margin:0;}
.usc-root .usc-btn{flex:1;padding:10px;border-radius:6px;border:none;font-size:13px;cursor:pointer;}
.usc-root .usc-btn-primary{background:#1e8e3e;color:#fff;}
.usc-root .usc-btn-primary:hover{background:#146c2e;}
.usc-root .usc-btn-secondary{background:#eee;color:#333;}
.usc-root .usc-btn-secondary:hover{background:#ddd;}

/* ---------- контент ---------- */
.usc-root .usc-catalog-content{flex:1;min-width:0;}
.usc-root .usc-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.usc-root .usc-results-count{font-size:12px;color:#999;margin:8px 0;}
.usc-root .usc-search-wrap{margin-bottom:0;flex:1 1 auto;min-width:0;position:relative;}
.usc-root .usc-search-clear{display:none;position:absolute;top:50%;right:12px;transform:translateY(-50%);
    width:24px;height:24px;border:none;background:#eee;border-radius:50%;cursor:pointer;padding:0;
    align-items:center;justify-content:center;}
.usc-root .usc-search-clear.usc-visible{display:flex;}
.usc-root .usc-search-clear svg{width:12px;height:12px;fill:#666;}
.usc-root .usc-search-clear:hover{background:#ddd;}
.usc-root .usc-search-clear:hover svg{fill:#333;}
.usc-root .usc-search-input{width:100%;box-sizing:border-box;padding:12px 40px 12px 16px;font-size:15px;border:1px solid #ddd;border-radius:8px;outline:none;}
.usc-root .usc-search-input:focus{border-color:#1e8e3e;}
.usc-root .usc-sort{position:relative;flex-shrink:0;}
.usc-root .usc-sort-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:14px;color:#333;background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;white-space:nowrap;}
.usc-root .usc-sort-btn:hover{border-color:#1e8e3e;}
.usc-root .usc-sort-arrow{font-size:10px;color:#888;transition:transform .15s;}
.usc-root .usc-sort.open .usc-sort-arrow{transform:rotate(180deg);}
.usc-root .usc-sort-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:220px;
    background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1);
    z-index:20;overflow:hidden;}
.usc-root .usc-sort.open .usc-sort-menu{display:block;}
.usc-root .usc-sort-option{padding:10px 16px;font-size:14px;color:#333;cursor:pointer;}
.usc-root .usc-sort-option:hover{background:#f2f6fe;}
.usc-root .usc-sort-option.active{color:#1e8e3e;font-weight:600;background:#e6f4ea;}
.usc-root .usc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.usc-root .usc-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:14px;display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s;min-height:380px;min-width:0;position:relative;}
.usc-root .usc-card .usc-card-link{position:absolute;inset:0;z-index:1;-webkit-touch-callout:none;}
.usc-root .usc-card .usc-brand-link,
.usc-root .usc-card .usc-sale-photo-link,
.usc-root .usc-card .usc-contact-manager-btn,
.usc-root .usc-card .usc-copy-value,
.usc-root .usc-card .usc-fav-btn{position:relative;z-index:2;}

.usc-root .usc-card .usc-discount-badge{position:absolute;top:10px;left:10px;z-index:2;
    background:#e02424;color:#fff;font-size:12px;font-weight:700;padding:4px 9px;border-radius:6px;
    box-shadow:0 1px 4px rgba(0,0,0,.15);line-height:1;}
.usc-root .usc-card .usc-discount-badge-price{display:none;background:#e02424;color:#fff;font-size:11px;
    font-weight:700;padding:2px 6px;border-radius:5px;margin-left:6px;vertical-align:middle;}
.usc-root .usc-card .usc-card-bottom-row{display:contents;}
.usc-root .usc-card .usc-fav-btn.usc-fav-btn-inline{display:none;}

.usc-root .usc-card .usc-fav-btn{position:absolute;top:48px;left:10px;z-index:2;width:32px;height:32px;
    border:none;background:rgba(255,255,255,.92);border-radius:50%;cursor:pointer;display:flex;
    align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.15);padding:0;
    opacity:0;transition:opacity .15s ease;}
.usc-root .usc-card:hover .usc-fav-btn,
.usc-root .usc-card .usc-fav-btn.usc-fav-active{opacity:1;}
.usc-root .usc-card .usc-fav-btn svg{width:17px;height:17px;fill:none;stroke:#999;stroke-width:2;transition:fill .15s,stroke .15s;}
.usc-root .usc-card .usc-fav-btn:hover svg{stroke:#e02424;}
.usc-root .usc-card .usc-fav-btn.usc-fav-active svg{fill:#e02424;stroke:#e02424;}

.usc-root .usc-fav-toggle{flex-shrink:0;width:44px;height:44px;border:1px solid #ddd;border-radius:8px;
    background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.usc-root .usc-fav-toggle svg{width:19px;height:19px;fill:none;stroke:#666;stroke-width:2;transition:fill .15s,stroke .15s;}
.usc-root .usc-fav-toggle:hover{border-color:#e02424;}
.usc-root .usc-fav-toggle:hover svg{stroke:#e02424;}
.usc-root .usc-fav-toggle.usc-active{background:#e02424;border-color:#e02424;}
.usc-root .usc-fav-toggle.usc-active svg{fill:#fff;stroke:#fff;}

.usc-root .usc-view-toggle{display:flex;flex-shrink:0;border:1px solid #ddd;border-radius:8px;overflow:hidden;}
.usc-root .usc-view-btn{width:44px;height:44px;border:none;background:#fff;cursor:pointer;display:flex;
    align-items:center;justify-content:center;color:#666;}
.usc-root .usc-view-btn + .usc-view-btn{border-left:1px solid #ddd;}
.usc-root .usc-view-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;}
.usc-root .usc-view-btn:hover{color:#1e8e3e;}
.usc-root .usc-view-btn.usc-active{background:#1e8e3e;color:#fff;}

/* ---------- раскладка "списком" ---------- */
.usc-root .usc-grid.usc-view-list{grid-template-columns:1fr;}
.usc-root .usc-grid.usc-view-list .usc-card{display:block;position:relative;min-height:168px;padding:14px 14px 14px 178px;}
.usc-root .usc-grid.usc-view-list .usc-img-wrap{position:absolute;top:14px;left:14px;width:160px;margin-bottom:0;}
.usc-root .usc-grid.usc-view-list .usc-img-wrap .usc-main-img,
.usc-root .usc-grid.usc-view-list .usc-img-wrap .usc-img-placeholder{height:140px;}
.usc-root .usc-grid.usc-view-list .usc-card h3{display:block;-webkit-line-clamp:unset;-webkit-box-orient:unset;overflow:visible;min-height:auto;margin:0 0 6px;white-space:normal;}
.usc-root .usc-grid.usc-view-list .usc-contact-manager-btn{width:auto;margin-top:10px;padding:8px 22px;}
.usc-root .usc-grid.usc-view-list .usc-row-price{justify-content:flex-start;gap:8px;}
.usc-copy-value{cursor:pointer;border-bottom:1px dashed #bbb;}
.usc-copy-value:hover{border-bottom-color:#1e8e3e;color:#1e8e3e;}
#pmName.usc-copy-value, #pmArt.usc-copy-value{border-bottom:1px dashed #bbb;cursor:pointer;}
#pmName.usc-copy-value:hover, #pmArt.usc-copy-value:hover{border-bottom-color:#1e8e3e;color:#1e8e3e;}

.usc-copy-toast{position:fixed;background:#222;color:#fff;font-size:12px;padding:5px 10px;border-radius:6px;
    pointer-events:none;z-index:20000;opacity:0;transition:opacity .15s ease;white-space:nowrap;}

/* ---------- zoom по долгому наведению на фото ---------- */
.usc-zoom-target{overflow:hidden;}
.usc-zoom-target img.usc-zoom-active{transform:scale(2);transition:transform .15s ease-out;cursor:zoom-in;}
.usc-zoom-spinner{position:fixed;width:26px;height:26px;border:3px solid rgba(0,0,0,.15);
    border-top-color:#1e8e3e;border-radius:50%;animation:usc-spin .7s linear infinite;
    pointer-events:none;z-index:99999;display:none;}
@keyframes usc-spin{to{transform:rotate(360deg);}}

/* режим быстрого просмотра (открыто удержанием пальца) — ничего внутри не реагирует на касания,
   пока палец не отпущен; закрытие управляется только логикой удержания на карточке */
.product-modal.usc-peek-mode,
.image-lightbox.usc-peek-mode{pointer-events:none;}
.usc-copy-toast.usc-show{opacity:1;}
.usc-root .usc-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-2px);border-color:#d5d5d5;}
.usc-root .usc-card .usc-contact-manager-btn{cursor:pointer;}
.usc-root .usc-card .usc-img-wrap{position:relative;margin-bottom:10px;}
.usc-root .usc-card img.usc-main-img{width:100%;height:180px;object-fit:contain;background:#fff;border-radius:6px;display:block;-webkit-touch-callout:none;}
.usc-root .usc-card .usc-img-placeholder{width:100%;height:180px;border-radius:6px;background:#f2f3f5;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:13px;}
.usc-root .usc-card h3{font-size:15px;margin:0 0 10px;min-height:39px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.usc-root .usc-card .usc-category-badges{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:80%;}
.usc-root .usc-card .usc-category{display:inline-block;font-size:11px;color:#1e8e3e;background:rgba(230,244,234,.95);padding:2px 8px;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.15);}
.usc-root .usc-card .usc-row{font-size:13px;display:flex;align-items:center;justify-content:flex-start;gap:4px;padding:5px 0;color:#333;white-space:nowrap;min-width:0;}
.usc-root .usc-card .usc-row b{color:#888;font-weight:normal;}
.usc-root .usc-card .usc-row-split{display:flex;justify-content:space-between;gap:10px;min-width:0;}
.usc-root .usc-card .usc-row-split .usc-row-split-item{display:flex;gap:4px;min-width:0;}
.usc-root .usc-card .usc-row-split .usc-row-split-item b{color:#888;font-weight:normal;}
.usc-root .usc-card .usc-brand-link{color:#1e8e3e;cursor:pointer;}
.usc-root .usc-card .usc-brand-link:hover{text-decoration:underline;}
#pmBrand.usc-brand-link{color:#1e8e3e;cursor:pointer;}
#pmBrand.usc-brand-link:hover{text-decoration:underline;}
#pmSubcategory.usc-subcat-link{color:#1e8e3e;cursor:pointer;}
#pmSubcategory.usc-subcat-link:hover{text-decoration:underline;}
.usc-root .usc-card .usc-row-price{justify-content:space-between;flex-wrap:nowrap;min-width:0;}
.usc-root .usc-card .usc-price-value{font-weight:700;white-space:nowrap;flex-shrink:0;}
.usc-root .usc-card .usc-price-old{color:#999;text-decoration:line-through;font-size:12px;font-weight:400;margin-right:6px;white-space:nowrap;}
.usc-root .usc-card .usc-sale-photo-link{font-size:13px;color:#1e8e3e;cursor:pointer;margin:5px 0 14px;padding:0;width:fit-content;}
.usc-root .usc-card .usc-sale-photo-link:hover{text-decoration:underline;}
.usc-root .usc-card .usc-carusel{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0;}
.usc-root .usc-card .usc-carusel img{width:44px;height:44px;object-fit:cover;border-radius:4px;}
.usc-root .usc-card .usc-text{font-size:12px;color:#555;margin-top:8px;}
.usc-root .usc-empty{grid-column:1/-1;text-align:center;padding:40px 0;color:#888;}
.usc-root .usc-pager{grid-column:1/-1;display:flex;justify-content:center;gap:6px;margin-top:24px;}
.usc-root .usc-pager a, .usc-root .usc-pager span{display:inline-block;min-width:32px;text-align:center;padding:6px 10px;border-radius:6px;text-decoration:none;font-size:14px;color:#333;background:#fff;cursor:pointer;}
.usc-root .usc-pager a:hover{background:#e6f4ea;}
.usc-root .usc-pager .usc-current{background:#1e8e3e;color:#fff;}
.usc-root .usc-pager .usc-arrow{font-weight:bold;}
.usc-root .usc-pager .usc-dots{color:#999;}
.usc-root .usc-pager .usc-dots:hover{background:#e6f4ea;color:#333;}
.usc-root .usc-card .usc-contact-manager-btn{margin-top:auto;padding:10px;border:none;border-radius:6px;background:#1e8e3e;color:#fff;font-size:14px;cursor:pointer;width:100%;flex:0 0 auto;}
.usc-root .usc-card .usc-contact-manager-btn:hover{background:#146c2e;}

/* ---------- история просмотров ---------- */
.usc-root .usc-history{max-width:1200px;margin:32px auto 0;}
.usc-root .usc-history h3{font-size:18px;margin:0 0 16px;font-weight:700;color:#222;}
.usc-root .usc-history-carousel{position:relative;padding:0 44px;}
.usc-root .usc-history-track{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
.usc-root .usc-history-track::-webkit-scrollbar{display:none;}
.usc-root .usc-history-item{flex:0 0 calc((100% - 5 * 16px) / 6);min-width:0;cursor:pointer;position:relative;}
.usc-root .usc-history-item .usc-mini-discount-badge{position:absolute;top:4px;left:4px;z-index:1;
    background:#e02424;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;line-height:1;}
.usc-root .usc-history-item img{width:100%;height:110px;object-fit:contain;border-radius:6px;margin-bottom:6px;display:block;}
.usc-root .usc-history-name{font-size:12px;color:#333;line-height:1.3;max-height:2.6em;overflow:hidden;margin-bottom:4px;}
.usc-root .usc-history-price{font-size:13px;font-weight:700;color:#222;}
.usc-root .usc-history-price-old{color:#999;text-decoration:line-through;font-size:11px;font-weight:400;margin-right:5px;}
.usc-root .usc-history-arrow{position:absolute;top:55px;transform:translateY(-50%);width:36px;height:36px;
    border-radius:50%;border:1px solid #ddd;background:#fff;cursor:pointer;display:flex;align-items:center;
    justify-content:center;z-index:2;font-size:16px;color:#333;}
.usc-root .usc-history-arrow:hover{border-color:#1e8e3e;color:#1e8e3e;}
.usc-root .usc-history-prev{left:0;}
.usc-root .usc-history-next{right:0;}

/* ---------- похожие товары (рядом с модалкой) ---------- */
.usc-similar-panel{position:fixed;width:200px;z-index:9999;background:#fff;border-radius:10px;
    padding:14px;box-shadow:0 8px 32px rgba(0,0,0,.25);display:flex;flex-direction:column;}
.usc-similar-title{font-size:14px;font-weight:700;color:#222;margin-bottom:12px;flex-shrink:0;}
.usc-similar-carousel{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;}
.usc-similar-track{display:flex;flex-direction:column;gap:12px;overflow-y:auto;scroll-behavior:smooth;flex:1;min-height:0;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
.usc-similar-track::-webkit-scrollbar{display:none;}
.usc-similar-item{flex:0 0 auto;cursor:pointer;position:relative;}
.usc-similar-item .usc-mini-discount-badge{position:absolute;top:4px;left:4px;z-index:1;
    background:#e02424;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px;line-height:1;}
.usc-similar-item img{width:100%;height:90px;object-fit:contain;border-radius:6px;margin-bottom:6px;display:block;}
.usc-similar-name{font-size:12px;color:#333;line-height:1.3;max-height:2.6em;overflow:hidden;margin-bottom:4px;}
.usc-similar-price{font-size:13px;font-weight:700;color:#222;}
.usc-similar-price-old{color:#999;text-decoration:line-through;font-size:11px;font-weight:400;margin-right:5px;}
.usc-similar-arrow{width:100%;flex-shrink:0;padding:4px 0;border:1px solid #ddd;border-radius:6px;
    background:#fff;cursor:pointer;font-size:14px;color:#333;margin:6px 0;}
.usc-similar-arrow:hover{border-color:#1e8e3e;color:#1e8e3e;}

/* ---------- попап "Связь с менеджером" ---------- */
#js-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998;}
#js-overlay-top{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;}
#manager_contact_popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
    background:#fff;border-radius:8px;padding:24px;width:340px;max-width:90vw;z-index:10001;
    box-shadow:0 4px 24px rgba(0,0,0,.2);}
#manager_contact_popup h3{margin:0 0 12px;font-size:18px;}
#manager_contact_popup .manager_contact_product{font-size:13px;color:#666;margin-bottom:14px;}
#manager_contact_popup .manager_contact_close{position:absolute;top:12px;right:12px;
    width:24px;height:24px;border:none;background:transparent;cursor:pointer;font-size:0;}
#manager_contact_popup .manager_contact_close::before{content:"?";font-size:16px;color:#888;}
#manager_contact_popup .manager_contact_form label{display:block;margin-bottom:10px;font-size:13px;}
#manager_contact_popup .manager_contact_form label span{display:block;margin-bottom:4px;color:#555;}
#manager_contact_popup .manager_contact_form input{width:100%;padding:8px 10px;
    border:1px solid #ddd;border-radius:6px;font-size:14px;}
#manager_contact_popup .manager_contact_status{font-size:13px;margin:8px 0;min-height:18px;}
#manager_contact_popup .manager_contact_status.success{color:#1a9c4a;}
#manager_contact_popup .manager_contact_status.error{color:#e02424;}
#manager_contact_popup .manager_contact_submit{width:100%;padding:10px;border:none;
    border-radius:6px;background:#1e8e3e;color:#fff;font-size:14px;cursor:pointer;}
#manager_contact_popup .manager_contact_submit:hover{background:#146c2e;}
#manager_contact_popup .manager_contact_submit:disabled{opacity:.6;cursor:not-allowed;}

/* ---------- попап выбора категории уценки ---------- */
#category_picker_popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
    background:#fff;border-radius:8px;padding:24px;width:320px;max-width:90vw;z-index:10001;
    box-shadow:0 4px 24px rgba(0,0,0,.2);}
#category_picker_popup h3{margin:0 0 14px;font-size:16px;}
#category_picker_popup .cp-close{position:absolute;top:12px;right:12px;
    width:24px;height:24px;border:none;background:transparent;cursor:pointer;font-size:0;}
#category_picker_popup .cp-close::before{content:"?";font-size:16px;color:#888;}
#category_picker_popup .cp-option{display:block;width:100%;padding:12px;margin-bottom:8px;
    border:1px solid #ddd;border-radius:6px;background:#fff;font-size:14px;cursor:pointer;text-align:left;}
#category_picker_popup .cp-option:hover{border-color:#1e8e3e;background:#e6f4ea;}
#category_picker_popup .cp-option:last-child{margin-bottom:0;}

/* ---------- попап информации о бренде ---------- */
#brand_info_popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
    background:#fff;border-radius:10px;padding:28px;width:700px;max-width:92vw;max-height:85vh;
    overflow-y:auto;z-index:10001;box-shadow:0 8px 32px rgba(0,0,0,.25);}
#brand_info_popup .bi-close{position:absolute;top:16px;right:16px;width:28px;height:28px;
    border:none;background:#f2f2f2;border-radius:50%;cursor:pointer;font-size:0;}
#brand_info_popup .bi-close::before{content:"?";font-size:14px;color:#666;}
#brand_info_popup .bi-body{display:flex;gap:28px;flex-wrap:wrap;}
#brand_info_popup .bi-logo{width:220px;flex-shrink:0;}
#brand_info_popup .bi-logo img{width:100%;max-height:120px;object-fit:contain;display:block;}
#brand_info_popup .bi-categories{margin-top:16px;font-size:13px;color:#888;}
#brand_info_popup .bi-categories b{display:block;color:#333;margin-bottom:6px;font-weight:600;}
#brand_info_popup .bi-content{flex:1;min-width:260px;}
#brand_info_popup .bi-title{font-size:20px;font-weight:700;margin:0 0 12px;}
#brand_info_popup .bi-description{font-size:14px;line-height:1.6;color:#333;white-space:pre-line;}
#brand_info_popup .bi-loading{text-align:center;padding:30px;color:#888;font-size:14px;}

/* ---------- модальное окно товара ---------- */
.product-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
    background:#fff;border-radius:10px;width:900px;max-width:94vw;max-height:90vh;overflow-y:auto;
    z-index:9999;box-shadow:0 8px 32px rgba(0,0,0,.25);}
.product-modal.open{display:block;}
.product-modal-close{position:absolute;top:14px;right:14px;width:28px;height:28px;border:none;
    background:#f2f2f2;border-radius:50%;cursor:pointer;font-size:0;z-index:2;}
.product-modal-close::before{content:"?";font-size:15px;color:#666;}
.product-modal-close:hover{background:#e5e5e5;}
.product-modal-body{display:flex;gap:24px;padding:28px;flex-wrap:wrap;}
.product-modal-gallery{width:340px;flex-shrink:0;}
.product-modal-main-img{position:relative;width:100%;height:320px;background:#fff;border-radius:8px;
    display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;}
.product-modal-main-img img{max-width:100%;max-height:100%;object-fit:contain;}
.product-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;
    border:none;background:rgba(255,255,255,.85);border-radius:50%;cursor:pointer;z-index:2;
    display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.2);}
.product-modal-nav:hover{background:#fff;}
.product-modal-nav::before{content:"";width:10px;height:10px;border-top:2px solid #666;border-right:2px solid #666;}
.product-modal-prev{left:8px;}
.product-modal-prev::before{transform:rotate(-135deg);margin-left:3px;}
.product-modal-next{right:8px;}
.product-modal-next::before{transform:rotate(45deg);margin-right:3px;}
.product-modal-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.product-modal-thumbs img{width:56px;height:56px;object-fit:cover;border-radius:6px;
    cursor:pointer;border:2px solid transparent;}
.product-modal-thumbs img.usc-thumb-active{border-color:#1e8e3e;}
.product-modal-info{flex:1;min-width:260px;display:flex;flex-direction:column;}
.product-modal-info h2{font-size:20px;margin:0 0 16px;padding-right:30px;}
.product-modal-variants{display:none;gap:6px;margin-bottom:16px;}
.product-modal-variants.show{display:grid;grid-template-columns:repeat(2,1fr);}
.product-modal-variants button{padding:8px 6px;border:2px solid #eee;border-radius:6px;
    background:#fff;cursor:pointer;text-align:center;}
.product-modal-variants button .pmv-cat{display:block;font-size:11px;color:#888;}
.product-modal-variants button .pmv-price{display:block;font-size:13px;font-weight:600;color:#222;}
.product-modal-variants button.active{border-color:#1e8e3e;background:#e6f4ea;}
.product-modal-variants button.active .pmv-cat{color:#1e8e3e;}
.product-modal-info .pm-row{display:flex;justify-content:space-between;font-size:14px;
    padding:8px 0;border-bottom:1px solid #f0f0f0;color:#333;}
.product-modal-info .pm-row b{color:#888;font-weight:normal;}
.product-modal-info .pm-row.pm-price span{font-size:18px;font-weight:700;color:#1e8e3e;}
.product-modal-info .pm-row.pm-price .pm-price-old{font-size:13px;font-weight:400;color:#999;text-decoration:line-through;margin-right:8px;}
.usc-discount-badge-inline{display:inline-block;margin-left:8px;background:#e02424;color:#fff;font-size:12px;
    font-weight:700;padding:3px 8px;border-radius:6px;vertical-align:middle;}
#pmDiscountBadge{color:#fff;font-size:12px;font-weight:700;}
.product-modal-info .pm-actions{margin-top:auto;padding-top:16px;display:flex;justify-content:flex-end;align-items:center;gap:10px;}
.usc-modal-fav-btn{width:42px;height:42px;flex-shrink:0;border:1px solid #ddd;border-radius:50%;
    background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.usc-modal-fav-btn svg{width:19px;height:19px;fill:none;stroke:#999;stroke-width:2;transition:fill .15s,stroke .15s;}
.usc-modal-fav-btn:hover{border-color:#e02424;}
.usc-modal-fav-btn:hover svg{stroke:#e02424;}
.usc-modal-fav-btn.usc-fav-active{border-color:#e02424;}
.usc-modal-fav-btn.usc-fav-active svg{fill:#e02424;stroke:#e02424;}

.usc-modal-share-btn{width:42px;height:42px;flex-shrink:0;border:1px solid #ddd;border-radius:50%;
    background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.usc-modal-share-btn svg{width:18px;height:18px;fill:#999;transition:fill .15s;}
.usc-modal-share-btn:hover{border-color:#1e8e3e;}
.usc-modal-share-btn:hover svg{fill:#1e8e3e;}
.product-modal-info .pm-contact-btn{padding:10px 22px;border:none;border-radius:6px;
    background:#1e8e3e;color:#fff;font-size:14px;cursor:pointer;}
.product-modal-info .pm-contact-btn:hover{background:#146c2e;}
.product-modal-description{padding:0 28px 28px;font-size:14px;color:#444;line-height:1.5;}
.product-modal-description div{margin-bottom:10px;}
.product-modal-description b{color:#222;}
.usc-desc-collapsible{max-height:260px;overflow:hidden;position:relative;transition:max-height .3s ease;}
.usc-desc-collapsible.usc-has-fade:not(.usc-expanded)::after{content:"";position:absolute;left:0;right:0;bottom:0;
    height:56px;background:linear-gradient(to bottom, rgba(255,255,255,0), #fff 85%);pointer-events:none;}
.usc-desc-collapsible.usc-expanded{max-height:none;}
.usc-desc-toggle{display:none;margin:12px auto 0;padding:8px 22px;border:1px solid #ddd;border-radius:20px;
    background:#fff;color:#1e8e3e;font-size:13px;cursor:pointer;}
.usc-desc-toggle.usc-visible{display:table;}
.usc-desc-toggle:hover{border-color:#1e8e3e;background:#e6f4ea;}
.usc-modal-history{padding:0 28px 28px;border-top:1px solid #f0f0f0;margin-top:8px;}
.usc-modal-history h3{font-size:16px;margin:20px 0 14px;font-weight:700;color:#222;}
.usc-modal-history .usc-history-carousel{padding:0 40px;}
.usc-modal-history .usc-history-item{flex:0 0 calc((100% - 3 * 12px) / 4);}
.usc-modal-history .usc-history-track{gap:12px;}
.usc-modal-similar-inline{display:none;border-top:none;margin-top:0;}

/* ---------- полноэкранный просмотр фото ---------- */
.image-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);
    z-index:10001;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;}
.image-lightbox.open{display:flex;}
.image-lightbox-close{position:fixed;top:20px;right:24px;width:40px;height:40px;border:none;
    background:rgba(255,255,255,.12);border-radius:50%;cursor:pointer;font-size:0;z-index:2;}
.image-lightbox-close::before{content:"?";font-size:20px;color:#fff;}
.image-lightbox-close:hover{background:rgba(255,255,255,.22);}
.image-lightbox-inner{display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%;}
.image-lightbox-inner img{max-width:90vw;max-height:74vh;object-fit:contain;border-radius:4px;}
.image-lightbox-caption{margin-top:16px;max-width:700px;background:rgba(0,0,0,.6);
    color:#fff;padding:14px 22px;border-radius:8px;font-size:15px;line-height:1.5;
    text-align:center;}
.image-lightbox-caption:empty{display:none;}
.image-lightbox-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:center;max-width:700px;}
.image-lightbox-thumbs img{width:56px;height:56px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid transparent;opacity:.7;}
.image-lightbox-thumbs img:hover{opacity:1;}
.image-lightbox-thumbs img.usc-thumb-active{border-color:#fff;opacity:1;}
.image-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;
    border:none;background:rgba(255,255,255,.12);border-radius:50%;cursor:pointer;z-index:2;
    display:flex;align-items:center;justify-content:center;}
.image-lightbox-nav:hover{background:rgba(255,255,255,.22);}
.image-lightbox-nav::before{content:"";width:14px;height:14px;border-top:3px solid #fff;
    border-right:3px solid #fff;}
.image-lightbox-prev{left:20px;}
.image-lightbox-prev::before{transform:rotate(-135deg);margin-left:4px;}
.image-lightbox-next{right:20px;}
.image-lightbox-next::before{transform:rotate(45deg);margin-right:4px;}

/* ---------- мобильная кнопка "Фильтры" и элементы шторки (сами скрыты по умолчанию —
   показываются только через media-запросы в mobile.css) ---------- */
.usc-filter-mobile-btn{display:none;align-items:center;gap:6px;padding:10px 14px;border:1px solid #ddd;
    border-radius:8px;background:#fff;font-size:14px;color:#333;cursor:pointer;flex-shrink:0;white-space:nowrap;}
.usc-filter-mobile-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;}
.usc-filter-mobile-header{display:none;align-items:center;justify-content:space-between;
    padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #eee;font-size:16px;font-weight:700;color:#222;}
.usc-filter-mobile-close{display:none;width:28px;height:28px;border:none;background:#f2f2f2;border-radius:50%;
    cursor:pointer;align-items:center;justify-content:center;padding:0;}
.usc-filter-mobile-close svg{width:14px;height:14px;fill:#666;}
.usc-filter-mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10002;}
.usc-filter-mobile-overlay.usc-open{display:block;}