/* Store directory owns its layout; all factual fields stay in the Bitrix iblock. */
body#main:has(.gbc-stores-page) #content .left_block { display: none !important; }
body#main:has(.gbc-stores-page) #content .right_block { width: 100%; float: none; padding: 0; }
body#main .gbc-stores-page {
  --gbc-store-map-height: 400px;
  --gbc-store-photo-ratio: 8 / 5;
  --gbc-store-heading-size: 28px;
  --gbc-store-balloon-width: 272px;
  --gbc-store-sidebar-width: 180px;
  --gbc-stores-sticky-offset: 120px;
  font-family: var(--gbc-font-family);
  color: var(--gbc-color-text);
}
body#main .gbc-stores-page .gbc-stores-heading { margin: 0 0 var(--gbc-space-5); font-size: var(--gbc-store-heading-size); line-height: 1.3; font-weight: var(--gbc-font-weight-heading); }
body#main .gbc-stores-page .gbc-stores-contact-strip { margin-bottom: var(--gbc-space-5); }
body#main .gbc-stores-page .gbc-stores-contact-strip .row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--gbc-space-5); margin: 0; padding: var(--gbc-space-5); border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-surface-soft); }
body#main .gbc-stores-page .gbc-stores-contact-strip .row::before,
body#main .gbc-stores-page .gbc-stores-contact-strip .row::after { content: none; }
body#main .gbc-stores-page .gbc-stores-contact-strip .main-info { display: grid; grid-template-columns: max-content minmax(0,1fr) auto; align-items: center; gap: var(--gbc-space-6); flex: 1; min-width: 0; width: auto; padding: 0; }
body#main .gbc-stores-page .gbc-stores-contact-strip .main-info > div { min-width: 0; }
body#main .gbc-stores-page .gbc-stores-contact-strip .property .title { font-size: 12px; line-height: var(--gbc-line-height-small); text-transform: none; letter-spacing: normal; }
body#main .gbc-stores-page .gbc-store-contact-phone .title { display: none; }
body#main .gbc-stores-page .gbc-store-contact-phone .value a { color: var(--gbc-color-text); font-size: 26px; line-height: 34px; font-weight: var(--gbc-font-weight-medium); white-space: nowrap; }
body#main .gbc-stores-page .gbc-store-contact-callback { display: block; width: fit-content; margin: 0; padding: 0; min-height: 28px; border: 0; background: transparent; color: var(--gbc-color-text-muted); font: inherit; font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); text-decoration: underline dotted; text-underline-offset: 4px; cursor: pointer; }
body#main .gbc-stores-page .gbc-store-contact-email .value a { color: var(--gbc-color-text); font-size: 18px; line-height: 26px; font-weight: var(--gbc-font-weight-medium); overflow-wrap: anywhere; }
body#main .gbc-stores-page .gbc-store-contact-callback:hover { color: var(--gbc-color-text); }
body#main .gbc-stores-page :is(.gbc-store-contact-callback,.gbc-store-contact-question,.gbc-store-contact-email a,.gbc-store-contact-phone a):focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 3px; }
body#main .gbc-stores-page .gbc-stores-contact-strip :is(.font_upper,.muted) { color: var(--gbc-color-text-muted); }
body#main .gbc-stores-page .gbc-stores-contact-strip .ask_button { padding: 0; width: auto; }
body#main .gbc-stores-page .gbc-stores-contact-strip .ask_button .btn { border: 0; background: var(--gbc-color-surface); color: var(--gbc-color-text); border-radius: var(--gbc-radius-control); min-height: 48px; padding: var(--gbc-space-3) var(--gbc-space-4); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); white-space: nowrap; }
body#main .gbc-stores-page .gbc-stores-contact-strip .contacts { padding: 0; }
body#main .gbc-stores-page .gbc-stores-contact-strip .info-row { margin-left: 0; }
body#main .gbc-stores-page .contacts-page-map { height: var(--gbc-store-map-height); margin: 0 0 var(--gbc-space-6); border-radius: var(--gbc-radius-dialog); overflow: hidden; scroll-margin-top: 180px; }
body#main .gbc-stores-page .contacts-page-map :is(.bx-yandex-map,ymaps[id],.ymaps-map) { height: var(--gbc-store-map-height) !important; }
body#main .gbc-stores-page .big-article-about__title { margin: var(--gbc-space-6) 0 var(--gbc-space-4); font-size: 22px; line-height: 1.4; font-weight: var(--gbc-font-weight-heading); }
.gbc-stores-layout { display: grid; grid-template-columns: var(--gbc-store-sidebar-width) minmax(0,1fr); gap: var(--gbc-space-5); align-items: start; }
.gbc-stores-lists { grid-column: 2; min-width: 0; }
.gbc-stores-toc { position: sticky; top: var(--gbc-stores-sticky-offset); max-height: calc(100dvh - var(--gbc-stores-sticky-offset) - var(--gbc-space-5)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--gbc-color-border) var(--gbc-color-surface); }
.gbc-stores-toc[hidden] { display: none; }
body#main .gbc-stores-page .gbc-stores-toc h2 { margin: 0 0 var(--gbc-space-3); font-size: var(--gbc-font-size-ui); line-height: var(--gbc-line-height-ui); font-weight: var(--gbc-font-weight-medium); }
.gbc-stores-toc__links { display: grid; gap: var(--gbc-space-1); padding: var(--gbc-space-1); }
body#main .gbc-stores-page .gbc-stores-toc__link { display: flex; justify-content: space-between; align-items: center; gap: var(--gbc-space-2); min-height: 34px; padding: var(--gbc-space-1) var(--gbc-space-3); border-radius: var(--gbc-radius-control); color: var(--gbc-color-text); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); text-decoration: none; }
body#main .gbc-stores-page .gbc-stores-toc__link:hover { background: var(--gbc-color-surface-soft); }
body#main .gbc-stores-page .gbc-stores-toc__link[aria-current] { background: var(--gbc-color-brand-soft-strong); font-weight: var(--gbc-font-weight-medium); }
.gbc-stores-toc__count { color: var(--gbc-color-text-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.gbc-stores-toc__link:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 1px; }
@media (min-width:1024px) {
  body#main .gbc-stores-page .gbc-stores-toc__link > span:first-child { display: flex; align-items: center; gap: var(--gbc-space-2); min-width: 0; }
  body#main .gbc-stores-page .gbc-stores-toc__link > span:first-child::before { content: ""; width: 4px; height: 4px; flex: 0 0 4px; border-radius: 50%; background: var(--gbc-color-text-muted); opacity: .45; }
  body#main .gbc-stores-page .gbc-stores-toc__link[aria-current] > span:first-child::before { background: var(--gbc-color-brand-text); opacity: .8; }
}



























body#main .shop-detail1 .gbc-store-socials :is(.social-icons,.wrap) { display: block; width: auto; margin: 0; padding: 0; text-align: left; }
body#main .shop-detail1 .gbc-store-socials ul { display: flex; flex-wrap: wrap; gap: var(--gbc-space-2); margin: 0; padding: 0 !important; background: transparent !important; }
body#main .shop-detail1 .gbc-store-socials li { display: block; float: none; list-style: none; margin: 0; padding: 0; }
body#main .shop-detail1 .gbc-store-socials :is(li::before,a::before,a::after) { display: none; }
body#main .shop-detail1 .gbc-store-socials li a { display: grid; place-items: center; width: var(--gbc-touch-target); height: var(--gbc-touch-target); border: 0; border-radius: var(--gbc-radius-control); background: var(--gbc-color-surface-soft); margin: 0; padding: 0; text-indent: 0; opacity: 1; font-size: 0; line-height: 0; }
body#main .shop-detail1 .gbc-store-socials li a img { display: block; width: 24px; height: 24px; margin: 0; object-fit: contain; }
body#main .shop-detail1 .gbc-store-socials li a:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 2px; }
/* Compact native Yandex 2.0 balloon: actions stay ahead of supporting text. */
body#main :is(.gbc-stores-page,.shop-detail1) .ymaps-b-balloon.ymaps-i-custom-scroll { padding: 0; }
















































/* The contact strip uses the same quiet surface and messenger tiles as the footer. */
body#main .gbc-stores-page .gbc-stores-contact-strip .messengers-block { display: flex; gap: var(--gbc-space-2); }
body#main .gbc-stores-page .gbc-stores-contact-strip .messengers-block__messenger { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; background: var(--gbc-color-surface); border-radius: var(--gbc-radius-control); }
body#main .gbc-stores-page .gbc-stores-contact-strip .messengers-block__messenger svg { display: block; width: 28px; height: 28px; }
body#main .gbc-stores-page .gbc-stores-contact-strip .messengers-wrapper .title { display: none; }
/* Detail owns its gallery and map; never target unrelated .swiper instances. */
body#main .shop-detail1 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-areas: "back back" "title title" "gallery map" "details details"; gap: var(--gbc-space-5); width: 100%; margin: 0; padding: 0; align-items: start; }
body#main .shop-detail1 > .shopBack { grid-area: back; position: static; margin: 0; }
body#main .shop-detail1 > .gbc-store-detail { display: contents; }
body#main .shop-detail1 > .contacts_map { grid-area: map; position: relative; box-sizing: border-box; width: 100%; min-width: 0; min-height: 0 !important; height: auto !important; aspect-ratio: 8/5; margin: 0; padding: 0; top: 0; border-radius: var(--gbc-radius-dialog); overflow: hidden; }
body#main .shop-detail1 > .contacts_map :is(.bx-yandex-view-layout,.bx-yandex-view-map,.bx-yandex-map,.ymaps-map) { width: 100% !important; height: 100% !important; max-height: none; }
body#main .shop-detail1 > .contacts_map > :is(.bx-yandex-view-layout,.bx-yandex-view-map,.bx-yandex-map) { position: absolute; inset: 0; }
body#main .gbc-store-detail .contacts__row { display: contents; }
body#main .gbc-store-detail :is(.contacts__col,.contacts__content-wrapper) { display: contents; }
body#main .gbc-store-detail .address { grid-area: title; min-width: 0; }
body#main .gbc-store-detail .gbc-store-gallery { grid-area: gallery; min-width: 0; }
body#main .gbc-store-detail .contacts__map-wrapper { grid-area: map; min-width: 0; }
body#main .shop-detail1:has(> .contacts_map) .gbc-store-detail .contacts__map-wrapper { display: none; }
body#main .gbc-store-detail .bottom_block { grid-area: details; min-width: 0; }
body#main .gbc-store-detail :is(.contacts__col,.contacts__map-wrapper) { width: auto; min-width: 0; margin: 0; padding: 0; float: none; }
body#main .gbc-store-detail .title-h1 { margin: 0; font-size: 28px; line-height: 1.3; font-weight: var(--gbc-font-weight-heading); }
body#main .gbc-store-detail .contacts-detail__property--top { display: none; }
body#main .gbc-store-detail .contacts-detail__info { width: 100%; padding: var(--gbc-space-5); border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-brand-soft); box-sizing: border-box; }
body#main .gbc-store-detail .contacts-detail__properties { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--gbc-space-5); width: 100%; margin: 0; align-items: start; }
body#main .gbc-store-detail .contacts-detail__properties::before,
body#main .gbc-store-detail .contacts-detail__properties::after { display: none; }
body#main .gbc-store-detail .contacts-detail__properties > :is(.col-md-6,.col-md-12) { display: contents !important; width: auto; float: none; margin: 0; padding: 0; }
body#main .gbc-store-detail .contacts-detail__property { min-width: 0; padding: 0; margin: 0; }
body#main .gbc-store-detail .contact-property__label { display: flex; align-items: center; gap: var(--gbc-space-2); margin-bottom: var(--gbc-space-2); color: var(--gbc-color-text-muted); font-size: var(--gbc-font-size-small); line-height: var(--gbc-line-height-small); text-transform: none !important; letter-spacing: normal; }
body#main .gbc-store-detail .contact-property__label :is(.svg,svg) { flex: none; width: 20px; height: 20px; color: var(--gbc-color-brand-text); }
body#main .gbc-store-detail :is(.contact-property--schedule,.contact-property--phones,.contact-property--email) .contact-property__label::before { content: ""; flex: 0 0 20px; width: 20px; height: 20px; top: auto; background: var(--gbc-color-brand-text); mask: var(--gbc-store-fact-icon) center/contain no-repeat; }
body#main .gbc-store-detail .contact-property--schedule { --gbc-store-fact-icon: url('/local/img/menu/clock.svg'); }
body#main .gbc-store-detail .contact-property--phones { --gbc-store-fact-icon: url('/local/img/mob/menu/phone.svg'); }
body#main .gbc-store-detail .contact-property--email { --gbc-store-fact-icon: url('/local/img/mob/menu/mail.svg'); }
body#main .gbc-store-detail .contact-property--schedule .contact-property__label .svg { display: none; }
body#main .gbc-store-detail .contact-property__value { font-size: 18px; line-height: 26px; font-weight: var(--gbc-font-weight-medium); overflow-wrap: anywhere; }
body#main .gbc-store-detail .contact-property--schedule .contact-property__value ul { margin: 0; padding: 0; }
body#main .gbc-store-detail .contact-property--schedule .contact-property__value li { margin: 0; padding: 0; list-style: none; font: inherit; }
body#main .gbc-store-detail .contact-property--schedule .contact-property__value li::before { content: none; }
body#main .gbc-store-detail .contact-property__value a { color: var(--gbc-color-text); }
body#main .gbc-store-detail .contact-property__value a:hover { color: var(--gbc-color-brand-hover); }
body#main .gbc-store-detail .contact-property__value a:focus-visible { outline: 2px solid var(--gbc-color-focus); outline-offset: 3px; }
body#main .gbc-store-detail .contacts-detail__properties .yMapRaiting { grid-column: auto; align-self: center; }
body#main .gbc-store-detail .feedback { margin: var(--gbc-space-5) 0; padding: 0; }
body#main .gbc-store-detail .feedback .btn { border: 0; border-radius: var(--gbc-radius-control); background: var(--gbc-color-brand-soft-strong); color: var(--gbc-color-text); padding: var(--gbc-space-3) var(--gbc-space-4); min-height: var(--gbc-touch-target); font-size: var(--gbc-font-size-small); }
body#main .gbc-store-detail .contacts_map-sticky { position: relative; width: 100%; height: auto; aspect-ratio: 8/5; border: 0; border-radius: var(--gbc-radius-dialog); overflow: hidden; }
body#main .gbc-store-detail .contacts_map-sticky :is(.bx-yandex-view-layout,.bx-yandex-view-map,.bx-yandex-map,.ymaps-map) { width: 100% !important; height: 100% !important; max-height: none; }
body#main .gbc-store-detail .contacts_map-sticky > :is(.bx-yandex-view-layout,.bx-yandex-view-map,.bx-yandex-map) { position: absolute; inset: 0; }
body#main .gbc-store-gallery { margin: 0; overflow: hidden; }
body#main .gbc-store-gallery .gallery-big { display: grid; position: relative; width: 100%; height: auto; padding: 0; }
body#main .gbc-store-gallery__main { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 8/5; overflow: hidden; border-radius: var(--gbc-radius-dialog); background: var(--gbc-color-surface); }
body#main .gbc-store-gallery__main > .swiper-wrapper { position: absolute; inset: 0; height: 100%; }
body#main .gbc-store-gallery__main .swiper-slide a { display: block; height: 100%; }
body#main .gbc-store-gallery__main .swiper-slide a > div { height: 100%; padding: 0; background-size: cover; background-position: center; }
body#main .gbc-store-gallery .gallery-thumbs { width: 100%; height: auto; padding: var(--gbc-space-2) 0 0; overflow: hidden; }
body#main .gbc-store-gallery .gallery-thumbs .swiper-slide { height: auto; aspect-ratio: 8/5; opacity: .6; overflow: hidden; border-radius: var(--gbc-radius-control); cursor: pointer; }
body#main .gbc-store-gallery .gallery-thumbs .swiper-slide-thumb-active { opacity: 1; }
body#main .gbc-store-gallery .gallery-thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
body#main .gbc-store-gallery .swiper-button-prev { left: 8px; }
body#main .gbc-store-gallery .swiper-button-next { right: 8px; }
body#main .shop-detail1 > .wrapper_inner { width: 100%; max-width: none; padding-inline: 0; }
body#main .gbc-store-catalog-shell { box-sizing: border-box; width: 100%; max-width: var(--gbc-container-content); margin-inline: auto; padding-inline: 0; }
body#main .gbc-store-catalog { width: 100%; min-width: 0; margin-block: var(--gbc-space-7); }
body#main .gbc-store-catalog__heading { margin: 0 0 var(--gbc-space-5); font-size: 28px; line-height: 1.3; font-weight: var(--gbc-font-weight-heading); }
body#main .gbc-store-catalog .tabs_content { list-style: none; width: 100%; margin: 0; padding: 0; }
body#main .gbc-store-catalog .tabs_content > li { margin: 0; padding: 0; list-style: none; }
body#main .gbc-store-catalog .tabs_content > li::before { display: none; }
body#main .gbc-store-catalog :is(.tabs_slider,.catalog_block_template,.catalog_block,.items_wrapper,.top_wrapper) { box-sizing: border-box; max-width: 100%; margin-inline: 0; padding-inline: 0; }
@media (min-width: 768px) {
  /* Grid stretches the map to the complete gallery, including its thumbnails. */
  body#main .shop-detail1:has(.gbc-store-gallery) > .contacts_map { aspect-ratio: auto; align-self: stretch; }
  body#main .gbc-store-detail:has(.gbc-store-gallery) .contacts__map-wrapper { align-self: stretch; }
  body#main .gbc-store-detail:has(.gbc-store-gallery) .contacts_map-sticky { height: 100%; aspect-ratio: auto; }
  body#main .gbc-store-catalog .catalog_block { position: relative; left: calc(-1 * var(--gbc-space-3)); width: calc(100% + var(--gbc-space-3) * 2); max-width: none; }
}
body#main .gbc-store-catalog .homeMoreCategory { margin: var(--gbc-space-5) 0 0; text-align: left; }
@media (min-width: 992px) {
  body#main .gbc-store-detail .contacts-detail__properties:has(.contact-property--metro) { grid-template-columns: repeat(5,minmax(0,1fr)); }
}
@media (min-width: 768px) and (max-width: 991px) {
  body#main .gbc-store-detail .contacts-detail__properties { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  body#main .shop-detail1 { grid-template-columns: minmax(0,1fr); grid-template-areas: "title" "gallery" "map" "details"; gap: var(--gbc-space-4); }
  body#main .shop-detail1 > .shopBack { display: none !important; }
  body#main .gbc-stores-page .gbc-stores-toc__link { min-height: var(--gbc-touch-target); }
  
  
  body#main .gbc-stores-page .gbc-stores-contact-strip .row { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: var(--gbc-space-4); gap: var(--gbc-space-4); }
  body#main .gbc-stores-page .gbc-stores-contact-strip .main-info { display: contents; }
  body#main .gbc-stores-page :is(.gbc-store-contact-phone,.gbc-store-contact-email) { grid-column: 1/-1; }
  body#main .gbc-stores-page .gbc-store-contact-phone .value a { font-size: 22px; line-height: 30px; }
  body#main .gbc-stores-page .gbc-store-contact-callback { min-height: var(--gbc-touch-target); }
  body#main .gbc-stores-page .gbc-stores-contact-strip .messengers-wrapper { grid-column: 1; }
  
  
  
  
  
  body#main .gbc-stores-page .gbc-stores-contact-strip .info-row { margin-left: 0; }
  body#main .gbc-store-detail .title-h1 { font-size: 22px; }
  body#main .gbc-store-detail .contacts-detail__info { padding: var(--gbc-space-4); }
  body#main .gbc-store-detail .contact-property__value { font-size: var(--gbc-font-size-ui); line-height: var(--gbc-line-height-ui); }
  body#main .gbc-store-detail .contacts-detail__properties { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--gbc-space-4); }
  body#main .gbc-store-catalog { margin-block: var(--gbc-space-6); }
  body#main .gbc-store-catalog__heading { font-size: 22px; margin-bottom: var(--gbc-space-4); }
}
@media (max-width: 479px) {
  body#main .gbc-store-detail .contacts-detail__properties { grid-template-columns: minmax(0,1fr); }
}



body#main .gbc-stores-page .sectionText { margin-top: var(--gbc-space-6); font-size: var(--gbc-font-size-small); line-height: 1.6; }
@media (max-width: 1199px) {  }
@media (max-width: 1023px) {
  .gbc-stores-layout { grid-template-columns: minmax(0,1fr); gap: var(--gbc-space-4); }
  .gbc-stores-lists { grid-column: 1; }
  .gbc-stores-toc { z-index: 2; overflow: visible; max-height: none; background: var(--gbc-color-surface); padding-block: var(--gbc-space-1); }
  body#main .gbc-stores-page .gbc-stores-toc h2 { display: none; }
  .gbc-stores-toc__links { display: flex; overflow-x: auto; scrollbar-width: thin; }
  body#main .gbc-stores-page .gbc-stores-toc__link { flex: 0 0 auto; white-space: nowrap; background: var(--gbc-color-surface-soft); }
  
  
}
@media (max-width: 767px) {
  body#main:has(.gbc-stores-page) #scrollToTop { display: none !important; }
  body#main .gbc-stores-page { --gbc-store-map-height: 320px; --gbc-store-heading-size: 22px; --gbc-store-balloon-width: 232px; --gbc-stores-sticky-offset: 58px; }
  body#main.gbc-mobile-header-hidden .gbc-stores-page .gbc-stores-toc { top: 0; }
  body#main .gbc-stores-page .gbc-stores-toc { padding-block: 0; }
  body#main .gbc-stores-page .gbc-stores-contact-strip { margin-bottom: var(--gbc-space-3); }
  body#main .gbc-stores-page .gbc-stores-contact-strip .row { padding: var(--gbc-space-3); gap: var(--gbc-space-2) var(--gbc-space-3); }
  body#main .gbc-stores-page .gbc-stores-contact-strip .property .title { line-height: 16px; }
  body#main .gbc-stores-page .gbc-store-contact-email .title { display: none; }
  body#main .gbc-stores-page .gbc-store-contact-phone .value a { font-size: 18px; line-height: 24px; }
  body#main .gbc-stores-page .gbc-store-contact-email .value a { font-size: 14px; line-height: 20px; }
  body#main .gbc-stores-page .gbc-store-contact-callback { min-height: 32px; }
  body#main .gbc-stores-page .contacts-page-map { scroll-margin-top: var(--gbc-space-4); }
  body#main .gbc-stores-page .gbc-stores-contact-strip .main-info > div { min-width: 0; }
  
  
  
  
  
  body#main .gbc-stores-page .big-article-about__title { font-size: 18px; margin-top: var(--gbc-space-5); }
  
}
@media (prefers-reduced-motion: reduce) {  }
