@charset "UTF-8";
/* Сброс дефолтной стилизации списков. */
.list-unstyled {
  padding: 0;
  margin: 0;
  list-style: none;
}
/**
 * Эффект "обложки":
 * Растягивает изображение на всю ширину и высоту родителя.
 * object-fit: cover обрезает края, сохраняя пропорции (аналог background-size: cover).
 */
.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.post-loop .entry-image-link img {
  max-height: 250px;
  border-radius: 5px;
  object-fit: cover;
}
/* Стилизация меню каталога в виджете «Боковая панель Woocommerce» */
.obm-catalog-menu {
  padding: 20px;
  background-color: rgba(181, 209, 230, 0.25);
  border-radius: 5px;
  border: 1px solid rgba(7, 113, 184, 0.5);
  box-shadow: 0 2px 8px 0 rgba(125, 122, 122, 0.1);
}
.obm-catalog-menu h2 {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 400;
}
.obm-catalog-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.obm-catalog-menu li {
  position: relative;
  padding: 10px 0;
  margin-right: 15px;
  /* Пространство для количества товаров в категории. */
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.obm-catalog-menu li .wc-block-product-categories-list-item-count {
  position: absolute;
  right: 0;
  bottom: 10px;
}
.widget.footer-widget.widget_nav_menu#nav_menu-3 .widget-title {
  font-size: 21px;
}
.obm-footer-contacts .wp-block-heading {
  margin-top: 15px;
  margin-bottom: 20px;
  font-size: 21px;
  font-weight: 400;
  color: #ffffff;
}
.widget-recent-posts {
  padding: 20px 10px;
  border-radius: 10px;
  background-color: rgba(190, 209, 230, 0.25);
  border: 1px solid rgba(190, 209, 230, 0.5);
}
.widget-recent-posts .wp-block-heading {
  margin-top: 0;
}
/* Стилизация списка товаров. */
.products .product {
  border: 1px solid #f1f1f1;
  border-radius: 5px;
  overflow: hidden;
  transition: border-color 300ms ease;
}
.products .product:hover {
  border-color: #0771b8;
}
.wpcf7-form .wpcf7-response-output {
  margin-top: 20px;
  text-align: center;
}
/* Стилизация формы контактов. */
.form-contacts > p {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0;
}
.form-contacts input[type="text"], .form-contacts input[type="email"], .form-contacts input[type="password"], .form-contacts input[type="tel"] {
  display: inline-flex;
  align-items: center;
  width: 100%;
  height: 52px;
  padding: 0 20px;
  border: 1px solid rgba(7, 113, 184, 0.2);
  border-radius: 5px;
}
.form-contacts textarea {
  display: inline-flex;
  width: 100%;
  min-height: 165px;
  padding: 10px 20px;
  border: 1px solid rgba(7, 113, 184, 0.2);
  border-radius: 5px;
}
.form-contacts input[type="submit"] {
  display: inline-flex;
  max-width: 250px;
  width: 100%;
  height: 52px;
  padding: 0 20px;
  margin-left: auto;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #ffffff;
  font-weight: 500;
  background-color: #0771b8;
  border: none;
  outline: none;
  border-radius: 5px;
  transition: background-color 300ms ease;
}
.form-contacts input[type="submit"]:hover {
  background-color: #141b33;
}
.form-contacts .wpcf7-acceptance input[type="checkbox"] {
  width: 0;
  height: 0;
  margin: 0;
  visibility: hidden;
}
.form-contacts .wpcf7-acceptance a {
  color: #0771b8;
}
.form-contacts .wpcf7-acceptance label {
  display: flex;
  gap: 5px;
  cursor: pointer;
}
.form-contacts .wpcf7-acceptance label::before {
  content: "";
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 16px;
  min-height: 16px;
  max-width: 16px;
  max-height: 16px;
  font-size: 12px;
  color: #ffffff;
  background-color: #9A9DA2;
  border-radius: 5px;
  transform: translateY(2px);
}
.form-contacts .wpcf7-acceptance:has(input[type="checkbox"]:checked) label::before {
  content: "✔";
}
.brz-container:has(.modal-service) .brz-row__container.modal-service {
  position: relative;
}
.brz-container:has(.modal-service) .brz-row--inner {
  position: relative;
}
.brz-container:has(.modal-service) .brz-row--inner .modal-service__form {
  position: relative;
  z-index: 1;
}
.brz-container:has(.modal-service) .brz-row--inner .modal-service__contacts {
  z-index: 2;
  transform: translateX(-50px) translateY(50px);
}
.site-header .site-header-inner {
  padding: 15px 0;
}
/* Стилизация главного меню. */
.main-navigation.main-navigation {
  /* Расширяем ссылки в выпадающем меню. */
}
.main-navigation.main-navigation .primary-navigation > .menu-item .sub-menu {
  min-width: 250px;
  padding: 10px 0;
}
.main-navigation.main-navigation .primary-navigation > .menu-item .sub-menu a {
  padding: 10px 20px;
}
/* Сброс отступов основного контейнера на главной странице. */
body.home .site-content {
  margin: 0;
}
/* Не используем отступ снизу для страниц сделанных через конструктор Brezy. */
body.brz .site-content {
  margin-bottom: 0;
}
body.brz .site-footer {
  margin-top: 0;
}
/* Стилизация меню нижнего колонтитула. */
#menu-footer-widget-menu .menu-item {
  position: relative;
  padding: 2.5px 0 2.5px 20px;
  line-height: 1.4;
}
#menu-footer-widget-menu .menu-item a {
  line-height: 1.4;
}
#menu-footer-widget-menu .menu-item::before {
  content: "—";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.recent-posts[data-type="default"] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.recent-posts[data-type="default"] .post-preview {
  display: flex;
  flex-direction: column;
  padding: 5px 15px;
  margin: 5px;
  border: 1px solid transparent;
  border-radius: 5px;
  transition: border-color 300ms ease;
}
.recent-posts[data-type="default"] .post-preview:hover {
  border-color: #0771b8;
}
.recent-posts[data-type="default"] .thumbnail {
  display: block;
  width: 100%;
  height: 165px;
  margin: 10px 0;
  border-radius: 5px;
}
.recent-posts[data-type="default"] .name {
  margin: 10px 0;
  font-size: 14px;
  text-align: center;
  line-height: 1.6;
}
.recent-posts[data-type="news"] {
  display: grid;
  grid-template-columns: 1fr;
}
.recent-posts[data-type="news"] .post-preview {
  margin-bottom: 5px;
  padding: 10px;
  border-bottom: 1px solid #ffffff;
}
.recent-posts[data-type="news"] .post-preview a {
  display: grid;
  grid-template-columns: 90px 1fr;
  grid-template-areas: "thumb name";
  grid-column-gap: 15px;
}
.recent-posts[data-type="news"] .post-preview:first-of-type {
  padding-top: 0;
}
.recent-posts[data-type="news"] .post-preview:last-of-type {
  margin-bottom: 0;
  border-bottom: none;
}
.recent-posts[data-type="news"] .thumbnail {
  grid-area: thumb;
  height: 90px;
  border-radius: 5px;
}
.recent-posts[data-type="news"] .text-container {
  grid-area: name;
}
.recent-posts[data-type="news"] .name {
  font-size: 14px;
  line-height: 1.6;
}
.recent-posts[data-type="news"] .date-published {
  margin: 10px 0;
  font-size: 12px;
  color: #0771b8;
  font-weight: 500;
  line-height: 1.6;
}
/* Стилизация шорткода с нашими работами и новостями с акциями. */
.obm-latest-content {
  display: grid;
  grid-template-columns: 1fr 350px;
  grid-column-gap: 30px;
}
.obm-latest-content h2 {
  margin-top: 0;
}
.obm-latest-content h2 span {
  color: #ffffff;
}
.obm-latest-content .more-link-container {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}
.obm-latest-content .more-link-container a {
  text-decoration: underline;
}
.obm-latest-content .column:has(.recent-objects) .more-link-container a {
  color: #ffffff;
}
.obm-latest-content .column:has(.recent-news) h2 {
  text-transform: uppercase;
}
.obm-latest-content .recent-objects .post-preview {
  background-color: #ffffff;
}
.obm-latest-content .recent-news {
  padding: 20px;
  background-color: #ffffff;
  border-radius: 5px;
}
@media (max-width: 768px) {
  .obm-latest-content {
    grid-template-columns: 1fr;
    grid-row-gap: 30px;
  }
}
.obm-popular-products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-gap: 30px;
}
.obm-popular-products .product-item {
  background-color: #ffffff;
  border-radius: 5px;
}
.obm-popular-products .product-item a {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 15px;
}
.obm-popular-products .product-item .thumbnail {
  width: 100%;
  height: 200px;
}
.obm-popular-products .product-item .price {
  font-size: 18px;
  text-align: center;
  color: #0771b8;
  font-weight: 500;
}
.obm-popular-products .product-item .name {
  flex-grow: 1;
  text-align: center;
}
.obm-popular-products .product-item .btn-more {
  display: inline-flex;
  width: 100%;
  height: 52px;
  padding: 0 20px;
  margin-left: auto;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #ffffff;
  font-weight: 500;
  background-color: #142850;
  border: none;
  outline: none;
  border-radius: 5px;
  transition: background-color 300ms ease;
}
.obm-popular-products .product-item .btn-more:hover {
  background-color: #2851a2;
}
