/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
.ast-desktop .ast-builder-menu-1 .menu-item .sub-menu .menu-link,#ast-hf-menu-1-mobile .menu-item .menu-link {
    color: var(--ast-global-color-3);
}
.ast-desktop .ast-builder-menu-1 .menu-item .sub-menu .menu-link:hover,#ast-hf-menu-1-mobile .menu-item .menu-link:hover {
    color: var(--ast-global-color-2);
}
.ast-header-break-point .main-header-menu {
    background-color: #F4F7F9;
}
.main-header-bar .main-header-bar-navigation .sub-menu {
    line-height: 1.2;
}
.main-header-menu .sub-menu .menu-link {
    padding: .5em 1em;
}

.header-contacts a {
    /*font-size: 21px;
    line-height: 18px;*/
	font-size: 17px;
    line-height: 1.2;
}
.services-carousel .swiper-slide-image {
    min-height: 350px;
    max-height: 350px;
	max-width: 262px;
    object-fit: cover;
}
.ast-logo-title-inline .ast-site-identity {
    padding: .3em 0;
}
.ast-logo-title-inline .site-logo-img {
    padding-right: 0.5em;
}
.ast-primary-header-bar {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
@media (min-width: 922px) and (max-width: 970px) {
.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
    line-height: 35px;
}
}
@media (min-width: 922px) {
#ast-hf-menu-1 a{
	/*color:#fff;*/
}
#ast-hf-menu-1 a:hover{
	/*color:#f1f3f4;*/
}
}
.ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single {
    /*padding: 2em 6.67em;*/
}
.ast-builder-grid-row.ast-grid-center-col-layout {
    grid-template-columns: 1fr auto 2fr;
}
.carousel-scroll,#statistic-table{
    overflow-x: auto;
    display: flex;
    flex-direction: row;
}
#statistic-table::-webkit-scrollbar {
  width: 2px;
  background-color: #f9f9fd;
}

#statistic-table::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background-color: #F4DD00;
}

#statistic-table::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.2);
  border-radius: 2px;
  background-color: #f9f9fd;
}
#statistic-table .item{
	min-width: 648px;
}
.order-form .allowed-files {
    color: #fff;
}

.header_fixed {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background: rgb(0 0 0 / 65%);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9999;
  /*border: 1px solid rgba(255, 255, 255, 0.18);*/
}

.header_fixed .ast-primary-header .ast-builder-grid-row {
    border-top: 0!important;
}
.fixed_on .main-header-bar-navigation.toggle-on {
    position: fixed;
    top: 68px;
}

#order-form .wpcf7 form.sent .wpcf7-response-output {
    border-color: #fff;
	color:#fff!important;
}
#order-form .wpcf7 form.invalid .wpcf7-response-output, #order-form .wpcf7 form.unaccepted .wpcf7-response-output, #order-form .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #00d5ff;
    color: #fff;
}
#order-form .wpcf7-spinner {
    display: initial;
    margin: 0;
}
#order-form .wpcf7-acceptance label {
    display: flex;
}
#order-form .wpcf7-acceptance .wpcf7-list-item,#modal .wpcf7-acceptance .wpcf7-list-item{
	margin: 0;
}
#order-form .wpcf7-not-valid-tip {
    text-shadow: 1px 1px #e6e7e966;
}
#order-form .wpcf7 input[type=checkbox], #order-form .wpcf7 input[type=radio] {;
    height: 1em;
    margin: 0px 4px 0 0;
    width: 1em;
    min-width: 1em;
}
.form_wa {
    margin-top: 20px;
}
.wa_link {
    margin-bottom: 10px;
    display: inherit;
	text-align: center;
}
.form-bottom-row {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.polycy-text {
	text-align: left; 
	color: #000; 
	font-size: 14px;
	font-weight: 300; 
	line-height: 1;
	margin-bottom: 20px;
}
.polycy-text a {
    text-decoration: underline !important;
    color: #000;
}
.privacy-text{
	font-size: 13px;
	font-weight: 300;
	line-height: 1.3;
	text-align:center;
}
.form_btn input.wpcf7-submit {
    width: 100%;
}
.form_header_title {
    font-size: 26px;	
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    font-weight: 600;
    color: #000000;
    margin-bottom: 10px;
}
.form_header_desc {
    text-align: center;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 20px;
}
#order-form{max-width:590px}
.form_imput label {
    color: #fff;
    display: block;
    padding-left: 30px;
    margin-bottom: 2px;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.35;
}
.form_imput input,.form_imput textarea {
    padding: 0 18px;
    -webkit-appearance: none;
    color: #000000;
    background-color: #f0f0f0;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    margin-bottom: 20px;
    outline: none;
}
.form_imput input {
    height: 50px;
    line-height: 1.33;
}
#modal_form textarea, #modal_form2 textarea {
    margin-bottom: 0;
}
.form_imput input:focus {
    outline: none;
    box-shadow: 0 10px 40px 0 rgba(37, 22, 14, 0.2), 0 0 0 3px #FFD413;
}
.input-text.error,.form_imput input.wpcf7-not-valid {
    box-shadow: 0 10px 40px 0 rgba(37, 22, 14, 0.2), 0 0 0 3px #f37979;
    background: #fde7e7;
}
.form_btn input.wpcf7-submit {
    width: 100%;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    vertical-align: top;
    position: relative;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background: #808080;
    color: #ffffff;
    border-radius: 5px;
    -webkit-tap-highlight-color: transparent;
    height: 50px;
    padding: 10px 30px;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
}
.form_btn input.wpcf7-submit:hover {
    background: var(--ast-global-color-3);
}
#sets-slider .swiper-button-next, #sets-slider .swiper-button-prev {
    height: 24px!important;
    width: 16px!important;
}
#gallery-works img.swiper-slide-image {
    aspect-ratio: 4 / 3;
    width: 100%;
    object-fit: cover;
    object-position: center center;
}
@media (max-width: 1024px) {
.header-contacts a
 {
    font-size: 15px;
    font-weight: 700;
}
}
@media (max-width: 821px) {
.header-contacts a {
	font-size: 20px;
    font-weight: 600;
}
}
@media (max-width: 767px) {
.gswpts_tables_content {
    overflow-x: auto;
}
.ast-builder-grid-row.ast-grid-center-col-layout {
   grid-template-columns: 1fr auto 50px;
}
#ast-hf-menu-1 a{
	color:#333!important;
}
#ast-hf-menu-1 a:hover{
	color:#101010!important;
}
}

