/*   
Theme Name: yurkonsalt24
Version: 1.0.0
*/




/* ========================================================
  common styles
   ======================================================== */

aside, nav, footer, header, section, main {
	display: block;
}
ul, ul li {
	list-style: none;
}
img {
	vertical-align: top;
}
img, svg {
	max-width: 100%;
	height: auto;
}
address {
  font-style: normal;
}
* {
	padding: 0px;
	margin: 0px;
	border: none;
}
html {
    margin-top: 0!important;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
:focus,
:active {
outline: none;
}
a:focus,
a:active {
	outline: none;
}

.mark, mark {
  padding: 2px 5px;
    background-color: #e5e5e5ed;
    margin: 0px 0px 0px 3px;
}

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px #f4f5f9 inset !important;
    -webkit-text-fill-color: #000 !important;
}

body{
  overflow-x: hidden;
  overflow-y: visible !important;
  margin: 0;
     background-color: #fff;
  font-size: 16px;
  font-weight: 400;
   font-family: var(--font-main);
  color: var(--color-text-main);
  line-height: 1.5715;
  padding-right: 0!important;
  position: relative;
 
}


@media (min-width: 1200px){
.container {
    max-width: 1440px;
    width: 96%;
}
}



section{
  padding: 60px 0px;
}
.compensate-for-scrollbar {
    margin-right: 0px!important;
}


main{
  margin-top:0px;
}

.page-header{
  margin-bottom: 15px;
}

.section_dark {
    background-color: var(--color-bg-main);
    padding: 80px 0;
  margin: 30px 0px;
}

 .mobile{
    display: none;
  }
.tablet{
    display: none;
  }
  .desktop{
    display: block;
  }

/* ========================================================
  typo
   ======================================================== */

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: .5rem;
    line-height: 1.1;
    color: #000;
  position: relative;
   font-family: var(--font-secondary), sans-serif;
}
h1 {
    font-style: normal;
    line-height: 120%;
    margin-bottom: 0px;
    font-size: 32px;
    font-weight: 500;
    
}


h2 {
   font-weight: 500;
    font-style: normal;
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: 0px;
    margin-bottom: 30px;
}
h3 {
   font-style: normal;
    font-weight: 500;
    font-size: 26px;
    line-height: 120%;
    margin-bottom: 30px;
}
h4 {
 font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    margin-bottom: 30px;
}
h5 {
 font-style: normal;
    font-weight: 500;
    font-size: 22px;
    line-height: 120%;
    margin-bottom: 30px;
}
h6 {
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 120%;
}
.hentry h2, .hentry h3, .hentry h4, .hentry h5, .hentry h6 {
      padding: 0px 0px 10px 0px;
    margin: 0!important;
   font-family: var(--font-secondary), sans-serif;
  
}

.single h1{
  color: var(--color-h1-hentry);
}

.hentry h2 {
   font-style: normal;
    font-size: 24px;
    line-height: 140%;
    font-weight: 600;
  color: var(--color-h2-hentry);
}
.hentry h3 {
   font-style: normal;
    font-size: 22px;
    font-weight: 500;
    line-height: 140%;
  color: var(--color-h3-hentry);
}
.hentry h4 {
 font-style: normal;
    font-size: 20px;
    line-height: 120%;
}
.hentry h5 {
 font-style: normal;
    font-size: 20px;
    line-height: 120%;
   
}
.hentry h6 {
    font-style: normal;
    font-size: 18px;
    line-height: 120%;
}



blockquote p{
}
blockquote {
border-left: 0;
    margin: 15px 0px;
    padding: 17px 17px 5px 50px;
    background: rgba(37, 99, 235, 0.1);
   border-radius: var(--radius-elements);
    position: relative;
}
blockquote:before {
    content: '';
    position: absolute;
    background: url(./img/quote.svg);
    width: 20px;
    height: 15px;
    left: 17px;
    top: 50%;
    margin-top: -8px;
}

b, strong {
    font-weight: 700;
}
p{
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 155%;
  color: var(--color-text-main);
}
.hentry p, .hentry{
    font-size: 18px;
    line-height: 1.4;
   font-family: var(--font-secondary), sans-serif;
  
}
.hentry p{
  font-size: 20px;
  font-weight: 400;
  color: var(--color-text-article);
}

a {
   color: var(--color-text-main);
   text-decoration: none;
   transition: all 0.2s;
}
a:hover, a:active, a:focus {
   color: var(--color-text-main);
 text-decoration: none;
  transition: all 0.2s;
}

/*---------Table----------*/

.wp-block-table td, .wp-block-table th {
     border: 1px solid #E0E4EB;
    padding: 0.5em;
}
.wp-block-table table {
    border-collapse: inherit;
    width: 100%;
}
.wp-block-table thead {
    border-bottom: 0;
}
.wp-block-table td, .wp-block-table th {
      border: 1px solid #E0E4EB;
    padding: 0.5em;
}
.table td, .table th {
    border-top: 0;
}

table {
    width: 100%;
    border-collapse: collapse;
}

table th,
table td {
    border: 1px solid #E3E3E3;
    padding: 10px;
    text-align: left;
}

table td {
    font-size: 14px;
    font-weight: 400;
    color: #4B5563;
}

table thead th,
table thead td,
table:not(:has(thead)) tr:first-child th,
table:not(:has(thead)) tr:first-child td {
    background: none;
    font-size: 14px;
    font-weight: 500;
    color: initial;
}


/*--------------lists-----------*/

.hentry ul {
    list-style: none;
    padding-left: 25px !important;
    margin-bottom: 15px;
    margin-top: 5px;
    margin-left: 0px;
}
.hentry ul li {
    position: relative;
    padding: 0px 0 0px 18px;
    font-size: 16px;
    line-height: 2;
    font-style: normal;
    font-weight: 400;
    color: var(--color-text-article);
}
.hentry ul li:before {
      content: "\E184";
    font-family: 'Phosphor';
    position: absolute;
    left: -15px;
    top: 0;
    line-height: 1.4;
    font-size: 22px;
    color: var(--color-accent);
    border-radius: 0;
}
.hentry ol  {
      list-style: none;
    padding-left: 6px !important;
    margin-bottom: 15px;
    margin-top: 5px;
    margin-left: 0px;
    counter-reset: item;
}
.hentry ol li {
    display: table;
    position: relative;
    padding: 0px 0 0px 25px;
    font-size: 16px;
    line-height: 2;
    font-style: normal;
    font-weight: 400;
       color: var(--color-text-article);
}
.hentry ol li:before {
   content: counter(item) ".";
    counter-increment: item;
    position: absolute;
    left: 0;
    top: 0px;
    line-height: 18px;
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    text-align: center;
    height: 20px;
    padding-top: 0px;
    padding-left: 3px;
    line-height: 2;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    font-weight: 600;
    margin-right: 8px;
    font-size: 17px;
    color: var(--color-accent);
}


/* -------------WordPress Core-------------- */

.alignnone {
    margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}
.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}
a img.alignnone {
    margin: 5px 20px 20px 0;
}
a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}
.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}
.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}
.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}
.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

@media (min-width: 979px) { 

  
  ul li.dropdown:hover > ul.dropdown-menu {
		display: block;
	}
  
	.comment-list .children {
		padding: 0;
		margin-left: 74px;
		padding-bottom: 15px;
	}
	.comment-list .media {
		margin-top: 0;
	}
}


/* ========================================================
  header
   ======================================================== */


.info-socials {
    display: flex;
    gap: 8px;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    color: #ffffff;
    transition: transform 0.2s ease, opacity 0.2s ease;
    text-decoration: none;
    position: relative;
}

.social-link:hover {
    transform: translateY(0px);
    opacity: 0.9;
}

.social-link svg {
    display: block;
    width: 22px;
    height: 22px;
  
}
.info-socials svg path{
  fill: #fff;
}
.promo-socials-right-grid svg path{
  fill: #fff;
}
img.img-svg {
    opacity: 0;
    transition: opacity 0.2s ease;
}

header .social-link {
    background: #3f3c38 !important;
    border: 1px solid #3f3c38;
    border-radius: 5px;
    width: 50px;
    height: 50px;
}

.badge-notification {
    position: absolute;
    top: -4px;
    right: -4px;
    background-color: var(--color-danger);
    color: white;
    font-size: 9px;
    font-weight: bold;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fff;
}

.btn-consultation {
    background-color: var(--color-accent);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 14px 24px;
    border-radius: var(--radius-elements);
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
}

.btn-consultation:hover {
    background-color: var(--color-accent-hover);
}

.search_icon {
    display: flex;
    width: 58px;
    height: 45px;
    margin-top: 0;
    margin-right: 0px;
    justify-content: center;
    align-items: center;
    background: #e5e5e5;
    border-radius: var(--radius-elements);
    border: 1.1px solid #e5e5e5;
    transition: all 0.6s ease;
    position: relative;
}
.theme-dark .search_icon {
   background: #fbfbfb;
    border: 1.1px solid #ffffff75;
 
}


.search_icon .ph {
  font-size: 20px;
  color: var(--color-text-main);
  transition: opacity 0.4s ease, transform 0.4s ease;
  position: absolute;
}



.search-wrapper {
  display: flex;
  align-items: center;
  position: relative;
  height: 58px;
  border: 1.1px solid transparent;
  border-radius: var(--radius-elements);
  transition: all 0.6s ease;
      background-color: #fff;
}


.search-wrapper.is-active {
 
}

.search-wrapper.is-active .search_icon {
  border-color: transparent;
}

.theme-dark .search-wrapper.is-active {
    border-color: #ffffff75;
}

.search-container-form {
 max-width: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.6s ease;
    display: flex;
    align-items: center;
    position: absolute;
    right: 0;
}

.search-input {
     border: 0px solid #dcdcdc;
    border-radius: 0px;
    padding: 8px 12px;
    font-size: 14px;
    width: 250px;
    outline: none;
    background: transparent;
    background: #e5e5e5;
    margin-right: 43px;
    height: 47px;
}

.search-wrapper.is-active .search-container-form {
  max-width: 400px; 
  opacity: 1;
}

.search_icon .icon-close {
  opacity: 0;
  transform: rotate(-90deg);
}
.search_icon .icon-search {
  opacity: 1;
  transform: rotate(0deg);
}

.search-wrapper.is-active .icon-search {
  opacity: 0;
  transform: rotate(90deg);
}
.search-wrapper.is-active .icon-close {
  opacity: 1;
  transform: rotate(0deg);
}





/*---------nav-------------*/

.menu_bar{
        display: flex;
   
    align-items: center;
    justify-content: space-between;
  border: 1px solid #00000038;
    margin-top: 20px;
     border-radius: var(--radius-elements);
    padding: 0px 0px 0px 20px;
}

.theme-dark .menu_bar{
     border: 1px solid #cccccc21;
}

.navbar-nav {
display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: column;
    flex-direction: row;
    padding-left: 0px;
    padding-right: 0px;
    margin-bottom: 0;
    list-style: none;
           justify-content: center;
    width: 100%;
    gap: 32px;
    flex-wrap: wrap;
     
     
}
b.caret{
  line-height: 0px;
  padding-left: 10px;
  color: #fff;
}
b.caret i {
 transition: all 0.3s;
  color: #fff;
}
   .navbar {
      padding: 0;
}
.navbar-nav li:hover b.caret i{
  transform: rotate(180deg);
  transition: all 0.3s;
}
.navbar-nav li:hover + b.caret i{
  transform: rotate(180deg);
   transition: all 0.3s;
}
.navbar-nav li {
    transition: all 0.3s;
}
.navbar-nav>li>a {
 padding-top: 20px;
    padding-bottom: 20px;
    font-weight: 300;
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-right: 0;
    display: flex;
    position: relative;
    font-style: normal;
    font-size: 16px;
    line-height: 1;
     color: var(--color-text-main);
    align-content: center;
    align-items: center;
    border-radius: 0;
    gap: 5px;
  
}


.navbar-nav>li>a:hover, .navbar-nav>li>a:focus{
   text-decoration: none;
      color: var(--color-accent-hover);
}

li.current-menu-item a{
   
}

/*li.current-post-ancestor a,
li.current-post-ancestor a:hover, 
li.current-post-ancestor a:focus{
   text-decoration: none;
        color: #ffe390;
}*/

.hero-section.theme-dark .navbar-nav>li>a{
    color: #ffffff;
}

.dropdown-menu {
       width: auto;
    top: 100%;
    left: inherit;
    display: none;
    float: left;
    padding: 20px 15px 10px 10px;
    margin: 0;
    color: #323232;
    text-align: left;
    list-style: none;
    transition: all 0.3s;
    box-shadow: var(--shadow-main);
    border: 0;
    border-radius: 0px 0px 20px 20px;
    background: var(--color-bg-main);;
}
.dropdown-menu li:hover {
    transition: all 0.3s;
    color: var(--color-text-main);
  background: transparent;
}
.dropdown-menu li a {
  transition: all 0.3s;
    color: #000;
    font-size: 15px;
    padding: 0px 20px 10px 20px;
    border-radius: 0px;
    width: 100%;
    display: block;
    font-weight: 400;
}
.dropdown-menu li a:hover {
  text-decoration: none!important;
   color: var(--color-text-main);
    opacity:1;
  background: transparent;
}
.dropdown-menu li:hover a{
  text-decoration: none!important;
  color: var(--color-text-main);
  background: transparent;
}
.dropdown-menu  li {
    transition: all 0.3s;
  padding: 0px;
  border-radius: 0px;
}
.dropdown-menu  li.current-menu-item a{
       text-decoration: none;
  color: var(--color-text-main);
    box-shadow: none;
  background: transparent;
}
li.current-menu-item .dropdown-menu li a {
       text-decoration: none;
  color: var(--color-text-main);
    box-shadow: none;
  background: transparent;
}

.dropdown-menu  li.current-menu-item a:hover{
       text-decoration: none;
     color: var(--color-text-main);
  background: transparent;
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--color-text-main);
    text-decoration: none;
    background-color: #0d6efd00;
}

.dropdown-toggle::after {
    content: '\e136';
    font-family: 'Phosphor';
  font-size: 12px;
  color: #000;
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
}

@media (max-width: 1023px) {
    .full-screen-menu .menu-item-has-children .dropdown-menu,
    .full-screen-menu .menu-item-has-children .sub-menu {
        position: static !important;
        float: none !important;     
        width: 100%;               
        box-shadow: none;           
        border: none;               
        padding-left: 15px;          
        display: none; 
    }

    .full-screen-menu .menu-item-has-children.active > .dropdown-menu,
    .full-screen-menu .menu-item-has-children.active > .sub-menu {
        display: block !important;
    }
  
   .full-screen-menu .menu-item-has-children.active > .sub-menu li a{
              font-size: 15px;
        padding: 5px 20px;
        display: flex;
    }
  
   .menu-item-has-children > a::after {
        content: "";
        position: absolute;
        right: 5px;
        top: 3px;
        width: 10px;
        height: 10px;
               border-right: 2px solid #040404;
        border-bottom: 2px solid #000;
        transform: rotate(45deg);
        transition: 0.3s;
     display: none;
    }
      .menu-item-has-children.active > a::after {
        transform: rotate(-135deg);
        top: 3px;
    }
  
 
.full-screen-menu .menu-item-has-children {
    position: relative;
}

.sub-menu-toggle {
    position: absolute;
    right: 15px; 
    top: 0px;   
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}


.sub-menu-toggle::after {
    content: '';
    width: 8px;
    height: 8px;
    border-right: 2px solid #000; 
    border-bottom: 2px solid #000;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}


.menu-item-has-children.active .sub-menu-toggle::after {
    transform: rotate(-135deg);
}

  
}


.sticky-holder {
       position: fixed;
    top: -100px;
    left: 0;
    width: 100%;
    
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease-in-out;
    padding: 0px 0;
}
.sticky-holder .menu_bar {
    margin-top: 0;
    border-top: 0px solid #ccc6;
    border: 0;
    padding: 0;
      width: 100%;
}


.sticky-holder.is-sticky {
    top: 0;
    opacity: 1;
    visibility: visible;
}

.sticky-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.sticky-content .search-wrapper {
 
    height: auto;
    border: 1.1px solid black;
    background-color: #fff;
}


 .sticky-content .search_icon {
    margin-top: 0;
    margin-right: 0px;
    border: 0;
    background: #f9f9f900;
    width: 45px;

}

.sticky-holder .container{
box-shadow: 0px 0px 50px #00000036;
    background-color: #fdfdfd;
    max-width: 98%;
    width: 100%;
    border-radius: 0px 0px 10px 10px;
    
}

#stickyMenuPlace .navbar {
    padding: 0;
}
#stickyMenuPlace .navbar-nav {
    margin-bottom: 0 !important;
}
.sticky-social{
    display: flex;
    gap: 8px;
}


/*header + hero*/


.hero-section {
    position: relative;
    width: auto;
    display: flex;
    flex-direction: column;
      padding: 0px 0px 40px 0px;
       margin: 0px 20px 60px 20px;
    border-radius: 0px 0px var(--radius-main) var(--radius-main);
}

.type-page.hero-section {
   
    padding: 0px 0px 40px 0px;
    margin: 0px 20px 0px 20px;
   
}

.hero-bg-wrapper {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 1;
}

.hero-bg-img {
    width: 100%; height: 100%;
    object-fit: cover;
  border-radius: 0px 0px 16px 16px;
}

.hero-section .container {
    position: relative;
    z-index: 2;
}


