/* ============================================================
   bsv_air.css — «лёгкий и воздушный» слой. Подключается ПОСЛЕДНИМ.
   Цель: больше воздуха, меньше визуального шума, чёткая иерархия.
   ============================================================ */

:root{
  --air-1: 8px;
  --air-2: 16px;
  --air-3: 24px;
  --air-4: 40px;
  --air-5: 64px;
  --line: #ece6dd;          /* тонкая тёплая линия вместо жирных рамок */
  --line-soft: #f4efe8;
  --ink: #24303f;           /* основной текст — мягче чистого чёрного */
  --ink-2: #6b7280;         /* вторичный */
  --ink-3: #a49b8f;         /* третичный */
  --card-sh: 0 1px 2px rgba(27,42,59,.04), 0 8px 24px rgba(27,42,59,.05);
  --card-sh-hover: 0 2px 6px rgba(27,42,59,.06), 0 16px 40px rgba(27,42,59,.10);
}

/* ---------- 1. ТИПОГРАФИКА: воздух между строк ---------- */
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif !important;
  color:var(--ink) !important;
  line-height:1.55 !important;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.main_title,.inner_page_title{
  letter-spacing:-.015em !important;
  line-height:1.22 !important;
}
h1.main_title,.main_title{ font-weight:700 !important; }

/* ---------- 2. ШАПКА: минус 60px высоты, легче тень ---------- */
.header_main_line_wrapper{ min-height:132px !important; }
.header_main_line{ padding-top:86px !important; }
.header_main_line::before{ top:84px !important; }
.header_main_line__left a.main_logo{ top:10px !important; }
.header_main_line__left a.main_logo img,
.header_main_line a.main_logo img{
  height:74px !important;
  max-width:270px !important;
}
.header_desctop,.header_main_line_wrapper,.header_main_line{
  box-shadow:0 1px 0 var(--line) !important;
}
.header_top_line{ font-size:12px !important; }

/* компактная фиксированная шапка при скролле — ещё легче */
.header_main_line_wrapper.moved .header_main_line{
  padding-top:6px !important;
  padding-bottom:6px !important;
  box-shadow:0 2px 16px rgba(27,42,59,.10) !important;
}
.header_main_line_wrapper.moved .screen_content{ padding-left:150px !important; }
.header_main_line_wrapper.moved .header_main_line a.main_logo img{
  height:38px !important; max-width:132px !important;
}

/* ---------- 3. ПОИСК: заметный, широкий, приглашающий ---------- */
.header_search,.psk-header__search{ width:100% !important; }
.header_search_field,.psk-header__search-field,#title-search-input{
  height:44px !important;
  border:1px solid var(--line) !important;
  border-radius:24px !important;
  background:#fff !important;
  padding:0 46px 0 20px !important;
  font-size:14px !important;
  box-shadow:none !important;
  transition:border-color .16s ease, box-shadow .16s ease !important;
  min-width:300px !important;
}
.header_search_field:focus,.psk-header__search-field:focus,#title-search-input:focus{
  border-color:#f0b97d !important;
  box-shadow:0 0 0 4px rgba(240,123,29,.10) !important;
  outline:none !important;
}
.header_search_field::placeholder,#title-search-input::placeholder{
  color:var(--ink-3) !important; font-size:13px !important;
}

/* ---------- 4. СЕКЦИИ: дышащие вертикальные отступы ---------- */
section,.section-items,.section-sales,.section-catalog,.section-text{
  padding-top:var(--air-4) !important;
  padding-bottom:var(--air-4) !important;
}
.main_title_wrapper{ margin-bottom:var(--air-3) !important; }
.screen_content{ max-width:1440px !important; }

/* ---------- 5. СЕТКА КАРТОЧЕК: больше просвета ---------- */
.catalog_items,.items_list,.items_wrapper{
  gap:var(--air-3) !important;
}
.catalog_items .item,.items_list .item{ margin-bottom:0 !important; }

