/* Mobile navigation and performance-friendly tweaks */
html,
body {
  overflow-x: hidden;
}
body.menu-open {
  overflow: hidden;
}
body.lightbox-open {
  overflow: hidden;
}
.site-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.86);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}
.site-lightbox.is-open {
  display: flex;
}
.site-lightbox-image {
  max-width: min(1200px, 95vw);
  max-height: 90vh;
  border-radius: 10px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.45);
}
.site-lightbox-close {
  position: absolute;
  top: 14px;
  right: 14px;
  border: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.telegram-contact-link {
  margin-top: 6px;
}
.telegram-contact-link a {
  color: #509600;
  font-size: 14px;
  text-decoration: none;
  border-bottom: 1px dashed #509600;
}
.telegram-contact-link a:hover,
.telegram-contact-link a:focus {
  color: #000000;
  text-decoration: none;
}
.header-alt .container.no-padding > .top-cart-row.no-margin a[href="#"] > strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}
.header-alt .container.no-padding > .top-cart-row.no-margin a[href="#"] > strong .svg-icon {
  flex: 0 0 auto;
}
.mobile-menu-toggle {
  display: none;
  border: 0;
  background: #111;
  color: #fff;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus {
  background: #2f2f2f;
  outline: none;
}
.mobile-menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  background: #fff;
  margin: 4px 0;
}
@media (max-width: 960px) {
  /* Hide the 3-feature block under the main slider on mobile */
  #pg-5-1 {
    display: none !important;
  }
  .header-alt .container.no-padding {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .header-alt .container.no-padding > .logo-holder {
    order: 1;
    width: 50%;
    padding-right: 8px;
  }
  .header-alt .container.no-padding > .top-cart-row.no-margin:nth-of-type(2) {
    order: 2;
    width: 50%;
    font-size: 13px;
    line-height: 1.35;
    padding-top: 6px;
  }
  .header-alt .container.no-padding > .top-cart-row.no-margin:nth-of-type(3) {
    display: none;
  }
  .header-alt .container.no-padding > .text-center.top-cart-row.no-margin {
    order: 3;
    width: 100%;
    text-align: center !important;
    padding-top: 6px;
  }
  .header-alt .logo img {
    width: 180px;
    max-width: 100%;
    height: auto;
  }
  .header-alt .text-center.top-cart-row.no-margin > a[href^="tel:"] span {
    font-size: 20px !important;
  }
  .header-alt .text-center.top-cart-row.no-margin .telegram-contact-link {
    text-align: center;
  }
  #top-megamenu-nav #mc-horizontal-menu-collapse {
    display: none !important;
  }
  #top-megamenu-nav.mobile-open #mc-horizontal-menu-collapse {
    display: block !important;
  }
  #top-megamenu-nav .navbar-nav.nav {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  }
  #top-megamenu-nav .navbar-nav.nav > li > a {
    color: #509600 !important;
  }
  #top-megamenu-nav .navbar-nav.nav > li > a:hover,
  #top-megamenu-nav .navbar-nav.nav > li > a:focus,
  #top-megamenu-nav .navbar-nav.nav > li.active > a {
    color: #ffffff !important;
  }
  #top-megamenu-nav .navbar-toggle,
  .mobile-menu-toggle {
    display: inline-block;
    margin: 8px 0;
  }
  img {
    max-width: 100%;
    height: auto;
  }
}
