
:root{
  --accent:#7C3AED; --accent-dark:#6D28D9; --accent-darker:#5B21B6;
  --accent-soft:#EDE9FE; --ring:rgba(124,58,237,.35);
  --text:#1F2937; --muted:#6B7280; --heading:#111827;
  --bg:#FFFFFF; --bg-subtle:#F7F7F9; --bg-soft:#FAFAFB;
  --border:#E7E7EC; --border-strong:#D9DAE1;
  --price:#111827; --old:#9AA0AA; --sale:#DC2626;
  --r-sm:8px; --r:12px; --r-lg:16px;
  --shadow:0 1px 2px rgba(17,24,39,.04),0 4px 16px rgba(17,24,39,.06);
  --shadow-hi:0 8px 28px rgba(17,24,39,.12);
  --ease:180ms cubic-bezier(.2,.7,.3,1);
  --font:"Inter","Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --head-h:74px;
}

/* ---------- 2. База ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;font-family:var(--font);font-size:15px;line-height:1.55;
  color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;border:0;}
ul,ol{margin:0;padding:0;list-style:none;}
a{color:var(--accent);text-decoration:none;transition:color var(--ease);}
a:hover{color:var(--accent-dark);}
button{font:inherit;}

/* ---------- 3. Типографика ---------- */
h1,h2,h3,h4,h5,h6{margin:0 0 .6em;color:var(--heading);font-weight:700;line-height:1.25;letter-spacing:-.01em;}
h1{font-size:clamp(1.55rem,2vw + 1rem,2.15rem);}
h2{font-size:clamp(1.25rem,1.2vw + 1rem,1.6rem);}
h3{font-size:1.15rem;} h4{font-size:1rem;} h5{font-size:.82rem;}
p{margin:0 0 1em;}

/* Заголовок секции */
.title{
  position:relative;margin:0 0 20px;padding-bottom:12px;
  font-size:clamp(1.15rem,1vw + .9rem,1.5rem);
  text-transform:uppercase;letter-spacing:.02em;color:var(--heading);
}
.title::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;border-radius:3px;background:var(--accent) !important;}
.title span{color:var(--muted);font-weight:500;text-transform:none;font-size:.8em;}

/* Перекраска фирменной бирюзы сайта */
.title,.item-title,.navs-title,.social-title,.product-mini__title,h1,h2,h3,h4,h5{color:var(--heading) !important;}
.price,.price--new,.price b,.product-mini__price{color:var(--price) !important;}
.price-old,.truncate,.item-text,.navs-link,.copyright,.item-list li{color:var(--muted) !important;}

/* ---------- 4. Контейнеры ---------- */
.container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:20px;}
.container_white{background:var(--bg);}
.container__leafy{padding-block:36px;}
.padded{display:block;padding-block:36px;}
main{display:block;min-height:40vh;}
app-home,app-home-best-deals,app-home-new,app-home-supply,app-home-blog,
app-customer-protection,app-home-masthead,app-home-toolbar{display:block;}
app-home-new{padding-block:32px;}
mat-sidenav-container{display:block;min-height:100vh;background:var(--bg);}
mat-sidenav-content{display:block;}

/* ---------- 5. Шапка ---------- */
app-header{display:block;position:sticky;top:0;z-index:900;}
.header{background:var(--bg);border-bottom:1px solid var(--border);}
.header .container--sticky{display:flex;align-items:center;gap:18px;min-height:var(--head-h);}
.header--burger{display:none;width:26px;height:26px;cursor:pointer;flex:0 0 auto;}
.logo-link{flex:0 0 auto;display:inline-flex;align-items:center;}
.img-logo{height:34px;width:auto;margin-right:0 !important;}

