#sp-main-body {
  margin: 0px !important;
}

.article-details.blog--page {
  max-width: 900px;
}

@media (min-width: 992px) {
  main#sp-component:has(.article-details) {
    width: 65%;
  }

  main#sp-component:has(.article-details) + aside#sp-right {
    width: 35%;
  }
}

/* Topbar */

.topbar--wrapper {
  justify-content: space-between;
  align-items: center;
}

section#sp-topbar {
  margin-block: 15px 20px;
  position: relative;
  z-index: 1;
}

a.topbar--mail {
  color: black;
}

button.callback--btn {
  justify-content: center;
  align-items: center;
  background: #ffa92c;
  color: #fff;
  padding: 13px 25px;
  border: 1px solid #ffa92c;
  border-radius: 30px;
  display: flex;
  gap: 10px;
  transition: all 0.3s ease;
  cursor: pointer;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

button.callback--btn:hover {
  background: #ffb84d;
  color: #000;
  box-shadow: 0 8px 15px rgba(255, 169, 44, 0.3);
  transform: translateY(-2px);
}

.topbar--contacts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
  justify-content: center;
}

a.phone--outline {
  color: black !important;
  padding: 13px 25px;
  border: 1px solid #ffa92c;
  border-radius: 30px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.3s ease;
  background: transparent;
}

a.phone--outline:hover {
  background: #ffa92c;
  color: white !important;
  box-shadow: 0 8px 15px rgba(255, 169, 44, 0.3);
  transform: translateY(-2px);
}

.adress--icon img {
  width: 14px;
}

.adress--icon {
  display: flex;
  gap: 6px;
}

.adress-wrapper {
  display: flex;
  align-items: center;
  gap: 5px;
}

.logo--wrapper {
  max-width: 110px;
}

.adress--content p {
  margin-bottom: 0px;
}

.adress--content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

a.schema {
  cursor: pointer;
}

.sppb-article-info-wrap {
  margin-top: 20px;
}
body.ltr #offcanvas-toggler.offcanvas-toggler-right {
  float: left;
}
.article-list .article .article-header h1,
.article-list .article .article-header h2 {
  font-size: 20px;
  margin: 20px 0 1.25rem 0;
  font-weight: 400;
}
#sp-header {
  z-index: 90;
  background: #ffffff87;
  backdrop-filter: blur(8px);
}

#sp-header.header-sticky {
  background: #ffffffd4;
  backdrop-filter: blur(10px);
}

.min_view {
  margin-top: 20px !important;
}
/* Схема проезда - подчеркивание */
.schema {
  border-bottom: 1px dotted red;
}

/* Настройка пагинации */
.pagination-wrapper {
  flex-direction: column;
}
.pagination-counter {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
/* Убираем обводку у кнопок пагинации */
.page-link.focus,
.page-link:focus {
  box-shadow: none !important;
}

input.focus,
input:focus {
  box-shadow: none !important;
}

.btn.focus,
.btn:focus {
  box-shadow: none !important;
}

/* Галерея */

#sppb-addon-1730812548915 .sppb-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Блог */

.article-full-image {
  max-height: 650px;
  overflow: hidden;
  border-radius: 15px;
}

.article-list .article .article-intro-image,
.article-list .article .article-featured-video,
.article-list .article .article-featured-audio,
.article-list .article .article-feature-gallery {
  border-radius: 15px 15px 0 0;
}

.article-details .article-full-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.article-list .article {
  border: none !important;
}

.active a {
  font-weight: 700 !important;
}

.article-header h2 {
  margin-bottom: 0 !important;
  text-align: center;
  font-size: 18px !important;
}

.article-intro-image img {
  transition: 0.45s all;
}

.blog .article-list .article {
  border: 1px solid #f7f1f1 !important;
  transition: all 0.3s ease;
  box-shadow: 0 20px 10px rgb(178 188 191 / 10%);
  border-radius: 15px;
}

.blog .article-header h2 {
  position: unset;
  margin: 0 0 10px 0;
  font-size: 19px !important;
}

.blog .article-header a {
  padding: 0px;
  background: none;
}

.blog .article-intro-image img:hover {
  transform: none;
}

.blog .article-list .article {
  margin-bottom: 30px;
}

.blog .article-list .article:hover {
  transition: all 0.3s ease;
  box-shadow: 0 70px 60px rgb(178 188 191 / 30%);
  cursor: pointer;
  transform: translateY(-5px);
}

@media (max-width: 1300px) {
  .adress--content p {
    text-align: center;
  }
}

@media (max-width: 991px) {
  .topbar--wrapper.d-flex {
    flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .article-header h2 {
    font-size: 16px !important;
  }
  .topbar--wrapper.d-flex {
    align-items: center;
    justify-content: center;
    gap: 15px;
  }
  .logo--wrapper {
    max-width: 110px;
  }
  .adress--content p {
    font-size: 14px;
  }
  #sp-main-body {
    margin: 30px 0px 0px 0px;
  }
}

#sp-left .sp-module,
#sp-right .sp-module {
  margin-top: 0px;
  border: 1px solid #00000008;
  padding: 30px;
  border-radius: 15px;
  background: #ffffff1b;
  box-shadow: 1px 0px 20px 3px #00000011;
}

#sp-left .sp-module ul > li > a,
#sp-right .sp-module ul > li > a {
  display: block;
  padding: 7px 0;
  line-height: 25px;
  font-size: 18px;
}

#sp-left .sp-module .sp-module-title,
#sp-right .sp-module .sp-module-title {
  margin: 0px 0 15px;
}

/* Пока не понятно, что за стили */
.pagination-wrapper .pagination {
  display: flex !important;
  justify-content: center !important;
  margin-top: 50px !important;
}
.pagination > .active > a,
.pagination > .active > span {
  border-color: #ff8507;
  background-color: #ff8507;
}
.pagination > .active > a:hover,
.pagination > .active > a:focus,
.pagination > .active > span:hover,
.pagination > .active > span:focus {
  border-color: #e07e00;
  background-color: #e07e00;
}
/* Меню по центру */
@media (min-width: 991px) {
  #sp-menu {
    display: flex;
    justify-content: center;
  }
}
/* Ширина контейнера */
@media (min-width: 1200px) {
  .container {
    max-width: 1440px;
  }
}