/* ==========================================================================
   СВЕТЛАЯ ТЕМА (theme-light) — По умолчанию везде и на внутренних
   ========================================================================== */
.hero-section.theme-light {
    background: #ffffff; 
    color: #111111;
}

/* Шрифты для светлой темы */
.hero-section.theme-light .hero-title,
.hero-section.theme-light .address-text .val,
.hero-section.theme-light .phone-link {
    color: #111111;
}

.hero-section.theme-light .hero-title .highlight {
    color: var(--color-accent);
}

.hero-section .header-desc
{
        color: #e1e2e5;
    margin: 0;
    font-size: 14px;
}

.hero-section.theme-light .hero-subtitle,
.hero-section.theme-light .header-address .label,
.hero-section.theme-light .header-contacts .label,
.hero-section.theme-light .header-desc
{
    color: #040404;
}
.hero-section.theme-light .header-contacts .callback-trigger {
    color: #080b0c;
    border-bottom: 1px dashed #878584;
}

.hero-section.theme-light .tg,
.hero-section.theme-light .max
{
    background-color: #4a4a49!important;
}

.hero-section.theme-light .advantage-item .adv-icon {
       background: rgb(94 94 94 / 77%);
    color: #ffffff;
}

.hero-section.theme-light .advantage-item .adv-text strong {
    color: #111111;
}

.hero-section.theme-light .advantage-item .adv-text span {
    color: #040404;
}


.hero-section.theme-light.has-bg .hero-bg-wrapper::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
       background: rgb(255 255 255 / 67%);
}

.hero-section.theme-light .search-wrapper {
 
    background-color: var(--color-accent);
}
.hero-section.theme-light .search_icon {
   
    background: var(--color-accent);
    border: 1.1px solid var(--color-accent);
}
.hero-section.theme-light .search-input,
.hero-section.theme-light .search-input::placeholder
{
    color: #fff!important;
}

.hero-section.theme-light .search_icon .ph {
  
    color: #ffffff;
   
}
.hero-section.theme-light .header-address-icon {
  
    color: #747474;
    border-color: #747474;

}

.hero-section.theme-light .hero-content .policy.dark_bg p {
    color: #333;
}
.hero-section.theme-light .f1 {
  
    border: 1px solid var(--color-accent);
  
}
.hero-section.theme-light .advantage-item {
    background: #ffffff96;
    padding: 10px 12px;
    border-radius: var(--radius-elements);
}
.hero-section.theme-light .adv-icon-img{
        background-color: var(--color-accent);
    border-radius: 100px;
    display: flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.hero-section.theme-light .adv-icon-img img{
    width: 30px;
}
.hero-section.theme-light .hero-advantages {
    display: flex;
    gap: 50px;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
}


.hero-section.theme-dark {
    color: #ffffff;
   
}

/* Шрифты для тёмной темы */
.hero-section.theme-dark .hero-title,
.hero-section.theme-dark .address-text .val,
.hero-section.theme-dark .phone-link {
    color: #ffffff;
}



.hero-section.theme-dark .hero-title span {
    color: var(--color-accent);
}
.hero-section.theme-light .hero-title span {
    color: var(--color-accent);
}


.hero-section.theme-dark .header-contacts .label {
    color: rgba(255, 255, 255, 0.8);
}

.hero-section.theme-dark .hero-subtitle {
    color: rgb(255 255 255 / 81%);
}

.hero-section.theme-dark .header-address .label {
    color: rgb(255 255 255);
   
}

.hero-section.theme-dark .advantage-item {
   
}

.hero-section.theme-dark .advantage-item .adv-icon {
    background: var(--color-accent);
    color: #ffffff;
}

.hero-section.theme-dark .advantage-item .adv-text strong {
    color: #ffffff;
}

.hero-section.theme-dark .advantage-item .adv-text span {
    color: rgba(255, 255, 255, 0.7);
}

.hero-section.theme-dark.has-bg .hero-bg-wrapper::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.65); 
  border-radius: 0px 0px 12px 12px;
}

.subtitle_text{
      max-width: 800px;
}
.subtitle_text ul{
  list-style: none;
    padding-left: 0;
    margin: 10px 0px 30px 0px;
}
.subtitle_text ul li{
      font-size: 17px;
    line-height: 2.3;
    font-weight: 400;
    position: relative;
    padding-left: 40px;
   
}
.subtitle_text ul li:before{
     content: '\e184';
    position: absolute;
    font-family: Phosphor;
    font-size: 28px;
    left: 0;
    line-height: 1;
    top: 6px;
    color: var(--color-accent);
}
.hero-section.theme-dark .subtitle_text ul li {
    color: #fff;
}


.subtitle_text p{
      font-size: 22px;
    margin-bottom: 40px;
    position: relative;
    padding-left: 0px;
    line-height: 1.2;
}
.hero-section.theme-dark .subtitle_text p {
    color: rgb(255 255 255 / 81%);
}

/* ==========================================================================
   ФИКСИРОВАННАЯ ПАНЕЛЬ СПРАВА
   ========================================================================== */
.floating-side-panel {
    position: fixed;
    right: 20px;
    top: 50%;
  margin-top: 120px;
    transform: translateY(-50%);
    z-index: 999;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}


.panel-toggle-input {
    display: none;
}


.panel-inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}


.panel-toggle-btn {
    width: 40px;
    height: 40px;
    background-color: var(--color-float);
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    transition: transform 0.4s ease, opacity 0.3s ease;
    user-select: none;
    z-index: 2;
}
.panel-toggle-btn:hover {
    opacity: 0.9;
}


.panel-buttons-wrapper {
    display: flex;
    flex-direction: column;
    background: transparent;
    border-radius: 20px 0 0 20px;
    overflow: hidden;
    box-shadow: -5px 5px 20px rgba(0, 0, 0, 0.15);
    /* Задаем базовую максимальную высоту для плавной анимации скрытия */
    max-height: 350px; 
    opacity: 1;
    transform: scaleY(1);
    transform-origin: top; /* Схлопывание будет происходить снизу вверх к крестику */
    transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1), 
                opacity 0.3s ease, 
                transform 0.4s ease;
}


.panel-btn-item {
    width: 100px;
    height: 100px;
    background-color: var(--color-float);
    color: #ffffff !important;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    transition: background-color 0.3s ease;
}
.panel-btn-item:last-child {
    border-bottom: none;
}
.panel-btn-item:hover {
   
}
.panel-btn-item i {
    font-size: 28px;
    margin-bottom: 8px;
}


.panel-toggle-input:checked ~ .panel-inner-container .panel-buttons-wrapper {
    max-height: 0;   
    opacity: 0;           
    transform: scaleY(0);   
    pointer-events: none;  
}

.panel-toggle-input:checked ~ .panel-inner-container {
    gap: 0; 
}

.panel-toggle-input:checked ~ .panel-inner-container .panel-toggle-btn {
    transform: rotate(135deg); 
}


/* ==========================================================================
   СТИЛИ ШАПКИ (Управляются классами header-theme-...)
   ========================================================================== */
.main-header {
    display: flex;
    flex-direction: column;
       padding: 40px 0 30px 0px;
  border-bottom: 1px solid #52525273;
}
.main-header.menu_on {
  
  border-bottom: 0;
}
.main-header.page_header {
  
   padding-bottom: 0;
    border-bottom: 0px;
}

.header-top {
      display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
  
}

.header-logo {
    display: flex;
    align-items: center;
    max-width: 280px;
}

.header-logo img {
    width: 100%;
    height: auto;
}

.header-contacts, 
.header-socials {
         display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.header-contacts .contact_text {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.header-contacts .phone-link {
    font-size: 26px;
    font-weight: bold;
    text-decoration: none;
}

.header-contacts .callback-trigger {
       color: #ccc;
    font-size: 12px;
    text-decoration: none;
  border-bottom: 1px dashed #ccc;
}
.hero-section.theme-dark .header-contacts .callback-trigger {
     color: #e8c07d;
    font-size: 12px;
    text-decoration: none;
  border-bottom: 1px dashed #e8c07d;
}

.header-address {
    display: flex;
    align-items: center;
    gap: 20px;
}

.header-address-icon {
      font-size: 30px;
    color: #ccc;
    flex-shrink: 0;
    border-width: 1px;
    border-radius: 5px;
    background-position: center center;
    border-color: #ccc;
    border-style: solid;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-section.theme-dark .header-address-icon{
      color: #fcdeba;
  border-color: #fcdeba;
}


.address-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.address-text .label {
    font-weight: 600;
      font-size: 16px;
    margin: 0 0 2px 0;
}

.address-text .val {
       font-size: 14px;
    font-weight: 400;
    margin: 0;
}

.header-contacts .label {
      display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    margin: 0 0 0px 0;
}


.main-header.header-theme-light { color: #111111; }
.main-header.header-theme-light .address-text .val,
.main-header.header-theme-light .phone-link { color: #111111; }
.main-header.header-theme-light .label { color: #555555; }

.main-header.header-theme-dark { color: #ffffff; }
.main-header.header-theme-dark .phone-link { color: #ffffff; }
.main-header.header-theme-dark .label { color: rgba(255, 255, 255, 0.6); }
.main-header.header-theme-dark .address-text .val {
    color: #ffffffad;
}


/* ==========================================================================
   КНОПКА ПРАЙСА, ПУЛЬСАЦИЯ И ЭЛЕМЕНТЫ КОНТЕНТА
   ========================================================================== */
.btn-download {
    display: inline-flex;
    align-items: center;
    padding: 18px 24px;
    background: #ffffff;
  gap: 12px;
    color: #111111 !important;
    border-radius: var(--radius-main);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}

.btn-download .ph{
      font-size: 22px;
}

.type-page .btn-download {
    margin-left: auto;
}
.type-page .header-top {
 
    gap: 35px;
}


.pulse-dot {
    position: relative;
    width: 7px; height: 7px;
    background-color: var(--color-accent);
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.pulse-dot::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 7px; height: 7px;
    border-radius: 50%;
    background-color: var(--color-accent);
    opacity: 0.6;
    animation: pulseWave 1.8s infinite ease-out;
}

@keyframes pulseWave {
    0% { width: 7px; height: 7px; opacity: 0.7; }
    100% { width: 24px; height: 24px; opacity: 0; }
}

.header_group{
     display: flex;
    gap: 60px;
    align-items: center;
}


/* ==========================================================================
   ГЛАВНЫЙ БЛОК СОДЕРЖИМОГО (HERO CONTENT)
   ========================================================================== */
.hero-content {
       display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 80px 0 0px 0;
    gap: 40px;
    position: relative;
    flex-wrap: wrap;
}

.hero-info {
    flex: 60%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.offer_img {
    flex: 40%;
  
}

.offer_img img{
  text-align: center;
    position: absolute;
    right: 0;
    bottom: -40px;
    z-index: -1;
    height: 100%;
  
}

.hero-title {
         font-size: 50px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 30px;
    text-transform: none;
    max-width: 860px;
}

.hero-subtitle {
       font-size: 22px;
    margin-bottom: 20px;
    position: relative;
    padding-left: 50px;
    line-height: 1.1;
}
.hero-subtitle span{
   color: var(--color-accent);
}


.hero-subtitle::before {
    content: '';
    position: absolute;
    left: 0; top: 11px;
    transform: translateY(-50%);
    width: 38px; height: 6px;
    background: radial-gradient(circle, var(--color-accent) 2.5px, transparent 3px);
    background-size: 10px 6px;
    background-repeat: repeat-x;
}


/* ==========================================================================
   БЛОК ПРЕИМУЩЕСТВ И КНОПКИ ДЕЙСТВИЯ
   ========================================================================== */
.hero-advantages {
      display: flex;
    gap: 140px;
    margin-bottom: 40px;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
}

.advantage-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.advantage-item .adv-icon {
    width: 42px; height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
  background: var(--color-accent);
}

.advantage-item .adv-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.advantage-item .adv-text strong,
.advantage-item .adv-text span {
    display: block;
}

.advantage-item .adv-text strong {
    font-size: 19px;
    font-weight: 600;
}

.advantage-item .adv-text span {
    font-size: 16px;
    font-weight: 400;
}

.btn-accent {
    display: inline-flex;
    align-items: center;
    padding: 18px 35px;
    background: var(--color-accent);
    color: #ffffff !important; 
    border-radius: var(--radius-elements);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
  gap: 20px;
}
.btn-accent .ph{
  font-size: 20px;
}

.hero-form-container {
       width: 380px;
    flex-shrink: 0;
    margin-right: 60px;
}

.form-card-placeholder {
    background: #f6f7f9;
   color: var(--color-text-main);
    padding: 30px;
    border-radius: var(--radius-main); 
  
   box-shadow: var(--shadow-main);
}

.form-card-placeholder .title{
    font-style: normal;
    font-weight: 500;
    font-size: 26px;
    line-height: 120%;
    margin-bottom: 30px;
}

.form-card-placeholder span.info {
    color: var(--color-text-muted);
    font-size: 13px;
    display: block;
    margin-top: 20px;
    text-align: center;
}
.form-card-placeholder span.label {
    color: var(--color-text-muted);
    font-size: 13px;
    display: block;
    margin-top: 0px;
    text-align: left;
}


.section-title {
  
    margin: 0 0 40px 0;
}

.section-title h2{
    font-size: 40px;
    font-weight: 400;
    color: var(--color-h2);
    margin: 0 0 10px 0;
}

.section-title h2 span{
   
     color: var(--color-accent);
  
}
.section-title h2 strong{
   
    font-weight: 900;
  
}


.section-title p {
    font-size: 22px;
    font-weight: 400;
    color: var(--color-text-main);
   
    margin: 20px 0px 0px 0px;
}
 .section-title.text-center p {
       max-width: 1024px;
    text-align: center;
   
    margin: 20px auto;
}
.section-title.text-center p span{
     color: var(--color-accent);
}


/*------- about -----------*/

.founder-section {
      padding: 40px 0px 60px 0px;
    overflow: hidden;
}

.founder-row {
     display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}

.founder-col-left {
    flex: 0 0 65%;
    max-width: 65%;
   
    box-sizing: border-box;
      position: relative;
}

.founder-col-right {
        flex: 0 0 32%;
    max-width: 32%;
    box-sizing: border-box;
    position: relative;
}


.section-title.founder-title {
    text-align: left;
    margin: 0 0 24px 0;
}


.founder-lead {
    font-size: 20px;
    line-height: 1.6;
    color: var(--color-text-desc);
    margin: 0 0 60px 0;
      max-width: 600px;
}

.founder-lead span {
    color: var(--color-accent);
    font-weight: 700;
}

.product-essence-card {
      margin-top: 20px;
}



.product-essence-card p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text-desc);
    margin: 0 0 16px 0;
    position: relative;
    z-index: 2;
}

.product-essence-card p:last-child {
    margin-bottom: 0;
}

.founder-footnote {
    display: block;
    font-size: 14px;
    color: var(--color-accent);
    font-weight: 500;
}

.founder-image-container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
}

.founder-img {
        max-width: 100%;
    width: 100%;
    height: auto;
    border-radius: var(--radius-main);
    display: block;
    object-fit: contain;
  
}


.founder-name-tag {
     border-radius: var(--radius-elements);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    min-width: 200px;
    box-sizing: border-box;
    position: absolute;
    bottom: 40px;
    left: 40%;
    margin-left: -120px;
    background: #fff;
    display: flex;
    color: #000;
    font-size: 15px;
    text-align: center;
    font-weight: 500;
    height: 60px;
    width: 340px;
    padding: 10px 20px;
    align-items: center;
    justify-content: center;
    flex-direction: column;

}

.tag-status-dot {
    width: 12px;
    height: 12px;
    background-color: var(--color-accent);
    border-radius: 50%;
    margin-bottom: 22px;
  position: relative;
}

.tag-status-dot:before {
       width: 30px;
    height: 30px;
    background-color: var(--color-accent);
    border-radius: 50%;
    margin-bottom: 12px;
    position: absolute;
    content: '';
    opacity: 0.2;
    left: 50%;
    margin-top: -15px;
    margin-left: -15px;
    z-index: -1;
    top: 50%;
}

.tag-name {
        font-size: 16px;
    font-weight: 600;
    color: var(--color-text-main);
    margin: 0 0 0px 0;
}

.tag-position {
    font-size: 13px;
    line-height: 1.4;
    color: var(--color-text-muted);
    margin: 0;
}

/*serices*/

.services__container {
    gap: 20px;
    display: flex;
    flex-wrap: wrap;
}

.services__item {
    width: calc(100% / 4 - 16px);
    border-radius: var(--radius-main);
    overflow: hidden;
    position: relative;
    padding: 30px;
    cursor: pointer;
    min-height: 366px;
    text-decoration: none;
}

.services__container_2 .services__item {
    min-height: 140px;
}

.services__container_2 .services__item a.link {
  
    height: 30%;
  
}

.services__item .item-img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.services__item .item-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  pointer-events: none;
    filter: brightness(1);
   -webkit-filter: brightness(1);
}
.services__item .item-img::after {
  content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #40526dd9;
    opacity: 1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
     border-radius: var(--radius-main);
}
.services__item:hover .item-img::after {
 
    background-color: #253144d9;
 
}


.services__item .item-content {
    position: relative;
    z-index: 5;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: #fff;
}
.services__item .item-title {
  padding-bottom: 2rem;
    font-weight: 700;
   font-size: 24px;
    line-height: 1.3;
    letter-spacing: 0.04em;
}
.services__item h3, 
.services__item p:nth-child(1)

{
    font-weight: 500;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: 0.04em;
    position: relative;
    border-bottom: 1px solid var(--color-accent);
    padding-bottom: 20px;
  color: #fff;
}

.services__item h3 a, 
.services__item p:nth-child(1) a
{
  color: #fff;
  text-decoration: none;
}

.services__container_2 .services__item h3, .services__container_2 .services__item p:nth-child(1) {
    font-weight: 500;
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: 0.04em;
    position: relative;
    border-bottom: 1px solid var(--color-accent);
    padding-bottom: 20px;
}

.services__item .item-text {
 padding: 0px 0px 40px 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-weight: 500;
   font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.04em;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0.8;
}
.services__item .item-text a{
  text-decoration: none;
  color: #fff;
}

.services__item .item-text ul{
 list-style: none;
    padding-left: 0;
     margin: 15px 0px;
}
.services__item .item-text ul li{
    font-size: 13px;
    line-height: 1.2;
    font-weight: 500;
    position: relative;
    padding-left: 30px;
    color: #fff;
    padding-bottom: 8px;
}
.services__item .item-text ul li:before{
 content: '';
    position: absolute;
    background: url(./images/check.png) no-repeat;
    background-size: 100%;
    width: 17px;
    height: 20px;
    left: 0;
    top: 1px;
}

.services__item a.link{
  position: absolute;
  height: 70%;
  width: 100%;
  z-index: 9;
}

.services__item:hover .item-img::after {
  opacity: 1;
}
.services__item:hover .item-text {
  opacity: 1;
}
.services__item:hover .item-bottom__anchor {
  opacity: 1;
}

.services__item .item-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    justify-content: flex-start;
}
.services__item .btn {
       width: 100%;
    height: auto
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    font-weight: 600;
    overflow: hidden;
    position: relative;
}
.services__item .btn span {
      font-weight: 600;
    font-size: 16px;
    line-height: 1;
}
.services__item .btn::after {
 
  
  content: '';
    position: absolute;
    top: 0;
    height: 100%;
    width: 150px;
    transform: skewX(-45deg);
    animation: flareAnimation;
    left: -150%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0.4));
    animation: flareAnimation 3s infinite linear;
}
  
@keyframes flareAnimation {
    0% {
        left: -150%;
    }
    100% {
        left: 150%;
    }
}


@keyframes blick {
  0% {
    left: -80%;
  }
  100% {
    left: 160%;
  }
}

/*services2*/

.services-grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px;
    width: 100%;
}

.service-card {
    position: relative;
    flex: 1 1 calc(33.333% - 16px); 
    min-width: 300px;
    height: auto;
    border-radius: var(--radius-main);
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}


.service-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
height: 100%;
    object-fit: cover;
    z-index: 1;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
   background-color: rgb(14 16 32 / 80%);
    z-index: 2; 
    transition: background-color 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}