/* Поиск */
app-search.search{flex:1 1 auto;min-width:0;display:flex;align-items:center;}
app-search .search{
  position:relative;display:flex;align-items:center;width:100%;height:44px;
  padding:0 6px 0 16px;background:var(--bg-subtle);
  border:1px solid var(--border);border-radius:999px;
  transition:border-color var(--ease),box-shadow var(--ease),background var(--ease);
}
app-search .search:hover{border-color:var(--border-strong);}
app-search .search:focus-within{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);}
app-search input{flex:1 1 auto;min-width:0;height:100%;padding:0;border:0;outline:none;background:transparent;font:inherit;color:var(--text);}
app-search input::placeholder{color:var(--muted);}
.btn--search{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;margin-left:auto;padding:0;border:0;cursor:pointer;
  background:var(--accent) !important;border-radius:50%;
  transition:background var(--ease),transform var(--ease);
}
.btn--search:hover{background:var(--accent-dark) !important;}
.btn--search:active{transform:scale(.94);}
.btn--search img{width:16px;height:16px;filter:brightness(0) invert(1);}
.screen--full{display:none;}

/* Колл-центр */
.call-center{flex:0 0 auto;display:flex;align-items:center;gap:10px;}
.call-center .left .icon{width:22px;height:22px;opacity:.5;}
.call-center .body{font-size:.8rem;color:var(--muted);line-height:1.35;}
.call-center .body b{display:block;font-size:1rem;color:var(--heading);}
.call-center .body b a{color:var(--heading);}
.call-center .body b a:hover{color:var(--accent);}
.icon--mobile{display:none;}

/* Корзина */
app-cart.cart{flex:0 0 auto;}
.cart__link{display:flex;align-items:center;gap:10px;color:var(--text);}
.cart__link:hover{color:var(--accent);}
.cart__link .left{position:relative;display:inline-flex;}
.cart__link .body{font-size:.9rem;font-weight:500;}
.badge{
  position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 5px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;line-height:1;color:#fff !important;
  background:var(--sale) !important;border-radius:999px;
}

/* ---------- 6. Кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 20px;font-weight:600;line-height:1;white-space:nowrap;
  color:#fff !important;background:var(--accent) !important;
  border:1px solid var(--accent) !important;border-radius:999px;cursor:pointer;
  transition:background var(--ease),border-color var(--ease),transform var(--ease);
}
.btn:hover{background:var(--accent-dark) !important;border-color:var(--accent-dark) !important;}
.btn:active{transform:translateY(1px);background:var(--accent-darker) !important;}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);}
.btn--white{background:#fff !important;color:var(--accent) !important;border-color:var(--border-strong) !important;}
.btn--white:hover{background:var(--accent-soft) !important;color:var(--accent-dark) !important;border-color:var(--accent) !important;}

/* ---------- 7. Тулбар ---------- */
.home-toolbar{background:var(--bg-subtle);border-bottom:1px solid var(--border);}
.home-toolbar__list{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.home-toolbar__item{display:inline-flex;align-items:center;gap:9px;padding:12px 0;font-size:.88rem;font-weight:500;color:var(--text) !important;}
.home-toolbar__item:hover{color:var(--accent) !important;}
.home-toolbar__item-icon{display:inline-block;width:26px;height:20px;background:center/contain no-repeat;flex:0 0 auto;}

/* ---------- 8. Порядок блоков: #main-text ПЕРЕД masthead ---------- */
.home__main-wrap{display:flex;flex-direction:column;}
.home__main-wrap > *{order:5;}
.home__main-wrap > app-home-toolbar{order:1;}
.home__main-wrap > div:has(#main-text){order:2;}
.home__main-wrap > app-home-masthead{order:3;}
.home__main-wrap > app-home-advantages{order:4;}

/* ---------- 9. Masthead ---------- */
.autumn_categoties{padding-block:28px;background:var(--bg-soft);}
.home-masthead__container{display:grid !important;grid-template-columns:270px 1fr !important;gap:26px !important;align-items:start !important;}

/* Категории */
.home-navigation{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 10px;box-shadow:var(--shadow);}
.home-navigation__title .title{margin:0 0 12px;padding:0 10px 12px;font-size:1rem;}
.home-navigation__list-item{position:relative;}
.home-navigation__item{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);
  color:var(--text);font-size:.92rem;font-weight:500;
  transition:background var(--ease),color var(--ease);
}
.home-navigation__item:hover{background:var(--accent-soft) !important;color:var(--accent-dark) !important;}
.home-navigation__icon{width:20px;height:20px;flex:0 0 auto;opacity:.75;}
.home-navigation__label{flex:1 1 auto;}
.home-navigation__categories{display:none;}
.home-navigation__list-item:hover > .home-navigation__categories,
.home-navigation__item_expanded > .home-navigation__categories{
  display:block;position:absolute;left:100%;top:0;z-index:60;
  min-width:260px;max-height:420px;overflow:auto;padding:12px;
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-hi);
}
.home-navigation__categories-item > a,.category-link{display:block;padding:7px 10px;border-radius:var(--r-sm);font-size:.88rem;color:var(--text);}
.home-navigation__categories-item > a:hover,.category-link:hover{background:var(--accent-soft) !important;color:var(--accent-dark) !important;}
.home-navigation__subcategories{margin:2px 0 8px 10px;}
.home-navigation__subcategories-item > a{display:block;padding:5px 10px;font-size:.83rem;color:var(--muted);border-radius:var(--r-sm);}
.home-navigation__subcategories-item > a:hover{color:var(--accent);background:var(--accent-soft);}
.home_navigation__subcategories-line{height:1px;margin:8px 0;background:var(--border);}

