body { margin: 0; font-family: Ubuntu, Arial, sans-serif; }
img { max-width: 100%; height: auto; }
#main-content { min-height: 40vh; }
.migrated-page { padding-top: 30px; padding-bottom: 50px; }
.mobile-toggle, .mobile-panel { display: none; }
.foot-top-link .main-menu { display: flex; flex-direction: column; }
.foot-top-link .main-menu li { margin: 0 0 8px; }
@media (max-width: 900px) {
    .header-bottom { display: none; }
    body.mobile-menu-open { overflow: hidden; }

    .mobile-toggle {
      display: block;
      position: fixed;
      z-index: 10001;
      right: 15px;
      top: 15px;
      width: 48px;
      height: 48px;
      padding: 12px;
      border: 0;
      border-radius: 50%;
      background: #387f9c;
      box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
    }

    .mobile-toggle span {
      display: block;
      height: 2px;
      margin: 5px 0;
      background: #fff;
      transition: transform .25s, opacity .25s;
    }

    .mobile-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .mobile-toggle.is-open span:nth-child(2) { opacity: 0; }
    .mobile-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .mobile-panel {
      display: block;
      position: fixed;
      z-index: 10000;
      inset: 0;
      visibility: hidden;
      overflow: hidden;
      background: rgba(0, 0, 0, .55);
      opacity: 0;
      transition: visibility .25s, opacity .25s;
    }

    .mobile-panel.is-open {
      visibility: visible;
      opacity: 1;
    }

    .mobile-panel .main-menu {
      display: block;
      width: min(88%, 380px);
      height: 100%;
      margin: 0;
      padding: 75px 24px 30px;
      overflow-y: auto;
      list-style: none;
      background: #fff;
      box-shadow: 5px 0 25px rgba(0, 0, 0, .2);
      transform: translateX(-100%);
      transition: transform .25s;
    }

    .mobile-panel.is-open .main-menu { transform: translateX(0); }

    .mobile-panel .main-menu > li {
      position: static;
      margin: 0;
      border-bottom: 1px solid #ececec;
    }

    .mobile-panel .main-menu > li > a,
    .mobile-panel .main-menu > li > a:hover {
      display: block;
      padding: 14px 0;
      color: #333 !important;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.4;
      text-transform: uppercase;
      text-decoration: none;
    }

    .mobile-panel .main-menu .sub-menu,
    .mobile-panel .main-menu > li:hover .sub-menu {
      display: block;
      position: static;
      margin: 0 0 10px;
      padding: 0 0 0 16px;
      list-style: none;
      background: transparent;
    }

    .mobile-panel .main-menu .sub-menu li { margin: 0; }

    .mobile-panel .main-menu .sub-menu a,
    .mobile-panel .main-menu .sub-menu a:hover {
      display: block;
      padding: 7px 0;
      color: #666 !important;
      font-size: 14px;
      font-weight: 400;
      line-height: 1.4;
      white-space: normal;
      text-decoration: none;
    }
}
.long-granit-shop .long-granit-category-description {
  margin-bottom: 30px;
}

.long-granit-category-nav {
  margin: 25px 0 40px;
  gap: 10px;
}

.long-granit-category-nav .ar_new {
  height: auto;
  margin: 0;
}

.long-granit-category-nav .ar_new a {
  display: block;
  padding: 10px 20px;
  line-height: 24px;
}

.long-granit-catalog-advantages h2 {
  margin: 30px 0 20px;
  text-align: center;
}

.long-granit-shop .product-block .prod-cont > a[data-fancybox] {
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.long-granit-shop .product-block img {
  width: auto;
  max-width: 100%;
  max-height: 280px;
  object-fit: contain;
}

.long-granit-shop .product-block .abs-info {
  top: 55px;
}

.long-granit-shop .woocommerce-pagination {
  margin: 20px 0 60px;
}

.long-granit-shop .woocommerce-pagination ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 0;
  list-style: none;
}

.long-granit-shop .woocommerce-pagination a,
.long-granit-shop .woocommerce-pagination span {
  display: block;
  min-width: 38px;
  padding: 8px;
  border-radius: 20px;
  text-align: center;
  background: #387f9c;
  color: #fff;
}

.long-granit-single-product .long-granit-product-summary {
  display: flex;
  gap: 50px;
  align-items: flex-start;
}

.long-granit-single-product .tov_img,
.long-granit-single-product .tov_text {
  width: calc(50% - 25px) !important;
  margin: 0 !important;
}

.long-granit-product-gallery-thumb {
  display: inline-block;
  width: 90px;
  margin: 5px;
}

.long-granit-product-gallery-thumb img {
  width: 90px !important;
  height: 90px;
  object-fit: cover;
}

.long-granit-product-attribute {
  text-align: center;
}

.long-granit-related-products {
  margin-top: 30px;
}

.long-granit-product-description {
  margin: 40px 0 0;
}

.long-granit-single-product .tabs-header {
  flex-wrap: wrap;
}

.long-granit-single-product .tabs-content {
  min-height: 180px;
}

.long-granit-single-product .tab-btn {
  font-family: "Open Sans", sans-serif;
}

.long-granit-other-services {
  margin-top: 60px;
}

.long-granit-other-services__items {
  justify-content: center;
  margin-top: 30px;
}

.long-granit-other-services__items .flex-natur-item {
  text-align: center;
}

.long-granit-other-services__items img {
  max-width: 100%;
}

.long-granit-shop .vybirayut-nas,
.long-granit-shop .nashi-raboty,
.long-granit-shop .materialy-v-rabote,
.long-granit-shop .otzyvy-o-nas,
.long-granit-single-product .vybirayut-nas,
.long-granit-single-product .nashi-raboty,
.long-granit-single-product .materialy-v-rabote,
.long-granit-single-product .otzyvy-o-nas {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .long-granit-single-product .long-granit-product-summary {
    display: block;
  }

  .long-granit-single-product .tov_img,
  .long-granit-single-product .tov_text {
    width: 100% !important;
  }

  .long-granit-single-product .tov_text {
    margin-top: 25px !important;
  }
}
