/* ==========================================================================
   InterSchool Astana — custom redesign
   Scope: visual layer only, built on top of existing BEM markup (b-*).
   No HTML structure is modified — only appearance/behaviour via CSS/JS.
   ========================================================================== */

:root.theme{
  --white: #ffffff;
  --ink-900: #1c2430;
  --ink-700: #3b4656;
  --ink-500: #6b7686;
  --ink-300: #b7c0cc;
  --ink-100: #eef1f5;
  --ink-50:  #f7f9fb;
  --brand: #008000;
  --brand-dark: #005700;
  --brand-light: #e6f2e6;
  --menu-bg: #04471c;
  --menu-bg-hover: #07772f;
  --teal: #00a6af;
  --green: #42A852;
  --red: #E85C41;
  --radius: 14px;
  --radius-sm: 8px;
  --shadow-sm: 0 1px 3px rgba(28,36,48,.08);
  --shadow-md: 0 8px 24px rgba(28,36,48,.10);
  --shadow-lg: 0 20px 48px rgba(28,36,48,.16);
  --container: 1220px;
}

/* Reset-ish */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body.b-layout{
  font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--ink-900);
  background: var(--ink-50);
  -webkit-font-smoothing: antialiased;
}
img{ max-width: 100%; height: auto; display: block; }
a{ color: inherit; text-decoration: none; }
ul{ list-style: none; margin: 0; padding: 0; }

/* Hide noisy platform chrome we don't want in the new design */
.b-head-control-panel{ background: var(--ink-900); display: none !important;}
.b-head-control-panel__container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 6px 20px;
}
.b-review-info{ color: var(--ink-100); font-size: 13px; }
.b-review-info__link{ color: var(--brand); }

.h-layout-clear{ display: none; }

/* ==========================================================================
   Layout shell
   ========================================================================== */