/* Баннер + мини-товары */
.home-masthead__banner{min-width:0;}
.home-masthead__products-mini{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:16px !important;}
.product-mini{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow var(--ease),transform var(--ease);}
.product-mini:hover{box-shadow:var(--shadow-hi);transform:translateY(-2px);}
.product-mini__img{width:100%;height:130px;object-fit:contain;padding:12px;background:var(--bg-subtle);}
.product-mini__info{display:flex;flex-direction:column;gap:6px;padding:0 12px 14px;}
.product-mini__label{display:inline-block;padding:3px 9px;font-size:11px;font-weight:700;color:#fff !important;background:var(--accent) !important;border-radius:999px;}
.product-mini__title{margin:0;font-size:.85rem;font-weight:500;line-height:1.35;}
.product-mini__price-wrapper{margin-top:auto;}
.product-mini__price{font-size:1.05rem;font-weight:700;}

/* ---------- 10. SEO-текст ---------- */
#main-text{padding-block:28px;}
#main-text h2{margin-top:1.4em;}
#main-text h3{margin-top:1.2em;font-size:1.05rem;}
#main-text ul{margin:0 0 1em;}
#main-text ul li{position:relative;padding-left:20px;margin-bottom:6px;}
#main-text ul li::before{content:"";position:absolute;left:4px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent);}

/* ---------- 11. Преимущества ---------- */
app-home-advantages{display:block;padding-block:26px;}
app-home-advantages .container--mobile{
  display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:18px !important;
  padding:20px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--r-lg);
}
app-home-advantages figure.item{margin:0;}
.item-link{display:flex;align-items:flex-start;gap:12px;color:var(--text);}
.item-link:hover .item-title{color:var(--accent) !important;}
.item-left{flex:0 0 auto;}
.item-left .icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--accent-soft);}
.item-left .icon img{width:22px;height:22px;}
.item-title{margin:0 0 3px;font-size:.95rem;font-weight:600;transition:color var(--ease);}
.item-text{font-size:.82rem;line-height:1.4;}

/* ---------- 12. Секции с товарами: карусели → сетки ----------
   JS каруселей в копии нет, поэтому раскладываем сеткой. */
.best_deals_back,.home_supply_back{padding-block:34px;background:var(--bg-subtle);}
app-carousel{display:block;}
app-carousel-cell{
  display:block !important;position:static !important;
  width:auto !important;min-width:0 !important;max-width:none !important;
  height:auto !important;min-height:0 !important;max-height:none !important;
  margin:0 !important;left:auto !important;float:none !important;
  transform:none !important;overflow:visible !important;
}
app-carousel .flickity-viewport,app-carousel .flickity-slider{position:static !important;height:auto !important;transform:none !important;}

/* Карточки товара — 3 в ряд */
app-home-new app-carousel{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:20px !important;}
/* Подборки «Лучшие предложения» — 2 в ряд */
app-home-best-deals app-carousel{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:20px !important;}
/* Магазины — 4 в ряд */
app-home-supply app-carousel{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:18px !important;border:0 !important;background:transparent !important;padding:0 !important;}

