.main-slider.owl-carousel { display: block; }
.main-slider.owl-carousel:not(.owl-loaded) > .item:not(:first-child) { display: none; }
.main-slider .zv-home-slide-visual {
  display: block;
  width: 100%;
  aspect-ratio: 1100 / 495;
  background-image: var(--zv-slide-desktop);
  background-size: cover;
  background-position: center;
}
@media (max-width: 767px) {
  .main-slider .zv-home-slide-visual {
    height: 550px;
    aspect-ratio: auto;
    background-image: var(--zv-slide-mobile);
  }
}

/* Главная: три полоски точно по центру круглой кнопки. */
@media (max-width: 991px) {
  .nav__menu #cssmenu #menu-button:not(.menu-opened)::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    width: 20px;
    height: 2px;
    margin: 0;
    border: 0;
    background: #fff;
    box-shadow: 0 -6px 0 #fff, 0 6px 0 #fff;
    transform: translate(-50%, -50%);
  }
  .nav__menu #cssmenu #menu-button:not(.menu-opened)::after {
    content: none;
    display: none;
  }
}

/* Подробная форма главной: две колонки, на телефоне одна. */
#universal-popups .zv-home-estimate > .popup__content {
  width: calc(100% - 32px); max-width: 760px; max-height: calc(100dvh - 32px);
  overflow-y: auto; box-sizing: border-box; padding: 32px; display: block;
}
.zv-home-estimate .zv-estimate-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.zv-home-estimate label { display: block; font: 14px/1.4 Arial, sans-serif; color: #1a365d; }
.zv-home-estimate .wpcf7-form-control-wrap { display: block; margin-top: 5px; }
.zv-home-estimate .wpcf7 input:not([type=checkbox]):not([type=hidden]),
.zv-home-estimate .wpcf7 textarea { box-sizing: border-box; width: 100%; margin: 0; padding: 10px 12px; border: 1px solid #e2e8f0; border-radius: 12px; font: 16px/1.4 Arial, sans-serif; }
.zv-home-estimate .wpcf7 textarea { min-height: 80px; resize: vertical; }
.zv-home-estimate .zv-estimate-message { margin-top: 12px; }
.zv-home-estimate .zv-estimate-intro { margin: 0 0 18px; color: #64748b; font: 14px/1.5 Arial, sans-serif; }
.zv-home-estimate h2 { padding-right: 22px; font: 600 24px/1.2 Arial, sans-serif; margin: 0 0 10px; }
.zv-home-estimate .wpcf7 input[type=submit] { background: var(--zv-brand); color: white; border: 0; cursor: pointer; }
.zv-home-estimate .wpcf7-list-item { margin: 12px 0; }
@media (max-width: 600px) {
  #universal-popups .zv-home-estimate > .popup__content { padding: 28px 20px 20px; }
  .zv-home-estimate .zv-estimate-grid { grid-template-columns: 1fr; }
  .zv-home-estimate h2 { font-size: 21px; }
}