.b-page{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}
.b-page__main-content{
  display: block;
}
.b-page__content-wrapper{
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  align-items: flex-start;
  padding: 28px 0 40px;
}
.b-page__content{
  flex: 1 1 640px;
  min-width: 0;
}
.b-sidebar{
  flex: 0 1 300px;
  min-width: 260px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.b-page__row + .b-page__row{ margin-top: 0; }

/* ==========================================================================
   Header
   ========================================================================== */
.b-header{
  background: var(--white);
  box-shadow: var(--shadow-sm);
  position: relative;
  z-index: 30;
}
.b-header__wrapper{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}
.b-header__top{
  background: var(--ink-900);
  color: var(--white);
}
.b-header__top .b-header__wrapper{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 38px;
  font-size: 13px;
}
.b-header-phones__part{ color: var(--white); }
.b-header-phones__item{ padding: 4px 0; }

.b-header__middle{ padding: 18px 0; }
.b-header__middle .b-header__wrapper{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.b-header-company-name{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.b-header-company-name__logo-wrapper{ flex: 0 0 auto; }
.b-header-company-name__img{
  max-height: 64px;
  width: auto;
  border-radius: var(--radius-sm);
}
.b-header-company-name__description{ min-width: 0; }
.b-header-company-name__title{
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--ink-900);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.b-header__search{ flex: 1 1 320px; max-width: 420px; }
.b-search{ position: relative; }
.b-search__field{
  width: 100%;
  height: 46px;
  border: 1px solid var(--ink-100);
  background: var(--ink-50);
  border-radius: 999px;
  padding: 0 50px 0 20px;
  font-size: 14px;
  color: var(--ink-900);
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.b-search__field:focus{
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-light);
}
.b-search__button{
  position: absolute;
  right: 4px;
  top: 4px;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 999px;
  background: var(--brand);
  cursor: pointer;
}
.b-search__button::before{
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 14px;
  height: 14px;
  border: 2px solid var(--white);
  border-radius: 50%;
}
.b-search__button::after{
  content: "";
  position: absolute;
  width: 6px;
  height: 2px;
  background: var(--white);
  bottom: 10px;
  right: 9px;
  transform: rotate(45deg);
}

/* Nav bar */
.b-header__nav-part{
  background: var(--menu-bg);
}
.b-header__nav-part .b-header__wrapper{ position: relative; }
.b-menu__holder{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.b-menu__item{ position: relative; }
.b-menu__link-wrap{ display: flex; align-items: center; }
.b-menu__link{
  display: block;
  padding: 14px 16px;
  color: var(--white);
  font-size: 14.5px;
  font-weight: 600;
  white-space: nowrap;
  transition: background .15s ease;
}
.b-menu__item:hover > .b-menu__link-wrap .b-menu__link,
.b-menu__item_state_active > .b-menu__link-wrap .b-menu__link{
  background: var(--menu-bg-hover);
}
.b-menu__arrow{
  width: 8px; height: 8px;
  border-right: 2px solid var(--white);
  border-bottom: 2px solid var(--white);
  transform: rotate(45deg);
  margin-right: 14px;
  opacity: .85;
}
.b-menu__link_type_more{ cursor: pointer; }
.b-sub-menu{
  position: absolute;
  top: 100%; left: 0;
  min-width: 300px;
  background: var(--white);
  box-shadow: var(--shadow-lg);
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  padding: 8px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
  z-index: 40;
}
.b-menu__item:hover > .b-sub-menu{
  opacity: 1; visibility: visible; transform: translateY(0);
}
.b-sub-menu__link{
  display: block;
  padding: 10px 18px;
  color: var(--ink-700);
  font-size: 14px;
}
.b-sub-menu__link:hover{ background: var(--ink-50); color: var(--brand); }
.b-menu__sub-nav_pos_last{ left: auto; right: 0; }
.js-more-menu{ margin-left: auto; }

/* Mobile burger button injected by js/main.js */
.js-mobile-menu-toggle{
  display: none;
  width: 40px; height: 40px;
  border: none;
  background: transparent;
  position: relative;
  cursor: pointer;
  flex: 0 0 auto;
}
.js-mobile-menu-toggle span,
.js-mobile-menu-toggle span::before,
.js-mobile-menu-toggle span::after{
  content: "";
  position: absolute;
  left: 8px; right: 8px;
  height: 2px;
  background: var(--ink-900);
  transition: transform .2s ease, opacity .2s ease;
}
.js-mobile-menu-toggle span{ top: 19px; }
.js-mobile-menu-toggle span::before{ top: -8px; }
.js-mobile-menu-toggle span::after{ top: 8px; }
.js-mobile-menu-toggle.is-active span{ background: transparent; }
.js-mobile-menu-toggle.is-active span::before{ transform: translateY(8px) rotate(45deg); }
.js-mobile-menu-toggle.is-active span::after{ transform: translateY(-8px) rotate(-45deg); }

/* ==========================================================================
   Product gallery ("Витрина")
   ========================================================================== */
.b-title{
  font-size: 22px;
  font-weight: 700;
  color: var(--ink-900);
  margin: 10px 0 16px;
}
.b-title_type_info{ margin-top: 0; }
.b-product-gallery{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 18px;
}
.b-product-gallery__item{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
  display: flex;
  flex-direction: column;
}
.b-product-gallery__item:hover{
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.b-product-gallery__image-link{ display: block; aspect-ratio: 249/200; overflow: hidden; background: var(--ink-100); }
.b-product-gallery__image{ width: 100%; height: 100%; object-fit: cover; }
.b-product-gallery__header{ padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.b-product-gallery__title{
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ink-900);
}
.b-product-gallery__title:hover{ color: var(--brand); }
.b-product-gallery__sku{ font-size: 12px; color: var(--ink-500); }
.b-product-gallery__prices{ margin-top: auto; }
.b-product-gallery__current-price{
  font-size: 16px;
  font-weight: 700;
  color: var(--brand-dark);
}
.b-product-gallery__data{ display: none; }
.b-product-gallery__buttons{ margin-top: 6px; }
.b-drop-phones__toggle-holder{
  display: inline-block;
  font-size: 13px;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--brand-light);
  color: var(--brand-dark);
  font-weight: 600;
}
.b-navigate{ text-align: center; margin: 8px 0 6px; }
.b-navigate__all-products{
  display: inline-block;
  padding: 12px 28px;
  border: 2px solid var(--brand);
  border-radius: 999px;
  color: var(--brand-dark);
  font-weight: 600;
  font-size: 14px;
  transition: background .15s ease, color .15s ease;
}
.b-navigate__all-products:hover{ background: var(--brand); color: var(--white); }

/* Company description block */
.b-user-content{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 20px 22px;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--ink-700);
}
.b-social-links{ display: flex; gap: 10px; margin-top: 14px; }
.b-social-links__item a{
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--ink-100);
  transition: background .15s ease;
}
.b-social-links__item a:hover{ background: var(--brand-light); }
.b-social-links__item img{ width: 18px; height: 18px; }

/* ==========================================================================
   Sidebar
   ========================================================================== */
.b-caption{
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: 10px;
}
.b-nav{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.b-nav__item{ border-top: 1px solid var(--ink-100); position: relative; }
.b-nav__item:first-child{ border-top: none; }
.b-nav__link{
  display: block;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink-700);
}
.b-nav__link:hover{ color: var(--brand-dark); background: var(--ink-50); }
.b-nav__arrow{
  position: absolute; right: 16px; top: 15px;
  width: 7px; height: 7px;
  border-right: 2px solid var(--ink-300);
  border-bottom: 2px solid var(--ink-300);
  transform: rotate(45deg);
}
.b-sub-nav{ background: var(--ink-50); }
.b-sub-nav__link{
  display: block;
  padding: 9px 16px 9px 26px;
  font-size: 13px;
  color: var(--ink-500);
}
.b-sub-nav__link:hover{ color: var(--brand-dark); }

.b-sidebar-contacts{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 16px 18px;
}
.b-sidebar-contacts__list + .b-sidebar-contacts__list{ margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--ink-100); }
.b-sidebar-contacts__company-name span{ font-weight: 700; font-size: 13.5px; color: var(--ink-900); }
.b-sidebar-contacts__person span{ font-size: 13.5px; color: var(--ink-700); }
.b-sidebar-contacts__address, .b-sidebar-contacts__phone, .b-sidebar-contacts__site{
  font-size: 13.5px; color: var(--ink-700);
}
.b-sidebar-contacts__site{ color: var(--brand-dark); word-break: break-all; }

.b-sidebar-map{
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  background: var(--white);
}
.b-sidebar-map__link{ display: block; }
.h-width-750{ width: 100%; }
.h-height-450{ height: 220px; border: 0; }

/* ==========================================================================
   Footer
   ========================================================================== */
.b-page__footer{
  background: var(--ink-900);
  color: var(--ink-100);
  margin-top: 20px;
}
.b-page__footer-wrapper{
  max-width: var(--container);
  margin: 0 auto;
  padding: 36px 20px;
}
.b-sitewide-links{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.b-sitewide-links__title{
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.b-sitewide-links__list-item{ margin-bottom: 8px; }
.b-sitewide-links__list-link{
  font-size: 13.5px;
  color: var(--ink-300);
}
.b-sitewide-links__list-link:hover{ color: var(--brand); }

.b-footer{
  background: #141a22;
  color: var(--ink-300);
  font-size: 12.5px;
}
.b-footer__row{
  max-width: var(--container);
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,.06);
}
.b-footer__row a{ color: var(--brand); }
.b-footer__row button{
  background: none;
  border: none;
  color: var(--ink-300);
  font-size: 12.5px;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
}
#google_translate_element{ margin-left: auto; }

/* scroll-to-top button injected by inline platform script */
.b-up-arrow{
  position: fixed;
  right: 22px; bottom: 22px;
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 50;
}
.b-up-arrow::before{
  content: "";
  width: 10px; height: 10px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(-45deg) translateY(2px);
}

/* ==========================================================================
   Tablet ≤1024px
   ========================================================================== */
@media (max-width: 1024px){
  .b-product-gallery{ grid-template-columns: repeat(2, 1fr); }
  .b-page__content-wrapper{ flex-direction: column; }
  .b-sidebar{ flex: 1 1 auto; width: 100%; }
  .b-sidebar > .b-page__row{ width: 100%; }
  .b-sidebar-map, .h-width-750{ width: 100%; }
}

/* ==========================================================================
   Mobile ≤767px
   ========================================================================== */
@media (max-width: 767px){
  .b-page{ padding: 0 14px; }
  .b-header__top .b-header__wrapper{ justify-content: center; font-size: 12px; }
  .b-header__middle .b-header__wrapper{ gap: 14px; }
  .b-header-company-name__title{ font-size: 13px; -webkit-line-clamp: 2; }
  .b-header-company-name__img{ max-height: 46px; }
  .b-header__search{ order: 3; flex: 1 1 100%; max-width: none; }

  .js-mobile-menu-toggle{ display: block; }
  .b-header__nav-part .b-header__wrapper{
    display: flex; align-items: center; justify-content: space-between;
  }
  .b-menu__holder{
    display: none;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    background: var(--menu-bg);
    position: absolute;
    top: 100%; left: 0; right: 0;
    box-shadow: var(--shadow-lg);
    z-index: 45;
  }
  .b-menu__holder.is-open{ display: flex; }
  .b-menu__item{ width: 100%; }
  .b-menu__link{ padding: 13px 20px; }
  .b-sub-menu{
    position: static;
    opacity: 1; visibility: visible; transform: none;
    box-shadow: none;
    background: rgba(0,0,0,.12);
    display: none;
    border-radius: 0;
  }
  .b-menu__item.is-expanded > .b-sub-menu{ display: block; }
  .b-sub-menu__link{ color: var(--white); padding: 10px 32px; }
  .b-sub-menu__link:hover{ background: rgba(0,0,0,.12); color: var(--white); }
  .js-more-menu{ display: none !important; }

  .b-product-gallery{ grid-template-columns: 1fr 1fr; gap: 12px; }
  .b-title{ font-size: 19px; }

  .b-sitewide-links{ grid-template-columns: 1fr; gap: 20px; }
  .b-footer__row{ justify-content: center; text-align: center; }
  #google_translate_element{ margin: 0 auto; }
}

@media (max-width: 480px){
  .b-product-gallery{ grid-template-columns: 1fr; }
  .b-header-company-name__logo-wrapper{ display: none; }
}

/* ==========================================================================
   Inner pages — elements not present on the homepage
   ========================================================================== */

/* Breadcrumbs (content injected at runtime by the platform) */
.b-breadcrumb{
  font-size: 13px;
  color: var(--ink-500);
  margin: 16px 0 4px;
}
.b-breadcrumb a{ color: var(--ink-500); }
.b-breadcrumb a:hover{ color: var(--brand-dark); }

/* Header "Еще..." dropdown */
.b-inner-menu{
  padding: 8px 0;
}
.b-inner-menu__link{
  display: block;
  padding: 9px 18px;
  font-size: 14px;
  color: var(--ink-700);
}
.b-inner-menu__link:hover{ background: var(--ink-50); color: var(--brand-dark); }
.b-inner-menu__item_state_active .b-inner-menu__link{ color: var(--brand-dark); font-weight: 600; }

/* About us */
.b-about-us{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 20px 22px;
  margin-bottom: 16px;
}
.b-about-us__title{
  font-size: 17px;
  font-weight: 700;
  color: var(--ink-900);
  margin: 0 0 14px;
}
.b-about-us__row{
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  padding: 9px 0;
  border-top: 1px solid var(--ink-100);
  font-size: 14px;
}
.b-about-us__row:first-of-type{ border-top: none; }
.b-about-us__caption{ flex: 0 0 220px; color: var(--ink-500); font-weight: 600; }
.b-about-us__text{ flex: 1 1 240px; color: var(--ink-700); }

/* Testimonials */
.b-commets, .b-comments__list{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.b-comments__item{
  list-style: none;
  padding: 18px 22px;
  border-top: 1px solid var(--ink-100);
}
.b-comments__item:first-child{ border-top: none; }
.b-comments__author-name{
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: 6px;
}
.b-comments__text{
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-700);
  margin: 8px 0 0;
}
.b-comments__feedback, .b-comments__feedback-item{
  margin-top: 12px;
  padding: 12px 16px;
  background: var(--ink-50);
  border-radius: var(--radius-sm);
  list-style: none;
}
.b-comments__answer{ font-size: 14px; color: var(--ink-700); }
.b-comments__button{
  display: inline-block;
  margin-top: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--brand-light);
  color: var(--brand-dark);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.b-rating{ display: inline-flex; align-items: center; gap: 8px; margin: 4px 0; }
.b-rating__bar-wrap{
  width: 90px; height: 8px;
  background: var(--ink-100);
  border-radius: 999px;
  overflow: hidden;
}
.b-rating__bar{ display: block; height: 100%; background: var(--brand); }
.b-rating__state{ font-size: 13px; font-weight: 600; color: var(--brand-dark); }
.b-comments-tags{ display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.b-comments-tags__item{
  list-style: none;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--ink-100);
  color: var(--ink-700);
  font-size: 12.5px;
}
.b-custom-button{
  display: inline-block;
  padding: 11px 24px;
  border-radius: 999px;
  background: var(--brand);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  border: none;
  cursor: pointer;
}
.b-custom-button:hover{ background: var(--brand-dark); }

/* Pagination */
.b-pager{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 24px 0;
}
.b-pager__link, .b-pager__dotted-link{
  min-width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
  background: var(--white);
  box-shadow: var(--shadow-sm);
  color: var(--ink-700);
  font-size: 14px;
  padding: 0 6px;
}
.b-pager__link:hover{ color: var(--brand-dark); }
.b-pager__link_type_current{
  background: var(--brand);
  color: var(--white);
  font-weight: 700;
}

/* Category listing toolbar (filters / sort / grid-list toggle) */
.b-catalog-panel{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 12px 16px;
  margin-bottom: 18px;
}
.b-catalog-panel__select{
  height: 38px;
  border: 1px solid var(--ink-100);
  border-radius: var(--radius-sm);
  padding: 0 12px;
  font-size: 13.5px;
  color: var(--ink-700);
  background: var(--ink-50);
}
.b-catalog-panel__btn-wrap{ display: flex; gap: 6px; margin-left: auto; }
.b-catalog-panel__btn{
  width: 36px; height: 36px;
  border-radius: var(--radius-sm);
  background: var(--ink-50);
  border: 1px solid var(--ink-100);
  cursor: pointer;
}
.b-catalog-panel__btn_type_gallery.b-catalog-panel__btn_state_active,
.b-catalog-panel__btn_type_list.b-catalog-panel__btn_state_active{
  background: var(--brand-light);
  border-color: var(--brand);
}
.b-filter{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 16px 18px;
  margin-bottom: 18px;
}
.b-filter__title{
  font-size: 14px;
  font-weight: 700;
  color: var(--ink-900);
  margin-bottom: 10px;
}
.b-range-filter{ display: flex; align-items: center; gap: 8px; }
.b-range-filter__input{
  width: 90px;
  height: 34px;
  border: 1px solid var(--ink-100);
  border-radius: var(--radius-sm);
  padding: 0 10px;
  font-size: 13px;
}
.b-range-filter__button{
  height: 34px;
  padding: 0 16px;
  border-radius: var(--radius-sm);
  background: var(--brand);
  color: var(--white);
  border: none;
  font-size: 13px;
  cursor: pointer;
}
.b-drop-phones__toggle-holder{
  cursor: pointer;
}
.b-drop-phones__number{ color: var(--brand-dark); font-weight: 600; }

/* ==========================================================================
   Product detail page
   ========================================================================== */
.b-product__container{
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 24px;
  margin-bottom: 18px;
}
.b-product__image-panel{
  flex: 0 0 320px;
  max-width: 320px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--ink-100);
}
.b-product__info-holder{ flex: 1 1 320px; min-width: 0; }
.b-title_type_product_name{ font-size: 22px; margin-top: 0; }
.b-product__info-line{ margin: 14px 0; }
.b-product__info-line_type_prices{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.b-product-cost__price{
  font-size: 24px;
  font-weight: 700;
  color: var(--brand-dark);
  margin: 0;
}
.b-product-data{ display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.b-product-data__item{
  list-style: none;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--ink-50);
  font-size: 12.5px;
  color: var(--ink-700);
}
.b-product-data__item_type_clarify{ color: var(--ink-500); }
.b-product__social-links{ margin-top: 16px; }

.b-return-policy{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 16px 18px;
  margin-bottom: 18px;
  font-size: 13.5px;
  color: var(--ink-700);
}
.b-return-policy__label{ font-weight: 700; color: var(--ink-900); margin-right: 6px; }
.b-return-policy__button{
  display: inline-block;
  margin-left: 10px;
  color: var(--brand-dark);
  text-decoration: underline;
  cursor: pointer;
  font-size: 13px;
  background: none;
  border: none;
  padding: 0;
}

.b-product-info{
  width: 100%;
  border-collapse: collapse;
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  margin-bottom: 18px;
}
.b-product-info__header{
  background: var(--ink-50);
  text-align: left;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-900);
}
.b-product-info__cell{
  padding: 10px 16px;
  font-size: 13.5px;
  color: var(--ink-700);
  border-top: 1px solid var(--ink-100);
}

.b-order-info{
  background: var(--white);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 16px 18px;
  margin-bottom: 18px;
  list-style: none;
}
.b-order-info__item{
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-top: 1px solid var(--ink-100);
  font-size: 14px;
  color: var(--ink-700);
}
.b-order-info__item:first-child{ border-top: none; }

.b-contacts__row{ display: flex; gap: 8px; font-size: 13.5px; color: var(--ink-700); padding: 4px 0; }
.b-contacts__phone{ font-weight: 600; color: var(--ink-900); }

.b-sundry{ margin-top: 10px; }
.b-sundry__item{ font-size: 13px; color: var(--ink-500); }

.b-sticky-panel{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: var(--white);
  box-shadow: 0 -8px 24px rgba(28,36,48,.12);
  transform: translateY(100%);
  transition: transform .2s ease;
  z-index: 60;
}
.b-sticky-panel_state_active{ transform: translateY(0); }
.b-sticky-panel__container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.b-sticky-panel__image-box{ width: 44px; height: 44px; border-radius: var(--radius-sm); overflow: hidden; flex: 0 0 auto; }
.b-sticky-panel__product-name{ font-size: 13px; color: var(--ink-900); flex: 1 1 auto; }
.b-sticky-panel__price{ font-weight: 700; color: var(--brand-dark); }

@media (max-width: 767px){
  .b-product__container{ flex-direction: column; padding: 16px; }
  .b-product__image-panel{ flex: 1 1 auto; max-width: none; }
  .b-about-us__caption{ flex: 0 0 100%; }
  .b-catalog-panel__btn-wrap{ margin-left: 0; }
}