/* Блок подборки (в разметке он помечен как мобильный — показываем везде) */
.best_deals_back--mobile{
  display:block !important;padding:18px !important;background:var(--bg) !important;
  border:1px solid var(--border) !important;border-radius:var(--r-lg) !important;height:100% !important;
}
.item-title--mobile{
  display:block !important;margin-bottom:14px !important;font-size:1rem !important;
  font-weight:700 !important;color:var(--heading) !important;
  background:transparent !important;padding:0 !important;border:0 !important;
}
.best_deals_back--mobile .list{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:14px !important;}

/* ---------- 13. Карточка товара ---------- */
app-product-item{display:block !important;position:relative !important;height:auto !important;min-height:0 !important;min-width:0;}
app-product-item .wrap{
  position:relative;display:flex !important;flex-direction:column !important;
  height:auto !important;min-height:0 !important;max-height:none !important;overflow:visible !important;
  align-items:stretch !important;justify-content:flex-start !important;
  padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);
  transition:box-shadow var(--ease),transform var(--ease),border-color var(--ease);
}
app-product-item .wrap:hover{box-shadow:var(--shadow-hi);transform:translateY(-2px);border-color:var(--border-strong);}
app-product-item .discount{
  position:absolute !important;top:12px !important;left:12px !important;right:auto !important;bottom:auto !important;
  z-index:2;padding:4px 9px;font-size:12px;font-weight:700;line-height:1;
  color:#fff !important;background:var(--sale) !important;border-radius:999px;
}
app-product-item a.img{
  display:block;width:100% !important;height:auto !important;aspect-ratio:1/1 !important;
  flex:0 0 auto !important;margin:0 0 12px !important;
  background-color:var(--bg-subtle);background-size:contain !important;
  background-position:center !important;background-repeat:no-repeat !important;
  border-radius:var(--r);
}
app-product-item .content{
  display:flex !important;flex-direction:column !important;align-items:stretch !important;
  flex:1 1 auto !important;width:100% !important;padding:0 0 2px !important;gap:8px !important;
}
app-product-item a.title{
  display:block !important;width:100% !important;max-width:none !important;flex:0 0 auto !important;
  position:static !important;height:auto !important;max-height:none !important;overflow:visible !important;
  font-size:.88rem;font-weight:500;color:var(--text) !important;line-height:1.4;
  margin:0;padding:0;text-transform:none;
}
app-product-item a.title::after{display:none;}
app-product-item a.title:hover{color:var(--accent) !important;}
app-product-item a.title > div{overflow:hidden !important;}
.truncate{
  display:-webkit-box !important;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden !important;white-space:normal !important;font-size:.82rem;
}
app-product-item .prices{
  display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;
  align-items:baseline !important;width:100% !important;height:auto !important;
  margin-top:auto !important;padding:0 !important;position:relative !important;
  flex:0 0 auto !important;gap:8px !important;
}
.price-old{order:1;font-size:.85rem;text-decoration:line-through;}
.price,.price--new{order:2;font-size:1.15rem;font-weight:700;}
.heart{
  order:3;position:static !important;margin-left:auto !important;align-self:center !important;
  width:26px;height:26px;flex:0 0 auto;cursor:pointer;opacity:.45;
  transition:opacity var(--ease),transform var(--ease);
}
.heart:hover{opacity:1;transform:scale(1.1);}

/* Компактная карточка (внутри подборок) */
app-product-item.compact .wrap{padding:8px !important;border:0 !important;box-shadow:none !important;background:transparent !important;}
app-product-item.compact .wrap:hover{transform:none !important;box-shadow:none !important;}
app-product-item.compact a.img{aspect-ratio:1/1 !important;margin-bottom:8px !important;}
app-product-item.compact .price,app-product-item.compact .price--new{font-size:.95rem !important;}
app-product-item.compact .discount{top:6px !important;left:6px !important;font-size:11px !important;padding:3px 7px !important;}