.service-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; width: 100%; height: 70%;
       background: linear-gradient(to top, rgb(47 88 151 / 44%) 0%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}


.service-card:hover::before {
    background-color: rgba(0, 0, 0, 0.7); 
}


.service-card-content {
    position: relative;
    z-index: 3; 
    height: 100%;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


.service-meta {
    display: flex;
    flex-direction: column;
}

.service-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.3;
    margin-bottom: 8px;
}

.service-price,
.service-hidden-desc span {
    color: rgba(255, 255, 255, 0.7);
    font-size: 15px;
    font-weight: 400;
}

.service-hidden-desc {
    max-height: 100%;
    opacity: 1;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1), 
                opacity 0.3s ease, 
                margin-top 0.4s ease;
  margin-bottom: 20px;
      background: #00000030;
    border-radius: var(--radius-elements);
    padding: 15px;

}

.service-hidden-desc span {
    display: block;
    line-height: 1.4;
}

.service-card:hover .service-hidden-desc {
    max-height:100%;
    opacity: 1;
    margin-top: 0px;
}

.service-actions {
    margin-top: auto;
    display: flex;
    flex-direction: row;
    width: 100%;
}


.btn-service {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    background-color: var(--color-accent);
    color: #ffffff !important;
    text-decoration: none;
    border-radius: var(--radius-elements);
      font-size: 16px;
    font-weight: 400;
    transition: background-color 0.2s ease;
  gap:10px;
}
.btn-service:hover {
    background-color: var(--color-accent-hover);
}


/*seo text*/


.seo-text-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.seo-block-title {
    font-size: 32px;
    font-weight: 400;
    color: #111111;
    margin-bottom: 25px;
    line-height: 1.2;
}


.seo-checkbox-input {
    display: none;
}


.seo-text-content {
    position: relative;
    max-height: 250px;
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
    

    transition: max-height 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.seo-text-content p {
    line-height: 1.5;
    margin: 0;
}


.seo-text-content::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45px; 
    background: linear-gradient(to top, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 2;
    transition: opacity 0.3s ease;
    pointer-events: none;
}


.seo-toggle-label {
    display: inline-flex;
    color: var(--color-accent);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    margin-top: 15px;
    user-select: none;
    border-bottom: 1px dashed var(--color-accent);
    line-height: 1.2;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.seo-toggle-label:hover {
    border-bottom-style: solid;
}


.seo-toggle-label .text-hide {
    display: none; 
}
.seo-toggle-label .text-show {
    display: inline;
}


.seo-checkbox-input:checked ~ .seo-text-content {
    max-height: 1000px; 
}


.seo-checkbox-input:checked ~ .seo-text-content::after {
    opacity: 0;
}

.seo-checkbox-input:checked ~ .seo-toggle-label .text-show {
    display: none;
}
.seo-checkbox-input:checked ~ .seo-toggle-label .text-hide {
    display: inline;
}

/*callback*/

.section-radius {
    border-radius: var(--radius-main);
}

.section-margin {
    margin-left: 20px;
    margin-right: 20px;
}

.section_try_bg {
    padding: 80px 0;
    margin-top: 30px;
    margin-bottom: 30px;
    background-repeat: no-repeat !important;
    background-size: cover;
}
.overlay_form{
  position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
   border-radius: var(--radius-main);
    z-index: 0;
}


.callback-master-section {
    position: relative;
    margin-top: 90px !important;
    padding: 70px 0;
    width: auto;
}
.master-section-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}


.master-content-left {
    flex: 1;
    max-width: 800px;
    z-index: 3; 
}

.master-title {
    color: #ffffff;
    font-size: 50px;
    font-weight: 200;
    line-height: 1.1;
    margin-bottom: 20px;
}


.master-subtitle {
    color: rgba(255, 255, 255, 0.7);
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 25px;
      max-width: 650px;
}

.form-question-text {
    color: #ffffff;
    font-size: 16px;
    margin-bottom: 15px;
}

.master-form-placeholder,
.master-socials-placeholder {
    width: 100%;
   
}

.master-socials-placeholder {
  
     max-width: 600px;
    margin-top: 40px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.master-socials-placeholder .socials-label {
  color: #fff;
      font-size: 20px;
}


.master-section-wrapper.bg_light .master-title,
.master-section-wrapper.bg_light .master-subtitle,
.master-section-wrapper.bg_light .socials-label,
.master-section-wrapper.bg_light .master-meta-badge p,
.master-section-wrapper.bg_light .callback-section .policy.dark_bg p,
.master-section-wrapper.bg_light .callback-section .cta-form-element .label
{
 color: var(--color-text-main);
}

.master-section-wrapper .social-link {
    
    width: 55px;
    height: 55px;
   
 
}
.master-section-wrapper .badge-notification {
    position: absolute;
    top: 2px;
    right: 2px;
}
.master-section-wrapper .social-link.tg{
background: #529bf5 !important;
}
.master-section-wrapper .social-link.max{
    background: #7449f9 !important;
}


.master-visual-right {
    position: absolute;
    right: 5%;
    bottom: 0; 
    height: calc(100% + 60px); 
    width: 40%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none; 
    z-index: 2;
}


.master-person-img {
    height: 100%;
    width: auto;
    object-fit: contain; 
    object-position: bottom center;
}


.master-meta-badge {
       position: absolute;
    left: -70px;
    top: 25%;
    max-width: 200px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    line-height: 1.2;
}

.master-meta-badge .master-name {
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 2px 0;
}

.master-meta-badge .master-position {
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
    margin: 0;
}


/* Базовые стили родителя */

.callback2__container.bg_light p,
.callback2__container.bg_light ul li,
.callback2__container.bg_light a,
.callback2__container.bg_light label,
.callback2__container.bg_light .cta-form-element.white_wrap .policy .text p a,
.callback2__container.bg_light span{
    color: #333;

}
.callback2__container p,
.callback2__container ul li,
.callback2__container a,
.callback2__container label,
.callback2__container .cta-form-element.white_wrap .policy .text p a,
.callback2__container span{
    color: #fff;

}


.callback2 {
 position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    padding-top: 40px;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.callback2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.callback2__container {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    box-sizing: border-box;
}

/* --- ЛЕВАЯ КОЛОНКА --- */
.callback2__left {
    flex: 1 1 40%;
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-bottom: 50px; 
}

.callback2__title {
       font-size: 46px;
    font-weight: 400;
    line-height: 1.3;
  
}

.callback2__contacts {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.callback2__contacts i{
 color: #cf9b60;
}

.callback2__work-time {
    font-size: 22px;
    color: #cfd8dc;
      margin-bottom: 0;
}

.callback2__phone-link {
    font-size: 28px;
    font-weight: 700;
    text-decoration: none;
}

.callback2__messengers {
    display: flex;
    align-items: center;
    gap: 20px;
}

.callback2__messengers-text {
    font-size: 16px;
    line-height: 1.2;
}

.callback2__messengers-slot {
    min-width: 100px;
    min-height: 40px;
 
}


.callback2__center {
    flex: 1 1 35%;
    display: flex;
    align-items: flex-end; 
    justify-content: flex-end; 
    position: relative;
    align-self: flex-end; 
}


.callback2__speaker-info {
    flex: 1;
    min-width: 180px; 
    padding-bottom: 50px; 
    margin-right: -20px;
    z-index: 3;
}

.callback2__speaker-name {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
  margin-bottom: 0;
}

.callback2__speaker-post {
    font-size: 13px;
    color: #b0bec5;
    margin-top: 4px;
  margin-bottom: 0;
}


.callback2__photo-wrap {
      flex: 0 0 auto;
    width: 100%;
    max-width: 400px;
    display: flex;
    align-items: flex-end;
}

.callback2__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    vertical-align: bottom;
}


.callback2__right {
    flex: 1 1 30%;
    padding-bottom: 50px; 
}

.callback2__form-block {
    width: 100%;
    max-width: 400px;
    margin-left: auto;
}

.callback2__form-title {
       font-size: 36px;
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 20px;
}

.callback2__form-block ul {
   list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 30px;
    padding-left: 0;
}

.callback2__form-block ul li {
       font-size: 14px;
    position: relative;
    padding-left: 15px;
    line-height: 1;
}

.callback2__form-block ul li::before {
        content: "";
    position: absolute;
    left: 0;
    color: #4ab8eb;
    width: 6px;
    border-radius: 10px;
    height: 6px;
    background: #46a6e5;
    font-size: 10px;
  top: 3px;
}

.callback2__form-slot {

}


/*warranty*/


.warranty__container {
   display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px 60px;
}

.warranty__container.bg_light {
    color: #fff; 
}


.warranty__container_wrap {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.warranty__title {
    margin-bottom: 40px;
}

.warranty__title h2 {
 
    color: inherit;
}

.warranty__title p {

    color: inherit;
}

.warranty__bullets {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 30px;
}

.bullets-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: calc(33.333% - 20px);
}


.bullets-item .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-main);
    background-color: #8d7461; 
    color: #ffffff;
    font-size: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.bullets-item p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    color: inherit;
}

.bullets-item p b {
       display: block;
    font-size: 16px;
    margin-bottom: 0;
    font-weight: 600;
    color: inherit;
}

.warranty__text {
    display: flex;
    flex-direction: column;
    width: 380px;
    min-width: 380px;
    text-align: center;
}

.warranty__text p {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
    color: inherit;
}

.warranty__text span {
    display: block;
    font-size: 16px;
    line-height: 1.5;
    opacity:1;
    color: inherit;
   font-weight: 400;
}

.warranty__img {
 display: flex;
    justify-content: center;
    position: absolute;
    bottom: 0;
}

.warranty__img img {
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.section_try_bg {

    position: relative;
}
.warrant_section{
     overflow: hidden;
  margin: 60px 20px 40px 20px;
}

.badge-popular {
    position: absolute;
    top: 30px;
    right: -35px;
    background-color: var(--color-accent);
    color: #ffffff;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 6px 40px;
    transform: rotate(45deg);
    text-align: center;
}



.problems-section {
    padding: 60px 0;
    background-color: #ffffff; 
}


.problems-row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  gap: 30px 0px;
}

.problem-col {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

.problem-card {
       background-color: var(--color-bg-main);
    border-radius: var(--radius-main);
    padding: 35px 25px 25px 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    
    box-sizing: border-box;
}
.problem-card .problem-header {
    display: flex;
    align-items: center;
    gap: 20px;
}

.problem-icon {
    width: 45px;
    height: 45px;
    background-color: var(--color-accent);
   border-radius: var(--radius-elements);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    margin-bottom: 20px;
}

.problem-icon svg {
    fill: currentColor;
         max-width: 27px !important;
}
.problem-icon svg path {
   
         fill: #fff; 
}


.problem-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text-main);
    margin: 0 0 20px 0;
    line-height: 1.3;
      text-align: left;
}

.problem-title span {
    color: var(--color-text-muted);
}

.problem-title.text-danger-title span {
    color: var(--color-danger);
}

.problem-body {
    background-color: #ffffff;
    border-radius: var(--radius-elements);
    padding: 20px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--color-text-desc);
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.problem-body p {
    margin: 0;
}

.footer-box-row {
    display: flex;
    justify-content: center;
}



/*шаги*/

.steps-path-section {
    padding: 80px 0;
    background-color: #ffffff;
}


.etaps {
     display: flex;
    justify-content: space-between;
    gap: 80px;
    box-sizing: border-box;
}


.etaps__left {
  flex: 0 0 40%;
  position: sticky;
  top: 40px; 
  align-self: flex-start; 
}

.etaps__title {
  font-size: 4rem;
  line-height: 0.95;
  font-weight: 500;
  color: #332f2e;
  letter-spacing: -0.03em;
  margin: 0 0 50px 0;
}

.etaps__info-card {

    padding: 24px;
    border-radius: var(--radius-elements);
    max-width: 480px;
    text-align: center;
    margin: 0 auto;
}

.etaps__info-card p {
     font-size: 16px;
    line-height: 1.4;
    margin: 0;
        color: var(--color-h2);
}

.etaps__info-card p:not(:last-child) {
  margin-bottom: 16px;
}


.etaps__right {
  flex: 0 0 52%;
  display: flex;
  flex-direction: column;
}

.etaps__item {
     display: flex;
    align-items: center;
    gap: 20px;
    padding: 35px 0;
    border-top: 1px solid #c8c2c1;
}


.etaps__item:last-child {
  border-bottom: 1px solid #c8c2c1;
}


.etaps__number {
      display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-accent);
    color: #f6f1f0;
    font-size: 17px;
    font-weight: 700;
    width: 58px;
    height: 32px;
    border-radius: 20px;
    flex-shrink: 0;
    margin-top: 0;
    line-height: 100%;
}

.etaps__text p{
     font-size: 30px;
    line-height: 1.15;
    color: var(--color-text-main);
    margin: 0;
    letter-spacing: 0;
}
p.etaps__text_text {
     font-size: 16px;
    line-height: 1.15;
    color: var(--color-text-main);
    margin: 0;
  margin-top: 15px;
    letter-spacing: 0;
}

.etaps2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  gap: 30px;
  width: 100%;
}


.etaps2::before {
  content: '';
  position: absolute;
  top: 25px; 
  left: 25px;
  right: 25px;
  height: 2px;
  background-color: #d58e3e;
  z-index: 1;
}


.etaps2__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  z-index: 2; 
}


.etaps2__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: #d58e3e;
  color: #ffffff;
  border-radius: 50%;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 24px;
}

.etaps2__title {
  font-size: 18px;
  font-weight: 700;
  color: #2c2c2c;
  margin-bottom: 12px;
  line-height: 1.3;
}

.etaps2__text {
  font-size: 14px;
  color: #555555;
  line-height: 1.5;
}



/*audio*/

.audio-section {
    background-color: var(--color-bg-main);
    padding: 80px 0;
}

.audio-header {
    text-align: center;
    margin-bottom: 80px;
}

.audio-main-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--color-text-desc);
    line-height: 1.3;
    margin: 0;
}

.text-blue-dark {
    color: var(--color-text-main);
    font-weight: 800;
}


.audio-grid-row {
       display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    flex-direction: row;
    align-content: center;
    max-width: 980px;
    margin: 0 auto;
}

.audio-card-col {
        box-sizing: border-box;
    background-color: #f4f5f8;
    padding: 30px 30px 40px 30px;
    width: calc(100% / 2 - 30px);
    border-radius: var(--radius-main);
}


.audio-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.audio-card-header {
    margin-bottom: 16px;
}


.audio-title {
    font-size: 16px;
    font-weight: 400;
    color: var(--color-text-main);
    margin: 0;
    letter-spacing: 0.2px;
  text-transform: uppercase;
  line-height: 1.7;
}
.audio-title span{
  
    font-weight: 700;
 
}