@media (max-width: 640px) {
.header-contacts.tel{
	margin-bottom: 0;
}
.header-contacts {
    line-height: 1.5;
}
.header-contacts a {
	font-size: 20px;
    font-weight: 600;
}
}
@media (max-width: 515px) {
.header-contacts a {
	font-size: 14px;
}
#ast-hf-menu-1 a{
	color:#333!important;
}
#ast-hf-menu-1 a:hover{
	color:#101010!important;
}
#statistic-table .item{
	min-width: 406px;
}
.text-shadow .elementor-icon-list-text {
    text-shadow: 2px 2px 1px #000000;
}
.ast-builder-grid-row.ast-grid-center-col-layout {
        grid-column-gap: 15px;
    }
}
@media (max-width: 430px) {
.header-contacts a {
	font-size: 12px;
}
    header .custom-logo-link img, .ast-header-break-point .site-branding img, .ast-header-break-point .custom-logo-link img {
        max-width: 140px;
        width: 140px;
    }
}
.form_imput textarea {
    padding: .75em;
}
.footer_desc {
    line-height: 1.2;
    margin-top: 15px;
}
.agree{
	display: none !important;
}
span[data-name="agree"] {
    height: 0;
}
.form-bottom-row label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 5px;
}
.wpcf7 form>div, .wpcf7 form>p {
    margin-bottom: 0;
}
.form_btn .wpcf7-spinner {
    position: absolute;
    top: 12px;
    right: -10px;
}
.services-img .elementor-image-box-img{
	box-shadow: 0px 10px 30px 10px rgba(30, 111, 183, 0.1);
}
.services-title .elementor-heading-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: var(--e-global-color-astglobalcolor0);
    border-radius: 2px;
}
.advantages .elementor-image-box-wrapper .elementor-image-box-img {
    background-color: var(--e-global-color-astglobalcolor1);
    border-radius: 8px;
    padding: 15px;
    box-shadow: 5px 4px 10px 0px rgb(11 79 138 / 30%);
}
.services-img .elementor-image-box-im {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transition: all 0.4s ease-out;
}
.services-img .elementor-image-box-img:hover {
	transform: scale(1.03);
	box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.our-service .elementor-image-gallery .gallery-item img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

/* Сброс счетчика для всего раздела */
.payment-methods {
  counter-reset: payment-counter;
}

/* Настройка счетчика для каждого блока */
.payment-method {
  position: relative;
  padding-left: 20px;
  margin: 30px 0;
  border-left: 4px solid #2563eb;
  counter-increment: payment-counter; /* Инкрементируем счетчик здесь */
}

.payment-method::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, #2563eb, #1d4ed8);
}

/* Автоматическая нумерация */
.payment-method h4::before {
  content: counter(payment-counter); /* Только выводим значение, не инкрементируем! */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #e0f2fe;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0ea5e9;
  font-weight: bold;
  font-size: 18px;
}