/* ---------- 14. Магазины ---------- */
app-home-supply .item{
  display:flex !important;align-items:center !important;gap:12px;height:100%;padding:14px;
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);
  transition:box-shadow var(--ease),transform var(--ease);
}
app-home-supply .item:hover{box-shadow:var(--shadow-hi);transform:translateY(-2px);}
app-home-supply .item-left{flex:0 0 auto !important;width:auto !important;min-width:0 !important;max-width:none !important;padding:0 !important;margin:0 !important;}
app-home-supply .item-body{flex:1 1 auto !important;width:auto !important;min-width:0 !important;max-width:none !important;padding:0 !important;text-align:left !important;}
app-home-supply .item-title{
  margin:0 0 4px !important;font-size:.95rem !important;font-weight:600 !important;
  line-height:1.25 !important;width:auto !important;max-width:100% !important;
  display:-webkit-box !important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden !important;
}
app-home-supply .item-list{margin:0 !important;}
app-home-supply .item-list li{font-size:.78rem !important;white-space:normal !important;}
.item-img{width:52px !important;height:52px !important;object-fit:contain !important;flex:0 0 auto !important;border-radius:var(--r-sm) !important;background:var(--bg-subtle) !important;}

/* ---------- 15. Защита покупателя ---------- */
app-customer-protection{display:block;padding-block:30px;}
app-customer-protection .container--mobile{padding:22px;background:var(--accent-soft);border-radius:var(--r-lg);}
.media{display:flex;gap:14px;align-items:flex-start;}
.media-left .icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg);}
.media-body h3,.media-body h4{margin:0 0 6px;}
app-customer-protection ul{margin-top:12px;display:grid;gap:8px;}
app-customer-protection ul li{position:relative;padding-left:20px;font-size:.88rem;}
app-customer-protection ul li::before{content:"";position:absolute;left:4px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--accent);}