/* ---------- 6. КАРТОЧКА ТОВАРА В ЛИСТИНГЕ ---------- */
.item{
  background:#fff !important;
  border:1px solid var(--line-soft) !important;
  border-radius:14px !important;
  box-shadow:var(--card-sh) !important;
  overflow:hidden !important;
  transition:transform .2s cubic-bezier(.25,.46,.45,.94), box-shadow .2s ease, border-color .2s ease !important;
  display:flex !important;
  flex-direction:column !important;
}
.item:hover{
  transform:translateY(-3px) !important;
  box-shadow:var(--card-sh-hover) !important;
  border-color:var(--line) !important;
}
.item__image_container{
  background:#fff !important;
  padding:var(--air-2) !important;
  border-bottom:1px solid var(--line-soft) !important;
  position:relative !important;
}
.item__body{
  padding:14px 16px 16px !important;
  border-top:none !important;
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  flex:1 !important;
}
.item__title{
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.36 !important;
  color:var(--ink) !important;
  min-height:0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden !important;
}
.item__name_link:hover .item__title{ color:#f07b1d !important; }

/* мета-строка: бренд • артикул */
.item__meta{
  display:flex !important; flex-wrap:wrap !important; align-items:center !important;
  gap:6px !important; font-size:11px !important; color:var(--ink-3) !important;
  letter-spacing:.02em !important;
}
.item__meta .item__brand{
  font-weight:600 !important; color:var(--ink-2) !important;
  text-transform:uppercase !important; letter-spacing:.04em !important;
}
.item__meta .item__brand + .item__art::before{ content:'·'; margin-right:6px; color:var(--ink-3); }

/* размеры */
.item__sizes{
  font-size:12px !important; color:var(--ink-2) !important; font-weight:600 !important;
}
.item__sizes_lbl{
  font-weight:500 !important; color:var(--ink-3) !important;
  font-size:11px !important; text-transform:uppercase !important; letter-spacing:.05em !important;
  margin-right:4px !important;
}

/* флажок наличия поверх фото */
.item__stock_flag{
  position:absolute !important; left:14px !important; bottom:12px !important;
  background:rgba(46,125,50,.10) !important; color:#2e7d32 !important;
  font-size:11px !important; font-weight:700 !important;
  padding:3px 10px !important; border-radius:20px !important;
  letter-spacing:.02em !important; pointer-events:none !important;
}

/* защитные свойства — лёгкие пилюли */
.item__protect{ display:flex !important; flex-wrap:wrap !important; gap:5px !important; }
.bsv-pt{
  font-size:10.5px !important; font-weight:600 !important;
  padding:2px 8px !important; border-radius:20px !important;
  background:#f6f2ec !important; color:var(--ink-2) !important;
  border:none !important; letter-spacing:.02em !important;
}
.bsv-pt--cold{ background:#eaf2fb !important; color:#2b6cb0 !important; }
.bsv-pt--cut,.bsv-pt--mech{ background:#f3eefb !important; color:#6b46c1 !important; }
.bsv-pt--chem{ background:#eafaf1 !important; color:#276749 !important; }
.bsv-pt--sig{ background:#fff4e5 !important; color:#c05621 !important; }
.bsv-pt--water{ background:#e6f6fa !important; color:#1f7a8c !important; }
.bsv-pt--uv{ background:#fdf0f5 !important; color:#a5316f !important; }

/* кнопка карточки — спокойная, не кричит */
.item__cta_btn{
  margin-top:auto !important;
  display:block !important; text-align:center !important;
  padding:9px 12px !important;
  border:1px solid #f0d3b4 !important; border-radius:22px !important;
  background:#fff !important; color:#e07314 !important;
  font-size:12.5px !important; font-weight:700 !important;
  letter-spacing:.01em !important;
  transition:background .15s ease,color .15s ease,border-color .15s ease !important;
}
.item__cta_btn:hover{
  background:#f07b1d !important; color:#fff !important; border-color:#f07b1d !important;
}

/* сообщение о цене — приглушаем, оно не главное */
.item__price_row,.item__price_msg{
  font-size:11.5px !important; color:var(--ink-3) !important;
  background:none !important; border:none !important; padding:0 !important;
  margin:0 !important; font-weight:500 !important;
}

/* точки-индикаторы фото */
.item__img_dots{ gap:5px !important; bottom:8px !important; }
.item__img_dot{
  width:5px !important; height:5px !important;
  background:#d9d2c8 !important; border-radius:50% !important;
}
.item__img_dot.active{ background:#f07b1d !important; }

/* быстрый просмотр — только на hover, без утяжеления */
.item__hover_overlay{ background:rgba(255,255,255,.86) !important; backdrop-filter:blur(2px); }
.item__quickview_btn{
  border:1px solid var(--line) !important; border-radius:22px !important;
  background:#fff !important; color:var(--ink) !important;
  font-size:12.5px !important; font-weight:600 !important; padding:8px 18px !important;
}
.item__quickview_btn:hover{ border-color:#f07b1d !important; color:#f07b1d !important; }

/* ---------- 7. ФИЛЬТРЫ И БОКОВОЕ МЕНЮ ---------- */
.filter_frame,.catalog_filter,.left_menu_wrapper{
  background:#fff !important;
  border:1px solid var(--line-soft) !important;
  border-radius:14px !important;
  box-shadow:none !important;
  padding:var(--air-2) !important;
}
.left_menu a,.catalog_left_menu a{
  padding:7px 10px !important; border-radius:8px !important;
  font-size:13.5px !important; transition:background .14s ease,color .14s ease !important;
}
.left_menu a:hover,.catalog_left_menu a:hover{ background:#faf6f0 !important; color:#f07b1d !important; }

/* ---------- 8. МЕГАМЕНЮ: спокойнее ---------- */
.bsv-mega-nav{ border-top:1px solid var(--line) !important; border-bottom:1px solid var(--line) !important; }
.bsv-mega-nav__link{
  font-size:13.5px !important; font-weight:600 !important;
  letter-spacing:.01em !important; padding:11px 16px !important;
}
.bsv-mega-nav__panel{
  box-shadow:0 16px 48px rgba(27,42,59,.13) !important;
  border:1px solid var(--line) !important; border-top:none !important;
  border-radius:0 0 14px 14px !important;
}
.bsv-mega-nav__col-link{ font-size:13px !important; padding:4px 0 !important; }

/* ---------- 9. КАРТОЧКА ТОВАРА (детальная) ---------- */
.product_card,.product_info_card{ gap:var(--air-4) !important; }
.product_info_main_title{ font-size:26px !important; line-height:1.25 !important; }
.bsv-offers-table-wrap{ box-shadow:none !important; }
.bsv-offers-table th{ font-size:11px !important; text-transform:uppercase !important; letter-spacing:.05em !important; }
#parent_info_tabs .tab_content{ padding:0 !important; }
#parent_info_tabs .main_title_wrapper{ margin-bottom:12px !important; }
#parent_info_tabs .main_title{
  font-size:13px !important; letter-spacing:.07em !important;
  color:var(--ink-3) !important; font-weight:700 !important;
}
.features_line,.product__info-table-tr{
  display:flex !important; justify-content:space-between !important; gap:16px !important;
  padding:7px 0 !important; border-bottom:1px solid var(--line-soft) !important;
  font-size:13.5px !important;
}
.feature_line_side.left,.product__info-table-cell--title{ color:var(--ink-2) !important; }
.feature_line_side.right,.product__info-table-cell{ text-align:right !important; font-weight:600 !important; }

/* ---------- 10. ХЛЕБНЫЕ КРОШКИ ---------- */
.breadcrumbs,.bx-breadcrumb{
  font-size:12px !important; color:var(--ink-3) !important;
  padding:12px 0 !important; margin:0 !important;
}
.breadcrumbs a,.bx-breadcrumb a{ color:var(--ink-3) !important; }
.breadcrumbs a:hover,.bx-breadcrumb a:hover{ color:#f07b1d !important; }

/* ---------- 11. ФУТЕР: спокойный ---------- */
footer .footer_col_title{
  font-size:12px !important; letter-spacing:.06em !important;
  text-transform:uppercase !important; margin-bottom:10px !important;
}
footer a{ font-size:13px !important; }

/* ---------- 12. УБИРАЕМ ВИЗУАЛЬНЫЙ ШУМ ---------- */
.item_likes,.item__image_heading .item_likes{ display:none !important; }
.item__body_top{ display:none !important; }
hr,.divider{ border-color:var(--line-soft) !important; }
*:focus-visible{ outline:2px solid #f0b97d !important; outline-offset:2px !important; }

/* ---------- 13. МОБИЛЬНЫЙ: компактнее и легче ---------- */
@media (max-width:991px){
  section,.section-items,.section-sales,.section-catalog{
    padding-top:var(--air-3) !important; padding-bottom:var(--air-3) !important;
  }
  .catalog_items,.items_list{ gap:12px !important; }
  .item__body{ padding:10px 12px 12px !important; gap:5px !important; }
  .item__title{ font-size:13px !important; }
  .product_info_main_title{ font-size:20px !important; }
  .header_search_field,#title-search-input{ min-width:0 !important; }
}
@media (max-width:600px){
  .item__protect{ display:none !important; }
  .item__cta_btn{ padding:8px 10px !important; font-size:12px !important; }
}

/* ============================================================
   14. ПОИСК В ШАПКЕ — всегда открыт и заметен
   ============================================================ */
.header_controll_list{ align-items:center !important; gap:6px !important; }
.header_controll_li:has(#title-search){ flex:1 1 260px !important; min-width:220px !important; }
form#title-search,.header_search,.psk-header__search{
  position:relative !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  width:100% !important;
  max-width:340px !important;
  transform:none !important;
  pointer-events:auto !important;
}
form#title-search .header_search_field,
#title-search-input{
  display:block !important;
  width:100% !important;
  opacity:1 !important;
  visibility:visible !important;
  position:static !important;
  padding:0 44px 0 18px !important;
}
/* иконка лупы внутри поля */
form#title-search .header_controll_block{
  position:absolute !important; right:6px !important; top:50% !important;
  transform:translateY(-50%) !important; margin:0 !important;
  width:32px !important; height:32px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  background:#f07b1d !important; border-radius:50% !important;
  pointer-events:none !important;
}
form#title-search .header_controll_block img,
form#title-search .header_controll_block svg{
  width:15px !important; height:15px !important;
  filter:brightness(0) invert(1) !important;
}
form#title-search .header_controll_block svg *{ fill:#fff !important; }
/* кнопка «закрыть» не нужна — поле всегда открыто */
form#title-search .close_search_wrapper{ display:none !important; }

/* соцсети компактнее, чтобы поиску хватило места */
.header_controll_li--soc_link .soc_link img{ width:26px !important; height:26px !important; }
.header_controll_li--soc_link{ margin:0 !important; }

@media (max-width:1200px){
  .header_controll_li:has(#title-search){ flex-basis:200px !important; min-width:180px !important; }
  .header_controll_li--soc_link{ display:none !important; }
}

/* ---------- 15. ФЛАЖОК НАЛИЧИЯ — виден поверх фото ---------- */
.item__image_container{ overflow:visible !important; }
.item__stock_flag{
  position:absolute !important;
  left:14px !important; top:14px !important; bottom:auto !important;
  background:#eaf6ec !important; color:#2e7d32 !important;
  border:1px solid #cfe8d4 !important;
  z-index:3 !important;
}
.item_top_label{
  z-index:4 !important; border-radius:20px !important;
  font-size:10.5px !important; font-weight:700 !important;
  letter-spacing:.04em !important; padding:3px 10px !important;
}

/* ---------- 16. ЗАЩИТНЫЕ СВОЙСТВА — не обрезаются уродливо ---------- */
.item__protect{ min-height:0 !important; }
.bsv-pt{
  max-width:100% !important; white-space:nowrap !important;
  overflow:hidden !important; text-overflow:ellipsis !important;
}

/* ---------- 17. ЗАГОЛОВОК РАЗДЕЛА — меньше пустоты сверху ---------- */
.main_title_wrapper{ padding-top:0 !important; margin-top:0 !important; }
.section-catalog{ padding-top:38px !important; }
.section-catalog .main_title_wrapper{ margin-bottom:18px !important; }
h1.main_title{ font-size:30px !important; text-transform:none !important; }

/* ============================================================
   18. ФИКС ГЕОМЕТРИИ ШАПКИ — содержимое не должно налезать на контент
   (padding-top + высота ряда должны укладываться в min-height обёртки)
   ============================================================ */
.header_main_line_wrapper{ min-height:152px !important; }
.header_main_line{ padding-top:74px !important; padding-bottom:6px !important; }
.header_main_line::before{ top:70px !important; }
.header_main_line__left a.main_logo{ top:6px !important; }
.header_main_line__left a.main_logo img,
.header_main_line a.main_logo img{ height:62px !important; max-width:230px !important; }

/* воздух между шапкой и первым блоком страницы */
.bsv-home-h1{ margin:22px 0 6px !important; position:relative !important; z-index:1 !important; }
.section-head.slider_inside{ padding-top:10px !important; }

/* убираем лишнюю пустоту вокруг слайдера на главной */
.section-head{ padding-top:0 !important; padding-bottom:0 !important; }
.section-head + .section-items,
.section-head + section{ padding-top:32px !important; }

/* ---------- 19. МЕЛОЧИ ГЛАВНОЙ ---------- */
.bsv-home-h1{
  max-width:1440px !important;
  margin-left:auto !important; margin-right:auto !important;
  padding:0 28px !important;
}
/* слайдер: убираем «мёртвую» полосу снизу */
.section-head.slider_inside{ padding-bottom:0 !important; }
.section-head .slick-dots,.section-head .bx-pagination{ margin:10px 0 0 !important; }
.section-head + section,.section-head + .section-items{ padding-top:28px !important; }

/* ---------- 20. КАРТОЧКИ НА ГЛАВНОЙ (слайдеры) — тот же лёгкий стиль ---------- */
.item_slider .item{ height:100% !important; }
.psk-product-item__price,
.psk-product-item__price strong{
  font-size:11.5px !important;
  font-weight:500 !important;
  color:var(--ink-3) !important;
  letter-spacing:0 !important;
  line-height:1.35 !important;
}
.psk-product-item__price{
  margin:6px 0 0 !important; padding:0 !important;
  background:none !important; border:none !important;
}
/* название товара в слайдере — крупнее цены, как и должно быть */
.item_slider .item__title,
.psk-product-item__title{
  font-size:13.5px !important; font-weight:600 !important;
  line-height:1.35 !important; color:var(--ink) !important;
}

/* ============================================================
   21. МОБИЛЬНЫЙ: аккуратные карточки и доступный поиск
   ============================================================ */
@media (max-width:991px){
  /* название — ровно 2 строки, без «половинок» */
  .item__title{
    font-size:13px !important;
    line-height:1.32 !important;
    max-height:calc(1.32em * 2) !important;
    -webkit-line-clamp:2 !important;
    overflow:hidden !important;
  }
  /* мета в одну строку, разделитель не уезжает */
  .item__meta{ font-size:10.5px !important; gap:4px !important; row-gap:2px !important; }
  .item__meta .item__brand{
    max-width:100% !important; overflow:hidden !important;
    text-overflow:ellipsis !important; white-space:nowrap !important;
  }
  .item__meta .item__brand + .item__art::before{ display:none !important; }
  .item__art{ opacity:.85 !important; }

  .item__sizes{ font-size:11.5px !important; }
  .item__sizes_lbl{ font-size:10px !important; }

  /* флажок наличия компактнее */
  .item__stock_flag{
    left:8px !important; top:8px !important;
    font-size:9.5px !important; padding:2px 7px !important;
  }

  /* кнопка — одна строка */
  .item__cta_btn{
    font-size:11.5px !important; padding:8px 6px !important;
    white-space:nowrap !important; letter-spacing:0 !important;
  }
  .item__cta_btn::after{ content:none !important; }

  .item__image_container{ padding:10px !important; }
  .catalog_items,.items_list{ gap:10px !important; }
}

/* мобильный поиск — всегда доступен строкой под шапкой */
@media (max-width:991px){
  .mobile_header{ position:relative !important; }
  #bsv-mob-search{
    position:sticky !important; top:56px !important; z-index:900 !important;
    background:var(--cr,#fdfaf5) !important;
    padding:8px 10px !important;
    border-bottom:1px solid var(--line) !important;
  }
  #bsv-mob-search input{
    width:100% !important; height:40px !important;
    border:1px solid var(--line) !important; border-radius:22px !important;
    padding:0 42px 0 16px !important; font-size:14px !important;
    background:#fff !important; color:var(--ink) !important;
  }
  #bsv-mob-search button{
    position:absolute !important; right:16px !important; top:50% !important;
    transform:translateY(-50%) !important;
    width:32px !important; height:32px !important; border:none !important;
    background:#f07b1d !important; border-radius:50% !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    color:#fff !important; font-size:14px !important; cursor:pointer !important;
  }
}

/* ---------- 22. СЛАЙДЕР ГЛАВНОЙ: убрать «мёртвую» высоту под баннером ---------- */
/* та же специфичность, что у design_override, но файл подключён позже — выигрываем */
.section-head.slider_inside .main-banner,
.section-head.slider_inside .main-banner__slider-wrapper{
  height:auto !important; min-height:0 !important; padding-bottom:0 !important;
}
.section-head.slider_inside{ padding-bottom:10px !important; }
.main-banner__slider-pagination{ margin-top:8px !important; }
.section-head{ padding-bottom:8px !important; }