/* Стили для заголовка */
.payment-method h4 {
  position: relative;
  padding-left: 40px;
  font-size: 22px;
  color: #1e293b;
  margin: 10px 0 16px 0;
}

/* Убираем стандартные маркеры списков */
.payment-method ul{
  margin: 0 0 1.5em 0.1em;
  list-style: none;
}
.services-list ul {
    margin: 0 0 0 0.1em;
    list-style: none;
}
.payment-method li,.services-list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
  color: #475569;
}

.payment-method li::before,.services-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #0ea5e9;
  font-weight: bold;
  font-size: 18px;
}
.payment-method {
  transition: all 0.3s ease;
}

.payment-method:hover {
  border-left: 4px solid #1d4ed8;
  transform: translateX(3px);
}
.ast-blog-layout-4-grid .ast-article-inner {
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}
.read-more a {
	padding: 10px 15px;
    background: var(--e-global-color-astglobalcolor1);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(30, 111, 183, 0.2);
    transition: all 0.25s ease;
    color: #fff;
    width: 100%;
    text-align: center;
    border-radius: 30px;
}

.read-more a:hover {
  /* При наведении — более глубокий синий, усиленная внутренняя тень */
  background: #0B4F8A;
  box-shadow: 
    inset 0 3px 6px rgba(0,0,0,0.3),
    0 2px 4px rgba(11, 79, 138, 0.3);
  border-color: rgba(255,255,255,0.3);
  transform: translateY(1px);
  color: #ffffff;
}
.ast-blog-layout-4-grid .ast-article-inner .wp-post-image {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.ast-excerpt-container.ast-blog-single-element p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.advantages.pares .elementor-image-box-wrapper .elementor-image-box-img {
    background-color: var(--e-global-color-astglobalcolor1);
    border-radius: 50%;
    padding: 20px;
}
.elementor-widget-text-editor p {
    margin-bottom: 1em;
}
.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}
h2.tablepress-table-name {
    font-size: 1.2rem;
    font-weight: 600;
}
.tablepress tr td, .tablepress tr th {
    line-height: 1.2;
}
/* Каждый пункт списка */
.elementor-widget.services-icons .elementor-icon-list-item{
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 20px!important;
  margin-bottom: 15px;
  background: #f9ffff;
  border-radius: 8px;
  border-left: 4px solid var(--e-global-color-astglobalcolor0);;
  transition: all 0.3s ease;
}

/* Hover эффект */
.services-icons .elementor-icon-list-item:hover {
  background: #f1f5f9;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15);
  transform: translateX(5px);
}

/* Иконка */
.services-icons .elementor-icon-list-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #dbeafe;
  border-radius: 50%;
  margin-top: 2px;
}

/* SVG иконка внутри */
.services-icons .elementor-icon-list-icon svg {
  
  fill: #2563eb;
}

/* Текст */
.services-icons .elementor-icon-list-text {
  color: #334155;
  line-height: 1.6;
  font-size: 15px;
  flex: 1;
}

/* Последний элемент без отступа */
.services-icons .elementor-icon-list-item:last-child {
  margin-bottom: 0;
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
  .services-icons .elementor-icon-list-item {
    padding: 15px!important;
    gap: 12px;
  }
  
  .services-icons .elementor-icon-list-icon {
    width: 35px;
    height: 35px;
  }
  
  .services-icons .elementor-icon-list-icon svg {
    width: 18px;
    height: 18px;
  }
  
  .services-icons .elementor-icon-list-text {
    font-size: 14px;
  }
}

/* ================================
   ОСНОВНЫЕ СТИЛИ ТАБЛИЦЫ
   ================================ */

/* Основная таблица */
table.tablepress,
.elementor-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 30px 0;
  font-size: 15px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}