.audio-player-wrapper {
    width: 100%;
    max-width: 340px;
}

.audio-player-wrapper audio {
    width: 100%;
    display: block;
    height: 40px;
    border-radius: 30px;
   box-shadow: var(--shadow-main);
  
}



.cta-form-element {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
}






/* -------- case -------- */

.case-swiper{
 
}

.cases-section {
    padding: 80px 0;
    background-color: #ffffff; 
}




.cases-grid-row {
        display: flex;
    flex-wrap: nowrap;
    margin: 0 auto;
}

.case-card-col {
   
}

.case-card {
   background-color: var(--color-bg-main); 
    border-radius: var(--radius-main);                 
    padding: 35px 30px;                    
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}

.case-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--color-text-main);
    text-align: center;
    margin: 0 0 25px 0;
    min-height: 56px; 
}

.case-title span.text-danger {
    color: var(--color-danger);
}

.case-image-box {
    background: #ffffff;
    border-radius: var(--radius-main);
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.05); /* Мягкая тень под таблицей */
    width: 100%;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.case-image-box:hover {
    transform: translateY(-2px);
}

.case-img {
    max-width: 100%;
    height: auto;
    display: block;
}

.case-image-caption {
    display: block;
    font-size: 11px;
    color: var(--color-text-muted);
    text-align: center;
    margin-top: 12px;
    margin-bottom: 30px;
}
.case-image-caption span{
    
  color: var(--color-orange-accent);

}
.case-title span {
    color: var(--color-danger);
}


.case-info-body {
    display: flex;
    flex-direction: column;
    gap: 24px;
    flex-grow: 1;
}

.case-info-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.case-badge {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: #ffffff;
    padding: 5px 14px;
    border-radius: 6px;
    display: inline-block;
}

.badge-task { background-color: var(--color-dop_2); }
.badge-solution { background-color: var(--color-accent); }
.badge-result { background-color: var(--color-orange-accent); }

.case-info-text {
    font-size: 17px;
    line-height: 1.5;
    color: var(--color-text-main);
    margin: 0;
}

.case-info-text.font-bold {
    font-weight: 700;
}


.case-slider-wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto !important;
    position: relative;
    overflow: hidden !important; 
    box-sizing: border-box;
}


.case-swiper {
    width: 100%;
    overflow: visible !important; 
    padding: 40px 0; 
}


.case-swiper .swiper-wrapper {
    flex-wrap: nowrap !important;
    margin: 0 !important;
}

.case-swiper .swiper-slide {
    box-sizing: border-box;
    z-index: 1;
}




.case-slider-wrapper .case-swiper-prev,
.case-slider-wrapper .case-swiper-next {
 position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 45px;
    color: #fff;
    height: 45px;
    background: var(--color-accent);
    border: 1px solid var(--color-accent);
    border-radius: var(--radius-elements);
    cursor: pointer;
}
.case-slider-wrapper .case-swiper-prev { left: 20px; }
.case-slider-wrapper .case-swiper-next { right: 20px; }


.case-swiper .swiper-slide {
    background: #f5f5f5;
    transition: all 0.3s ease;
}

.case-swiper .swiper-slide.is-active-case {
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
        transform: scale(0.9) !important;
   border-radius: var(--radius-main);  
}

.case-swiper .swiper-slide {
       transform: scale(0.7);
    transition: transform 0.4s ease;
}

.case-swiper .swiper-slide-prev {
    transform: scale(0.7);
    transform-origin: right center;
}

.case-swiper .swiper-slide-next {
    transform: scale(0.7);
    transform-origin: left center; 
}


.case-swiper .swiper-slide.swiper-slide-active {
    transform: scale(1);
    transform-origin: center center;
    z-index: 10; 
      opacity: 1 !important;
}
.swiper-backface-hidden.case-swiper .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: var(--radius-main);
    transform: scale(0.7);
      opacity: 0.5;
}

/*tags block*/

.tag-wrap {
    max-width: 1024px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
}
.tag-wrap .item {
    border: 1px solid var(--color-accent);
    display: inline-block;
    padding: 4px 20px;
    border-radius: var(--radius-elements);
    color: var(--color-accent);
    margin-top: 10px;
    margin-right: 10px;
    transition: all 0.2s;
    font-weight: 600;
}
.tag-wrap a {
    text-decoration: none;
}



/* ----------- faq ------------ */

.faq-section {
      
}

.faq-flex-grid {
     display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 20px 40px;
    flex-direction: row;
}

.faq-item {
    width: calc(100% / 2 - 20px);
    padding-left: 25px;
    padding-right: 25px;
    background-color: var(--color-bg-main); 
    box-sizing: border-box;
   border-radius: var(--radius-elements);   
}

.faq-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    background: transparent;
    border: none;
    width: 100%;
    padding: 20px 0;
    user-select: none;
    text-align: left;
      min-height: 96px;
}

.faq-question {
        font-size: 20px;
    font-weight: 400;
    color: var(--color-text-main);
    line-height: 1.4;
    padding-right: 15px;
}
.faq-question h3{
        font-size: 20px;
    font-weight: 400;
    color: var(--color-text-main);
    line-height: 1.4;
    padding-right: 15px;
  font-family: var(--font-main);
}

.faq-toggle-icon {
    width: 30px;
    height: 30px;
    background-color: var(--color-accent); 
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff; 
    transition: background-color 0.3s ease, transform 0.3s ease, color 0.3s ease;
      position: relative;
}

.faq-toggle-icon svg {
      display: block;
    width: 18px;
    height: 18px;
    z-index: 2;
    position: relative;
}

.faq-summary:hover .faq-toggle-icon {
    background-color: var(--color-accent); 
    color: #ffffff;                    
}

.faq-item.active .faq-toggle-icon {
     background-color: #d1d1d1;
    color: #ffffff;                       
    transform: rotate(45deg);             
}

.faq-item.active .faq-summary:hover .faq-toggle-icon {
    background-color: var(--color-accent-hover);
}

.faq-answer-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1); 
}

.faq-answer {
    padding-bottom: 24px;
}

.faq-answer p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text-desc);
    margin: 0 0 12px 0;
}
.faq-answer p:last-child { margin-bottom: 0; }


.faq-answer p a{
     text-decoration: underline;
    color: var(--color-accent);
    margin: 0 0 12px 0;
}

.faq-item.active .faq-toggle-icon {

    transform: rotate(45deg);
}

.faq-item.active .faq-toggle-icon::before,
.faq-item.active .faq-toggle-icon::after {
    background-color: var(--color-danger);
}

.faq-toggle-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: var(--color-accent);
    opacity: 0.6;
    z-index: 1;
    pointer-events: none;
    animation: playButtonPulse 2s infinite ease-out;
}
.faq-item.active .faq-toggle-icon::after{
   animation: none;
}
.faq-item.active .faq-toggle-icon::before, 
.faq-item.active .faq-toggle-icon::after {
   display: none;
}

@keyframes playButtonPulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.6;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.8); 
        opacity: 0;
    }
}




/*tematic*/

.tematic .problem-card{
  position: relative;
      overflow: hidden;
      background-color: var(--color-bg-main);
}
.tematic .problem-card.dark_tematic{
 
        background-color: var(--color-bg-fon);
}

.tematic .problem-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-text-main);
    margin: 0 0 20px 0;
    line-height: 1.3;
    text-align: left;
}

.tematic .problem-card.dark_tematic .problem-title {

    color: #fff;
 
}

.tematic .problem-icon {
   
    flex-shrink: 0;

  
}



/*---------- video slider ------------*/


.video-swiper-container {
   
}

.video-card {
       display: flex;
    flex-direction: column;
    background-color: var(--color-bg-fon);
    padding: 30px;
   border-radius: var(--radius-main);
}

.video-preview-wrapper {
     position: relative;
    width: 100%;
   border-radius: var(--radius-elements);
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.video-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.play-btn-overlay {
       position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    background: rgb(100 93 93 / 25%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 4px 14px 4px 4px;
    width: auto;
    border-radius: 50px;
    text-decoration: none;
    transition: background 0.3s, transform 0.3s;
}

.play-btn-overlay:hover {
    background: rgba(255, 255, 255, 0.4);
    transform: translate(-50%, -50%) scale(1.05);
}

.play-icon {
    width: 45px;
    height: 45px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    position: relative;
      flex-shrink: 0;
}

.play-icon::after {
       content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 12px;
    border-color: transparent transparent transparent #303d4e;
    margin-left: 4px;
}


.play-text {
     color: #fff;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.5px;
}


.video-info {
    margin-top: 15px;
   
}

.video-title {
    color: #fff;
    font-size: 22px;
    line-height: 1.3;
    margin: 0 0 8px 0;
    font-weight: 500;
  opacity: 0.8;
}

.video-duration {
    color: #8a94a0;
    font-size: 16px;
}


.video-swiper-container .red-nav-btn {
    width: 44px !important;
    height: 44px !important;
    background-color: #e50914; 
    border-radius: 50%;
    color: #fff !important;
}

.video-swiper-container .red-nav-btn::after {
    font-size: 18px !important;
    font-weight: bold;
}

.swiper-button-prev { left: 5px !important; }
.swiper-button-next { right: 5px !important; }

.video-swiper-container .video-pagination {
      margin-top: 40px !important;
    position: relative;
}

.video-pagination .swiper-pagination-bullet-active {
    background: var(--color-accent) !important;
    width: 20px;
    height: 20px;
}
.video-pagination .swiper-pagination-bullet {
     background: #d9d9d9;
    opacity: 1;
    width: 20px;
    height: 20px;
}



.custom-fixed-lightbox .fancybox-slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}

.custom-fixed-lightbox .custom-video-wrapper {
    width: 100% !important;
    max-width: 800px !important; 
    background: #fff !important;
    border-radius: 20px;
    overflow: hidden;
    padding: 20px !important;
    margin: 0 auto !important;
}
.custom-fixed-lightbox .custom-video-wrapper video{
   
    border-radius: 20px;
    padding: 0px !important;

}


.respond-swiper-container .video-pagination {
    margin-top: 40px !important;
    position: relative;
}

.respond-card{
      background-color: var(--color-text-muted);
    padding: 20px;
    border-radius: var(--radius-main);
  min-height: 345px;
}
.respond-card .video-title {

    font-size: 18px;

}
.respond-card  .video-duration {
    color: #1a1a1a;
    font-size: 16px;
}


/*-------- team ---------- */


.team-section {
   
}


.team-slider {
  max-width: 1200px;
  padding-bottom:70px !important;
}


.team-card {
  background: #ffffff;
 border-radius: var(--radius-main);
  padding: 35px 25px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  text-align: center;
  height: auto; 
      min-height: 320px;
}


.team-avatar img {
 width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
    background-color: #e5e9fc;
}

.team-name {
    color: var(--color-text-main);
  font-size: 1.4rem;
  margin: 0 0 8px 0;
}

.team-role {
     color: #525b89;
    font-size: 1rem;
    line-height: 1.4;
    margin: 0 0 20px 0;
    font-weight: 500;
}



.team-slider .swiper-pagination-bullet {
  width: 20px;
  height: 20px;
      background: #d9d9d9;
  opacity: 1;
  margin: 0 6px !important;
}


.team-slider .swiper-pagination-bullet-active {
  background: var(--color-accent) !important; 
}



.team-header {
     display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto 30px auto;
}


.team-navigation {
  display: flex;
  gap: 20px; 
}

.team-prev, .team-next {
  position: static !important; 
  width: 40px !important;    
  height: 40px !important;   
  margin: 0 !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  cursor: pointer;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.team-prev::after, .team-next::after {
  display: none !important;
}

.team-prev svg, .team-next svg {
  width: 100%;
  height: 100%;
  color: #1d3557; 
  transition: color 0.2s ease;
}


.team-prev:hover {
  transform: translateX(-5px);
}
.team-prev:hover svg {
  color: #e60000; 
}

.team-next:hover {
  transform: translateX(5px);
}
.team-next:hover svg {
  color: #e60000;
}


.swiper-button-disabled {
  opacity: 0.2 !important;
  cursor: not-allowed;
  transform: none !important; 
}



.team__slide {
    border-radius: var(--radius-main);
    overflow: hidden;
    position: relative;
    cursor: pointer;
}
.team__slide .slide-img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.team__slide .slide-info {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(23.2%, rgba(0, 0, 0, 0.07)), color-stop(124.7%, #000000));
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.07) 23.2%, #000000 124.7%);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.07) 23.2%, #000000 124.7%);
    padding: 30px 30px;
    padding-right: 40px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
}

.team__slide .slide-info p {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-bottom: 12px;
      color: #fff;
}
.team__slide .slide-info span {
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0.03em;
}
.team__slide .slide-icon {
    position: absolute;
     right: 25px;
    bottom: 25px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
       background-color: var(--color-accent);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 2;
}
.team__slide .slide-icon img, .team__slide .slide-icon svg {
      width: 10px;
    height: 10px;
    -o-object-fit: contain;
    object-fit: contain;
    fill: #fff;
}
.team__slide .slide-icon i {

    color: #fff;
}

.team__slide .slide-icon::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
        background-color: var(--color-accent);
    -webkit-animation: pulse_2_small 2s linear infinite;
    animation: pulse_2_small 2s linear infinite;
    z-index: -1;
}
@keyframes pulse_2_small {
  0% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0.8;
  }
  100% {
    -webkit-transform: scale(1.7);
            transform: scale(1.7);
    opacity: 0;
  }
}
.team__slide:hover .slide-info {
  opacity: 1;
}
.team__slide:hover .slide-icon {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}

/* ========================================================
  components
   ======================================================== */



/*-------totop----------*/

.totop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    height: 50px;
    width: 50px;
    display: flex;
    color: #ffffff;
    font-size: 25px;
    cursor: pointer;
    transition: all 0.2s;
      border: 1px solid #626262;
    color: #9b9b9b;
    background-color: transparent;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    z-index: 99;
    opacity: 0;
}
.totop.status {
  opacity: 1;
}
.totop:hover {
  opacity: 0.8;
  transition: all 0.2s;
}
.scrolltop {
    opacity: 0;
    transition: all 0.2s;
}

/*--------- social buttons ----------------*/

.social{
 display: flex;
    gap: 12px;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
    margin-top: 0px;
    margin-left: 0;
    padding: 0;
}

.social a{
      display: flex;
    width: 44px;
    height: 44px;
    justify-content: center;
    transition: all 0.2s;
    align-items: center;
    background: transparent;
    border-radius: 0px;
   border: 1.1px solid #000000;
}
.social a img{
  width: 22px;
}

.social a:hover{
  transition: all 0.2s;
     background: transparent;
  border: 1.1px solid var(--color-accent);
}
.social a:focus{
  transition: all 0.2s;
   background: transparent;
  border: 1.1px solid var(--color-accent);
}

.social .img-svg.replaced-svg path{
  transition: all 0.2s;
  fill: #000;
}
.social a:hover .img-svg.replaced-svg path {
  transition: all 0.2s;
    fill: var(--color-accent);
}


/*------------modal-------------*/

.modal-body {
        position: relative;
    padding: 30px;
    border-radius: var(--radius-main);
        background: #fff;
}
.modal-body .f1{
  color:#8E8E8E;
      background: #fff;
}


.modal-body input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{color:#8E8E8E!important; opacity:1; }
.modal-body input::-moz-placeholder, textarea::-moz-placeholder {color:#8E8E8E; opacity:1; }


.modal-body .rbutton .wpcf7-list-item {
    display: inline-block;
    margin-right: 20px;
   color: #8E8E8E !important;
    transition: all 0.2s ease;
}
.modal-body .rbutton .wpcf7-list-item-label {
 cursor: pointer;
    position: relative;
    padding-left: 28px;
    color: #181818;
    font-weight: 400;
}
.modal-body .rbutton .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border: 2px solid #8E8E8E;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.modal-body .rbutton .wpcf7-list-item-label::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #181818;
    opacity: 0;
    transition: all 0.2s ease;
}

.modal-body .rbutton .wpcf7-list-item:hover,
.modal-body .rbutton .wpcf7-list-item:has(input:checked) {
    color: #181818!important;
  opacity: 1;
}

.modal-body .rbutton .wpcf7-list-item:hover .wpcf7-list-item-label::before,
.modal-body .rbutton .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label::before {
    border-color: #181818;
}

.modal-body .rbutton input[type="radio"]:checked + .wpcf7-list-item-label::after {
    opacity: 1;
}

.modal-body .rbutton input[type="radio"] {
    display: none;
}

.modal-body .policy .text p {
  
}
.modal-body .policy .checkbox {

}
.modal-body .policy .checkbox span.wpcf7-form-control-wrap span.wpcf7-acceptance span.wpcf7-list-item span.wpcf7-list-item-label:after {

   

}
.modal-body .mess_cf .title_mess {
    color: var(--color-primary);
 
}

.modal-body .wpcf7-select option:first-child {
    color: #8E8E8E;
}
.modal-body .wpcf7-select option {
    color: #8E8E8E;
    background-color: #ffffff !important;
    border: 1px solid #8E8E8E;
}
.modal-body .info {
   font-size: 12px;
    text-align: center;
    display: block;
    margin-top: 15px;
    font-weight: 400;
}

.modal-dialog {
     max-width: 960px;
    margin: 0px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
   border-radius: var(--radius-main);
       
}

#modal3 .modal-dialog {
    max-width: 420px;
  
}

