:root {
  --hystmodal-speed:0.35s;
  --hystmodal-zindex:1000
}
.hystmodal {
  height:100%;
  left:0;
  overflow:hidden;
  overflow-y:auto;
  position:fixed;
  top:0;
  width:100%;
  -webkit-overflow-scrolling:touch;
  align-content:space-between;
  display:grid;
  grid-template-columns:100%;
  grid-template-rows:0 min-content 0;
  justify-content:center;
  pointer-events:none;
  scrollbar-width:none;
  visibility:hidden;
  -ms-overflow-style:none
}
.hystmodal::-webkit-scrollbar {
  display:none
}
.hystmodal:before {
  background-color:rgba(15,36,64,.5);
  content:"";
  display:block;
  height:100%;
  left:0;
  opacity:0;
  pointer-events:none;
  position:fixed;
  top:0;
  width:100%
}
.hystmodal--animated:before {
  transition:opacity var(--hystmodal-speed) ease
}
.hystmodal--active:before {
  opacity:.6
}
.hystmodal--active,
.hystmodal--moved {
  opacity:1;
  pointer-events:none;
  visibility:visible;
}
.hystmodal--active {
  pointer-events:auto
}
.hystmodal__wrap {
  display:block;
  grid-row:2/3;
  min-width:0
}
.hystmodal__window {
  background:#fff;
  box-sizing:border-box;
  flex-grow:0;
  flex-shrink:0;
  grid-row:2/3;
  margin:50px auto;
  max-width:100%;
  min-width:0;
  opacity:0;
  overflow:visible;
  position:relative;
  transform:scale(.95);
  width:600px;
  z-index:10
}
.hystmodal__window--loading {
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='105' height='105' fill='%23aaa'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='0s' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3Ccircle cx='12.5' cy='52.5' r='12.5' fill-opacity='.5'%3E%3Canimate attributeName='fill-opacity' begin='100ms' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3Ccircle cx='52.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='300ms' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3Ccircle cx='52.5' cy='52.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='600ms' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3Ccircle cx='92.5' cy='12.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='800ms' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3Ccircle cx='92.5' cy='52.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='400ms' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3Ccircle cx='12.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='700ms' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3Ccircle cx='52.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='500ms' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3Ccircle cx='92.5' cy='92.5' r='12.5'%3E%3Canimate attributeName='fill-opacity' begin='200ms' calcMode='linear' dur='1s' repeatCount='indefinite' values='1;.2;1'/%3E%3C/circle%3E%3C/svg%3E");
  background-position:50%;
  background-repeat:no-repeat;
  background-size:48px;
  min-height:400px
}
.hystmodal--animated .hystmodal__window {
  transition:transform var(--hystmodal-speed) ease 0s,opacity var(--hystmodal-speed) ease 0s
}
.hystmodal--active .hystmodal__window {
  opacity:1;
  transform:none
}
.hystmodal__close {
  background-color:transparent;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath stroke='%238792A0' stroke-linecap='round' stroke-width='1.5' d='m.75.75 14 14m-14 0 7-7 7-7'/%3E%3C/svg%3E");
  background-position:50%;
  background-repeat:no-repeat;
  background-size:100% 100%;
  border:none;
  cursor:pointer;
  display:block;
  font-size:0;
  height:16px;
  outline:none;
  position:absolute;
  right:15px;
  top:15px;
  width:16px;
  z-index:10
}
.hystmodal__close--wh {
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='M22 2 2 22'/%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='square' stroke-miterlimit='50' stroke-width='2' d='m2 2 20 20'/%3E%3C/svg%3E")
}
.hystmodal__close:hover {
  opacity:.95
}
@media screen and (min-width: 768px){
.hello{
  overflow: hidden;
  max-height: 750px;
}
/* Скрываем ДО инициализации — то что уже работает */
.tab-slider:not(.slick-initialized),
.tab-slider-xl:not(.slick-initialized),
.product-images-slider:not(.slick-initialized),

/* ДОБАВЛЯЕМ новые */
.slick-init:not(.slick-initialized) {
    overflow: hidden;
    visibility: hidden;
    height: 0;
}

/* Показываем после инициализации */
.tab-slider.slick-initialized,
.tab-slider-xl.slick-initialized,
.product-images-slider.slick-initialized,
.slick-init.slick-initialized {
    visibility: visible;
    height: auto;
}

/* =============================================
   ШИМЕР НА РОДИТЕЛЯХ — пока слайдер скрыт
   ============================================= */

/* TAB-PANE — для tab-slider и tab-slider-xl */
.products.slider-section .tab-pane:not(.slick-ready)::before {
    content: '';
    position: absolute;
    top: 40px;
    left: 0;
    right: 0;
    height: 380px;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: 8px;
    z-index: 1;
}
.products.slider-section .tab-pane {
    position: relative;
    min-height: 420px;
}
.products.slider-section .tab-pane.slick-ready::before {
    display: none;
}

/* HERO СЛАЙДЕР .hello .slider */
.hello .slider:not(:has(.slick-initialized)) {
    position: relative;
    min-height: 500px;
    background: #f0f0f0;
    border-radius: 4px;
}
.hello .slider:not(:has(.slick-initialized))::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

/* MINI SLIDER */
.hello .mini-slider:not(:has(.slick-initialized)) {
    position: relative;
    min-height: 200px;
    background: #f0f0f0;
    border-radius: 4px;
}
.hello .mini-slider:not(:has(.slick-initialized))::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

/* TOP SLIDER */
.top-slider:not(:has(.slick-initialized)) {
    position: relative;
    min-height: 300px;
    background: #f0f0f0;
    border-radius: 4px;
}
.top-slider:not(:has(.slick-initialized))::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

/* JOURNAL / NEWS */
.journal:not(:has(.slick-initialized)) .slick-init,
.news-section:not(:has(.slick-initialized)) .slick-init {
    position: relative;
    min-height: 300px;
    background: #f0f0f0;
    border-radius: 4px;
}

/* =============================================
   АНИМАЦИЯ
   ============================================= */
@keyframes shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
}
.ymap-wrapper {
    position: relative;
}

