/* clone.css — lightbox (fancyBox replacement) + no-JS fallbacks.
 * Original theme CSS (style.css / responsive.css / swiper.min.css) is left untouched. */

/* ---- lightbox ---- */
.lb { position: fixed; inset: 0; z-index: 9999; display: none; }
.lb.lb-open { display: block; }
.lb-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .85); }
.lb-box {
  position: relative; z-index: 2; max-width: min(92vw, 1100px); margin: 5vh auto 0;
  background: #fff; padding: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, .5);
}
.lb-media img { display: block; max-width: 100%; max-height: 78vh; margin: 0 auto; }
.lb-media iframe {
  display: block; width: min(88vw, 960px); aspect-ratio: 16 / 9; border: 0;
}
.lb-caption { color: #212121; font-size: 14px; line-height: 22px; padding: 10px 4px 2px; }
.lb-close {
  position: absolute; top: -14px; right: -14px; width: 36px; height: 36px; border-radius: 50%;
  background: #ffd167; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}
.lb-close::before, .lb-close::after {
  content: ''; position: absolute; left: 9px; top: 17px; width: 18px; height: 2px; background: #212121;
}
.lb-close::before { transform: rotate(45deg); }
.lb-close::after { transform: rotate(-45deg); }
.lb-arrow {
  position: fixed; top: 50%; margin-top: -28px; width: 44px; height: 56px; z-index: 3;
  cursor: pointer; opacity: .7;
}
.lb-arrow:hover { opacity: 1; }
.lb-arrow::before {
  content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 14px;
  border-top: 3px solid #fff; border-right: 3px solid #fff; margin: -7px 0 0 -7px;
}
.lb-prev { left: 12px; } .lb-prev::before { transform: rotate(-135deg); }
.lb-next { right: 12px; } .lb-next::before { transform: rotate(45deg); }
.lb:not(.lb-group) .lb-arrow { display: none; }

/* ---- no-JS fallbacks: slides must stack, FAQ answers must be readable ---- */
.no-js .faq_content .faq_item .faq_item__data { display: block !important; }
.no-js .swiper-container .swiper-wrapper {
  flex-wrap: wrap; height: auto; transform: none !important;
}
.no-js .swiper-container .swiper-slide { flex: 0 0 100% !important; }
.no-js .equipment__content .swiper-wrapper { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 30px; }
.no-js .video_link, .no-js .equipment_data { cursor: pointer; }

/* ---- Where to buy: static partner list (replaces the Yandex map) ---- */
.wb_section .info_block__data { margin-bottom: 45px; }
.wb-intro { font-size: 18px; font-weight: 300; color: #212121; line-height: 28px; margin: 0 0 30px; }
.wb-countries { max-width: 1100px; }
.wb-country { border-bottom: 1px solid #d7e6ee; }
.wb-country:first-child { border-top: 1px solid #d7e6ee; }
.wb-summary {
  display: flex; justify-content: space-between; align-items: center; cursor: pointer;
  padding: 16px 4px; list-style: none; user-select: none;
}
.wb-summary::-webkit-details-marker { display: none; }
.wb-summary::after {
  content: ''; width: 10px; height: 10px; margin-left: auto; flex: 0 0 auto;
  border-right: 2px solid #f6b31a; border-bottom: 2px solid #f6b31a;
  transform: rotate(45deg); transition: transform .2s ease;
}
.wb-country[open] .wb-summary::after { transform: rotate(-135deg); }
.wb-cname {
  font-size: 20px; font-weight: 500; color: #000; text-transform: uppercase; letter-spacing: .5px;
}
.wb-partners {
  list-style: none; margin: 0 0 34px; padding: 10px 4px 0;
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px 36px;
}
.wb-partner {
  background: #f4fbff; border-left: 4px solid #ffd167; border-radius: 6px;
  padding: 16px 18px 16px 16px;
}
.wb-company { font-size: 17px; font-weight: 900; color: #000; line-height: 24px; }
.wb-addr { font-size: 14px; color: #444; line-height: 20px; margin-top: 2px; }
.wb-meta { margin-top: 4px; font-size: 14px; display: flex; flex-wrap: wrap; gap: 2px 16px; }
.wb-meta a { color: #212121; text-decoration: underline; text-decoration-color: #f6b31a; text-underline-offset: 3px; }
.wb-meta a:hover { color: #000; text-decoration-color: #212121; }

/* ---- contact = plain mailto links styled as the original form buttons ---- */
.footer .feedback_block .feedback_form .feedback_mail_btn {
  width: auto; min-width: 157px; padding: 0 26px; display: inline-block;
  line-height: 52px; text-transform: none; letter-spacing: .2px;
  color: #fff; text-decoration: none;
}
.footer .feedback_block .feedback_form .feedback_mail_btn:hover { color: #1e1e1e; text-decoration: none; }
a.faq_toggle_btn {
  display: inline-block; line-height: 52px; color: #212121; text-decoration: none;
}
a.faq_toggle_btn:hover, a.faq_toggle_btn:focus { color: #212121; text-decoration: none; }