.modal-content {
    
    box-shadow: none;
   border-radius: var(--radius-main);
        background: #fff;
    border: 0;
  position: initial;
}

.modal_title {
           font-size: 30px;
    line-height: 1.2;
    margin-bottom: 6px;
    font-weight: 700;
}
.modal_subtitle {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 32px;
}

.modal-body .btn{

    display: block;
    height: 50px;
    margin: 0 auto;
    border: 0;
    width: 200px;
    margin-top: 20px;

}

.modal-body .wpcf7 .wpcf7-submit:disabled {
    cursor: not-allowed;
    background: var(--color-accent);
    color: #f5f5f5;
}

.btn-close {
   box-sizing: content-box;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #ffffff;
    border-radius: 100px;
    opacity: 1;
    position: absolute;
    z-index: 9;
    font-size: 40px;
    right: -60px;
    top: 0px;
    background: #32323200;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-close:hover {
  color: var(--color-accent);
    text-decoration: none;
    opacity: 1;
  cursor: pointer;
}

.modal {
    z-index: 99999;
    width: 100%;
   background: #000000B2;
    padding-right: 0 !important;
}
.modal-open .modal {
    overflow-x: hidden;
    overflow-y: hidden;
}
.modal-open {
    padding-right: 0px !important;
}
.modal-open .modal {
   overflow-x: hidden;
   overflow-y: visible;
  
}

 .modal-backdrop {
   
    height: auto;
   
}

#modal-success .modal-body {
 
    padding: 30px;
 
}

#modal-success .modal-dialog {
max-width: 460px;
 
}

/*-----------pagination------------*/

.pagination {
 display: flex;
    padding-left: 0;
    margin: 40px auto 0px auto;
    border-radius: 6px;
    padding: 0px 0px 0px 0px;
    background: transparent;
    text-align: center;
   align-items: center;
  justify-content: center;
}


.pagination .page-numbers{
     display: flex;
    align-items: center;
    justify-content: center;
}

.pagination .page-numbers:first-child{
    margin-left: 0;
    border-radius: 15px;
}

.pagination .page-numbers:last-child{
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}

.pagination .current, .pagination .current:focus, .pagination .current:hover{
       background-color: var(--color-accent)!important;
    border-color: var(--color-accent) !important;
    color: #fff !important;
}

.pagination .page-numbers:focus, .pagination .page-numbers:hover{
    z-index: 2;
     background-color: var(--color-accent) !important;
    border-color: var(--color-accent)!important;
    color: #fff;
  text-decoration: none;
}

.pagination .page-numbers{
    position: relative;
    float: left;
    padding: 10px 0px;
    font-weight: 700;
}

.pagination .page-numbers {
       margin-left: 5px;
    text-align: center;
    width: 46px;
    height: 46px;
    background-color: #fff0;
    border-radius: 15px;
    border: 1px solid #d8d8d8;
       color: var(--color-text-main);
}

/*---------breadcrumbs---------*/

.breadcrumbs{
    padding: 0px 0px 15px 0px;
    display: flex;
    align-items: center;
    align-content: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.3;
    color: #0B1E37;
    margin-bottom: 0px;
    position: relative;
    text-transform: none;
    font-family: var(--font-secondary), sans-serif;
}
.breadcrumbs a{
    color: #4B5563;
    text-decoration: none;
}
.breadcrumbs a:hover{
   color: #0B1E37;
    text-decoration: none;
}
.breadcrumbs span{
    gap: 12px;
    display: flex;
}

/*------------btn-------------*/

.btn {
    display: inline-flex;
    padding: 0px 35px;
    margin-bottom: 0;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    letter-spacing: 0;
    transition: all 0.2s;
    width: auto;
    border-radius: 5px;
    align-items: center;
    font-size: 17px;
    font-weight: 500;
    line-height: 16px;
    letter-spacing: 0;
    text-align: center;
    justify-content: center;
    height: 60px;
    text-transform: none;
 
}

.btn-primary {
 background: var(--color-accent);
    border: 0;
    color: #fff;
}
.btn-primary.focus, .btn-primary:focus, .btn-primary:hover, .btn-primary.active, .btn-primary:active {
  background: var(--color-accent-hover);
    border: 0;
    transition: all 0.2s;
   color: #fff;
}
.btn.disabled:hover, .btn[disabled]:hover, fieldset[disabled]:hover{
  opacity: 1;
  background: var(--color-accent-hover);
  transition: all 0.2s;
   color: #fff;
}
.wpcf7-form-control.btn{
  display: block;
      margin-top: 0px;
   background: var(--color-accent);
    border: 0;
    color: #fff;
      width: 100%;
}
.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
    color: #fff;
   background: var(--color-accent-hover);
     border: 0;
}

/* ----------form, CF7---------- */


.cta-form-element {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
}

.cta-form-element.form_callback {
        display: flex;
    flex-direction: row;
    gap: 14px;
    width: 100%;
    max-width: 700px;
    flex-wrap: wrap;
}

.cta-form-element.form_callback .checkbox-group{
width: 100%;
}
.cta-form-element.form_callback .input_wrap{
width: 50%;
}
.cta-form-element.form_callback .button_wrap{
width: 50%;
}

.cta-form-element .input_wrap{
    display: flex;
    flex-direction: column;
    gap: 10px;

}

.cta-form-element.white_wrap .policy .text p a {
    color: #3e3e3e;
}

.callback-section .cta-form-element {
          display: flex;
    gap: 10px;
    width: 100%;
    flex-direction: column;
}
.callback-section .cta-form-element .label {
     width: 100%;
    order: 1;
    color: rgb(255 255 255 / 86%);
    font-size: 20px;
    margin-bottom: 10px;
}


.callback-section .cta-form-element .input_wrap {
        display: flex;
    flex-direction: row;
    order: 2;
    justify-content: flex-start;
}
.callback-section .cta-form-element .input_wrap span{
     
}
.callback-section .cta-form-element .button_wrap {
    order: 3;
}

.callback-section .cta-form-element .checkbox-group {
   
    order: 4;
    width: 100%;
    margin-top: 10px;
}

.callback-section .f1 {
    padding: 0px 20px;
    height: 60px;
}

.callback-section .policy.dark_bg p {
    color: #c1c1c1;
}

.master-section-wrapper.bg_light .policy p a {
    color: #333!important;
    text-decoration: underline;
}

.master-section-wrapper .policy p a {
    color: #d5c3ae!important;
    text-decoration: underline;
}

.areal{
    display: flex;
    align-items: center;
    gap: 20px;
}
.btn-submit-form {
       background-color: var(--color-btn_3);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 18px 18px;
    border-radius: var(--radius-elements);
    border: none;
    cursor: pointer;
    width: 100%;
    text-align: center;
    transition: background-color 0.2s ease;
}

.btn-submit-form:hover {
    background-color: var(--color-accent-hover);
}



.f1{
     padding: 17px 20px;
    text-transform: none;
    letter-spacing: 0px;
    box-shadow: none;
    width: 100%;
    margin-top: 0px;
    margin-bottom: 0px;
    transition: all 0.3s;
    position: relative;
    font-family: var(--font-main);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
     border-radius: var(--radius-elements);
    border: 1px solid #efefef;
    background: #fff;
}
textarea {
  width: 100%;
}
.f1:focus, textarea:focus {
 border: 1px solid var(--color-accent);
   outline: none;
   transition: all 0.2s;
   box-shadow: none;
}
.wpcf7-not-valid-tip {
  right: 10px;
      color: #FB5661;
    font-size: 14px;
    font-weight: normal;
       display: none;
    padding-left: 20px;
    margin-top: 0;
    position: absolute;
    top: -5px;
}
.wpcf7 form.invalid .wpcf7-response-output {
     color: #fff;
    background: #df2334;
}
.wpcf7 form.sent .wpcf7-response-output {
        background: #0ea4d1;
  color: #fff;
  display: none;
}
.wpcf7 form .wpcf7-response-output {
    margin: 20px 0em 0em;
    text-align: center;
    padding: 10px 20px;
    border: 0px solid #ffffff;
    font-size: 14px;
      color: #00a85a;
    width: 100%;
  border-radius: 6px;
}
.wpcf7-not-valid{
      border: 1px solid #df2334;
   color: var(--color-text-main);
   transition: all 0.2s;
}
.modal-body .wpcf7-not-valid{

    border: 1px solid #fd590b;
    transition: all 0.2s;
    color: #8E8E8E;
}


.wpcf7-select option:first-child{
  color:var(--color-text-main);
}

.wpcf7-select option {
    color: var(--color-text-main);
     
}
input::-ms-clear {
	display: none;
}
[type=reset]{
       margin-top: 13px;
    color: #7C7C7C;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    text-decoration-line: underline;
    background: transparent;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{color:#333!important; opacity:1; }
input::-moz-placeholder, textarea::-moz-placeholder {color:#333; opacity:1; }
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder { opacity:0; }
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder { opacity:0; }
textarea { overflow:auto;  }

input.wpcf7-not-valid, input.wpcf7-not-valid::-webkit-input-placeholder {
   

}


button, input[type="submit"] {
    cursor: pointer;
}
input:focus, input:active,
button:focus, button:active {
    outline: none;
}
button::-moz-focus-inner {
	padding: 0;
	border: 0;
}
label {
	cursor: pointer;
  display: block;
  color: #292F3D;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: normal;
  margin-bottom: 7px;
}
legend {
	display: block;
}
figcaption {text-align: center; font-size: 12px; font-style: italic; padding-left: 30%;}
.wp-block-gallery {margin: 20px auto;}
pre {color: #bbb;}
code {width: 90%; margin: 0 auto; display: block; background: rgba(255,255,255, 0.1); padding: 1rem;}


.btn.disabled, .btn:disabled, fieldset:disabled .btn {
    color: #fff;
    pointer-events: none;
    background-color: var(--color-accent);
    border-color: var(--color-accent);
    opacity: 1;
}

.file{
  margin: 20px 0px;
}

/*--- form radio button* ---------*/

.rbutton .wpcf7-list-item {
    display: inline-block;
    margin-right: 20px;
    transition: opacity 0.3s ease; 
    opacity: 0.6; 
}


.rbutton input[type="radio"] {
    display: none;
}


.rbutton .wpcf7-list-item-label {
    position: relative;
    padding-left: 28px;
    cursor: pointer;
    display: inline-block;
    color: var(--color-text-main); 
      font-weight: 400;
}

.rbutton .wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 1px solid var(--color-text-main);
    border-radius: 50%;
    background: transparent;
}

.rbutton .wpcf7-list-item-label::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-accent);
    opacity: 0;
    transition: opacity 0.3s ease;
}


.rbutton .wpcf7-list-item:has(input[type="radio"]:checked) {
    opacity: 1;
}

.rbutton input[type="radio"]:checked + .wpcf7-list-item-label::after {
    opacity: 1;
}

.rbutton .wpcf7-list-item:hover {
    opacity: 0.85;
}


@media (max-width: 600px) {
    .rbutton .wpcf7-list-item { display: block; margin-bottom: 10px; }
}

.mess_cf{
  margin-top: 5px;
  margin-bottom: 25px;
}
.mess_cf .title_mess{
  color: var(--color-text-main); font-size: 16px; margin-bottom: 14px;
}


/*policy checkbox*/

.policy {
   display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: center;
    align-content: center;
       margin-top: 0px;
    margin-bottom: 0;
    justify-content: flex-start;
}

.policy .checkbox {
       -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 15px;
    position: relative;
    width: 20px;
    background: #ffffff00;
    height: 20px;
    margin-top: 0px;
    border-radius: 0px;
   border: 2px solid var(--color-btn_3);
}
.policy .checkbox.active {
  
}

.policy .checkbox span.wpcf7-form-control-wrap {
    margin-bottom: 0;
    height: auto;
}
.wpcf7-form-control-wrap {
    position: relative;
}
span.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 0em;
}
label {
    display: inline-block;
}
.policy .checkbox span.wpcf7-form-control-wrap span.wpcf7-acceptance span.wpcf7-list-item input {
    position: absolute;
    opacity: 0;
    top: 0px;
    bottom: 0;
    left: 0px;
    right: 0;
    cursor: pointer;
    width: 16px;
    height: 16px;
    display: block;
    z-index: 1000;
}
.policy .checkbox span.wpcf7-form-control-wrap span.wpcf7-acceptance span.wpcf7-list-item input:checked ~ .wpcf7-list-item-label {
    background-color: #fff;
}
.policy .checkbox span.wpcf7-form-control-wrap span.wpcf7-acceptance span.wpcf7-list-item span.wpcf7-list-item-label {
    position: absolute;
    top: 0;
    left: 0;
    width: 0 !important;
    color: transparent;
}
span.wpcf7-list-item-label::before, span.wpcf7-list-item-label::after {
    content: " ";
}
.policy .checkbox span.wpcf7-form-control-wrap span.wpcf7-acceptance span.wpcf7-list-item input:checked ~ .wpcf7-list-item-label:after {
    display: block;
}
.policy .checkbox span.wpcf7-form-control-wrap span.wpcf7-acceptance span.wpcf7-list-item span.wpcf7-list-item-label:after {
content: "";
      content: "";
    content: "";
    position: absolute;
    display: none;
    left: 5px;
    top: -1px;
    margin: auto;
    width: 5px;
    height: 8px;
    border: solid var(--color-btn_3);
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.policy .text p {

    font-size: 13px!important;
    line-height: 16px!important;
    margin-bottom: 0;
    text-transform: none;
    font-weight: 400;
}

.policy.dark_bg p {

   color: #fff;
}
.policy .text p a{
      color: var(--color-accent);
    text-decoration: underline;
}
.wpcf7-spinner {
    position: absolute;
}


.error404 main{
    
}
  
.error404 h1{
    font-size: 50px;
  font-weight: 600;
  margin-bottom: 30px;
}

.ymaps-2-1-79-map-copyrights-promo{
  display: none;
}

.ymaps-2-1-79-copyright.ymaps-2-1-79-copyright_logo_no{
   display: none;
}
.placeholder_404{
      position: absolute;
    font-size: 550px;
    font-weight: 800;
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    top: -110%;
    z-index: -1;
    color: #363c580d;
 
  
}
.cont_404{
  position: relative;
}
/* ---- cookies --------- */

.cookie-consent-popup {
  position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    padding: 0px 40px;
    box-shadow: 0 0 10px #00000024;
    text-align: left;
    z-index: 999999;
    display: none;
    border-radius: 20px;
    height: 84px;
    margin-bottom: 0px;
    max-width: 580px;
    width: 100%;
}

.cookie-consent-content {
     max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: center;
}

.cookie-consent-popup p {
    font-size: 13px;
    color: #1d2023;
    margin: 0;
  font-weight: 500;
}
.cookie-consent-popup p a{
     
   color: var(--color-accent);
    text-decoration: none;
}
.cookie-consent-popup p a:hover{
     
   color: var(--color-accent);
    text-decoration: underline;
}

.btn_cookies{
     background: var(--color-accent);
    color: #fff;
    border: 0;
    border-radius: 8px;
    width: auto;
    font-weight: 500;
    padding: 14px 19px;
    font-size: 14px;
    height: auto;
    line-height: 1;
transition: all 0.3s;
}
.btn_cookies:hover{
 transform: scale(1.02);
transition: all 0.3s;
}

.close_cookies{
      border: 0;
    color: #ccc;
    font-size: 15px;
    cursor: pointer;
    top: 8px;
    right: 10px;
    position: absolute;
    background: transparent;
}


@media (min-width: 320px) and (max-width: 767px){
.cookie-consent-popup {
    position: fixed;
    bottom: 0px;
    left: 0%;
    transform: translateX(0%);
    padding: 20px 20px;
    box-shadow: 0 -10px 10px #00000014;
    border-radius: 20px 20px 0px 0px;
    height: auto;
    margin-bottom: 0px;
    max-width: 100%;
           width: 100%;
}
  .cookie-consent-content {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-direction: column;
    align-items: stretch;
}
}

.none {
   
    display: none!important;
}


/* ========================================================
  footer
   ======================================================== */

.main-footer-section {
    padding: 0px 0 0px 0;
    background-color: var(--footer-fon);
    margin: 0px 20px 20px;
    border-radius: 0px 0px var(--radius-main) var(--radius-main);
}

.main-footer-section.footer_dark ul li{
        color: #d9d9d9;
}
.main-footer-section.footer_dark p{
      color: #d9d9d9;
}
.main-footer-section.footer_dark a{
      color: #d9d9d9;
}

.main-footer-section.footer_dark .widgettitle {
    color: #bb9b77;
}

.footer-boxed-card {
 
       border-radius: var(--radius-main);                   
    padding: 45px 0px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.footer-contacts-title {
   font-size: 36px;
    font-weight: 700;
    color: var(--color-text-main);
    margin: 0 0 25px 0;
}

.footer-contacts-grid {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 30px;
}


.contact-block-item {
    flex: 1;
    min-width: 240px;
}


.contact-label-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 22px;
    color: var(--color-text-main);
    margin-bottom: 8px;
}

.contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px; 
}

.contact-icon svg{
  width: 22px;
}
.icon-green { 
    background-color: var(--color-accent); 
    color: #ffffff; 
}

.contact-value-text {
    font-size: 18px;
    margin: 0;
  
}


.communication-block-vertical {
    display: flex;
    flex-direction: column;
    gap: 12px; 
      margin-top: 20px;
}

.communication-row {
    display: flex;
    align-items: center;
    gap: 22px;
}


