/* БЕЗ ПЯТИ — точечные правки поверх темы референса. Дизайн исходного сайта не трогаем. */

/* логотип: у исходной вёрстки его рисуют псевдоэлементы и маска; размеры — как у референса */
.header-logo::before, .header-logo::after, .header-main__logo::before, .header-main__logo::after,
.header-logo > *, .header-main__logo > *, .footer__logo > *, .header-menu-logo > * { display: none !important; content: none !important; }
.header-logo, .header-main__logo, .footer__logo, .header-menu-logo {
  -webkit-mask: none !important; mask: none !important; background-repeat: no-repeat !important;
  background-position: left center !important; background-size: contain !important;
  text-indent: -9999px; overflow: hidden; color: transparent !important; min-width: 0;
}
.header-logo, .header-main__logo { background-image: url("/logo.svg") !important; width: 226px !important; height: 40px !important; }
.header-menu-logo { background: url("/logo-word-red.svg") left center / contain no-repeat transparent !important; width: 194px !important; height: 20px !important; }
.footer__logo { background: url("/logo-word-red.svg") left center / contain no-repeat transparent !important; width: 244px !important; height: 22px !important; filter: none; }
@media (max-width: 1199px) {
  .header-logo, .header-main__logo { background-image: url("/logo-mark.svg") !important; width: 40px !important; height: 40px !important; }
}

/* элементы прежнего владельца, которых у нас нет */
.lt-label, .lt-widget-wrap, [class^="lt-"], [id^="lt-"],           /* чат LiveTex */
.social-links, .header-menu__socials, .footer__socials, [class*="socials"],
.header-main__login, .js-modal-open[data-modal="#modal-login"], #modal-login,   /* аккаунтов пока нет */
.header-top__city, .header-main__city, .js-modal-open[data-modal="#modal-cities"], #modal-cities,
.modal-gift, .insta-label,
li:has(> a[href^="/jewelry"]), li:has(> a[href^="/gift"]), li:has(> a[href^="/clock"]),
li:has(> a[href^="/review"]), li:has(> a[href^="/bestclub/"]), li:has(> a[href^="/files/"]),
li:has(> a[href^="/site/sitemap"]), li:has(> a[href^="/shop/regions"]),
.mobile-catalog__item[data-drill="m-clock"], .mobile-catalog__item[data-drill="m-gifts"], .mobile-catalog__item[data-drill="m-jewelry"],
.mobile-catalog__panel[data-panel="m-clock"], .mobile-catalog__panel[data-panel="m-gifts"], .mobile-catalog__panel[data-panel="m-jewelry"],
img[src=""] { display: none !important; }
/* водяной знак над подвалом: у референса — маска с его именем, у нас — с нашим */
.footer::before {
  -webkit-mask-image: url("/watermark.svg") !important; mask-image: url("/watermark.svg") !important;
  -webkit-mask-position: bottom center !important; mask-position: bottom center !important;
  -webkit-mask-size: min(96vw, 1400px) auto !important; mask-size: min(96vw, 1400px) auto !important;
  -webkit-mask-repeat: no-repeat !important; mask-repeat: no-repeat !important;
}
.footer::after { display: none !important; }
.product-hero__price-bonus, .product-card__bonus, [class*="bonus"] { display: none !important; }   /* бонусы клуба прежнего владельца */

/* счётчик корзины и избранного в шапке */
.header-button--cart[data-count]:not([data-count="0"])::after,
.header-button--favorites[data-count]:not([data-count="0"])::after {
  content: attr(data-count); position: absolute; top: -4px; right: -6px; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 9px; background: #e30613; color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
}
.header-button--cart, .header-button--favorites { position: relative; }