/* ---------- 16. Футер ---------- */
app-footer{display:block;margin-top:40px;background:var(--bg-subtle);border-top:1px solid var(--border);}
.navs{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:26px !important;}
.navs-title{margin:0 0 12px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.navs-link{display:inline-block;padding:4px 0;font-size:.88rem;}
.navs-link:hover{color:var(--accent) !important;}
.footer--list{display:grid;gap:2px;}
.social{margin-top:26px;padding-top:20px;border-top:1px solid var(--border);}
.social-title{margin:0 0 10px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.social-links{display:flex;gap:10px;}
.social-links-item,.social-icon{
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:var(--accent-soft) !important;color:var(--accent-dark) !important;
  transition:background var(--ease),transform var(--ease);
}
.social-links-item:hover,.social-icon:hover{background:var(--accent) !important;color:#fff !important;transform:translateY(-2px);}
.social-icon img{width:18px;height:18px;}
.copyright{margin-top:18px;font-size:.82rem;}

/* ---------- 17. Мобильное меню ---------- */
mat-sidenav{
  position:fixed !important;top:0 !important;left:0 !important;z-index:1200 !important;
  width:288px !important;max-width:86vw !important;height:100% !important;overflow-y:auto !important;
  background:var(--bg) !important;box-shadow:var(--shadow-hi) !important;
  transform:translateX(-100%) !important;visibility:hidden !important;
  transition:transform var(--ease),visibility var(--ease) !important;
}
body.db-menu-open mat-sidenav{transform:translateX(0) !important;visibility:visible !important;}
.mat-drawer-backdrop{
  position:fixed !important;inset:0 !important;z-index:1100 !important;
  background:rgba(17,24,39,.45) !important;opacity:0 !important;visibility:hidden !important;
  transition:opacity var(--ease),visibility var(--ease) !important;
}
body.db-menu-open .mat-drawer-backdrop{opacity:1 !important;visibility:visible !important;}
body.db-menu-open{overflow:hidden !important;}

.sidebar{padding:0 0 24px !important;}
.sidebar--auth{margin:0 0 8px !important;padding:20px 16px !important;background:var(--accent-soft) !important;background-image:none !important;border-bottom:1px solid var(--border) !important;}
.sidebar--image,.sidebar--profile img{width:56px !important;height:56px !important;border-radius:50% !important;object-fit:cover !important;background:var(--bg) !important;}
.sidebar--profile{display:flex;align-items:center;gap:10px;}
.sidebar--profile-name{font-weight:600;color:var(--heading);}
.sidebar--login-link{display:inline-block !important;margin-top:10px !important;font-weight:600 !important;color:var(--accent-dark) !important;}
.sidebar--info{padding:6px 10px !important;}
.sidebar--info li{display:flex;align-items:center;gap:10px;}
.sidebar--info li a{display:block;flex:1 1 auto;padding:10px 8px;border-radius:var(--r-sm);color:var(--text);font-size:.93rem !important;}
.sidebar--info li a:hover{background:var(--accent-soft) !important;color:var(--accent-dark) !important;}
.sidebar--info-image{width:20px;height:20px;opacity:.7;flex:0 0 auto;}
.sidebar--border{border-bottom:1px solid var(--border);}
.sidebar--info-category{margin-top:6px !important;padding-top:10px !important;border-top:1px solid var(--border);}
.sidebar--footer{padding:16px !important;margin-top:8px;border-top:1px solid var(--border);}
.sidebar--phone{font-weight:700;color:var(--accent) !important;}
.sidebar--contacts{display:flex;align-items:center;gap:8px;margin-bottom:8px !important;font-size:.85rem;color:var(--muted);}
.sidebar--contacts-img{width:18px;height:18px;}
.sidebar--buttons{display:grid;gap:10px;margin-top:14px;}
.sidebar--buttons .btn{width:100%;}
.sidebar--icons{display:flex;gap:10px;margin-top:14px;}

/* ---------- 18. Кнопка «наверх» (создаётся скриптом) ---------- */
.db-to-top{
  position:fixed;right:18px;bottom:18px;z-index:1000;width:44px;height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:20px;line-height:1;color:#fff;background:var(--accent);
  border:0;border-radius:50%;box-shadow:var(--shadow-hi);cursor:pointer;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity var(--ease),visibility var(--ease),transform var(--ease),background var(--ease);
}
.db-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.db-to-top:hover{background:var(--accent-dark);}

/* ---------- 19. Адаптив ---------- */
@media (max-width:1100px){
  .home-masthead__container{grid-template-columns:230px 1fr !important;}
  .home-masthead__products-mini{grid-template-columns:repeat(3,1fr) !important;}
  app-home-supply app-carousel{grid-template-columns:repeat(3,1fr) !important;}
}

@media (max-width:900px){
  :root{--head-h:64px;}
  .header--burger{display:block;}
  .call-center .left,.call-center .body{display:none;}
  .icon--mobile{display:inline-flex;align-items:center;}
  .icon--mobile_img{width:22px;height:22px;}
  .home-masthead__container{grid-template-columns:1fr !important;}
  app-home-navigation{display:none;}          /* категории доступны в бургер-меню */
  .navs{grid-template-columns:repeat(2,1fr) !important;}
  app-home-advantages .container--mobile{grid-template-columns:repeat(2,1fr) !important;}
  .home-masthead__products-mini{grid-template-columns:repeat(2,1fr) !important;}
  app-home-best-deals app-carousel{grid-template-columns:1fr !important;}
}

@media (max-width:820px){
  app-home-new app-carousel{grid-template-columns:repeat(2,1fr) !important;}
  app-home-supply app-carousel{grid-template-columns:repeat(2,1fr) !important;}
}

@media (max-width:560px){
  body{font-size:14px;}
  .container{padding-inline:14px;}
  .header .container--sticky{gap:12px;}
  .img-logo{height:28px;}
  app-search .search{height:40px;}
  .cart__link .body{display:none;}
  .btn{padding:9px 16px;font-size:.9rem;}
  app-home-new app-carousel{grid-template-columns:1fr !important;}
  app-home-supply app-carousel{grid-template-columns:1fr !important;}
  .best_deals_back--mobile .list{grid-template-columns:repeat(2,1fr) !important;}
  .home-masthead__products-mini{grid-template-columns:repeat(2,1fr) !important;}
  app-home-advantages .container--mobile{grid-template-columns:1fr !important;}
  .navs{grid-template-columns:1fr !important;}
  .title{font-size:1.05rem;}
}

/* ---------- 20. Полировка ---------- */
:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);}
::selection{background:var(--accent-soft);color:var(--accent-darker);}
*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;}
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:3px solid transparent;background-clip:padding-box;}
*::-webkit-scrollbar-thumb:hover{background:var(--accent);}
@media (prefers-reduced-motion:reduce){*{transition:none !important;}}