/* Шапка таблицы */
table.tablepress thead th,
table.tablepress th,
.elementor-table thead th {
  background: linear-gradient(135deg, #155a8a 0%, #1e6fb7 100%);
  color: #ffffff;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 18px 15px;
  text-align: left;
  border: none;
  white-space: nowrap;
}

/* Первая колонка (наименование) */
table.tablepress thead th:first-child,
table.tablepress th:first-child {
  padding-left: 25px;
  width: 40%;
}

/* Остальные колонки */
table.tablepress thead th:not(:first-child),
table.tablepress th:not(:first-child) {
  text-align: center;
  min-width: 120px;
}

/* Тело таблицы - строки */
table.tablepress tbody tr,
.elementor-table tbody tr {
  transition: all 0.3s ease;
  background: #ffffff;
}

/* Чередование строк (зебра) */
table.tablepress tbody tr:nth-child(even),
.elementor-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

/* Hover эффект на строку */
table.tablepress tbody tr:hover,
.elementor-table tbody tr:hover {
  background: #eff6ff;
  transform: scale(1.002);
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
  position: relative;
  z-index: 1;
}

/* Ячейки таблицы */
table.tablepress td,
.elementor-table td {
  padding: 16px 15px;
  border-bottom: 1px solid #e2e8f0;
  color: #1e6fb7;
  vertical-align: middle;
}

/* Первая колонка (наименование услуги) */
table.tablepress tbody td:first-child,
.elementor-table tbody td:first-child {
  font-weight: 500;
  color: #1e293b;
  padding-left: 25px;
  border-left: 3px solid transparent;
  border-right: 1px solid #e2e8f0;
  transition: border-left-color 0.3s;
}

/* Hover на первую колонку */
table.tablepress tbody tr:hover td:first-child,
.elementor-table tbody tr:hover td:first-child {
  border-left-color: #1e6fb7;
  color: #1e6fb7;
}

/* Остальные ячейки (цены) */
table.tablepress tbody td:not(:first-child),
.elementor-table tbody td:not(:first-child) {
  text-align: center;
  font-weight: 600;
  color: #334155;
  background: rgba(248, 250, 252, 0.5);
}

/* Hover на ячейки с ценами */
table.tablepress tbody tr:hover td:not(:first-child),
.elementor-table tbody tr:hover td:not(:first-child) {
  background: rgba(239, 246, 255, 0.8);
  color: #1e6fb7;
}

/* Последняя строка без границы */
table.tablepress tbody tr:last-child td,
.elementor-table tbody tr:last-child td {
  border-bottom: none;
}

/* Последняя ячейка в строке */
table.tablepress tbody tr td:last-child,
.elementor-table tbody tr td:last-child {
  border-right: none;
}

/* Разделитель между секциями (если есть) */
table.tablepress tbody tr.section-divider,
.elementor-table tbody tr.section-divider {
  background: #e0f2fe;
}

table.tablepress tbody tr.section-divider td,
.elementor-table tbody tr.section-divider td {
  padding: 12px 15px;
  font-weight: 600;
  color: #1e40af;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
  border-bottom: 2px solid #bae6fd;
}

/* ================================
   АДАПТИВНОСТЬ ДЛЯ ПЛАНШЕТОВ (768px)
   ================================ */

@media (max-width: 768px) {
  table.tablepress,
  .elementor-table {
    font-size: 13px;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  }
  
  table.tablepress thead th,
  .elementor-table thead th {
    font-size: 11px;
    padding: 12px 8px;
  }
  
  table.tablepress tbody td,
  .elementor-table tbody td {
    padding: 12px 8px;
    font-size: 13px;
  }
  
  table.tablepress tbody td:first-child,
  .elementor-table tbody td:first-child {
    padding-left: 12px;
  }
}

/* ================================
   АДАПТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ (480px)
   ================================ */

@media (max-width: 480px) {
  /* Контейнер с горизонтальным скроллом */
  .tablepress-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
    margin: 20px 0;
  }
  
  /* Стили для скроллбара */
  .tablepress-wrapper::-webkit-scrollbar {
    height: 8px;
  }
  
  .tablepress-wrapper::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 4px;
  }
  
  .tablepress-wrapper::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
  }
  
  .tablepress-wrapper::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
  }
  
  /* Таблица внутри wrapper */
  .tablepress-wrapper table.tablepress {
    min-width: 700px;
    margin: 0;
    border-radius: 8px;
    width: 100%;
  }
  
  .tablepress-wrapper table.tablepress thead th {
    font-size: 12px;
    padding: 14px 10px;
  }
  
  .tablepress-wrapper table.tablepress tbody td {
    padding: 14px 10px;
    font-size: 14px;
  }
  
  .tablepress-wrapper table.tablepress tbody td:first-child {
    padding-left: 15px;
  }
}

@media print {
  table.tablepress,
  .elementor-table {
    box-shadow: none;
    border-radius: 0;
  }
  
  table.tablepress thead th,
  .elementor-table thead th {
    background: #2563eb !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  
  table.tablepress tbody tr:nth-child(even),
  .elementor-table tbody tr:nth-child(even) {
    background: #f8fafc !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

.map.container-fluid {
	height: 450px;
	padding: 0;
	background-image: url(/wp-content/uploads/2026/02/map_bg.webp);
	background-position: center center;
	background-size: cover;
}
.map.container-fluid.contacts-map {
	height: 400px;
}
.clearfy-cookie {
    border-radius: 0 !important;
}