/* свои страницы: каталог, корзина, заказ — в вёрстке референса, шрифты и кнопки его же */
.bp-main { width: 100%; min-width: 0; }                 /* main у референса — flex-строка */
.main-sections { display: none !important; }            /* из четырёх плиток разделов осталась одна — дублирует меню */
.main-reviews { display: none !important; }             /* «Последнее в нашем блоге» — блог прежнего владельца */
.bp-filter { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 24px; }
.bp-filter__body { display: contents; }
.bp-filter__toggle { display: none; }
.bp-filter__instock { margin-right: 8px; }
.bp-info a { color: #e30613; }
.bp-info a.button--primary, .bp-empty a.button--primary, .bp-order a.button--primary, .bp-pay a.button--primary { color: #fff; }
.bp-filter .form-input { width: auto; min-width: 150px; flex: 1 1 150px; height: 44px; }
.bp-filter .form-input[type="search"] { flex: 2 1 240px; }
.bp-filter .button { height: 44px; padding: 0 22px; }
.bp-pager { display: flex; gap: 10px; justify-content: center; align-items: center; margin: 30px 0 10px; }
.bp-empty { padding: 40px 0 60px; color: #666; }
.bp-empty .button { margin-top: 14px; }

.bp-cart { border: 1px solid #e5e5e5; border-radius: 12px; overflow: hidden; margin-bottom: 30px; background: #fff; }
.bp-cart__row { display: grid; grid-template-columns: 90px 1fr auto auto 32px; gap: 16px; align-items: center; padding: 14px 18px; border-bottom: 1px solid #eee; }
.bp-cart__row:last-of-type { border-bottom: none; }
.bp-cart__row img { width: 90px; height: 90px; object-fit: contain; }
.bp-cart__name { color: #111; text-decoration: none; font-weight: 600; }
.bp-cart__sku { color: #888; font-size: 13px; margin-top: 3px; }
.bp-cart__qty { display: flex; align-items: center; gap: 4px; }
.bp-cart__qty button { width: 34px; height: 34px; border: 1px solid #ddd; background: #fff; border-radius: 8px; font-size: 18px; cursor: pointer; }
.bp-cart__qty span { min-width: 30px; text-align: center; font-weight: 700; }
.bp-cart__sum { font-weight: 700; font-size: 17px; min-width: 110px; text-align: right; white-space: nowrap; }
.bp-cart__sum small { color: #888; font-weight: 400; font-size: 12px; }
.bp-cart__del { border: none; background: none; color: #999; font-size: 22px; cursor: pointer; line-height: 1; }
.bp-cart__del:hover { color: #e30613; }
.bp-cart__total { display: flex; justify-content: space-between; padding: 18px; background: #f7f7f7; font-size: 17px; }
.bp-cart__total b { font-size: 24px; }
.bp-checkout { display: grid; gap: 14px; max-width: 560px; margin-bottom: 40px; }
.bp-checkout .form-input, .bp-checkout select, .bp-checkout textarea { width: 100%; }
.bp-checkout textarea.form-input { height: 90px; padding-top: 12px; }
.bp-note { color: #777; font-size: 13px; }
.bp-order { max-width: none; }
.bp-order__ok { background: #f7f7f7; border-radius: 12px; padding: 28px; margin-bottom: 24px; }
.bp-order__num { font-size: 34px; font-weight: 800; color: #e30613; }
.bp-info { max-width: 820px; }
.bp-info h2 { margin: 26px 0 8px; font-size: 20px; }
.bp-info p { line-height: 1.6; color: #333; }
.bp-info__nav { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 20px; font-size: 14px; }
.bp-info__contacts { background: #f7f7f7; border-radius: 12px; padding: 20px 24px; margin-top: 28px; }
.bp-info__contacts a { font-weight: 700; }
.form-message--error { color: #e30613; margin-bottom: 12px; }

@media (max-width: 767px) {
  .bp-cart__row { grid-template-columns: 70px 1fr 32px; grid-template-areas: "img name del" "img qty del" "img sum del"; gap: 8px 12px; padding: 12px; }
  .bp-cart__row img { grid-area: img; width: 70px; height: 70px; }
  .bp-cart__row > div:nth-child(2) { grid-area: name; }
  .bp-cart__qty { grid-area: qty; }
  .bp-cart__sum { grid-area: sum; text-align: left; min-width: 0; }
  .bp-cart__row form:last-child { grid-area: del; }
  .bp-filter .form-input[type="search"] { flex: 1 1 60%; }
  .bp-filter__toggle { display: inline-flex; flex: 0 0 auto; height: 44px; align-items: center; }
  .bp-filter__body { display: none; width: 100%; }
  .bp-filter__check:checked ~ .bp-filter__body { display: flex; flex-wrap: wrap; gap: 10px; }
  .bp-filter__body .form-input, .bp-filter__body .button { flex-basis: 100%; }
}

/* ---- оформление заказа: два столбца на ПК ---- */
.bp-checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; margin-bottom: 40px; }
.bp-checkout-side { position: sticky; top: 16px; }
.bp-checkout-h2 { font-size: 20px; margin: 30px 0 14px; }
.bp-checkout-links { margin: 12px 0 0; font-size: 14px; }
.bp-checkout-links .link { color: #e30613; text-decoration: none; }
.bp-cart__unit { color: #888; font-size: 13px; margin-top: 3px; }
.bp-cart__tag { color: #d97706; }
.bp-cart__row--static { grid-template-columns: 90px 1fr auto; }
.bp-fields { display: flex; flex-wrap: wrap; gap: 12px; }
.bp-field { flex: 1 1 100%; margin: 0; }
.bp-field--half { flex: 1 1 calc(50% - 6px); }
.bp-textarea { height: 96px; padding-top: 12px; resize: vertical; }
.bp-choice { display: grid; gap: 10px; margin-bottom: 14px; }
.bp-choice__item { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1.5px solid #e5e5e5; border-radius: 12px; cursor: pointer; background: #fff; transition: border-color .15s, box-shadow .15s; }
.bp-choice__item:hover { border-color: #c9c9c9; }
.bp-choice__item { position: relative; }
.bp-choice__item input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.bp-choice__dot { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; border: 2px solid #c9c9c9; background: #fff; position: relative; transition: border-color .15s; }
.bp-choice__item:has(input:checked) { border-color: #e30613; box-shadow: 0 0 0 3px rgba(227, 6, 19, .08); }
.bp-choice__item:has(input:checked) .bp-choice__dot { border-color: #e30613; }
.bp-choice__item:has(input:checked) .bp-choice__dot::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: #e30613; }
.bp-choice__item:has(input:focus-visible) { outline: 2px solid #e30613; outline-offset: 2px; }
.bp-choice__body { display: grid; gap: 3px; }
.bp-choice__title { font-weight: 700; display: flex; align-items: center; gap: 8px; }
.bp-choice__text { color: #777; font-size: 13px; line-height: 1.4; }
.bp-sbp-logo { height: 20px; width: auto; }
.bp-sbp-logo--big { height: 34px; }
.bp-summary { background: #f7f7f7; border-radius: 14px; padding: 22px; }
.bp-summary__title { font-weight: 700; font-size: 18px; margin-bottom: 14px; }
.bp-summary__row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; padding: 6px 0; color: #444; }
.bp-summary__row--muted { color: #999; }
.bp-summary__total { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0 16px; margin-top: 8px; border-top: 1px solid #e0e0e0; font-size: 16px; }
.bp-summary__total b { font-size: 26px; }
.bp-summary__btn { width: 100%; height: 50px; font-size: 15px; }
.bp-summary__notes { list-style: none; padding: 0; margin: 16px 0 6px; color: #555; font-size: 13px; display: grid; gap: 6px; }
.bp-summary__notes li::before { content: "✓ "; color: #1c8a4e; font-weight: 700; }
.bp-summary .bp-note { margin-top: 10px; }

/* ---- страница заказа и оплата СБП ---- */
.bp-order__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; margin-bottom: 26px; }
.bp-order__meta { color: #555; line-height: 1.6; }
.bp-pay { background: #fff; border: 1.5px solid #e5e5e5; border-radius: 14px; padding: 22px; position: sticky; top: 16px; }
.bp-pay__head { display: flex; align-items: center; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid #eee; margin-bottom: 14px; }
.bp-pay__title { color: #777; font-size: 13px; }
.bp-pay__amount { font-size: 24px; font-weight: 800; }
.bp-pay__btn { width: 100%; height: 48px; margin-top: 10px; }
.bp-pay__wait { font-weight: 700; font-size: 17px; margin: 10px 0 4px; text-align: center; }
.bp-pay__state p { margin: 6px 0; }
.bp-pay__state[data-state="requested"], .bp-pay__state[data-state="claimed"], .bp-pay__state--paid { text-align: center; }
.bp-pay__spinner { width: 42px; height: 42px; margin: 8px auto 0; border: 4px solid #eee; border-top-color: #e30613; border-radius: 50%; animation: bp-spin .9s linear infinite; }
@keyframes bp-spin { to { transform: rotate(360deg); } }
.bp-pay__qr { display: flex; justify-content: center; margin: 4px 0 10px; }
.bp-pay__qr svg { width: 240px; height: 240px; }
.bp-pay__qr img { width: 240px; height: auto; max-width: 100%; border-radius: 8px; }
.bp-pay__check { width: 56px; height: 56px; margin: 6px auto; border-radius: 50%; background: #1c8a4e; color: #fff; font-size: 30px; line-height: 56px; }
@media (max-width: 900px) {
  .bp-checkout-layout, .bp-order__grid { grid-template-columns: 1fr; }
  .bp-checkout-side, .bp-pay { position: static; }
  .bp-field--half { flex-basis: 100%; }
}
/* бейдж Яндекс Сплита прежнего владельца вырезан — убираем отступ под него, ритм как в референсе (24/16px) */
.product-hero__modals { margin-bottom: 0 !important; }
.js-yapay-badge, .js-yapay-badge:empty { display: none !important; }