.comm-icons-group {
    display: flex;
    gap: 8px; 
    flex-shrink: 0;
}

.email-row-offset {

    padding-left: 0px; 
}


.social-mini-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    color: #ffffff;
    flex-shrink: 0;
}
.social-mini-icon svg{
  width: 18px;
}

.whatsapp-color { background-color: var(--color-whatsapp); }
.telegram-color { background-color: var(--color-telegram); }
.email-color { background-color: #55565a; } 


.position-relative {
    position: relative;
}

.badge-notification {
    position: absolute;
    top: -4px;
    right: -4px;
    background-color: var(--color-danger);
    color: white;
    font-size: 9px;
    font-weight: bold;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--color-bg-main);
}


.contact-link-main {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text-main);
    text-decoration: none;
    line-height: 1;
}

.contact-link-main.tel{
  font-size: 23px;
}
.contact-link-main:hover { 
    color: var(--color-accent); 
}


.socials-promo-box-flex {
   background-color: #e2e8f0a6;
    border-radius: var(--radius-elements);
    padding: 30px 30px;
    max-width: 440px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-grow: 1.5;
}

.promo-text-left {
    flex: 1;
}

.promo-text {
   font-size: 16px;
    line-height: 1.4;
    color: var(--color-text-main);
    margin: 0;
    font-weight: 400;
}

.promo-socials-right-grid {
       display: flex;
    flex-wrap: wrap;
    width: 80px;
    gap: 4px;
    flex-shrink: 0;
    flex-direction: row;
}

.promo-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px; 
    color: #ffffff;
    text-decoration: none;
    transition: opacity 0.2s ease;
}
.promo-social-btn svg{
  width: 22px;
}

.promo-social-btn:hover { 
    opacity: 0.9; 
}

.vk-color { background-color: #0077ff; }
.tg-color { background-color: #229ed9; }
.vc-color { background-color: #1a1a1a; }
.dzen-color { background-color: #ff3347; }


.footer-divider {
       border: none;
    border-top: 1px solid #a0b1c7;
    margin: 35px 0;
    width: 100%;
}

.footer-middle-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 35px;
}

.footer-brand-side {
        display: flex;
    align-items: center;
    gap: 12px;
    width: 25%;
    flex-direction: row;
}

.footer-action-side{
     width: 25%;
    display: flex;
    justify-content: flex-end;
  
}


.footer-logo-box img { 
    max-height: 86px; 
    display: block; 
}

.footer-brand-desc { 
    font-size: 22px; 
    color: var(--color-text-desc); 
    margin: 0; 
    line-height: 1.2;
    font-weight: 800;
    font-family: var(--font-secondary);
  
}
.footer-brand-desc span{ 
       font-size: 27.5px;
}

 .footer-legal-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    flex-grow: 1;
    max-width: 50%;
}

.legal-requisites { 
    font-size: 14px; 
    color: var(--color-text-main); 
    margin: 0; 
   
}
.legal-requisites a { 
    color: var(--color-text-main); 
}

.footer-legal-links .legal-document-link,
.footer-legal-links a
{
  font-size: 13px;
       text-decoration: none;
    font-weight: 300;
    border-bottom: 1px dashed #cccccc85;

}
.legal-document-link:hover { 
    color: var(--color-text-main); 
}


.btn-consultation-footer {
    background-color: var(--footer-btn-color);
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 18px 24px;
    border-radius: var(--radius-elements);
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}
.btn-consultation-footer:hover { 
    background-color: var(--footer-btn-color-hover); 
}

.footer-disclaimer {
    font-size: 11px;
    line-height: 1.5;
    color: #a0aec0;
    margin: 0 0 16px 0;
    text-align: center;
}

.footer-developer-link {
    display: block;
    font-size: 11px;
    color: var(--color-text-muted);
    text-align: center;
    text-decoration: none;
}
.footer-developer-link:hover { 
    text-decoration: underline; 
}



/* ========================================================
  sidebar
   ======================================================== */

.widgettitle{
  font-style: normal;
    text-transform: uppercase;
    margin-bottom: 24px;
    font-weight: 600;
    font-size: 18px;
    line-height: 1;
}

aside {
  
  display: block;
  margin-top: 68px;
  position: sticky;
  top: 20px;
}
aside .widget {
     border-radius: var(--radius-elements);
    display: block;
    margin-bottom: 10px;
   /* box-shadow: var(--shadow-main);
    padding: 20px 20px 20px 30px;*/
}


aside .widgettitle {
color: #000;
   font-family: var(--font-secondary);
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    margin-bottom: 15px;
    padding-top: 0px;
    border-bottom: 0;
    padding-bottom: 0;
}
.custom-html-widget, .text-widget{
  overflow: hidden;
  border-radius: 0px;
}

ul.popular-news-list{
   padding: 0;
    display: flex;
    gap: 22px;
    flex-wrap: nowrap;
    flex-direction: column;
}
ul.popular-news-list li.popular-news-item a{
display: flex;
    gap: 5px;
    flex-direction: column;
}

ul.popular-news-list li.popular-news-item a .popular-news-thumb{
  width: 100%;
  height: auto;
  overflow: hidden;
  flex-shrink: 0;
}
ul.popular-news-list li.popular-news-item a .popular-news-thumb img{
     width: 100%;
    /*aspect-ratio: 16 / 10;*/
   border-radius: var(--radius-elements);
}
ul.popular-news-list li.popular-news-item a .popular-news-title{
  color: #16191C;
font-weight: 500;
font-size: 15px;
line-height: 130%;
letter-spacing: -1px;
    display: block;
}
ul.popular-news-list li.popular-news-item a .popular-news-data{
  color: var(--color-text-muted);
    font-weight: 400;
    font-size: 12px;
    line-height: 130%;
    display: block;
    font-family: var(--font-secondary);
    margin-top: 8px;
}
ul.popular-news-list li.popular-news-item a .popular-news-excert{
  color: #4B5563;
    font-weight: 400;
    font-size: 12px;
    line-height: 120%;
    display: block;
    font-family: var(--font-secondary);
    margin-top: 8px;
}


/* ========================================================
 single
   ======================================================== */

.img_thumbnail{
  
}
.img_thumbnail img{
  width: 100%;
     height: auto;
    aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-elements);
}
.img_thumbnail.is-square-or-tall img {
    height: auto !important; 
    max-height: 550px;     
       
}

.img_thumbnail p{
 color: #4B5563E5;
font-family: var(--font-secondary), sans-serif;
font-weight: 400;
font-size: 16px;
line-height: 1.3!important;
     margin-top: 20px;
    margin-bottom: 30px;
}

p.first-paragraph{
  color: #16191C;
font-weight: 400;
font-size: 20px;
line-height: 140%;
}

.category_list{
font-size: 16px;
    line-height: 120%;
    display: inline-flex;
    background: var(--color-accent);
    text-decoration: none;
    margin-bottom: 0px;
    font-weight: 500;
    padding: 4px 20px;
    color: #ffffff;
    border-radius: var(--radius-elements);
}
.category_list:hover{
    opacity: 0.8;
    background: var(--color-accent);
    color: #ffffff;
   
}

.post_link{
  border-left: 2px solid var(--color-accent);
  padding: 10px;
  margin-bottom: 5px;
}
.post_link a{
font-weight: 400;
font-size: 16px;
line-height: 1.4;
text-decoration: underline;
   color: var(--color-accent);
}

/*video shortcode*/

.video-wrapper {
    position: relative;
    width: 100%;
    background-color: #000;
    overflow: hidden;
   border-radius: var(--radius-main);
}

.video-wrapper video {
    width: 100%;
    height: auto;
    display: block;
   border-radius: var(--radius-main);
}


.video-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   background: linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), linear-gradient(0deg, #d9d9d95c, #d9d9d926);
    background-blend-mode: multiply; 
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 5; 
    pointer-events: none;
}

.video-wrapper.video-paused::before {
    opacity: 1;
    visibility: visible;
}

.custom-play-btn {
       position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 42px;
    height: 42px;
    background: rgb(255 255 255);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);
    opacity: 1;
    visibility: visible;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s ease, opacity 0.2s ease, visibility 0.2s ease;
    z-index: 10;
}

.custom-play-btn.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.custom-play-btn::after {
     content: '';
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    border-style: solid;
    border-width: 12px 0 12px 17px;
    border-color: transparent transparent transparent var(--color-accent);
    transition: all 0.3s ease;
}

.custom-play-btn:not(.hidden):hover {
    background: var(--color-accent);
    border-color: #ffffff;
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow: 0 12px 40px 0 rgba(0, 0, 0, 0.4);
}

.custom-play-btn:not(.hidden):hover::after {
    border-color: transparent transparent transparent #fff;
}

.video-text-container {
      display: flex;
    gap: 24px;
    align-items: flex-start;
    margin: 15px 0;
}
.video-text-container h2,
.video-text-container h3,
.video-text-container h4
{
font-weight: 600;
font-size: 20px;
line-height: 140%;
      padding: 0px 0px 15px 0px;
}

.text-column > p:first-child:empty { display: none; }
.video-column, .text-column {
    flex: 1;
    max-width: 50%;
}

/* meta single*/

.meta_container {
    display: flex;
    background: #f4f5f8;
    padding: 12px 20px;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    border-radius: var(--radius-elements);
}
.share_container{
    display: flex;
    align-items: center;
    gap: 18px;
}
.share_container .share_container_title{
    font-weight: 400;
    font-size: 13px;
    line-height: 100%;
    color: #757e8b;
    text-transform: uppercase;

}

.meta_container .data{
      font-family: var(--font-secondary), sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 5px;
}

.meta_container .data .ph{

    font-size: 21px;
    line-height: 1;
    color: #7e8db9;
}
.meta_container .data.data_item{

    margin-right: 30px;
}

.custom-share-container {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    align-items: center !important;
    margin: 0px 0 !important;
}

.custom-share-icon-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: 1.1px solid #8c918f !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    outline: none !important;
    border-radius: var(--radius-elements);
}

.custom-share-icon-btn:hover {
    opacity: 0.8 !important;
    border-color: #555e6b !important;
}

.custom-share-icon-btn img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    display: block !important;
}

.copy-tooltip {
    position: absolute !important;
    bottom: 52px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background-color: #333941 !important;
    color: #fff !important;
    padding: 5px 9px !important;
    font-size: 11px !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    opacity: 0;
    pointer-events: none !important;
    transition: opacity 0.2s ease !important;
    font-family: sans-serif !important;
    z-index: 99999 !important;
}

.custom-share-icon-btn.copied {
    border-color: #28a745 !important;
}

.copy-tooltip, .max-tooltip {
    position: absolute !important;
    bottom: 52px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background-color: #333941 !important;
    color: #fff !important;
    padding: 5px 9px !important;
    font-size: 11px !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    opacity: 0;
    pointer-events: none !important;
    transition: opacity 0.2s ease !important;
    font-family: sans-serif !important;
    z-index: 99999 !important;
}

.custom-share-icon-btn.copied {
    border-color: #28a745 !important;
}

.share_container .img-svg.replaced-svg path {
    transition: all 0.2s;
    fill: var(--color-text-main);
}


@media print {

  header, footer, .sidebar, .no-print, .meta_container {
    display: none !important;
  }
  
}

.single_post_container{
    padding: 20px 0px;
}

.single_post_container .container{
    max-width: 1200px;
}
.meta_left{
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ========================================================
  category
   ======================================================== */


.itn-section-block {
       padding: 40px 0px 20px 0px;
}

.itn-section-block .container{
    max-width: 1200px;
}

.category_description{
  margin-bottom: 17px;
}
.category_description p{
font-family: var(--font-secondary);
font-weight: 400;
font-size: 16px;
line-height: 130%;
color: #4B5563;
}

.category-container * {
    box-sizing: border-box;
}

.top-grid {
     display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 32px;
}

.main-featured-col {
    flex: 1 1 65%; 
    min-width: 300px;
}

.main-featured-col  .news-item__date {
    color: #fff;
    font-size: 16px;
    line-height: 130%;
    opacity: 0.6;
}

.sidebar-read-col {
   flex: 1 1 25%;
    min-width: 280px;
    box-shadow: var(--shadow-main);
    padding: 20px 20px 20px 30px;
   border-radius: var(--radius-elements);
}

.top-grid.no-sidebar .main-featured-col {
    flex: 1 1 100%;
}


.featured-card {
    position: relative; 
    display: flex;
    flex-direction: column;
    justify-content: flex-end; 
    min-height: 380px;
    height: 100%;
    text-decoration: none;
    overflow: hidden;
  border-radius: var(--radius-elements);
}


.featured-card-img {
  position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    object-fit: cover;
    z-index: 1;
    transition: all 0.3s;
    border-radius: var(--radius-elements);
}
.main-featured-col .featured-card:hover img {
   transition: all 0.3s;
      transform: scale(1.03);
}

.featured-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   background: linear-gradient(180deg, rgba(17, 17, 17, 0.2) 0%, rgba(17, 17, 17, 0.9) 100%);
    z-index: 2;
  border-radius: var(--radius-elements);
}

.featured-card-content {
    position: relative;
    padding: 24px;
    color: #ffffff;
    z-index: 3; 
}

.featured-title {
  margin: 0 0 12px 0;
    font-weight: 500;
    font-size: 32px;
    line-height: 120%;
    letter-spacing: 0;
    color: #fff;
}

.featured-excerpt,
.featured-excerpt p
{
    margin: 0;
    font-size: 18px;
    opacity: 1;
    line-height: 1.5;
  color: #E5E7EB;
      font-family: var(--font-secondary);
}


.main-featured-col .featured-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 360px; 
    height: 100%;
    text-decoration: none;
    overflow: hidden;
    transition: min-height 0.3s ease; 
}
.top-grid.no-sidebar .main-featured-col .featured-card {
    min-height: 420px; 
}


.sidebar-title {
      margin: 0 0 15px 0;
    font-size: 24px;
    padding-bottom: 0px;
    font-weight: 500;
    line-height: 1.3;
  font-family: var(--font-secondary);
  color: #000;
}

.read-also-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.read-also-item {
      display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #000;
    gap: 10px;
}

.read-also-item:hover .read-also-content .title {
    color: var(--color-accent);
  transition: all 0.2s;
}

.read-also-thumb {
      flex-shrink: 0;
    width: 105px;
    height: 70px;
    overflow: hidden;
  border-radius: var(--radius-elements);
}

.read-also-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  border-radius: var(--radius-elements);
}

.read-also-content .title

{
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
  color: #16191C;
    font-family: var(--font-secondary);
  transition: all 0.2s;
}

.loadmore-wrapper {
       display: flex;
    justify-content: center;
    margin: 30px 0 0px;
    width: 100%;
}

.loadmore-but {
  display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0px;
    color: #fff;
    cursor: pointer;
    border: 1.2px solid var(--color-accent);
    background-color: var(--color-accent);
    transition: all 0.2s ease, opacity 0.2s ease;
      border-radius: var(--radius-elements); 
}

.loadmore-but:hover {
    background-color: var(--color-accent);
  color: #fff;
}

.loadmore-but:disabled {
    background-color: var(--color-accent);
    cursor: not-allowed;
    opacity: 1;
}

.table-responsive {
    margin-bottom: 20px;
}
.single .related.bottom-feed{
  margin-top: 40px;
}

.single .related .news-item__title {
  
    font-size: 20px;

}
.single .related .news-item__excerpt p {
   
    font-size: 14px;

}

.single .related .news-item__date {
    color: #4B5563;
    font-size: 13px;
    line-height: 130%;
    font-family: var(--font-secondary);
}
/* ========================================================
  category loop
   ======================================================== */


.news-item {
display: flex;
    justify-content: space-between;
    gap: 24px;
    background-color: #fff;
    border-radius: var(--radius-elements);
    margin-bottom: 24px;
    flex-direction: row-reverse;
  box-shadow: var(--shadow-main);
    
}


.news-item__content {
  display: flex;
  flex-direction: column;
  flex: 1; 
      padding: 20px 0px;
}


.news-item__category span {
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0;
    background: var(--color-accent);
    text-decoration: none;
    margin-bottom: 10px;
    font-weight: 500;
    padding: 4px 20px;
    color: #ffffff;
     border-radius: var(--radius-elements);
}
.news-item__category span:hover {
  text-decoration: none;
}

.news-item__title {
     margin: 0 0 12px 0;
    font-weight: 500;
    font-size: 24px;
    line-height: 110.00000000000001%;
    letter-spacing: 0;
}
.news-item__title a {
  text-decoration: none;
  transition: color 0.2s ease;
}

.news-item__excerpt {
 color: var(--color-text-muted);
    font-size: 18px;
    line-height: 120%;
  font-family: var(--font-secondary);
  margin-bottom: 10px;
  max-width: 680px;
}
.news-item__excerpt p {
  margin: 0;
  color: var(--color-main-muted);
    font-size: 18px;
    line-height: 120%;
  font-family: var(--font-secondary);
}

.news-item__date {
 color: #4B5563;
    font-size: 16px;
    line-height: 130%;
  font-family: var(--font-secondary);

}

.news-item__image-link {
  display: block;
  flex-shrink: 0; 
  width: 380px;
 height: auto;
  overflow: hidden;
  border-radius: var(--radius-elements);
}


.news-item__image-link img {
      width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
  transition: transform 0.3s ease;
  border-radius: var(--radius-elements);
}
.news-item__image-link:hover img {
  transform: scale(1.03);
  border-radius: var(--radius-elements);
}

