/* ============================================================
   SHPITSER — надстройка над перенесённой вёрсткой.
   Здесь только то, чего в референсе не было: наши плашки,
   теги разделов, счётчик корзины, раскрывашки характеристик.
   Подключается последним.
   ============================================================ */

/* --- Знак вместо чужого логотипа --------------------------- */
.page-header-logo .wordmark {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  font-weight: 300;
  letter-spacing: .02em;
  color: #1D1D1D;
  display: inline-block;
  position: relative;
  line-height: 1;
}
.page-header-logo .wordmark__swash { display: block; width: 100%; height: 8px; stroke: currentColor; fill: none; }
.page-header-logo a { display: inline-block; padding: 6px 0; }

/* --- Строка-объявление над шапкой -------------------------- */
.topline {
  background: #1D1D1D;
  color: #fff;
  text-align: center;
  padding: 9px 15px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* --- Счётчик товаров у корзины ----------------------------- */
.page-header-nav-element { display: flex; align-items: center; justify-content: center; }
.cart-count {
  position: absolute;
  top: 2px; right: -6px;
  min-width: 16px; height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: #1D1D1D;
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
}
.cart-count[hidden] { display: none; }

/* --- Панель поиска ----------------------------------------- */
.search-panel { border-bottom: 1px solid #F0EFED; background: #fff; padding: 22px 0; }
.search-panel form { display: flex; align-items: center; gap: 14px; }
.search-panel input[type="search"] {
  flex: 1;
  font: inherit; font-size: 18px;
  border: 0; border-bottom: 1px solid #E5E3DF;
  padding: 10px 0; background: none;
}
.search-panel input[type="search"]:focus { outline: none; border-color: #1D1D1D; }
.search-panel button { background: none; border: 0; cursor: pointer; width: 26px; height: 26px; }
.search-panel button svg { width: 26px; height: 26px; }

/* --- Меню на телефоне -------------------------------------- */
.mobile-menu { background: #fff; border-bottom: 1px solid #F0EFED; padding: 20px 0 26px; }
.mobile-menu .page-header-nav-menu-item,
.mobile-menu > .page-inner > a { display: block; padding: 11px 0; font-size: 15px; }
body.menu-open { overflow: hidden; }

/* --- Заголовок раздела без фотографии ---------------------- */
.catalog-banner--plain {
  min-height: 0;
  background: #F6F4F1;
  padding: 34px 0 30px;
  margin-bottom: 30px;
}
.catalog-banner--plain .catalog-heading h1,
.catalog-banner--plain .catalog-heading sup { color: #1D1D1D; }
.catalog-banner--plain .breadcrumbs__item,
.catalog-banner--plain .breadcrumbs__item a { color: #737065; }

/* Крошки WooCommerce приводим к разметке референса */
.catalog-banner .breadcrumbs { margin-bottom: 18px; font-size: 12px; }
.catalog-banner .breadcrumbs a { text-decoration: none; }

/* --- Теги разделов над сеткой ------------------------------ */
.catalog-section-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.catalog-section-tag {
  border: 1px solid #E5E3DF;
  border-radius: 20px;
  padding: 8px 18px;
  font-size: 13px;
  color: #1D1D1D;
  text-decoration: none;
  transition: .25s;
}
.catalog-section-tag:hover { border-color: #1D1D1D; }
.catalog-section-tag.is-active { background: #1D1D1D; border-color: #1D1D1D; color: #fff; }

/* --- Выбранные фильтры ------------------------------------- */
.catalog-section-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 26px; }
.catalog-section-chip {
  display: inline-flex; align-items: center; gap: 8px;
  background: #F6F4F1;
  border-radius: 20px;
  padding: 8px 16px;
  font-size: 13px;
  color: #1D1D1D;
  text-decoration: none;
}
.catalog-section-chip i { font-style: normal; color: #737065; }
.catalog-section-chip:hover i { color: #1D1D1D; }
.catalog-section-chip--clear { background: none; text-decoration: underline; }

.catalog-section-description { max-width: 70ch; color: #4A4A4A; margin-bottom: 30px; font-size: 15px; line-height: 1.7; }

/* --- Бренд в плитке ---------------------------------------- */
.catalog-section-items-item-info-brand {
  display: block;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #918B80;
  margin-bottom: 6px;
}

/* --- Пустая выдача ----------------------------------------- */
.catalog-section-empty { padding: 60px 0 90px; text-align: center; }
.catalog-section-empty-title { font-size: 24px; margin-bottom: 10px; }
.btn-black {
  display: inline-block; margin-top: 20px;
  background: #1D1D1D; color: #fff; text-decoration: none;
  padding: 15px 34px; font-size: 13px; text-transform: uppercase; letter-spacing: .1em;
}

/* --- Панель фильтров: наши мелочи -------------------------- */
.filter-popup-clear { font-size: 13px; color: #737065; }
.filter-popop-row-item-checkbox i { font-style: normal; color: #918B80; margin-left: 4px; }
.bx-filter-popup-result {
  width: 100%; background: #1D1D1D; color: #fff; border: 0; cursor: pointer;
  padding: 16px; font-size: 13px; text-transform: uppercase; letter-spacing: .1em;
}
body.popup-open { overflow: hidden; }
/* Затемнение под выехавшей панелью */
body.popup-open::after {
  content: "";
  position: fixed; inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 100001;
}

/* --- Сортировка -------------------------------------------- */
.filter-sort { position: relative; }
.filter-sort__body {
  position: absolute; right: 0; top: calc(100% + 10px);
  min-width: 230px; background: #fff;
  border: 1px solid #F0EFED;
  padding: 8px 0; z-index: 40;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: .25s;
}
.filter-sort.is-open .filter-sort__body { opacity: 1; visibility: visible; transform: none; }
.filter-sort.is-open .js-filter-btn-icon { transform: rotate(180deg); }
.js-filter-btn-icon { transition: transform .3s; }
.filter-sort__item a { display: block; padding: 9px 18px; font-size: 13px; color: #4A4A4A; text-decoration: none; }
.filter-sort__item a:hover { background: #F6F4F1; color: #1D1D1D; }
.filter-sort__item a.is-active { color: #1D1D1D; }

/* --- Карточка товара: раскрывашки и таблица ---------------- */
.product-detail-prop-item { cursor: pointer; }
.product-detail-prop-item.is-open .product-detail-prop-item-ico-wrapper { transform: rotate(45deg); }
.product-detail-prop-item-ico-wrapper { transition: transform .3s; }
.product-detail-prop-body {
  padding: 0 0 22px;
  font-size: 15px; line-height: 1.7; color: #4A4A4A;
}
.product-detail-prop-body[hidden] { display: none; }
.product-detail-specs { width: 100%; border-collapse: collapse; font-size: 14px; }
.product-detail-specs th {
  text-align: left; font-weight: 400; color: #918B80;
  padding: 10px 16px 10px 0; border-bottom: 1px solid #F0EFED; width: 40%;
}
.product-detail-specs td { padding: 10px 0; border-bottom: 1px solid #F0EFED; }

.product-detail-sider-thumb-slide-item { background: none; border: 0; padding: 0; cursor: pointer; width: 100%; }
.product-detail-sider-thumb-slide-item.is-active { outline: 1px solid #1D1D1D; }
.product-detail-add-btn-item.is-disabled { opacity: .45; pointer-events: none; }
.product-detail-add-btn form.cart { margin: 0; width: 100%; }
.product-detail-related { margin-top: 90px; }

/* --- Клуб: корзина и кабинет ------------------------------- */
.bonus-box { border-top: 1px solid #F0EFED; padding: 18px 0; }
.bonus-box__title { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 8px; }
.bonus-box__form { display: flex; gap: 10px; margin-top: 12px; }
.bonus-box__form input { width: 110px; font: inherit; padding: 10px 12px; border: 1px solid #E5E3DF; }
.club__balance { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
.club__num { font-family: "Cormorant Garamond", Georgia, serif; font-size: 64px; line-height: 1; }
.club__unit { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #918B80; line-height: 1.5; }
.club__log { width: 100%; border-collapse: collapse; margin-top: 28px; font-size: 14px; }
.club__log th {
  text-align: left; font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: #918B80; font-weight: 400; padding: 0 12px 10px 0; border-bottom: 1px solid #E5E3DF;
}
.club__log td { padding: 12px 12px 12px 0; border-bottom: 1px solid #F0EFED; }
.club__log .is-minus { color: #918B80; }

@media (max-width: 900px) {
  .catalog-section-tags { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .catalog-section-tag { white-space: nowrap; }
  .product-detail-related { margin-top: 60px; }
}

/* --- Чужие фотографии заменены нашими ----------------------
   В перенесённом CSS фоном стояли снимки референса. Файлы удалены,
   пути переопределены на собственную съёмку. */
.footer {
  background-image: linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.55)), url(../img/men-clipper.jpg);
  background-position: center;
  margin-top: 120px;
}
.lines-head { background-image: url(../img/cat-men.jpg); }
.not-found__inner { background-image: linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.4)), url(../img/hero.jpg); }
.about-brand__main { background-image: url(../img/story.jpg); }
.bonus-program .auth-banner { background-image: linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.45)), url(../img/men-scissors.jpg); }

/* Подвал прижимаем к содержимому: у референса отступ рассчитан
   на длинную главную, в каталоге он оставлял пустое поле */
.footer-nav { margin-top: 90px; }
.footer-nav-all-top { margin-bottom: 90px; }
@media (max-width: 1200px) {
  .footer-nav { flex-direction: column; gap: 40px; }
  .footer-nav-all { min-width: 0; }
}

/* --- Корзина: приводим таблицу WooCommerce к нашему виду ---- */
.woocommerce-cart-form { margin-bottom: 40px; }
.woocommerce-cart-form table.shop_table { width: 100%; border-collapse: collapse; border: 0; }
.woocommerce-cart-form th {
  text-align: left; font-weight: 400; font-size: 11px;
  letter-spacing: .16em; text-transform: uppercase; color: #918B80;
  padding: 0 16px 14px 0; border-bottom: 1px solid #E5E3DF;
}
.woocommerce-cart-form td { padding: 20px 16px 20px 0; border-bottom: 1px solid #F0EFED; vertical-align: middle; }
.woocommerce-cart-form td.product-thumbnail { width: 96px; }
.woocommerce-cart-form td.product-thumbnail img { width: 96px; height: auto; border-radius: 10px; }
.woocommerce-cart-form td.product-name a { color: #1D1D1D; text-decoration: none; font-size: 15px; }
.woocommerce-cart-form td.product-remove a { color: #918B80; font-size: 18px; text-decoration: none; }
.woocommerce-cart-form td.product-remove a:hover { color: #1D1D1D; }
.woocommerce-cart-form .quantity input.qty { width: 64px; padding: 10px; border: 1px solid #E5E3DF; text-align: center; }
.woocommerce-cart-form td.actions { padding-top: 24px; }
.woocommerce-cart-form td.actions .coupon { display: flex; gap: 10px; float: none; margin-bottom: 16px; }
.woocommerce-cart-form td.actions .coupon input { padding: 12px 14px; border: 1px solid #E5E3DF; min-width: 200px; }
.woocommerce-cart-form td.actions button[name="update_cart"] { float: right; }

.cart-collaterals { max-width: 460px; margin-left: auto; }
.cart_totals h2 { font-size: 22px; font-weight: 400; margin-bottom: 18px; }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td { padding: 14px 0; border-bottom: 1px solid #F0EFED; font-weight: 400; text-align: left; }
.cart_totals td { text-align: right; }
.cart_totals .order-total th, .cart_totals .order-total td { font-size: 18px; border-bottom: 0; }
.wc-proceed-to-checkout { margin-top: 22px; }
.wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; }

/* Плашка кук. Базового правила не было вовсе — она вставала в поток и
   налезала на поля формы (заметно стало на чекауте). Прижимаем к низу окна. */
.ck {
	position: fixed;
	left: 50%;
	bottom: 20px;
	z-index: 90;
	display: flex;
	align-items: center;
	gap: 20px;
	width: calc(100% - 40px);
	max-width: 600px;
	padding: 15px 25px;
	transform: translateX(-50%);
	font-size: 13px;
	line-height: 1.5;
	color: #1d1d1d;
	background: #ebebeb;
	border-radius: 5px;
}

.ck[hidden] { display: none; }

.ck button {
	flex-shrink: 0;
	padding: 8px 22px;
	font: inherit;
	color: #1d1d1d;
	background: #fff;
	border: 1px solid #c9c5bc;
	border-radius: 5px;
	cursor: pointer;
	transition: background .2s, color .2s;
}

.ck button:hover { background: #9e907b; border-color: #9e907b; color: #fff; }

/* Плашка кук на телефоне: во всю ширину снизу, а не поверх товаров */
@media (max-width: 900px) {
  .ck {
    left: 12px; right: 12px; bottom: 12px;
    transform: none; max-width: none;
    flex-direction: column; align-items: flex-start; gap: 12px;
  }
}

/* --- Корзина-панель ---------------------------------------- */
.page-popup__cart-modal { display: flex; flex-direction: column; height: 100%; }
.cart-popup-empty-title { font-size: 22px; line-height: 1.35; margin-bottom: 12px; }
.cart-popup-empty-subtitle { font-size: 14px; color: #737065; line-height: 1.6; }
.cart-popup-empty-subtitle a { color: #1D1D1D; }

.minicart-row { display: flex; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid #F0EFED; }
.minicart-row__img { width: 76px; flex: none; }
.minicart-row__img img { width: 76px; height: 76px; object-fit: contain; border-radius: 10px; background: #F6F4F1; mix-blend-mode: multiply; }
.minicart-row__body { flex: 1; min-width: 0; }
.minicart-row__name { display: block; font-size: 14px; line-height: 1.4; color: #1D1D1D; text-decoration: none; margin-bottom: 6px; }
.minicart-row__meta { font-size: 13px; color: #737065; }
.minicart-row__remove { color: #918B80; font-size: 20px; text-decoration: none; line-height: 1; padding: 4px; }
.minicart-row__remove:hover { color: #1D1D1D; }

.minicart-total { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0; font-size: 16px; }
.minicart-link { display: block; text-align: center; margin-top: 14px; font-size: 13px; color: #737065; text-decoration: underline; }
.cart-popup-footer .bx-filter-popup-result { display: block; text-align: center; text-decoration: none; }

/* --- Типографика текстовых страниц ------------------------- */
.document__text { max-width: 78ch; font-size: 16px; line-height: 1.75; color: #333; }
.document__text h2 { font-size: 28px; font-weight: 400; margin: 44px 0 16px; }
.document__text h3 { font-size: 20px; font-weight: 400; margin: 32px 0 12px; }
.document__text p { margin: 0 0 1.1em; }
.document__text ul, .document__text ol { margin: 0 0 1.4em 1.2em; }
.document__text li { margin-bottom: .5em; }
.document__text a { color: #1D1D1D; text-decoration: underline; }
.document__text table { width: 100%; border-collapse: collapse; margin: 20px 0 30px; font-size: 15px; }
.document__text th, .document__text td { text-align: left; padding: 12px 14px 12px 0; border-bottom: 1px solid #F0EFED; }
.document__text th { font-weight: 400; color: #918B80; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }

/* Запись журнала */
.post-single { max-width: 78ch; margin: 0 auto; }
.post-single__meta { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #918B80; margin-bottom: 14px; }
.post-single__cover { margin: 26px 0 34px; border-radius: 10px; overflow: hidden; }
.post-single__cover img { width: 100%; height: auto; display: block; }

/* --- Журнал: сетка карточек -------------------------------- */
.journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 60px; }
.journal-card { height: 420px; border-radius: 10px; }
@media (max-width: 1100px) { .journal-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px)  { .journal-grid { grid-template-columns: 1fr; } .journal-card { height: 320px; } }

/* --- Главная: высоты, которые у референса задавал его слайдер --- */
.index-slider .splide__track,
.index-slider .splide__list,
.index-slider .index-slider-item { height: 100%; }
.index-slider .splide__pagination { bottom: 30px; }


/* Лента товаров: прокрутка вместо трансформации — так проще держать
   свободный ход и полосу прогресса */
.index-products .slick-list { overflow-x: auto; scrollbar-width: none; }
.index-products .slick-list::-webkit-scrollbar { display: none; }
.index-products .slick-track { display: flex; }
.index-products .catalog-section-items-item { flex: 0 0 251px; margin-bottom: 0 !important; }
.index-products .slick-arrow.slick-disabled { opacity: .25; pointer-events: none; }

/* Блок о ремесле: снимок светлый, поэтому притемняем под белый текст */
.index-act-slider-item { height: 620px; overflow: hidden; }
.index-act-slider-item::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.60) 100%);
  border-radius: 10px;
}
.index-lines-slider .splide__track, .index-lines-slider .splide__list { height: 100%; }
.index-lines-slider-item img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }

@media (max-width: 900px) {
  .index-act-slider-item { height: 460px; }
}

.index-sections-item::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05) 40%, rgba(0,0,0,.45) 100%);
  border-radius: 10px;
}
/* Только поднимаем над градиентом: position кружка задан у референса */
.index-sections-item-title { position: relative; z-index: 1; }
.index-sections-item-arrow { z-index: 1; }

/* Карточки журнала: заголовок белый, снимки светлые — притемняем низ */
.index-blog-item::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.55) 100%);
  border-radius: 10px;
}
.index-blog-item { position: relative; }
.index-blog-item-content { position: relative; z-index: 1; }

/* --- Первый экран ------------------------------------------
   Оформление стрелок, точек, кнопки и видео берётся из стилей
   референса. Здесь только раскладка ленты: у него она лежала в
   отдельном slick.css, которого в выгрузке не было. */
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-track { position: relative; display: flex; top: 0; left: 0; }
.slick-track::before, .slick-track::after { content: ""; display: table; }
.slick-slide { flex: 0 0 auto; height: 100%; min-height: 1px; }
.index-slider-items { position: relative; height: 100%; }

/* Наши кадры светлее, чем у референса, — под белый текст нужен градиент */
.index-slider-item::before {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 100%);
}
.index-slider-item-content-wrapper { position: relative; z-index: 2; }


/* Неактивная подборка у референса схлопнута по высоте, но продолжает
   перехватывать нажатия — гасим её для мыши, вид не трогаем */
.index-tab-content.tabs-content:not(.active) { visibility: hidden; pointer-events: none; }
.index-tab-content.tabs-content.active { visibility: visible; pointer-events: auto; }

/* Подборка «к заказу» в панели: лента прокруткой */
.cart-popup-recomended-items .slick-list { overflow-x: auto; scrollbar-width: none; }
.cart-popup-recomended-items .slick-list::-webkit-scrollbar { display: none; }
.cart-popup-recomended-items .slick-track { display: flex; }
.cart-popup-recomended-item { flex: 0 0 220px; }
/* Пока запрос в пути — гасим панель, чтобы не жали дважды */
.cart-popup.is-busy { opacity: .6; pointer-events: none; }
.coupon-basket__delete-button { cursor: pointer; padding: 0 4px; }

/* --- Галерея карточки: раскладка вместо slick ---------------- */
.product-detail-sider-main .slick-list { position: relative; overflow: hidden; height: 100%; }
.product-detail-sider-main .slick-track { position: relative; height: 100%; }
.product-detail-sider-main-slide { display: none; height: 100%; }
.product-detail-sider-main-slide.slick-current { display: block; }
.product-detail-sider-thumb { display: block; overflow-y: auto; scrollbar-width: none; }
.product-detail-sider-thumb::-webkit-scrollbar { display: none; }
.product-detail-sider-thumb-slide { cursor: pointer; margin-bottom: 6px; }
.product-detail-arrow { position: absolute; top: 0; z-index: 5; cursor: none; }
/* Курсор-стрелка ходит за мышью внутри снимка */
.gallery-arrow { width: 24px; height: 24px; z-index: 6; }
.product-detail-fav-btn.active svg, .product-detail-fav-btn-mobile.active svg { fill: #fff; }
/* Форма покупки стоит между .pd-ba и кнопкой. WooCommerce задаёт ей
   display:grid — в сетке кнопка встаёт по ширине текста, поэтому
   возвращаем обычный блок и пробрасываем ширину. */
.product-detail-add-btn .pd-ba form.cart,
.card-nav form.cart { display: block !important; margin: 0; width: 100%; }
.product-detail-add-btn-wrapper .pd-ba { flex: 1 1 auto; min-width: 0; }
.card-nav form.cart { margin: 0; height: 100%; }

/* Крестик панели лежит в потоке перед заголовком — поднимаем его,
   иначе заголовок перехватывает нажатие и панель нечем закрыть */
.page-popup .page-popup-close { position: absolute; z-index: 100; }
/* Заголовок панели шире крестика и идёт следом в потоке — он не должен
   принимать нажатия на своей пустой части */
.cart-popup-title { pointer-events: none; }

/* ------------------------------------------------------------------ */
/* Оптовые страницы, где купить, избранное                            */
/* ------------------------------------------------------------------ */

/* Плитки витрин: у референса такой сетки нет, сама плитка взята с главной. */
.where-to-buy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 40px 0 60px; }
.where-to-buy .index-sections-item { min-height: 320px; margin-right: 0; }
.where-to-buy-notes h2 { margin: 34px 0 2px; }
.where-to-buy-note { color: #8a8681; margin: 0 0 8px; }

.lead-form-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; max-width: 1200px; margin: 0 auto; padding: 0 20px 90px; }
.lead-form-lead { font-size: 19px; line-height: 1.55; font-weight: 300; margin: 0; }
.lead-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.lead-form input,
.lead-form textarea { width: 100%; padding: 14px 16px; border: 1px solid #e2e0dd; border-radius: 8px; font: inherit; font-size: 16px; background: #fff; color: #1d1d1d; }
.lead-form textarea { margin-bottom: 18px; resize: vertical; }
.lead-form input:focus,
.lead-form textarea:focus { outline: none; border-color: #1d1d1d; }
.lead-form button { cursor: pointer; }
.lead-form button[disabled] { opacity: .5; cursor: default; }
.lead-form__note { margin-top: 14px; font-size: 16px; }
.lead-form__note._error { color: #a33; }

/* Пустое избранное: блок у референса есть, отступов вокруг нет. */
.fav-title-block { padding: 60px 0 120px; text-align: center; }
.fav-title-block .center-btn { margin-top: 26px; }

.lines-page .breadcrumbs-item-last h1 { margin: 0; }

@media (max-width: 900px) {
	.where-to-buy { grid-template-columns: 1fr; margin: 26px 0 40px; }
	.where-to-buy .index-sections-item { min-height: 220px; }
	.lead-form-wrapper { grid-template-columns: 1fr; gap: 26px; padding: 0 20px 60px; }
	.lead-form__row { grid-template-columns: 1fr; }
	.lead-form-lead { font-size: 16px; }
}

/* Наши фотографии светлее, чем у референса: под белым текстом баннеров
   нужна затемняющая подложка, иначе заголовок теряется. */
.catalog-banner.lines-page { position: relative; }

.catalog-banner.lines-page:after,
.b2b-hero-block:after,
.hero:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, .45), rgba(0, 0, 0, .2) 40%, rgba(0, 0, 0, .7));
	pointer-events: none;
}

.catalog-banner.lines-page .page-inner,
.b2b-hero-block__info,
.hero__wrapper {
	position: relative;
	z-index: 2;
}

.where-to-buy .index-sections-item:before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 10px;
	background: linear-gradient(180deg, rgba(0, 0, 0, .45), rgba(0, 0, 0, 0) 55%);
}

.where-to-buy .index-sections-item-title,
.where-to-buy .index-sections-item-arrow {
	position: relative;
	z-index: 2;
}

/* Поиск и страница «не найдено» — свои блоки, у референса их нет. */
.not-found-search form { display: flex; gap: 12px; max-width: 520px; }
.not-found-search input[type="search"] { flex: 1; padding: 14px 16px; border: 1px solid #e2e0dd; border-radius: 8px; font: inherit; }
.not-found-search input[type="search"]:focus { outline: none; border-color: #1d1d1d; }
.search-other { margin: 40px 0 60px; }
.search-other .index-sections-title { text-align: left; margin-bottom: 16px; }

/* Вопросы и ответы на карточке товара и текстовых страницах,
   плюс строка ссылок на глоссарий — у референса таких блоков нет. */
.product-faq { max-width: 900px; margin: 0 auto 90px; padding: 0 20px; }
.product-faq__title { font-size: 38px; line-height: 46px; font-weight: 300; margin: 0 0 20px; }
.product-faq__item h3 { margin: 22px 0 4px; font-size: 22px; line-height: 1.3; font-weight: 400; }
.product-faq__item p { margin: 0; font-weight: 300; line-height: 1.5; }

.product-terms { margin-top: 22px; font-size: 16px; font-weight: 300; line-height: 1.6; }
.product-terms__label { color: #8a8681; margin-right: 6px; }
.product-terms a { margin-right: 12px; border-bottom: 1px solid #d8d5d1; text-decoration: none; }
.product-terms a:hover { border-bottom-color: #1d1d1d; text-decoration: none; }

@media (max-width: 900px) {
	.product-faq { margin-bottom: 50px; }
	.product-faq__title { font-size: 22px; line-height: 29px; }
	.product-faq__item h3 { font-size: 18px; }
}

/* ------------------------------------------------------------------ */
/* Кабинет покупателя                                                  */
/* ------------------------------------------------------------------ */

.woocommerce-account .woocommerce { max-width: 1180px; }
.woocommerce-MyAccount-navigation.document__links { margin-bottom: 40px; }
.woocommerce-MyAccount-content { font-weight: 300; line-height: 1.55; }

.account-dashboard__hello { font-size: 24px; font-weight: 300; margin: 0 0 26px; }
.account-dashboard__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.account-card { padding: 26px; border-radius: 16px; background: #f0efed; }
.account-card__label { font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: #8a8681; }
.account-card__value { font-size: 30px; font-weight: 300; margin: 8px 0 6px; }
.account-card__note { font-size: 15px; color: #4a4a4a; margin-bottom: 14px; }

.account-login { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.account-login__title { font-size: 30px; font-weight: 300; margin: 0 0 18px; }
.account-login__lead { font-weight: 300; line-height: 1.55; margin: 0 0 20px; color: #4a4a4a; }
.account-login .form-row { margin-bottom: 14px; }
.account-login label { display: block; font-size: 15px; color: #6a6a6a; margin-bottom: 6px; }
.account-login input[type="text"],
.account-login input[type="email"],
.account-login input[type="password"] { width: 100%; padding: 14px 16px; border: 1px solid #e2e0dd; border-radius: 8px; font: inherit; font-size: 16px; }
.account-login input:focus { outline: none; border-color: #1d1d1d; }
.account-login__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.account-login__lost { font-size: 15px; }

/* Таблицы заказов и адресов WooCommerce — под наш шрифт и рамки. */
.woocommerce-account table.shop_table { width: 100%; border-collapse: collapse; font-weight: 300; }
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td { padding: 14px 12px; border-bottom: 1px solid #e8e6e3; text-align: left; }
.woocommerce-account table.shop_table th { font-weight: 400; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: #8a8681; }
.woocommerce-account .woocommerce-Button,
.woocommerce-account .button { display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid #1d1d1d; border-radius: 999px; background: #1d1d1d; color: #fff; font: inherit; font-size: 15px; text-decoration: none; cursor: pointer; }
.woocommerce-account .button:hover { background: #fff; color: #1d1d1d; text-decoration: none; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }

.order-thankyou { max-width: 780px; }
.order-thankyou__title { font-size: 38px; line-height: 1.15; font-weight: 300; margin: 0 0 16px; }
.order-thankyou__lead { font-weight: 300; line-height: 1.6; margin: 0 0 24px; }
.order-thankyou__facts { list-style: none; margin: 0 0 30px; padding: 0; }
.order-thankyou__facts li { display: flex; gap: 16px; padding: 12px 0; border-bottom: 1px solid #e8e6e3; font-weight: 300; }
.order-thankyou__facts span { min-width: 120px; color: #8a8681; }
.order-thankyou__actions { display: flex; align-items: center; gap: 20px; }

@media (max-width: 900px) {
	.account-dashboard__cards { grid-template-columns: 1fr; }
	.account-login { grid-template-columns: 1fr; gap: 40px; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
	.order-thankyou__title { font-size: 26px; }
}

/* WooCommerce раскладывает кабинет в две колонки на 30/68% —
   нам нужна строка вкладок сверху и содержимое во всю ширину. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	width: 100% !important;
	float: none !important;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation.document__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 36px;
	padding: 0 0 18px;
	border-bottom: 1px solid #e8e6e3;
}

.woocommerce-account .woocommerce-MyAccount-navigation .document__link {
	padding: 9px 18px;
	border: 1px solid #e2e0dd;
	border-radius: 999px;
	font-size: 15px;
	color: #1d1d1d;
	text-transform: none;
	letter-spacing: 0;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation .document__link:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .document__link._active {
	background: #1d1d1d;
	border-color: #1d1d1d;
	color: #fff;
	text-decoration: none;
}

/* Верхняя строка служебных ссылок в кабинете лишняя — вкладки ниже
   выполняют ту же роль и путать их не надо. */
.woocommerce-account .document > .index-inner > .document__links,
.woocommerce-account .document__divider { display: none; }

/* Кабинет — не текстовая страница: колонку под чтение не сужаем. */
.woocommerce-account .document__block,
.woocommerce-account .document__text { max-width: none; width: 100%; }

.footer-subscribe-note { margin-top: 12px; font-size: 15px; color: #fff; }
.footer-subscribe-note._error { color: #ffb4a8; }

/* ------------------------------------------------------------------ */
/* Уведомления магазина в нашем стиле                                  */
/* ------------------------------------------------------------------ */

.shp-notice {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 0 26px;
	padding: 18px 22px;
	border: 1px solid #e2e0dd;
	border-left: 2px solid #1d1d1d;
	border-radius: 10px;
	background: #f8f7f5;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
	color: #1d1d1d;
}

.shp-notice--error { border-left-color: #a33; background: #fdf5f4; }
.shp-notice--success { border-left-color: #4a7a4a; background: #f4f8f4; }

.shp-notice__item { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.shp-notice strong { font-weight: 500; }

.shp-notice a.button,
.shp-notice a.wc-forward {
	display: inline-flex;
	align-items: center;
	padding: 9px 18px;
	border: 1px solid #1d1d1d;
	border-radius: 999px;
	background: transparent;
	color: #1d1d1d;
	font-size: 15px;
	text-decoration: none;
}

.shp-notice a.button:hover,
.shp-notice a.wc-forward:hover { background: #1d1d1d; color: #fff; text-decoration: none; }

/* Адреса */
.account-addresses__lead { margin: 0 0 22px; font-weight: 300; color: #4a4a4a; }
.account-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.account-address { padding: 26px; border-radius: 16px; background: #f0efed; }
.account-address__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.account-address__title { margin: 0; font-size: 22px; font-weight: 300; }
.account-address__edit { font-size: 15px; border-bottom: 1px solid #cfccc7; text-decoration: none; }
.account-address__edit:hover { border-bottom-color: #1d1d1d; text-decoration: none; }
.account-address__note { margin: 6px 0 14px; font-size: 15px; color: #8a8681; }
.account-address__body { font-style: normal; font-weight: 300; line-height: 1.6; }

@media (max-width: 900px) {
	.account-addresses { grid-template-columns: 1fr; }
}


/* Баланс клуба — главная цифра страницы, а не строчка текста. */
.club__balance { display: flex; align-items: baseline; gap: 16px; margin-bottom: 26px; }
.club__num { font-size: 72px; line-height: 1; font-weight: 300; }
.club__unit { font-size: 15px; text-transform: uppercase; letter-spacing: .06em; color: #8a8681; line-height: 1.4; }
.club .prose { max-width: 760px; font-weight: 300; line-height: 1.6; }
.club__log { width: 100%; margin-top: 34px; border-collapse: collapse; font-weight: 300; }
.club__log th, .club__log td { padding: 13px 12px; border-bottom: 1px solid #e8e6e3; text-align: left; }
.club__log th { font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: #8a8681; font-weight: 400; }
.club__log .is-plus { color: #4a7a4a; }
.club__log .is-minus { color: #a33; }
.club .note { margin-top: 20px; color: #8a8681; font-weight: 300; }

@media (max-width: 900px) {
	.club__num { font-size: 52px; }
}

/* Форма «Details»: у WooCommerce это fieldset с браузерной рамкой
   и красными звёздочками — приводим к виду остальных форм сайта. */
.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: 30px 0 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #e8e6e3;
	padding-top: 26px;
}

.woocommerce-account .woocommerce-EditAccountForm legend {
	padding: 0;
	font-size: 22px;
	font-weight: 300;
	color: #1d1d1d;
}

.woocommerce-account form label { display: block; font-size: 15px; color: #6a6a6a; margin-bottom: 6px; }
.woocommerce-account form .required { color: #b3aea6; text-decoration: none; border: 0; }
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="tel"],
.woocommerce-account form input[type="password"],
.woocommerce-account form select,
.woocommerce-account form textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #e2e0dd;
	border-radius: 8px;
	font: inherit;
	font-size: 16px;
	background: #fff;
	color: #1d1d1d;
}

.woocommerce-account form input:focus,
.woocommerce-account form select:focus,
.woocommerce-account form textarea:focus { outline: none; border-color: #1d1d1d; }
.woocommerce-account form .woocommerce-form-row { margin-bottom: 18px; }
.woocommerce-account form em,
.woocommerce-account form .description { display: block; margin-top: 6px; font-size: 14px; font-style: normal; color: #8a8681; }
.woocommerce-account .woocommerce-form-row--first,
.woocommerce-account .woocommerce-form-row--last { width: calc(50% - 10px); display: inline-block; vertical-align: top; }
.woocommerce-account .woocommerce-form-row--first { margin-right: 16px; }

@media (max-width: 700px) {
	.woocommerce-account .woocommerce-form-row--first,
	.woocommerce-account .woocommerce-form-row--last { width: 100%; margin-right: 0; }
}

/* Звёздочка обязательного поля: у WooCommerce она красная и кричит
   громче самого поля. */
.woocommerce form .form-row .required,
.woocommerce-account form .form-row .required,
.woocommerce-account form abbr.required {
	color: #b3aea6 !important;
	border: 0;
	text-decoration: none;
}

/* ------------------------------------------------------------------ */
/* Панель входа и регистрации                                          */
/* ------------------------------------------------------------------ */

/* У референса панель одна на страницу, экраны переключаются классом. */
.au-modal-panel[hidden] { display: none; }
.big-popup .registration-form { padding: 0; }

.registration-form__note { margin-top: 16px; font-size: 15px; font-weight: 300; }
.registration-form__note._error { color: #a33; }

/* Подсказка под полем молчит, пока поле не ошиблось. */
.registration-form__field .registration-form__hint { display: none; }
.registration-form__field.has-error .registration-form__hint { display: block; color: #a33; }
.registration-form__field.has-error input { border-color: #a33; }

.registration-form__swap { margin-top: 14px; }
.registration-form__swap a { border-bottom: 1px solid #cfccc7; text-decoration: none; }
.registration-form__swap a:hover { border-bottom-color: #1d1d1d; text-decoration: none; }

/* Глазок у пароля. */
.form-item-password-wrapper { position: relative; }
.form-item-password-toggle {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	cursor: pointer;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8681' stroke-width='1.4'%3E%3Cpath d='M1.5 12S5.5 5 12 5s10.5 7 10.5 7-4 7-10.5 7S1.5 12 1.5 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/22px no-repeat;
	opacity: .8;
}

.form-item-password-toggle.is-visible {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1d1d' stroke-width='1.4'%3E%3Cpath d='M1.5 12S5.5 5 12 5s10.5 7 10.5 7-4 7-10.5 7S1.5 12 1.5 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 21 21 3'/%3E%3C/svg%3E");
}

/* Блок согласия тоже умеет подсвечивать ошибку. */
.registration-form__consent .registration-form__hint { display: none; }
.registration-form__consent.has-error .registration-form__hint { display: block; color: #a33; }

/* Значок клуба у гостя — кнопка, а не ссылка: сбрасываем стили кнопки. */
button.header-bonus { border: 0; font: inherit; cursor: pointer; }

/* ------------------------------------------------------------------
   Оформление заказа.
   Разметка перенесена с референса, но раскладки страницы заказа в его
   выгрузке не было (она за авторизацией) — сетка и формы дописаны здесь.
   Всё, что у него нашлось, не трогаем: custom-radio, custom-checkbox,
   order-head-title, total-row, order-aside и прочие уже описаны в ref.css.
   ------------------------------------------------------------------ */

.order-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 40px;
	align-items: start;
	padding-bottom: 100px;
}

.order-head { align-items: flex-end; }
.order-head-link a { color: #6b6b6b; text-decoration: none; border-bottom: 1px solid rgba(29, 29, 29, .2); }
.order-head-link a:hover { color: #1d1d1d; }

/* Шаг формы. */
.shp-order-section { padding-top: 40px; }
.shp-order-section:first-child { padding-top: 0; }

.order-step-title { text-transform: uppercase; letter-spacing: .04em; }

.user-props-row-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

/* Ссылка входа — кнопка (открывает панель), сбрасываем вид кнопки. */
.order-au-link {
	padding: 0;
	font: inherit;
	color: #6b6b6b;
	background: none;
	border: 0;
	border-bottom: 1px solid rgba(29, 29, 29, .2);
	text-decoration: none;
	cursor: pointer;
}

.order-au-link:hover { color: #1d1d1d; }

/* Поля: две колонки на широком экране, одна на телефоне. */
.form-group-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.property-user-row { display: flex; flex-direction: column; }

.property-user-row_wide,
#billing_address_1_field,
#billing_address_2_field,
#order_comments_field { grid-column: 1 / -1; }

/* Поле есть в разметке, но не показывается: единственный выбор. */
.shp-field-hidden { display: none; }

.property-user-row label,
.bx-soa-custom-label {
	display: block;
	margin-bottom: 6px;
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #8a8a8a;
}

.property-user-row .required { color: #8a8a8a; text-decoration: none; }

.form-item-text,
.property-user-row input[type="text"],
.property-user-row input[type="tel"],
.property-user-row input[type="email"],
.property-user-row select,
.property-user-row textarea {
	width: 100%;
	padding: 12px 0;
	font-family: inherit;
	font-size: 14px;
	color: #1d1d1d;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #d6d6d6;
	border-radius: 0;
	transition: border-color .2s;
}

.property-user-row input:focus,
.property-user-row select:focus,
.property-user-row textarea:focus { outline: none; border-bottom-color: #1d1d1d; }

.property-user-row .select2-container .select2-selection--single {
	height: auto;
	border: 0;
	border-bottom: 1px solid #d6d6d6;
	border-radius: 0;
	background: transparent;
}

.property-user-row .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 12px 0;
	line-height: 1.2;
	color: #1d1d1d;
}

.property-user-row .select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; right: 0; }

.woocommerce-invalid .form-item-text,
.woocommerce-invalid input,
.woocommerce-invalid select { border-bottom-color: #a33; }

/* Способ доставки и оплаты — светлые карточки с тонкой рамкой,
   как поле промокода. Серую заливку не используем: на белой странице
   она читается как «блок недоступен». */
.shp-shipping-methods,
.payment-list { display: flex; flex-direction: column; gap: 10px; }

.order-delivery-item,
.bx-soa-pp-company {
	padding: 16px 20px;
	background: #fff;
	border: 1px solid #e4e2dd;
	border-radius: 10px;
	transition: border-color .2s;
}

.order-delivery-item:hover,
.bx-soa-pp-company:hover { border-color: #c9c5bc; }

/* Логотипы платёжных систем приходят из плагинов без размеров: SVG у Affirm,
   Klarna и Afterpay тянется на всю ширину строки и занимает пол-экрана.
   Высоту задаём мы, ширину считает браузер. */
.payment-list .wc_payment_method label img {
	height: 18px;
	width: auto;
	max-width: 90px;
	vertical-align: middle;
	margin-left: 8px;
}

.payment-list .wc_payment_method label span {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

/* Иконки карт у WooPayments лежат отдельным блоком со своим счётчиком «+3». */
.payment-methods--logos { display: inline-flex; align-items: center; gap: 4px; }
.payment-methods--logos > div { display: inline-flex; align-items: center; gap: 4px; }
.payment-methods--logos img { height: 18px; width: auto; margin: 0; }

.payment-methods--logos-count {
	font-size: 12px;
	color: #6f6a61;
	white-space: nowrap;
}

.order-delivery-item.selected,
.bx-soa-pp-company.bx-selected { border-color: #1d1d1d; }

.delivery-item-wrapper { display: flex; flex-direction: column; gap: 8px; }

.delivery-item-input {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
	margin-bottom: 0;
}

.shp-delivery-single,
.delivery-item-price {
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #1d1d1d;
}

.delivery-item-price { white-space: nowrap; }
.delivery-item-text { color: #8a8a8a; font-size: 13px; line-height: 1.5; }

/* Подсказка под способом оплаты.
   У WooCommerce своя сиреневая плашка с уголком, её селектор —
   `.woocommerce-checkout #payment div.payment_box`. Повторяем его один в один:
   при равной специфичности побеждает тот, кто ниже в каскаде, то есть мы.
   Через !important не идём — он ломает дальнейшие переопределения. */
.woocommerce-checkout #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
#payment div.payment_box {
	margin: 12px 0 0;
	padding: 12px 0 0;
	background: none;
	border: 0;
	border-top: 1px solid #e4e2dd;
	border-radius: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #8a8a8a;
}

.woocommerce-checkout #payment div.payment_box::before,
#payment div.payment_box::before { display: none; }

.woocommerce-checkout-payment .payment_box p { margin: 0; }

/* Пустые остатки платёжных плагинов не должны занимать место: блок привязки
   `place-order` и контейнеры кнопок, которые рисуются в правой колонке. */
.shp-payment-actions:empty,
.woocommerce-checkout-payment .ppc-button-wrapper:empty,
.woocommerce-checkout-payment [id^="ppc-button-"]:empty,
.bx-soa-pp-company .payment_box:empty { display: none; }

/* Кнопки платёжных систем в правой колонке — под нашей кнопкой оформления. */
.shp-order-total .ppc-button-wrapper { margin-top: 10px; }
.shp-order-total .ppc-button-wrapper:empty { margin-top: 0; }

/* Промокод под кнопкой: своя ширина, без правого отступа из корзины. */
.shp-checkout-coupon { margin: 0 0 15px; padding: 0; background: none; }
.shp-checkout-coupon.is-busy { opacity: .5; pointer-events: none; }
.shp-checkout-coupon .coupon-basket__apply-button { cursor: pointer; }

/* Итоги справа. */
.order-aside { background: #f0efed; border-radius: 10px; }
.sticky-top { position: sticky; top: 20px; }

.order-total-row,
.order-total-row-delivery {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	padding: 6px 0;
	color: #6b6b6b;
}

.order-total-row-item-bold { color: #1d1d1d; font-weight: 500; white-space: nowrap; }

.total-row {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	padding-top: 15px;
	border-top: 1px solid rgba(29, 29, 29, .12);
}

.total-row-item { color: #1d1d1d; }

.shp-order-total .shp-ship-note {
	margin: 10px 0;
	font-size: 12px;
	line-height: 1.4;
	color: #6b6b6b;
}

.shp-order-total .shp-ship-note--done { color: #1d1d1d; }

.bx-soa-cart-total-button-container { margin: 20px 0 15px; }

.shp-order-consent { display: block; margin-bottom: 10px; }
.shp-order-consent .ftext-sm { font-size: 12px; line-height: 1.4; text-transform: none; letter-spacing: 0; }
.shp-consent-text { display: inline; }
.shp-order-consent a { color: inherit; }

.shp-order-note {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid rgba(29, 29, 29, .12);
	font-size: 12px;
	line-height: 1.5;
	color: #8a8a8a;
}

/* Мини-корзина в начале формы. */
.order-small-basket-wrapper { display: flex; flex-wrap: wrap; }
.order-small-basket-block-head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 15px; }
/* «Edit» — кнопка, открывающая панель корзины: сбрасываем вид кнопки. */
.order-small-basket-block-head-link {
	padding: 0;
	font: inherit;
	color: #6b6b6b;
	background: none;
	border: 0;
	border-bottom: 1px solid rgba(29, 29, 29, .2);
	text-decoration: none;
	cursor: pointer;
}
.order-small-basket-block-head-link:hover { color: #1d1d1d; }
.order-small-basket-block-head-text { margin: 0 0 20px; color: #6b6b6b; font-size: 14px; line-height: 20px; }
.order-small-basket-item-img { overflow: hidden; }
.order-small-basket-item-img img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.order-small-basket-item-count { margin-top: 6px; font-size: 12px; color: #6b6b6b; }

/* Кнопка оформления: оформление родное (ui-button_black), добавляем только
   поля и поведение при недоступности. */
.shp-place-order {
	padding: 16px 20px;
	font-family: inherit;
	border: 0;
	cursor: pointer;
}

.shp-place-order:disabled { opacity: .4; cursor: default; }

@media (max-width: 1023px) {
	.order-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.sticky-top { position: static; }
}

@media (max-width: 767px) {
	.form-group-inner { grid-template-columns: minmax(0, 1fr); }
	.order-small-basket-item-img { width: 100%; height: auto; aspect-ratio: 3 / 4; }
}

/* Кнопка оплаты недоступна, пока форма не заполнена. */
.ppc-button-wrapper.is-locked,
.bx-soa-cart-total-button-container.is-locked {
	opacity: .4;
	pointer-events: none;
}

.shp-checkout-hint {
	margin-top: -5px;
	margin-bottom: 15px;
	font-size: 12px;
	line-height: 1.4;
	color: #8a8a8a;
}

.shp-checkout-hint[hidden] { display: none; }

/* --- Блоки прототипа внутри текстовой страницы ----------------
   На странице «About» лежит вёрстка из прототипа (.split, .section, .wrap).
   Она рассчитана на всю ширину экрана: у .split__body задан padding 0 8vw,
   и внутри узкой колонки документа он съедал почти всё место — текст
   схлопывался в столбик по два слова. Внутри .document задаём свои поля. */
.document__text .split {
	gap: 40px;
	align-items: start;
}

.document__text .split__body { padding: 0; }
.document__text .split__media { aspect-ratio: 3 / 4; }
.document__text .split__text { max-width: none; }

.document__text .section { padding: 40px 0 0; }
.document__text .wrap,
.document__text .wrap--narrow { width: auto; max-width: none; padding: 0; margin: 0; }

@media (max-width: 900px) {
	.document__text .split { gap: 24px; }
}

/* --- Отслеживание посылки в кабинете --- */
.order-tracking {
	margin: 26px 0 0;
	padding: 22px 26px;
	border-radius: 16px;
	background: #f0efed;
}

.order-tracking__title { font-size: 18px; font-weight: 400; margin: 0 0 10px; }

/* Номер набирается моноширинным: 22 цифры подряд глазом не считываются,
   а покупатель обычно сверяет их с наклейкой на коробке. */
.order-tracking__number {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 17px;
	letter-spacing: .06em;
	margin: 0 0 10px;
}

.order-tracking__link { text-decoration: underline; text-underline-offset: 3px; }

/* --- Скрытый заголовок для поисковика и скринридеров ---
   Не display:none и не visibility:hidden — их поисковые системы считают
   попыткой спрятать текст. Это стандартный приём доступности: элемент
   остаётся в потоке и читается вслух, но не занимает места на экране. */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* --- Связанные термины под статьёй --- */
.article-related {
	margin: 40px 0 0;
	padding: 26px 30px;
	border-radius: 16px;
	background: #f0efed;
}

.article-related__title { font-size: 18px; font-weight: 400; margin: 0 0 14px; }

.article-related__list {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
}

.article-related__list a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.article-related__shop { margin: 0; font-size: 15px; }

/* --- Разбор «как выбрать» под сеткой ------------------------ */
.catalog-guide {
  border-top: 1px solid #E5E1DA;
  margin-top: 56px;
  padding-top: 40px;
}
.catalog-guide__inner { max-width: 70ch; }
.catalog-guide h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 400;
  margin: 28px 0 10px;
}
.catalog-guide h3:first-child { margin-top: 0; }
.catalog-guide p {
  color: #4A4A4A;
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 14px;
}
.catalog-guide a { color: #1D1D1D; text-decoration: underline; text-underline-offset: 3px; }
.catalog-guide a:hover { color: #918B80; }

@media (max-width: 767px) {
  .catalog-guide { margin-top: 36px; padding-top: 28px; }
}

/* Прилипающая строка покупки на телефоне.
   Тема-донор прячет основную кнопку на ≤900px и рассчитывает, что покупают
   из этой строки, поэтому здесь же держим и «сохранить»: другого сердца
   в зоне видимости нет. */
.card-nav__fav { display: none; }

@media screen and (max-width: 900px) {
  /* Кнопке в референсе заданы width:100% и внешние поля по 15px — вместе они
     дают ширину больше экрана, и сердце наезжало на неё справа. Поля
     переносим на саму колонку, кнопке оставляем свободное место. */
  .card-nav__col-end {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 0 15px;
  }
  .card-nav__col-end form.cart { flex: 1 1 auto; min-width: 0; margin: 0; }
  .card-nav__col-end .product-detail-add-btn-item-nav { width: 100%; margin: 0; }

  .card-nav__fav {
    display: flex;
    flex: 0 0 52px;
    align-items: center;
    justify-content: center;
    height: 52px;
    margin: 0;
    border: 1px solid #000;
    background: #fff;
    cursor: pointer;
  }
  .card-nav__fav svg { width: 20px; height: 18px; fill: none; stroke: #000; }
  .card-nav__fav.active svg { fill: #000; }

  /* Кнопка «в корзину» на плитке. На телефоне текст скрыт и остаётся плюс,
     но ссылка сама по себе строчная, а иконка внутри — блочная: вместе они
     давали чёрную ступеньку в углу снимка. Делаем ровный квадрат, вписанный
     в скруглённый угол карточки. */
  .catalog-section-items-item-btn { right: 0; left: auto; width: auto; bottom: 0; }
  .catalog-section-items-item-btn-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border-bottom-right-radius: 10px;
  }
  .catalog-section-items-item-btn-item svg { width: 15px; height: 15px; }

  /* Подборка «You may also like»: карточки сжимались флексом до 56 пикселей.
     Держим полторы карточки в экране — половина следующей подсказывает,
     что ленту можно листать. */
  .also-like-slider .slick-list { overflow-x: auto; scrollbar-width: none; }
  .also-like-slider .slick-list::-webkit-scrollbar { display: none; }
  .also-like-slider .slick-track { display: flex; }
  .also-like-slider.catalog-section-items-small .catalog-section-items-item {
    flex: 0 0 62vw;
    width: 62vw;
    max-width: 280px;
  }
}
