/**
 * Restores dv_css/Tilda zero-block layout broken by theme overrides.
 */

#dv_css-footer {
  overflow: visible !important;
  position: relative;
  z-index: 99990;
}

#dv_css-footer .r {
  overflow: visible !important;
}

.crt-section-anchor__target,
#o_nas,
#preim,
#etap,
#sotrud,
#contact,
a[name="o_nas"],
a[name="preim"],
a[name="etap"],
a[name="sotrud"],
a[name="contact"] {
  display: block;
  height: 0;
  overflow: hidden;
  scroll-margin-top: clamp(60px, 10vh, 90px);
}

/* Keep zero-block images inside their positioned atoms (WP img {max-width:100%} breaks t396 layout). */
#dv_css-footer .tn-atom__img,
#dv_css-main .tn-atom__img,
#dv_css-footer .t-img,
#dv_css-main .t-img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

#dv_css-footer .dv_css-block__elem[data-elem-type="image"],
#dv_css-main .dv_css-block__elem[data-elem-type="image"],
#dv_css-footer .t396__elem[data-elem-type="image"],
#dv_css-main .t396__elem[data-elem-type="image"] {
  overflow: hidden;
}

#dv_css-footer .dv_css-block__elem[data-elem-type="image"] .tn-atom,
#dv_css-main .dv_css-block__elem[data-elem-type="image"] .tn-atom,
#dv_css-footer .t396__elem[data-elem-type="image"] .tn-atom,
#dv_css-main .t396__elem[data-elem-type="image"] .tn-atom {
  display: block;
  width: 100%;
}

/* Map transport animation (crt-map-transport.js) */
#rec1239889456 [data-crt-transport="1"],
#rec1239736231 [data-crt-transport="1"] {
  position: absolute !important;
  z-index: 4 !important;
  transform-origin: center center !important;
  transition: none !important;
  pointer-events: none;
  /* Rotation must not be clipped by the elem box (image elems are overflow:hidden). */
  overflow: visible !important;
}

/* Center the sprite inside its (often taller-than-image) box so rotation
   pivots around the visual centre instead of orbiting. */
#rec1239889456 [data-crt-transport="1"] .tn-atom,
#rec1239736231 [data-crt-transport="1"] .tn-atom {
  overflow: visible !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100%;
}

#rec1239889456 [data-crt-transport="1"] .tn-atom__img,
#rec1239889456 [data-crt-transport="1"] img,
#rec1239736231 [data-crt-transport="1"] .tn-atom__img,
#rec1239736231 [data-crt-transport="1"] img {
  width: 100% !important;
  height: auto !important;
  display: block;
}

#rec1239889456 .crt-hero__main.dv_css-block__artboard,
#rec1239889456 .crt-hero__main.t396__artboard {
  overflow: visible !important;
}

#rec1239889456 .crt-hero__map-elem .tn-atom,
#rec1239889456 .crt-hero__transport-elem .tn-atom {
  display: block;
  width: 100%;
  overflow: visible;
}

#rec1239889456 .crt-hero__inner .tn-elem[data-elem-type="text"],
#rec1239889456 .crt-hero__inner .tn-elem[data-elem-type="button"] {
  z-index: 10 !important;
}

#rec1239889456 .dv_css-block__artboard,
#rec1239889456 .t396__artboard,
#rec1239736231 .dv_css-block__artboard,
#rec1239736231 .t396__artboard {
  overflow: visible !important;
}

#rec1239889456 .crt-map-transport-overlay,
#rec1239736231 .crt-map-transport-overlay {
  z-index: 2;
  pointer-events: none;
}

/* Mobile: content must not widen the page (half-screen layout bug). */
@media screen and (max-width: 960px) {
  html,
  body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }

  #dv_css-main,
  .crt-main {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  #dv_css-main:has(#crt-product-detail-section),
  .crt-main:has(#crt-product-detail-section) {
    overflow-x: visible;
    overflow-y: visible;
  }
}