.map-card-popup {
    position: absolute;
  top: 12px;
    left: 12px;
    right: 12px;
  z-index: 400;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  max-width: 100%;
    border-radius: 10px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);

}

.map-card-popup__close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    width: 28px;
    height: 28px;
    border: none;
    background: rgba(255,255,255,0.9);
    border-radius: 50%;
    font-size: 13px;
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}

.map-card-popup__inner .point-info {
    display: flex;
    flex-direction: column;
    opacity: 1;
}

.map-card-popup__inner .point-info .img {
    width: 90%;
  height: auto;
    overflow: hidden;
}

.map-card-popup__inner .point-info .img img {
    width: auto;
  height: auto;
    object-fit: cover;
    display: block;
}

.map-card-popup__inner .point-info .name {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    padding: 10px 36px 4px 12px;
}

.map-card-popup__inner .point-info .metro,
.map-card-popup__inner .point-info .worktime {
    font-size: 12px;
    color: #666;
    padding: 0 12px;
    line-height: 1.4;
}

.map-card-popup__inner .point-info .worktime {
    margin-bottom: 10px;
}

.map-card-popup__inner .point-info .buttons {
    padding: 0 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.map-card-popup__inner .point-info .buttons .flex {
    display: flex;
    align-items: center;
    gap: 10px;
}

.map-card-popup__inner .point-info .btn {
    flex: 1;
    text-align: center;
    padding: 10px 12px;
    font-size: 13px;
}

.map-card-popup__inner .point-info .phone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #f5f5f5;
    flex-shrink: 0;
    font-size: 0;
    color: inherit;
    text-decoration: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07A19.5 19.5 0 0 1 4.69 12 19.79 19.79 0 0 1 1.61 3.37 2 2 0 0 1 3.58 1h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L7.91 8.56a16 16 0 0 0 6.29 6.29l.62-.62a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px;
}

@media (max-width: 1023px) {
    .map-content {
        max-height: 260px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
    }
    .map-card-popup__inner .metro::before {
  content: "";
  display: inline-block;
  vertical-align: text-top;
  width: 16px;
  height: 16px;
  margin-right: 4px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M15.0131 12.5073L11.0633 2.27096L10.9284 2.27086L8.06838 7.91595L5.10541 2.22266L1.04843 12.5073H0V13.3338H5.74359V12.5073H4.60399L5.74359 9.29336L8.06838 13.3338L10.302 9.29336L11.4416 12.5073H10.302V13.3338H16V12.5073H15.0131Z' fill='%23637083'/%3E%3C/svg%3E");
}
.hello .slider .slider-text{
    min-width: 270px;
}
}

@media (min-width: 1023px) {
.tab-slider-xl .catalog-item .product-images {
  aspect-ratio: unset;
  background-color: #ffffff;
  min-width: 0;
}
}


/* Прячем кнопку Play при добавлении класса is-playing */
.about .text-block .video.is-playing::after {
    pointer-events: none;
    opacity: 0;
}




@media (max-width: 1023px) {
    .p2p-body .header {
        margin-bottom: 0px;
    }
}