@media (max-width: 768px) {
  .news-item {
    flex-direction: column-reverse; 
    gap: 15px;
  }
  .news-item__image-link {
    width: 100%;
    height: auto; 
    aspect-ratio: 380 / 248;
  }
}




/* ========================================================
 standart gallery WP
   ======================================================== */

.wp-caption-text.gallery-caption{
  display: none;
}

.gallery {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important; 
    justify-content: flex-start !important;
  margin: 0px 0 20px 0px !important;
    padding: 0 !important;
}

.gallery br, 
.gallery p,
.gallery::after, 
.gallery::before {
    display: none !important;
    content: none !important;
    position: absolute !important;
}

.gallery .gallery-item {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: calc(var(--wp--style--unsupported-variable, 100%) - 15px) !important; 
    max-width: calc(100% / var(--columns, 1)) !important; 
}

.gallery-columns-1 .gallery-item { max-width: 100% !important; flex-basis: 100% !important; }
.gallery-columns-2 .gallery-item { max-width: calc(50% - 8px) !important; flex-basis: calc(50% - 8px) !important; }
.gallery-columns-3 .gallery-item { max-width: calc(33.33% - 10px) !important; flex-basis: calc(33.33% - 10px) !important; }
.gallery-columns-4 .gallery-item { max-width: calc(25% - 11.25px) !important; flex-basis: calc(25% - 11.25px) !important; }
.gallery-columns-5 .gallery-item { max-width: calc(20% - 12px) !important; flex-basis: calc(20% - 12px) !important; }
.gallery-columns-6 .gallery-item { max-width: calc(16.66% - 12.5px) !important; flex-basis: calc(16.66% - 12.5px) !important; }
.gallery-columns-7 .gallery-item { max-width: calc(14.28% - 12.85px) !important; flex-basis: calc(14.28% - 12.85px) !important; }
.gallery-columns-8 .gallery-item { max-width: calc(12.5% - 13.12px) !important; flex-basis: calc(12.5% - 13.12px) !important; }
.gallery-columns-9 .gallery-item { max-width: calc(11.11% - 13.33px) !important; flex-basis: calc(11.11% - 13.33px) !important; }

.gallery .gallery-icon {
    width: 100% !important;
    height: auto !important; 
    margin: 0 !important;
    aspect-ratio: 4 / 3 !important; 
   border-radius: var(--radius-elements);
}

.gallery .gallery-icon a {
    position: relative !important;
    overflow: hidden !important;
    background-color: #000000 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
   border-radius: var(--radius-elements);
}

.gallery .gallery-icon img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
     border-radius: var(--radius-elements);
    transition: transform 0.4s ease, opacity 0.4s ease !important;
   border: 0!important;
}

.gallery .gallery-icon a:hover img {
    transform: scale(1.05) !important; 
    opacity: 0.8 !important; 
}

#content dd.wp-caption-text.gallery-caption,
.gallery-item dd.gallery-caption {
    display: none !important;
}

@media (max-width: 768px) {
    .gallery .gallery-item {
        flex-basis: calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
    }
}
@media (max-width: 379px) {
    .gallery .gallery-item {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
}


/* ========================================================
  swiper js
   ======================================================== */

.custom-gallery-swiper {
    width: 100%;
    max-width:100%; 
    margin: 0px auto 30px auto!important;
    padding: 0 0x !important; 
    position: relative;
    box-sizing: border-box;
}

.custom-gallery-swiper .swiper-slide img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3 !important; 
    object-fit: cover !important; 
    display: block;
    margin: 0 auto;
    border-radius: 0px;
}

.custom-gallery-swiper .swiper-button-next {
       right: 10px !important;
    color: #ffffff !important;
    background: var(--color-accent) !important;
   border-radius: var(--radius-elements);
    border: 0;
}
.custom-gallery-swiper .swiper-button-prev {
    left: 10px !important;
     color: #ffffff !important;
    background: var(--color-accent)!important;
  border-radius: var(--radius-elements);
    border: 0;
}

.custom-gallery-swiper .swiper-pagination {
    bottom: -5px !important;
}
.custom-gallery-swiper .swiper-pagination-bullet-active {
    background: #000000 !important;
}

.custom-gallery-swiper .swiper-gallery-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important; 
    background-color: #000000 !important;
    border-radius: var(--radius-elements);
}

.custom-gallery-swiper .swiper-gallery-link img {
    transition: transform 0.4s ease, opacity 0.4s ease !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
   border-radius: var(--radius-elements);
}

.custom-gallery-swiper .swiper-gallery-link:hover img {
    transform: scale(1.05) !important;
    opacity: 0.8 !important;
}


.fancybox-image, .fancybox-spaceball {
    
    border-radius: var(--radius-main)!important;
}

.fancybox-close-small:after {
  
    top: 5px;
    display: flex;
    right: 5px;
    width: 40px;
    padding-top: 3px;
    line-height: 1;
    height: 40px;
    font-size: 30px;
    color: #fff;
    background-color: var(--color-accent);
    align-items: center;
    justify-content: center;
}




.custom-toc {
     background-color: #f4f5f8;
    border: 0px solid #e1e4e6;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 30px;
    display: inline-flex;
    min-width: 100%;
    max-width: 100%;
    justify-content: space-between;
    flex-direction: column;
}

.toc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0px;
}

.toc-title {
    font-weight: 600;
    font-size: 18px;
    text-transform: uppercase;
    margin: 0;
    color: #19203f;
}


.toc-toggle-btn {
    background: none;
    border: none;
    color: #e84c3d;
    gap: 10px;
    font-size: 14px;
    display: flex;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
    align-items: center;
}

.toc-toggle-btn:hover {
    color: #000;
}


.toc-list.toc-hidden {
    display: none;
}


.toc-list {
    counter-reset: h2-counter;
      margin-top: 20px;
}

.toc-level-2 {
    counter-increment: h2-counter;
    counter-reset: h3-counter;
    margin-bottom: 8px;
    font-weight: 500;
}

.toc-level-2::before {
       content: counter(h2-counter) ". ";
    color: #e84c3d;
    margin-right: 0;
    font-weight: 700;
    width: 20px;
    display: inline-block;
}

.toc-level-3 {
    counter-increment: h3-counter;
    padding-left: 25px;
    margin-bottom: 6px;
}

.toc-level-3::before {
   content: counter(h2-counter) "." counter(h3-counter) ". ";
    color: #19203fba;
    margin-right: 0;
    font-weight: 700;
    width: 26px;
    display: inline-flex;
    font-size: 0.95em;
}

.toc-item a {
    text-decoration: none;
    color: #19203f;
}

.toc-item a:hover {
    text-decoration: underline;
}

.toc-level-3 a {
    color: #19203fba;
    font-size: 0.95em;
}

.btn-icon{
    width: 25px;
    height: 25px;
    border: 1px solid #e7e2e2;
    border-radius: 6px;
    background-color: #e84c3d;
    display: flex;
    color: #fff;
    font-size: 20px;
    justify-content: center;
    align-items: center;
}


/* === Блок "Почему я, а не агентство" === */
.why-me {
max-width: 960px;
    margin: 0 auto;
    padding: 20px 16px 40px;
    display: flex;
    flex-direction: column;
  
}

.wrap_compare{
       display: flex;
    align-items: stretch;
    gap: 20px;
}

.why-me .row {
  display: flex;
  align-items: stretch;
  
}

.why-me .row:last-child {
  border-bottom: none;
}

.why-me .row:last-child .col.bad {
   
    margin-bottom: 0px;

}
.why-me .row:last-child .col.good {
   
    margin-bottom: 0px;

}


.why-me .col {
     flex: 1;
    display: flex;
    align-items: center;
    padding: 16px 12px;
    font-size: 16px;
    line-height: 1.5;
}

.why-me .col.bad {
     background-color: #f9f9f9;
    color: #555;
    margin-bottom: 10px;
}


.why-me .col.good {
  background-color: #ffffff;

  border-left: 4px solid var(--color-accent);;
  font-weight: 500;
}


.why-me .icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  margin-top: 2px;
}

.why-me .icon--cross {
  background-color: #2c2c2c;
}

.why-me .icon--check {
     background-color: var(--color-accent);;
}


.why-me .col p {
  margin: 0;
  flex: 1;
}
.title_compare{
  
}
.title_compare p{
      font-size: 18px;
    font-weight: 600;
    text-align: center;
}

.avtor_container{
  display: flex;
    padding: 30px;
    gap: 25px;
    margin-top: 30px;
    align-items: center;
    border-radius: var(--radius-elements);
    border: 1px dashed #b7b7b7;
}
.avtor_container .img{
     flex-shrink: 0;
    width: 80px;
    height: 80px;
    background-color: #dee2f1;
    overflow: hidden;
    border-radius: 100px;
}
.avtor_container .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avtor_container .text .avtor_name{
      font-size: 18px;
    font-weight: 600;
    color: #19203f;
}
.avtor_container .text .avtor_name span{
       font-size: 14px;
    font-weight: 400;
    color: #686868;
}

.avtor_container .text .avtor_text{
      font-size: 15px;
    margin-top: 5px;
    font-style: italic;
}

.avtor_container_top{
      display: flex;
    padding: 0;
    gap: 25px;
    margin-top: 15px;
    margin-bottom: 15px;
    align-items: center;
 
}

.avtor_container_top .text .avtor_name {
    font-size: 16px;
    font-weight: 600;
    color: #19203f;
}
.avtor_container_top .text .avtor_name span {
    font-size: 14px;
    font-weight: 400;
    color: #686868;
}

/* page contact */

.page_contact_container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}

.page-contact__top-row {
    display: flex;
    gap: 20px;
    width: 100%;
}

.page-contact__main {
       width: 50%;
      background-color: var(--color-bg-main);
    border-radius: var(--radius-main);
    padding: 40px;
    display: flex;
    flex-direction: column;
}

.page-contact__main p.info{
  font-size: 22px;
  font-weight: 500;
  margin-top: 25px;
  margin-bottom: 0;
}


.page-contact__subtitle {
        font-size: 0.85rem;
    color: #424242;
    margin-bottom: 10px;
}

.page-contact__title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--color-text-main);
    margin-bottom: 40px;
}

.page-contact__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 20px;
}

.page-contact__item {
    flex: 1 1 calc(50% - 10px);
    min-width: 220px;
}

.page-contact__item-title {
       font-size: 0.85rem;
    color: #878787;
    font-weight: 400;
    margin-bottom: 12px;
}

.page-contact__item-text,
.page-contact__link {
    font-size: 1rem;
    color: var(--color-text-main);
    line-height: 1.5;
    text-decoration: none;
    display: block;
}

.page-contact__link {
    font-weight: 600;
    margin-bottom: 5px;
}
.page-contact__link.tel {
   font-size: 20px;
}


.page-contact__link:hover {
    text-decoration: underline;
}

.page-contact__map-placeholder {
     width: 50%;
    background-color: var(--color-bg-main);
    border-radius: var(--radius-main);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 380px;
    overflow: hidden;
}


