/* Баннеры (Sinon_Bannery, 12.10.2026): светлые, текст графитом, красный — только акцентом. Грузится только там, где баннеры есть. */
.bn-lt { background: linear-gradient(112deg, #fff 0%, #F6F5F2 58%, #F7E9E6 100%); }
/* слайды карусели */
.hc-track > .hero-main.bn-sl { position: relative; overflow: hidden; }
.hc-track > .hero-main.bn-sl.bn-lt { background: linear-gradient(112deg, #fff 0%, #F6F5F2 58%, #F7E9E6 100%); }
.bn-sl > :not(.hero-ph):not(.bn-ic) { position: relative; z-index: 1; }
.bn-sl .eyebrow, .bn-st .eyebrow { color: var(--red); font-weight: 600; }
.bn-sl .h-display { max-width: 18ch; }
.bn-ic { position: absolute; z-index: 0; color: var(--red); opacity: .14; pointer-events: none; }
.bn-sl .bn-ic { right: 4%; bottom: 8%; width: min(38%, 300px); height: auto; aspect-ratio: 1; }
.bn-lt::after { content: ""; position: absolute; z-index: 0; right: -6%; top: -24%; width: 52%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #C826240f 0 58%, #C8262400 59%); pointer-events: none; }
.bn-code { display: inline-flex; flex-wrap: wrap; gap: 4px 6px; align-items: baseline; margin: 0; padding: 6px 12px; width: max-content; max-width: 100%; border: 1.5px dashed var(--red); border-radius: 999px; background: #fff; font-size: 14px; line-height: 1.3; color: var(--ink); }
.bn-code b { font: 700 15px/1.2 var(--f-display); letter-spacing: .06em; color: var(--red); }
.bn-sl.has-ph .hero-ph img { object-position: right center; }
@media (max-width: 639px) {
	.hc-track > .hero-main.bn-sl { align-content: center; }
	.bn-sl .bn-ic { width: 52%; max-width: 220px; right: 6%; bottom: 5%; opacity: .12; }
	.home .bn-sl .hero-ph, .hc-track > [data-bn-k].has-ph .hero-ph { aspect-ratio: 4 / 3; }
	.bn-sl .hero-ph img, .hc-track > [data-bn-k] .hero-ph img { object-position: 50% 100%; }
	.hc-dots button { width: 18px; }
	.hc-dots button::before { width: 6px; height: 6px; }
	.hc-dots [aria-current]::before { width: 14px; }
}
@media (max-width: 639px) and (pointer: coarse) { .hc-nav .hc-prev, .hc-nav .hc-next { display: none; } .hc-nav .hc-dots button { min-width: 24px; width: 24px; } }
/* полоса на главной и вставка между товарами каталога */
.bn-st { position: relative; overflow: hidden; display: grid; gap: 12px; align-items: center; margin-top: 40px; padding: clamp(18px, 2.6vw, 32px) clamp(18px, 3vw, 40px); border: 1px solid var(--line); border-radius: var(--r-l); color: var(--ink); box-shadow: var(--sh-1, none); }
.bn-st > :not(.bn-bg):not(.bn-ic) { position: relative; z-index: 1; }
.bn-h { display: block; margin: 4px 0 0; font: 700 clamp(20px, 2.3vw, 30px)/1.12 var(--f-display); max-width: 26ch; color: var(--ink); }
.bn-tx > p:not(.bn-h):not(.bn-code) { margin: 6px 0 0; max-width: 52ch; color: var(--ink-2); }
.bn-tx .bn-code { margin-top: 10px; }
.bn-st .btn { justify-self: start; }
.bn-st .bn-ic { right: 3%; top: 50%; translate: 0 -50%; width: clamp(84px, 13vw, 160px); height: auto; aspect-ratio: 1; }
.bn-st.has-img { background: #F6F5F2; }
.bn-bg { display: block; }
.bn-bg img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.bn-ins { grid-column: 1 / -1; margin: 4px 0; }
.grid:has(> .bn-ins) { grid-auto-flow: row dense; }
@media (min-width: 768px) {
	.bn-st { grid-template-columns: minmax(0, 1fr) auto; min-height: 150px; padding-right: clamp(130px, 18vw, 230px); }
	.bn-st.has-img { min-height: clamp(170px, 18vw, 240px); padding-right: 50%; }
	.bn-st.has-img .btn { grid-column: 1; }
	.bn-st .bn-bg { position: absolute; inset: 0; z-index: 0; }
	.bn-st.has-img::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, #F6F5F2f2 0%, #F6F5F2d0 40%, #F6F5F200 62%); }
}
@media (max-width: 767px) {
	.bn-st.has-img { padding-top: 0; }
	.bn-st .bn-bg { margin: 0 calc(-1 * clamp(18px, 3vw, 40px)) 4px; aspect-ratio: 2 / 1; }
	.bn-st .bn-bg img { object-position: 100% 50%; }
	.bn-st:not(.has-img) .bn-tx { padding-right: 64px; }
	.bn-st .bn-ic { width: 72px; top: 18px; translate: none; }
}
/* баннер раздела с картинкой: на компьютере — фоном за текстом, на телефоне — сверху */
.cban.has-bn .cban-t { position: relative; }
.cban-bg { display: block; }
.cban-bg img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
@media (min-width: 768px) {
	.cban.has-bn .cban-t { min-height: clamp(220px, 22vw, 320px); padding-right: 48%; }
	.cban.has-bn .cban-bg { position: absolute; inset: 0; z-index: 0; }
	.cban.has-bn .cban-t::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #fffffff0 0%, #ffffffc8 42%, #fff0 60%); }
	.cban.has-bn .cban-t > :not(.cban-bg) { position: relative; z-index: 2; }
}
@media (max-width: 767px) {
	.cban.has-bn .cban-bg { margin: -20px -16px 14px; aspect-ratio: 3 / 2; }
	.cban.has-bn .cban-bg img { object-position: 50% 100%; }
}
/* аватарки «дверей» главной */
.doors a:has(.bn-ava) { grid-template-columns: 44px 1fr; }
.doors .bn-ava { grid-row: span 2; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
@media (prefers-reduced-motion: reduce) { .hc-dots button::before { transition: none; } }