.page-contact__form-block {
    display: flex;
        background-image: linear-gradient(0.5turn, #363c58 30%, rgb(54 60 88) 100%);
    border-radius: var(--radius-main);
    padding: 50px;
    gap: 40px;
    color: #ffffff;
  position: relative;
}
.page-contact__form-block:before {
    background: url(./img/path1.webp) no-repeat;
    background-size: 100%;
    position: absolute;
    content: '';
    bottom: 0px;
    left: 0;
    width: 70%;
    height: 300px;
}

.page-contact__form-left {
    flex: 1;
    display: flex;
    flex-direction: column;
  position: relative;
}

.page-contact__form-badge {
      font-size: 12px;
    color: #ced9fd;
    letter-spacing: 0.5px;
    margin-bottom: 25px;
    display: inline-block;
}

.page-contact__form-title {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 20px;
    color: #ffffff;
}

.page-contact__form-desc {
       font-size: 1rem;
    line-height: 1.6;
    opacity: 1;
    margin-bottom: auto;
    max-width: 450px;
    color: #ced9fd;
}

/* Блок менеджера */
.page-contact__manager {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 40px;
}

/* Стили для тега IMG аватара */
.page-contact__manager-avatar {
  width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    background-color: rgba(255, 255, 255, 0.2);
}

.page-contact__manager-name {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 2px;
  color: #fff;
}

.page-contact__manager-role {
    font-size: 0.8rem;
    opacity: 0.6;
  color: #fff;
  margin-bottom: 0;
}

.page-contact__form-right-placeholder {
    flex: 1;
 position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
}

.page-contact__form-right-placeholder .policy p{
  color: #fff;
}
.page-contact__form-right-placeholder .policy .text p a {
    color: #e5d6c5!important;
}
.page-contact__form-right-placeholder label {
    cursor: pointer;
    display: block;
    color: #f5f5f5;
}

.page-contact__placeholder-text {
    font-size: 1.1rem;
    opacity: 0.5;
    text-align: center;
}

footer ul.menu{
      margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
footer ul.menu li{
  
}

footer ul.menu li a{
     font-size: 14px;
    position: relative;
    padding-left: 0px;
    display: inline-flex;
      font-weight: 400;
}

footer ul.menu li a:before{
  position: absolute;
  content:'';
  background: #000;
  width: 0px;
  height: 1px;
  left: 0;
  top: 9px;
}
.footer-menu{
  margin-top: 22px;
}

footer .widgettitle {
   font-family: var(--font-secondary), sans-serif;
    text-transform: none;
    margin-bottom: 26px;
    font-weight: 600;
    font-size: 20px;
    line-height: 1;
}


.article-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px; 
    margin: 20px 0;
}

.article-tags__item {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    background-color: #f3f4f6;
    color: #374151;
    font-size: 14px;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.article-tags__item:hover {
    background-color: #e5e7eb;
    color: #111827;
}


/* ==========================================================================
   БЛОК КОНТАКТОВ С МЕСТОМ ПОД КАРТУ
   ========================================================================== */


/* Главный флекс-ряд секции */
.contacts-block-wrapper {
      display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    height: 100%;
    margin: 0px 0px;
}


.contacts-info-left {
  width: 30%;
    display: flex;
    flex-direction: column;
    padding: 40px;
    background: var(--color-bg-main);
    border-radius: var(--radius-main);
}

.contacts-main-title {
    font-size: 36px;
    font-weight: 300;
    color: var(--color-text-main);
    margin: 0 0 35px 0;
}

/* Список контактов */
.contacts-list {
    display: flex;
    flex-direction: column;
    gap: 20px; /* Отступы между строками адреса, телефона и т.д. */
    margin-bottom: 35px;
}

.contact-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px; /* Расстояние от иконки до текста */
}

/* Стилизация иконок Phosphor */
.contact-item i {
    font-size: 28px;
    color: var(--color-accent); 
    flex-shrink: 0;
    margin-top: 2px; 
}

.contact-text {
    display: flex;
    flex-direction: column;
    line-height: 1.4;
    font-size: 15px;
    color: #111111;
}

.contact-text strong {
    font-weight: 700;
    display: block;
}

/* Крупный телефон и ссылка почты */
.contact-link-phone {
    font-size: 22px;
    font-weight: 700;
    color: #111111;
    text-decoration: none;
    line-height: 1.2;
}

.contact-link-email {
    color: #111111;
    text-decoration: none;
    border-bottom: 1px dashed #111111;
}
.contact-link-email:hover {
    color: var(--color-accent);
    border-color: var(--color-accent);
}


.contacts-sub-label {
    font-size: 13px;
    color: #464646;
    margin: 0 0 10px 0;
}


.contacts-messengers-group,
.contacts-socials-group {
    margin-bottom: 25px;
}

.contacts-socials-group {
    margin-bottom: 0;
}

.messengers-placeholder-zone,
.socials-placeholder-zone {
  width: 100%;
    max-width: 280px;
    min-height: 44px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.messengers-placeholder-zone .social-link{
  background: #4a4745!important;
}



.contacts-map-right {
       width: 70%;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.map-placeholder-title {
    font-size: 16px;
    font-weight: 600;
    color: #111111;
    margin-bottom: 15px;
}


.map-iframe-container {
    width: 100%;
    height: 100%; 
    background-color: #f4f4f4; 
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    position: relative;
    overflow: hidden;
}

/*style 2*/

.header_style_2 .topbar, .topbar{
      color: #fff;
    background: var(--color-accent);
    font-size: 15px;
    font-weight: 600;
    padding: 0;
    width: 100%;
       border-bottom: 4px solid #4274a3;
}

.header_style_2 .topbar .topbar_container .topbar-left .callback_text,
.topbar .topbar_container .topbar-left .callback_text
{
      display: flex;
    align-items: center;
    gap: 10px;
}
.header_style_2 .topbar .topbar_container .topbar-left .callback_text span,
.topbar .topbar_container .topbar-left .callback_text span
{
       font-weight: 400;
}
.header_style_2 .topbar .topbar_container .topbar-left .callback_text .icon,
.topbar .topbar_container .topbar-left .callback_text .icon
{
       width: 30px;
    flex-shrink: 0;
  font-size: 30px;
      animation: phoneAnimation 2s linear infinite;
}
@keyframes phoneAnimation {
        0% {
          transform: scale(1) rotateZ(0deg);
        }
        10% {
          transform: scale(1.2) rotateZ(0deg);
        }
        13% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        16% {
          transform: scale(1.2) rotateZ(5deg);
        }
        19% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        22% {
          transform: scale(1.2) rotateZ(5deg);
        }
        25% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        28% {
          transform: scale(1.2) rotateZ(5deg);
        }
        31% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        34% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        37% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        40% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        43% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        46% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        49% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        52% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        55% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        58% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        61% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        64% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        67% {
          transform: scale(1.2) rotateZ(-5deg);
        }
        70% {
          transform: scale(1.2) rotateZ(0deg);
        }
        90% {
          transform: scale(1.2) rotateZ(0deg);
        }
        100% {
          transform: scale(1) rotateZ(0deg);
        }
      }



.header_style_2 .topbar .topbar_container,
.topbar .topbar_container
{
     display: flex;
    justify-content: space-between;
    align-items: center;
  height: 77px;
}

.header_style_2 .topbar .topbar_container .topbar-center .topbar-center_content,
.topbar .topbar_container .topbar-center .topbar-center_content
{
      display: flex;
    flex-direction: column;
    align-items: center;
}
.header_style_2 .topbar .topbar_container .topbar-center .topbar-center_content a,
.topbar .topbar_container .topbar-center .topbar-center_content a
{
     color: #fff;
    font-size: 22px;
    font-weight: 400;
}
.header_style_2 .topbar .topbar_container .topbar-center .topbar-center_content span,
.topbar .topbar_container .topbar-center .topbar-center_content span
{
     color: #fff;
    font-size: 13px;
    font-weight: 300;
}

.header_style_2 .topinfo-bar{
      box-shadow: 0px 0px 20px #0c3d671f;
      position: relative;
}

.header_style_2 .topinfo-bar .topinfo-bar_container{
      padding: 12px 0px;
    display: flex;
    align-items: center;
    gap: 110px;

}

.header_style_2 .topinfo-bar .topinfo-bar_container .info-item{
      display: flex;
    align-items: center;
    gap: 5px;
    line-height: 1;
}
.header_style_2 .topinfo-bar .topinfo-bar_container .info-item span{
    font-size: 16px;
    font-weight: 400;
    color: #655f5f;
}
.header_style_2 .topinfo-bar .topinfo-bar_container .info-item i{
       font-size: 22px;
    line-height: 1;
  margin-top: -1px;
  color: var(--color-accent);
}


.header_style_2 .header-main-row{
          display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 25px 0px;
}

.header_style_2 .header-logo-block{
      display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}



.header_style_2 .header-logo-block .header-desc{
    margin: 0;
    color: #103978;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 800;
    font-family: var(--font-secondary);
}
.header_style_2 .header-logo-block .header-desc span{
  
    font-size: 40px;

}


.header_style_2 .header-action-block {
        display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    align-items: flex-end;
}
.header_style_2 .header-action-block .main-phone{
        display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}
.header_style_2 .header-action-block .main-phone a{
  font-size: 28px;
      font-weight: 500;
}
.header_style_2 .header-action-block .main-phone i{
  font-size: 28px;
  color: var(--color-danger);
}


  .header_style_2 .menu_bar_wrap {
        border-top: 3px double #fff;
        border-bottom: 3px double #fff;
    background: var(--color-accent);
    }

.header_style_2 .menu_bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    margin-top: 0px;
    border-radius: 0;
    padding: 0px 0px 0px 20px;
}

.btn-white{
    color: var(--color-text-main);
    background: #fff;
    border: 1px solid #fff;
    padding: 10px 15px;
    cursor: pointer;
    box-shadow: 0 0 0 #ffffff66;
    
}
.btn-white:hover, .btn-white:focus{
   
    color: var(--color-text-main);
    background: #fff;
    border: 1px solid #fff;
    cursor: pointer;

}


.btn-red{
       height: 50px;
     background: var(--color-btn_2);
    color: #fff;
    border: 1px solid var(--color-btn_2);
    box-shadow: 0 0 0 #ffffff66;
    text-transform: none;
    padding: 12px 50px;
  
    
}
.btn-red:hover{
    background: var(--color-btn_2);
  opacity: 0.8;
    color: #fff;
    border: 1px solid #d30000;
    cursor: pointer;
    box-shadow: 0 0 0 #ffffff66;
    
}

.btn-callback{
  text-transform: none;
  font-weight: 400;
      height: 50px;
}

.pulse{
  animation: pulse 2s infinite;
}

@keyframes pulse {
        0% {
          box-shadow: 0 0 0 0 #ffffff66;
        }
        70% {
          box-shadow: 0 0 0 20px #ffffff00;
        }
        100% {
          box-shadow: 0 0 0 0 #ffffff00;
        }
      }


.header_style_2.sticky-holder .container {
    box-shadow: none;
    background-color: transparent;
    max-width: 1440px;
    width: 100%;
    border-radius: 0px 0px 0px 0px;
}

.floating-side-panel.style_2 {
  
    right: 0px;
   
}

.header_style_2 .search-wrapper {

    height: auto;
 
}

.header_style_2 .search_icon {
    display: flex;
    width: 45px;
    height: 45px;
}

.header_style_2 .navbar-nav>li>a {
   
    font-weight: 700;
    font-size: 16px;
    color: #ffffff;
  
}
.header_style_2 .navbar-nav .nav-link.active, .header_style_2 .navbar-nav .show>.nav-link {
     color: #ffffff;
}
.header_style_2 .navbar {
    padding: 0;
    width: 100%;
}

.offer_style_2 .hero-info {
      width: 60%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    z-index: 3;
}

.offer_style_2 .hero-subtitle {
    width: 100%;
    max-width: 720px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 0 24px;
    padding: 0;
    color: #143b68;
}
.offer_style_2 .hero-subtitle::before {
   display: none;
}
.offer_style_2{
 position: relative;
    width: 100%;
    background-size: cover !important;
}

.offer_style_2 .hero-desktop-picture {
    display: none;
}

@media (min-width: 1200px) {
    @supports selector(:has(*)) {
    .offer_style_2:has(.hero-desktop-picture) {
        /* The decorative image fits the hero height instead of zooming to the screen width. */
        background-image: none !important;
        background-color: #cbd0d5 !important;
        overflow: hidden;
    }

    .offer_style_2 .hero-desktop-picture {
        display: block;
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
    }

    .offer_style_2 .hero-desktop-image {
        position: absolute;
        top: 0;
        right: 0;
        width: auto;
        height: 110%;
        max-width: none;
        -webkit-mask-image: linear-gradient(to right, transparent, #000 20%);
        mask-image: linear-gradient(to right, transparent, #000 20%);
    }
    }
}

.offer_style_2 .hero-content_overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    /* Light blue surface fades into the original photo on wide screens. */
    background: linear-gradient(90deg, rgba(220, 234, 255, 0.20) 0%, rgba(220, 234, 255, 0.18) 28%, rgba(220, 234, 255, 0.18) 52%, rgba(220, 234, 255, 0.03) 62%, rgba(220, 234, 255, 0) 70%) !important;
    opacity: 1;
}

.offer_style_2.hero-content {
   
    padding: 80px 0 80px 0;
    
}

.offer_style_2 .hero-title {
    width: 100%;
    max-width: 720px;
    font-size: 50px;
    font-weight: 800;
    color: #143b68;
    text-wrap: balance;
}

.offer_style_2 .subtitle_text,
.offer_style_2 .subtitle_text p {
    color: #143b68;
}

@media (max-width: 1199px) {
    .offer_style_2.has-mobile-bg {
        background-image: var(--hero-bg-mobile) !important;
        background-position: center center !important;
    }

    .offer_style_2.has-mobile-bg .hero-content_overlay {
        background: linear-gradient(180deg, rgba(220, 234, 255, 0.63) 0%, rgba(220, 234, 255, 0.80) 22%, rgba(220, 234, 255, 0.78) 60%, rgba(220, 234, 255, 0.54) 100%) !important;
        opacity: 1;
    }
}

@media (max-width: 1023px) {
    .offer_style_2 .hero-content_overlay {
        background: rgba(220, 234, 255, 0.30) !important;
        opacity: 1;
    }
}

.offer_style_2 .policy.dark_bg p,
.offer_style_2 .policy .text p a {
    color: #143b68;
  
}

.style_2 .section-title h2 {
   position: relative;
      margin: 0 0 60px 0;
}
.style_2 .section-title h2:after {
    position: absolute;
    content: "";
    width: 250px;
    height: 4px;
    background: var(--color-danger);
    bottom: -20px;
    left: 50%;
    margin-left: -125px;
}

.style_2 .section-title {
    margin: 0 0 60px 0;
}

/*new blocks*/

.icon-row{
  display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.icon-row .icon-col{
      width: calc(100% / 3 - 20px);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0px 60px;
}

.icon-row .icon-col .icon{
  border-radius: 200px;
  width: 100px;
  height: 100px;
}

.icon-row .icon-col .icon img{
  
}

.icon-row .icon-col .icon-title{
  margin: 40px 0px 20px 0px;
}
.icon-row .icon-col .icon-title span{
  font-weight: 600;
    font-size: 30px;
    line-height: 1.17;
    margin-bottom: 20px;
font-family: var(--font-secondary), sans-serif;
}


.icon-row .icon-col .icon-text{
  
}

.icon-row .icon-col .icon-text p{
  
}

.cta3_container{
      display: flex;
    align-content: center;
    align-items: center;
}

.cta3_container .img{
    width: 50%;
    display: flex;
    justify-content: center;
}
.cta3_container .img img{
  max-width: 500px;
   border-radius: var(--radius-main);
}
.cta3_container .content{
  width: 50%;
}
.cta3_container .content span.title{
  font-size: 24px;
  font-family: var(--font-secondary), sans-serif;
    font-weight: 600;
    color: var(--color-accent);
    line-height: 1.17;
    margin-bottom: 20px;
    margin-top: 0px;
      display: block;
}
.cta3_container .content p.text{
        font-size: 18px;
    line-height: 1.50;
    font-weight: 300;
    max-width: 600px;
    margin-bottom: 0;
}
.cta3_container .content .btn{
  margin-top: 30px;
}


.services3 {
    width: 100%;
    padding: 0px 0;
    box-sizing: border-box;
}

.services3__container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
}

.services3__card {
    display: flex;
    flex-direction: column;
    background-color: #f4f6f8;
    padding: 30px 40px 40px 40px;
    width: calc(33.333% - 20px);
    min-width: 300px;
    flex-grow: 1;
    box-sizing: border-box;
    border-bottom: 4px solid var(--color-accent);
  border-radius: 10px 10px 0px 0px;
}

.services3__title h3{
    
    font-size: 20px;
    font-weight: 700;
    color: var(--color-accent);
    margin: 0 0 20px 0;
}

.services3__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
}

.services3__item {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-left: 36px;
}

.services3__item::before {
       content: "\e184";
    font-family: "Phosphor" !important;
    position: absolute;
    left: 0;
    top: -2px;
    font-size: 23px;
    color: var(--color-accent);
    line-height: 1;
}

.services3__text,
.services3__link {
  
    font-size: 18px;
    line-height: 1.3;
    margin: 0;
    text-decoration: none;
}



.services3__link:hover {
    text-decoration: underline;
    color: #005691;
}

.services3__action {
    display: flex;
    margin-top: auto; 
    padding-top: 15px;
}

.services3__btn {
    display: inline-flex;
    align-items: center;
    background: none;
    border: none;
    padding: 0;
    font-family: sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-accent);
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s ease;
}

.services3__btn:hover {
    color: var(--color-accent);
}

.services3__arrow {
    margin-left: 8px;
    transition: transform 0.2s ease;
}

.services3__btn:hover .services3__arrow {
    transform: translateX(4px);
}


.counter {
    width: 100%;
    background: var(--counter-bg); 
    padding: 100px 0;
    box-sizing: border-box;
      margin: 40px 0px;
}

.counter__container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 40px 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
    box-sizing: border-box;
}

.counter__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: calc(33.333% - 20px); 
    min-width: 250px;
    flex-grow: 1;
}

.counter__number-wrap {
 
    color: var(--counter-text);
    margin-bottom: 20px;
}

.counter__number-wrap .counter__number{
  font-family: var(--font-secondary), sans-serif;
    font-size: 64px;
    font-weight: 700;
    line-height: 1;
}
.counter__number-wrap .counter__prefix{

    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}


.counter__text {
   font-family: var(--font-secondary), sans-serif;
       font-size: 19px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--counter-text);
    max-width: 320px;
    margin: 0;
    opacity: 0.8;
}


.etaps3 {
  width: 100%;
    padding: 40px 0px 0px 0;
    box-sizing: border-box;
}

.etaps3__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
    box-sizing: border-box;
    gap: 30px;
}

.etaps3__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
    position: relative;
    box-sizing: border-box;
}

.etaps3__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: var(--icon-bg);
    margin-bottom: 25px;
    z-index: 2;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.etaps3__icon {
    width: 49px;
    height: 49px;
    object-fit: contain;
}

.etaps3__item::after {
  content: "";
    position: absolute;
    top: 43px;
    left: calc(50% + 45px + 15px);
    width: calc(100% - 30px - 30px);
    height: 5px;
    background-image: radial-gradient(circle, #5a5a5a 2px, transparent 2.5px);
    background-repeat: repeat-x;
    background-size: calc(100% / 9) 100%;
    z-index: 1;
}

.etaps3__item:last-child::after {
    display: none;
}
.etaps3__title {
    font-family: var(--font-secondary), sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--color-accent);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.etaps3__text {
   
    font-size: 18px;
    line-height: 1.5;
    margin: 0;
    max-width: 290px;
}


.cta4 {
    background: var(--cta-bg);
    padding: 100px 0;
    box-sizing: border-box;
}

.cta4__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
    box-sizing: border-box;
}


.cta4__title {
  font-family: var(--font-secondary), sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--cta-text);
    margin-bottom: 20px;
    display: block;
}

.cta4__subtitle {
    font-family: var(--font-secondary), sans-serif;
    font-size: 18px;
    line-height: 1.5;
    color: var(--cta-text);
    margin: 0 0 60px 0;
    opacity: 0.9;
}

.cta4__action {
    display: flex;
    justify-content: center;
    width: 100%;
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--cta-text);
    border: 2px solid var(--cta-text);
    padding: 14px 35px;
    font-family: sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.btn-outline:hover {
    background-color: #ffffff;
    color: #000000;
    border-color: #ffffff;
}


/*footer style 2*/

.footer_style_2 .footer-menu {
    margin-top: 0px;
}

.footer_style_2 .footer-brand-side {
    width: 100%;
}

.footer_style_2 .footer-logo-box img {
    max-height: 100%;
}

.footer_style_2 .footer-brand-desc {
    font-size: 15px;
}

.footer_style_2 footer ul.menu li a {
    font-size: 17px;
}

.footer_style_2 .footer-bottom-row{
      display: flex;
    justify-content: space-between;
}

.footer_style_2 .footer-disclaimer {
    font-size: 14px;
    margin: 0 0 10px 0;
    text-align: left;
}
.footer_style_2 .footer-bottom-row_left{
  width: 50%;
}
.footer_style_2 .footer-bottom-row_right{
  width: 50%;
}
.footer_style_2 .footer-legal-links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    text-align: center;
    flex-grow: 1;
    max-width: 100%;
}

.footer_style_2.main-footer-section {
    padding: 30px 0 0px 0;
    margin: 50px 0px 0px;
    border-radius: var(--radius-main) var(--radius-main) 0px 0px;
}

   .footer_style_2 .widget{
     
     margin-bottom: 20px;
}

.footer_style_2 .widgettitle {
   
    margin-bottom: 20px;
  
}

.editor_button {
 margin-top: 30px;
}

.block_img.xs img { max-width: 480px;     border-radius: var(--radius-main);}
.block_img.m img { max-width: 600px;     border-radius: var(--radius-main);}
.block_img.s img { max-width: 800px;     border-radius: var(--radius-main);}
.block_img.l img { max-width: 1024px;     border-radius: var(--radius-main);}
.block_img.x img { max-width: 100%;     border-radius: var(--radius-main);}


section.block_text{
margin: 0;
  padding: 0px 0px;
}

.block_text .title{
  font-size: 24pt;
    color: var(--color-accent);
      margin-bottom: 0rem;
  font-weight: 700;
}
.block_text .text{
  font-size: 16px;
    font-weight: 400;
    color: var(--color-text-article);
    max-width: 1024px;
    margin: 20px auto 0px auto;
}

.block_phone a{
     font-size: 36pt;
    color: var(--color-danger);
}

.block_phone .section-title p{
     font-size: 18pt;
  
}
.img_descr{
      text-align: center;
    margin-top: 20px;
}

.img_descr p:first-child{
  font-size: 22px;
    font-weight: 900;
      font-family: var(--font-secondary), sans-serif;
      color: var(--color-h2);
}
.img_descr p:last-child{
  font-size: 18px;
    font-weight: 400;
  margin-bottom: 0;
}

.partner-form{
   border-radius: var(--radius-main);
  padding: 20px;
  background-color: var(--color-bg-main);
  max-width: 1024px;
  margin: 0 auto;
}
.partner-form-element {
      display: flex;
    flex-direction: column;
    gap: 6px;
}


.partner-form-element .input_wrap{
  display: flex;
    flex-direction: row;
    gap: 6px;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}
.partner-form-element .wpcf7-form-control-wrap {
    position: relative;
    width: 100%;
}
.partner-form-element .button_wrap{
  width: 50%;
}

.services3__card--hidden {
    display: none !important;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}
.services3__card--visible {
    display: flex !important; /* Или flex/grid в зависимости от вашей верстки */
    animation: fadeInCard 0.5s forwards;
}

@keyframes fadeInCard {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
